3DFX emulation

Discussion of development and patch submission.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: 3DFX emulation

Post by SarahWalker »

Rev 574 fixes most of the missing triangles in Starsiege Tribes. Still a little flickering though.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: 3DFX emulation

Post by SarahWalker »

Rev 588 should speed up CPU emulation for most 3DFX games quite nicely...
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

Indeed. PMMX266 Infinite on Voodoo2 and i'm seeing 96-99%'s in Q3 on high*, and this is just a quick -flto build!

(*r_picmip 1, lightmap, geometry high, 640x480x16)
Attachments
v2q3pcemwow.png
v2q3pcemwow.png (213.78 KiB) Viewed 28945 times
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

Star Wars Ep1 Racer regressed in this update (works in the previous revision)

Code: Select all

voodoo_fb_writew : bad LFB format 0000008F
was all the pclog.txt wrote (after pcem crashed)
Orchidsworn
Posts: 65
Joined: Sun 22 Mar, 2015 10:16 pm

Re: 3DFX emulation

Post by Orchidsworn »

Leilei what did you get before the latest patch on Quake 3?
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: 3DFX emulation

Post by SarahWalker »

Rev 589 should fix Ep1 Racer.
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

INCOMING PATCH

This is a massive improvement to the Voodoo filter code

- it no longer makes an ugly streak (see this comparison)
- filtering thresholds are no longer hardcoded; it now reads thresholds given to the driver (via 230H) and generates new filter lookups if this changed
- and thus, it can be disabled when set SST_VIDEO_FILTER_THRESHOLD/SSTV2_VIDEO_FILTER_THRESHOLD = 0. or cranked up with 0xFFFFFF
- blue threshold
- it's much faster. the fast voodoo2 emulation code helped me realize how slow my filter is

It probably could use more tidying/styling/refactoring/optimizing from here but right now i'm very happy with the result

There IS one bug though. the rightmost column of pixels is repeating, the whole image might be shifted to the left
Attachments
nomorestreaks.png
nomorestreaks.png (16.41 KiB) Viewed 28758 times
voodoofilter2016.patch
(11.84 KiB) Downloaded 612 times
codehacker
Posts: 13
Joined: Wed 17 Aug, 2016 1:30 am

Re: 3DFX emulation

Post by codehacker »

Hello leilei,

where did you get the newer revision from?
User avatar
omarsis81
Posts: 945
Joined: Thu 17 Dec, 2015 6:20 pm

Re: 3DFX emulation

Post by omarsis81 »

codehacker wrote:Hello leilei,

where did you get the newer revision from?
He wrote it, for what I can see
codehacker
Posts: 13
Joined: Wed 17 Aug, 2016 1:30 am

Re: 3DFX emulation

Post by codehacker »

Is this here not a new Rev. of PCem?
SarahWalker wrote:Rev 588 should speed up CPU emulation for most 3DFX games quite nicely...
And I was asking for the PCem-Version for this:
leilei wrote:Indeed. PMMX266 Infinite on Voodoo2 and i'm seeing 96-99%'s in Q3 on high*, and this is just a quick -flto build!
:?:
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: 3DFX emulation

Post by SarahWalker »

Filter changes committed to rev 606.
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

Looks like the filter really puts it over the edge actually, maybe by 4 pixels
Attachments
fswindow.png
fswindow.png (13.33 KiB) Viewed 28580 times
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

I've noticed a bug with the texture uploading in UnrealEngine games - fractal textures and dynamic lights don't always update when the framerate's reasonably high (40-60)

This is very obvious in UT's DM-Hyperspace when looking around the engine area. You can also see it happening with rockets' lights going across the wing. This might also occur with Unreal's logo in theory though I didn't try U1 yet

Battlezone 2 can't seem to initialize on Voodoo2 and fails. The demo works

Montezuma's Return! (the later 1998 version with an exclusive V2-only rendering mode with bumpmapping) has major graphical glitches and slowdown (guest slowdown - host is 100% here)

(also unrelatedly in curiosity I have tried to double the bilinear texture filtering precision and have failed. I did a compare with this q3 2d test mod and an old Voodoo2 buffer capture and found the left gradient (a stretched up 16x16 quarter of a 32x32 texture) to be different)
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: 3DFX emulation

Post by SarahWalker »

Rev 617 should fix the texture uploading issues.
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

On Voodoo2 there's a Direct3D 2D flicker issue with several games and some of the D3DIM sample apps off the DX6.1 SDK show this flicker in the framerate counter (Flare, Pplane and Spheremap in particular).

Starfleet Academy example
Attachments
sfaflicker2.gif
sfaflicker2.gif (84.46 KiB) Viewed 28159 times
startmenu
Posts: 104
Joined: Sat 29 Nov, 2014 7:39 am

Re: 3DFX emulation

Post by startmenu »

