Page 3 of 7

Re: 3DFX emulation

Posted: Sat 01 Oct, 2016 9:26 pm
by omarsis81
SarahWalker wrote:Rev 557 adds support for the fancy Quantum 3D V1 boards with twin TMUs.
OMG! Excellent job! Thank you

Re: 3DFX emulation

Posted: Sat 01 Oct, 2016 10:15 pm
by RetroGIG94
omarsis81 wrote:
SarahWalker wrote:Rev 557 adds support for the fancy Quantum 3D V1 boards with twin TMUs.
OMG! Excellent job! Thank you
I have a question, what is a TMU?

Re: 3DFX emulation

Posted: Sat 01 Oct, 2016 11:21 pm
by omarsis81
RetroGIG94 wrote: I have a question, what is a TMU?
https://en.wikipedia.org/wiki/Texture_mapping_unit

Re: 3DFX emulation

Posted: Sat 01 Oct, 2016 11:25 pm
by RetroGIG94
So who's tweaking the TMU?

Re: 3DFX emulation

Posted: Sun 02 Oct, 2016 12:52 am
by leilei
2 TMUs is exciting development. Don't clutter this thread with small questions a little research effort can answer (as well as an eventual lego creator ad nauseum derail)

Re: 3DFX emulation

Posted: Wed 05 Oct, 2016 12:20 am
by leilei
Since the paletted tmu multitexture combine artifact with UnrealEngine was mentioned as a driver issue I've curiously tried to add Voodoo2 support to see if it was any better there. What follows is a patch that adds a non-working Voodoo2 card (it can install, but it cannot detect nor initialize in either Windows nor DOS). Needs way more effort (the required new FIFO stuff is what's probably killing it)

Reading the cvg/gpci.c in the glide source was a little help but still didn't get far with it so this patch here's just a curiosity. Gross, naive guesswork inside

And before it's spammed no even with finished Voodoo2 emulation, this will not get Lego Creator to work either as that game is literally an implemented D3DRM-using ActiveX object in a VisualBasic 5 applet depending on Windows GDI to draw itself

Re: 3DFX emulation

Posted: Wed 05 Oct, 2016 8:04 pm
by SarahWalker
I am working on actual Voodoo 2 emulation at the moment. Got this far, only partly implemented CMDFIFO so no games running yet.
pcem_voodoo2.png
pcem_voodoo2.png (42.33 KiB) Viewed 29575 times

Re: 3DFX emulation

Posted: Fri 07 Oct, 2016 1:01 am
by RetroGIG94
I have a question, what is that option that says "Both" ? And what does the Advance and Utility have?

Re: 3DFX emulation

Posted: Fri 07 Oct, 2016 4:08 am
by leilei
"Both" is a combobox for picking which API you want to control refresh rate / gamma overrides for (Glide/Direct3D)

"Advanced" is a dialog with a bunch of checkboxes mostly dealing with mipmaps, SLI or memory per TMU (limiting to 2mb for some V1 game compatibility), as well as a checkbox to slap a big VOODOO2 logo on your desktop

"Utility" is a basic 3dfx driver cleansweep program.

Re: 3DFX emulation

Posted: Fri 07 Oct, 2016 4:55 am
by RetroGIG94
Also I have another question, does sci-tech display docter work on PCem?

Re: 3DFX emulation

Posted: Sat 08 Oct, 2016 8:20 pm
by SarahWalker
Voodoo 2 is good enough for Glide/OpenGL games now :
pcem_alice_voodoo2.png
pcem_alice_voodoo2.png (539.83 KiB) Viewed 29451 times
Curiously, the Direct3D games I've tried seem to render without any textures.

Re: 3DFX emulation

Posted: Sat 08 Oct, 2016 11:38 pm
by leilei
Does the texture coordinates still bug out when you set r_primitives to 2 in Q3 engine games? It does that on the V1's GL ICD and leads to artifacts like this, and I don't have a V1 IRL and my V2's fried so I can't doublecheck this. Doesn't happen on V3 though, and r_primitives 0 (default) should use 2's method if it detects compiled vertex array extensions, leading the renderer to draw with a single glDrawElements for best performance, and the bugging out seems to depend on how many different surfaces are on screen

Re: 3DFX emulation

Posted: Sun 09 Oct, 2016 7:28 am
by SarahWalker
Yes, this seems to work okay on V2.

Re: 3DFX emulation

Posted: Tue 11 Oct, 2016 5:37 pm
by RetroGIG94
Is voodoo 2 a direct3d compatible card?

Re: 3DFX emulation

Posted: Tue 11 Oct, 2016 5:43 pm
by SarahWalker

Re: 3DFX emulation

Posted: Tue 11 Oct, 2016 8:04 pm
by RetroGIG94
SarahWalker wrote:http://www.google.com
I did some research on it's specs and it's a "Full-screen, 3D-Only accelerator, works with another 2D or 2D/3D VGA card through a VGA pass-through cable. Picture softened slightly by analogue VGA pass-through cable." so it is a Direct 3D compatible graphics card.

Re: 3DFX emulation

Posted: Thu 13 Oct, 2016 3:58 am
by RetroGIG94
leilei wrote:Since the paletted tmu multitexture combine artifact with UnrealEngine was mentioned as a driver issue I've curiously tried to add Voodoo2 support to see if it was any better there. What follows is a patch that adds a non-working Voodoo2 card (it can install, but it cannot detect nor initialize in either Windows nor DOS). Needs way more effort (the required new FIFO stuff is what's probably killing it)

Reading the cvg/gpci.c in the glide source was a little help but still didn't get far with it so this patch here's just a curiosity. Gross, naive guesswork inside

And before it's spammed no even with finished Voodoo2 emulation, this will not get Lego Creator to work either as that game is literally an implemented D3DRM-using ActiveX object in a VisualBasic 5 applet depending on Windows GDI to draw itself
Well I was looking at system requirements on the back of my cd case of Lego Creator and it's GPU requirement says that it requires a Direct3D compatible graphics card with 800x600 16-bit color and I researched one of the Voodoo 2 specs that it has 135 MHz RAMDAC, dithered 16-bit (65536 color) display and it has support for game development tools including Gemini OpenGVS, Multigen, GameGen, SGI Open GL, Glide, Direct 3D, Mini GL and Autodesk 3D Studio under DOD, Win 32 and IRIX.

And I am here to address if the Voodoo2 has met the GPU requirements, well I have tested the game before on PCem with the voodoo1 on hardware mode and it gave me like choppy framerate it might be one of the voodoo1's limitations. I am just curious is the voodoo 2 a display driver as it seen as one in the windows 95/98 device manager?

Re: 3DFX emulation

Posted: Thu 13 Oct, 2016 4:47 am
by leilei
leilei wrote: And before it's spammed no even with finished Voodoo2 emulation, this will not get Lego Creator to work either as that game is literally an implemented D3DRM-using ActiveX object in a VisualBasic 5 applet depending on Windows GDI to draw itself
which implies reliance on a primary video device (also driving the windows desktop), of which Voodoo Graphics nor Voodoo 2 isn't capable of doing in any form. I added this small bit in hopes of some courtesy to keep the thread clean from being derailed into yet another impossible Lego Creator support thread (when I know for a fact that it won't work with the real card due to how the program was designed as it strictly uses Direct3D in a window)

Unread persistent question PMs trashed.

Re: 3DFX emulation

Posted: Mon 17 Oct, 2016 10:42 pm
by ender
There actually was a beta Voodoo2 driver for Windows 2000 which let you use a Voodoo2 to run a secondary monitor, but I have no idea if that supported windowed 3D acceleration (the driver only supported DX - it had no glide/OpenGL support).

Re: 3DFX emulation