On the emulated Voodoo 2, the "in car" viewing of Need for Speed 3 is broken. But anyway, the game is generally playable on an emulated Pentium 100 PC on my i3 laptop. When setted to Pentium(w/ and w/o MMX) 133, the emulation speed dropped to 90% or so. So DOSBox (and its third-party SVN builds) is not actually faster and sometimes even slower. Also, DOSBox suffers from lots of illegal instructions fault when emulating a Win9x game.

on PCem emulated Voodoo2:
pcem_nfs3_2.png
pcem_nfs3_2.png (242.48 KiB) Viewed 28100 times
on a Voodoo2 Glide wrapper:
vbox.jpg
vbox.jpg (179.43 KiB) Viewed 28100 times
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

To Dear user Startmenu.

Thanks for the info but the line" So DOSBox (and its third-party SVN builds) is not actually faster and sometimes even slower" is far from truth, i had dosbox with voodoo + win95 and it is way slower, try to run quake 2 , you can run dosbox and PCem at the same time , i did on i5 2140m , 2.7 ghz . then set cpu at 100mhz on PCem and MAX cycles in dosbox, do `timedemo 1 and see. On software in 640 dosbox is blazing fast, and works at same speed as PCem on voodoo, but on voodoo dosbox has same speed as PCem in software, try to run Timedemo of quake 2 on p100 640x480 in software. So no, dosbox voodoo emulation is about 80% slower than PCem. and please tell me how did you make NFSIII to run on dosbox? ill tryed many times on win95 both soft and voodoo and each time dosbox crashed back to windows after couple , or 3 seconds of rendering the race , with bunch of cpu errors. So tell me how did you run NFSIII on dosbox?
Also i have not noticed any errors on PCem rendering NFSIII , your screenshot shows PCem NFSIII on low detail btw. and i3/i5 on a laptop is to weak for p133mmx at least 1st to 3rd generation , thats why you get drop to 90%. Remember, dosbox have not very acurate emulation.

And another thing, please tell me how did you run glide wrapper on win9x in vbox with no D3D? or did you run it on win XP in vbox?
Thats how it look on mine but quality is lost on that .jpg badly. Game is set to 800x600 everything on MAX only wiev distance on Far instead of Full.
Attachments
PCem v2 nfsIII.jpg
PCem v2 nfsIII.jpg (154.19 KiB) Viewed 28076 times
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

On my system PCem's 3dfx recompiler is nowhere near as slow as the Dosbox kekko software glide patch (which in turn is based on the Mame voodoo source, and current mame voodoo source isn't anywhere as fast either).

can play 100% execution smoothly in NFS3 with Voodoo2 on PMMX 300MHz here and the dashboard also works. Haven't seen any real artifacts or unusual slowdowns.
Attachments
nfs3wheel.jpg
nfs3wheel.jpg (59.5 KiB) Viewed 28058 times
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

to leilei , "can play 100% execution smoothly in NFS3 with Voodoo2 on PMMX 300MHz" that can catch alike 100fps on voodoo 2 in PCem , yes extremally smooth, in 640x480 on med. detail is smooth using p100 , on p166mmx is smooth on max. i suspect you must have good rig, but try to run at lower specs, you will see ;)
startmenu
Posts: 104
Joined: Sat 29 Nov, 2014 7:39 am

Re: 3DFX emulation

Post by startmenu »

leilei wrote:can play 100% execution smoothly in NFS3 with Voodoo2 on PMMX 300MHz here and the dashboard also works. Haven't seen any real artifacts or unusual slowdowns.
Maybe it's time to get a better desktop computer... Currently, I play NFS2/3 on a WinXP VM and use a Glide wrapper.
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

Mr/Ms Startmenu, Leilei must have good desktop, being able to emulate p300mmx at 100% needs fast cpu , and running nfs on vbox XP is not fun, every, even old computer can do it, my poor laptop can do it , no probs. Beside You can install XP on Your computer , as a second system and still You will get drivers for most new hardware , and You can run it natively with glide wrapper.
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

Resident evil 3 works fine.
Voodoo1 have tiny problems, i have been messing around a bit with it, when you shoot the spreaded blood have white square boxes around, also some water droplets have it also, on voodoo 1 , otherwise seen no problems on voodoo1 , and no problems on voodoo 2
Attachments
RE3 Voodoo1 1.jpg
RE3 Voodoo1 1.jpg (203.41 KiB) Viewed 27997 times
Last edited by szadycbr on Tue 24 Jan, 2017 9:39 pm, edited 1 time in total.
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

Strange, i run today RE3 on p120mmx with voodoo2 and i could not get any display errors, game was absolutely fine on voodoo2.
Previously i run voodoo 2 RE 3 on p100/66, minimum cpu for the game , acording to manual is 200mhz, so it must have been MMX, dont know, but maybe that was the problem, which means no problem at all, maybe p100 is simply to slow to load corectely in time? or the lack of MMX messed something up?
Anyway, on p120MMX voodoo2 displays perfectely fine, so i will leave only the first issue with voodoo 1 on previous post.
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

The white effects here looks like a case of Voodoo Graphics not supporting index-alpha paletted textures (which are supported on Voodoo2). This may be actual not-an-emulation-bug behavior you are witnessing, especially since V1 fell out of common use by 2001 and is possibly left untested. Expect more of these unforeseen issues as you test 3d games newer than official driver releases.

That said, I do see glitches in Voodoo2 on some games that are supposed to be there so I don't report them as emulation bugs (i.e. MDK2 muzzleflash and other sprites flashing white, Codename Eagle demo failing to run properly, massive slowdown on Q3DM11, etc)
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: 3DFX emulation

Post by szadycbr »

Thanks Leilei, You probably right. BTW i run today, codename eagle full version , on p120MMX and voodoo2 , both Voodoo d3d/Glide run well, but when game starts and briefing shows bird/plane view of the area , you can see clearly that something isnt quite right. Game is running suprisingly well on p120mmx voodoo2, dont know the minimum spec anyway. D3D and Glide issue looks exately same, it does not have much impact on gameplay, anyway , cos you more focused on not being spotted by nazzis, this game is quite hard, good fun. :)
Attachments
codename eagle glide v2 2.jpg
codename eagle glide v2 2.jpg (127.08 KiB) Viewed 27878 times
codename eagle d3d v2.jpg
codename eagle d3d v2.jpg (123.62 KiB) Viewed 27878 times
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: 3DFX emulation

Post by leilei »

For current standing bugs I can find is the filtering of repeating non-clamped texture edges picking some wrong texels. don't think it's clamping behavior and it may be also exhibited in the Codename Eagle screenshot above
pcemclamp2.jpg
pcemclamp2.jpg (32.39 KiB) Viewed 27744 times
Perhaps it's just entirely shifted? Some hidden edge grids reveal themselves on a skill teleporter
pcem3dfxclamp.jpg
pcem3dfxclamp.jpg (48.8 KiB) Viewed 27701 times
It's even more jarring on low-res texture games such as Incoming.
pcemincoming.jpg
pcemincoming.jpg (55.04 KiB) Viewed 27721 times
Starfleet Academy still flickers and also Outrage on V2 has a similar buffer issue with the main menu and the ingame menu not pulsating the text color
tk421
Posts: 156
Joined: Sat 18 Jun, 2016 6:57 am

Re: 3DFX emulation

Post by tk421 »

PCem is looking better and better. I am sure v12 will be absolutely amazing!

Ultimately, the day I can use my old Voodoo3 driver CD again will be a great day. Until then I will gladly marvel at the awesome power of the Voodoo 2!

I am so glad Voodoo2 capability has been added to PCem, greatly enhancing the capabilities of the software.
User avatar
omarsis81
Posts: 945
Joined: Thu 17 Dec, 2015 6:20 pm

Re: 3DFX emulation

Post by omarsis81 »

tk421 wrote:PCem is looking better and better. I am sure v12 will be absolutely amazing!

Ultimately, the day I can use my old Voodoo3 driver CD again will be a great day. Until then I will gladly marvel at the awesome power of the Voodoo 2!

I am so glad Voodoo2 capability has been added to PCem, greatly enhancing the capabilities of the software.
I'm very glad and grateful Voodoo2 is now part of the PCem portfolio! But don't forget that Voodoo2 working in SLI nearly equals the Voodoo3 2000 in terms of performance
Orchidsworn
Posts: 65
Joined: Sun 22 Mar, 2015 10:16 pm

Re: 3DFX emulation

Post by Orchidsworn »

omarsis81 wrote:
tk421 wrote:PCem is looking better and better. I am sure v12 will be absolutely amazing!

Ultimately, the day I can use my old Voodoo3 driver CD again will be a great day. Until then I will gladly marvel at the awesome power of the Voodoo 2!

I am so glad Voodoo2 capability has been added to PCem, greatly enhancing the capabilities of the software.
I'm very glad and grateful Voodoo2 is now part of the PCem portfolio! But don't forget that Voodoo2 working in SLI nearly equals the Voodoo3 2000 in terms of performance

If you got a computer that can run SLI emulation I am definitely envious.
User avatar
omarsis81
Posts: 945
Joined: Thu 17 Dec, 2015 6:20 pm

Re: 3DFX emulation

Post by omarsis81 »

Orchidsworn wrote: If you got a computer that can run SLI emulation I am definitely envious.
LOL, no, of course I don't. I believe SLI is not implemented yet and you would requiere a Pentium II to get some juice out of them.
But I remember reading here that host CPU is not the most demanding stuff when emulating a video card. Currently PCem uses up to 3 threads, maybe SLI can take a fourth... (which is quite standard CPU)
Post Reply