Posted: Tue 18 Oct, 2016 12:57 am
by leilei
That's more from the doubt of the then Windows 2000 RC builds not having support for passthrough secondary video. That's all been since sorted out since the official Win2k release though; the only real video card screwed by this in the end is Fury Maxx (a double-stuf(tm)'d Rage 128 Fury)

also besides, the 2nd monitor scenario wouldn't work for lego and pcem anyway, due to the whole can't primary a v2 caveat

Re: 3DFX emulation

Posted: Tue 18 Oct, 2016 2:40 pm
by RetroGIG94
Well with a Voodoo Banshee would run that game properly because of it's graphics chip capably accelerated DirectDraw and supported all of the Windows Graphics Device Interface (GDI) in hardware, with all 256 raster operations and tertiary functions, and hardware polygon acceleration.

I found this information here.
https://en.wikipedia.org/wiki/3dfx_Interactive

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 1:43 pm
by SarahWalker
Voodoo 2 emulation added at rev 562. Probably a few bugs, and some unimplemented bits, but it seems to work okay with most games that I've tried.

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 2:30 pm
by omarsis81
A million thanks Sarah! I believe this is the best add-on for the the next release of PCem!
May I ask on what are you going to work now? Just curious

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 2:39 pm
by SarahWalker
Trying to make everything faster, probably...

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 2:43 pm
by RetroGIG94
So Sarah not to sound like I am rushing you or anything but, how is development on "Voodoo banshee"?

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 2:56 pm
by leilei
First bug/unimplemented feature: Q3's overbrights/brightness/gamma doesn't work on V2. 3dfxvgl. Using that official "Voodoo2 DX7 Beta" driver with GL ICD 1.1.0.

Second bug: In 3dmark2001 there's low mips shown for the onscreen display and the sponsor banners which I don't recall happening on the actual hardware. Happens only in Car Chase though

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 3:13 pm
by SarahWalker
RetroGIG94 wrote:So Sarah not to sound like I am rushing you or anything but, how is development on "Voodoo banshee"?
It isn't. Don't ask me that question again.

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 3:29 pm
by SarahWalker
Rev 564 should fix Q3A's gamma/brightness.

Re: 3DFX emulation

Posted: Sat 22 Oct, 2016 3:31 pm
by leilei
The Voodoo2 might have a FIFO command to disable the 4x1 screen filter. I remember 3dfx's GL ICD doing that (particularly the V2 - it didn't do this on V3)

Bordered edge texels on repeating textures aren't interpolated.

Tribes has a bug that draws only half of the triangles including all 2d triangles, and will eventually freeze. A similar bug also occurs if you use a MesaFX ICD with Q3. (3dfx icd is fine)

Evolva's pips for the other genos flciker.

Serious Sam will screw up all texture coords and head into poor performance as soon as a 3d viewport in the menu system or NETRISCA happens.

UnrealEngine1 has combine bugs with alphatest textures in maps. The hanging cables in DM-Phobos in Unreal Tournament and the ladders in Deus Ex are fine examples. They appear invisible, or appear barely visible and looking like the bug below

There's a funky Half-Life alpha combine bug with the decals. posting a screenshot for posterity since it looks cool and can be considered a work of art
hlv2combinebug.jpg
hlv2combinebug.jpg (113.04 KiB) Viewed 29066 times
reminds me of the artifacts i've had when making 8-bit software colored lighting years ago. Iirc I fixed it with some bitshift
ImageImage

and finally, there's strange slowness (on the v2's side) going on when a paletted+index texture is rendered. The q3ctf2 scene rendered in Q3V gets 1fps where it should be 22fps (at least)
pcemv2q3v.jpg
pcemv2q3v.jpg (86.85 KiB) Viewed 28777 times

Re: 3DFX emulation

Posted: Sun 20 Nov, 2016 5:32 pm
by SarahWalker
Revs 570-573 should fix (some of) the alpha combine bugs. Hopefully.