VOGONS


DOS Glide 2.4x Mod for Voodoo2

Topic actions

First post, by Gmlb256

User metadata
Rank l33t
Rank
l33t

This seems pointless at first but over the years I have heard that very few DOS games that uses the Glide API usually doesn't work with Voodoo2 cards according to the compatibility matrix: Voodoo 2 DOS Glide compatibility matrix

This was the only reason to get the original Voodoo Graphics card aside from prices. Got this idea when it was possible to run games using older version of the Glide API by just setting the correct environment variables for the Voodoo2, then I got this crazy thinking: Would be possible to do the same thing with DOS Glide 2.4x?

For this process I hex-edited GLIDE2X.OVL that came with the Voodoo Graphics drivers, by replacing the value used to compare the PCI device id from 1 (Voodoo Graphics) to 2 (Voodoo2) in several places when verifying the card.

Some notes:

  • Prior using this, make sure that it has the environment variables set for compatibility. Get it from V2-AUTO.INF file that comes with the Voodoo2 driver or from the following thread: Tomb Raider 1 - Voodoo 2
  • It uses the Voodoo Graphics SST environment variables (not SSTV2 ones) for gamma and screen refresh rate.
  • Glide 2.46 doesn't work with every DOS game, but it is the fastest one.
  • Tested successfully on three different CPUs: PII-400, K6-2+/450 and Coppermine Celeron 600 without any tweaking. It can also work with faster CPUs, but reliability isn't guaranteed. On a VIA C3 Nehemiah CPU, the best results were setting the FSB to 100 MHz, changing the multiplier to 10.5x and disabling the branch predictor. In some cases, setting the FSB to 66 MHz (if available) does the trick.

Special thanks to Meatball and Spark for additional testing.

Attachments

  • Filename
    V2GLIDE.zip
    File size
    312.96 KiB
    Downloads
    164 downloads
    File comment
    DOS Glide 2.43 and 2.46 for Voodoo2
    File license
    Fair use/fair dealing exception
Last edited by Gmlb256 on 2023-10-15, 18:51. Edited 7 times in total.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 2 of 30, by Spark

User metadata
Rank Newbie
Rank
Newbie

Amazing: this works - thanks for sharing.
I was able to get Screamer 2 working on Voodoo 2 using this driver.
CPU is a Coppermine Celeron 900 on i810 chipset.
The modified glide2x.ovl v2.43 was put in the game folder, along with fxmemmap.vxd from the voodoo 2 drivers package.
The environment variables were copied from v2auto.inf from the voodoo 2 drivers and set before starting.
'set SST_GRXCLK=90' in the environment variables was modified to 'set SST_GRXCLK=57', this fixed inconsistent framerate issues with this game.
'set SST_FASTMEM=0' was added, this seemed to fix this game intermittently not starting.
The modified v2.46 glide2x.ovl didnt work for this game. Also, starting from windows didn't work, only DOS mode.

Thanks for this - never thought I'd see Screamer 2 working on Voodoo 2.

Here's the full set I ended up with:

set FX_GLIDE_NO_SPLASH=1
set SST_GRXCLK=57
set SST_FASTMEM=0
set SST_FT_CLK_DEL=0x4
set SST_TF0_CLK_DEL=0x6
set SST_TF1_CLK_DEL=0x6
set SST_VIN_CLKDEL=0x1
set SST_VOUT_CLKDEL=0x0
set SST_TMUMEM_SIZE=2
set SST_INITDEBUG=1
s2_3dfx.exe

Reply 3 of 30, by Meatball

User metadata
Rank Oldbie
Rank
Oldbie

It's not working for the setups I have tried, but I presume the machine is much too fast. Pentium 4 Northwood 3.4GHz. I tried all the various SST commands, disable SLI, limiting core speed, and so on. Windows ME, Windows 98 SE, and then 98 SE DOS mode. I get the dreaded - main: grSstOpen failed! error.

Reply 4 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Spark wrote on 2023-01-02, 21:51:

Amazing: this works - thanks for sharing.
I was able to get Screamer 2 working on Voodoo 2 using this driver.
CPU is a Coppermine Celeron 900 on i810 chipset.

Glad that it worked for you. 😀

'set SST_GRXCLK=90' in the environment variables was modified to 'set SST_GRXCLK=57', this fixed inconsistent framerate issues with this game.

A better solution for framerate inconsistencies: SET FX_GLIDE_SWAPINTERVAL=2 would cap the FPS to 30 (half the screen refresh rate actually) without having to underclock the Voodoo2 card.

The modified v2.46 glide2x.ovl didnt work for this game. Also, starting from windows didn't work, only DOS mode.

Yep, I recall having situations where Glide 2.46 didn't work in some games, but it was the fastest one. This is why I modded Glide 2.43 due to being the most compatible one in my experience.

Meatball wrote on 2023-01-02, 22:08:

It's not working for the setups I have tried, but I presume the machine is much too fast. Pentium 4 Northwood 3.4GHz. I tried all the various SST commands, disable SLI, limiting core speed, and so on. Windows ME, Windows 98 SE, and then 98 SE DOS mode. I get the dreaded - main: grSstOpen failed! error.

I had issues with the actual Voodoo2's GLIDE2X.OVL on a Coppermine PIII-750, some games freezing the computer in my case. For this reason, I didn't bother testing on that CPU the modded files.

Have any other slower computer available for testing?

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 5 of 30, by Meatball

User metadata
Rank Oldbie
Rank
Oldbie
Gmlb256 wrote on 2023-01-02, 22:34:
Glad that it worked for you. :) […]
Show full quote
Spark wrote on 2023-01-02, 21:51:

Amazing: this works - thanks for sharing.
I was able to get Screamer 2 working on Voodoo 2 using this driver.
CPU is a Coppermine Celeron 900 on i810 chipset.

Glad that it worked for you. 😀

'set SST_GRXCLK=90' in the environment variables was modified to 'set SST_GRXCLK=57', this fixed inconsistent framerate issues with this game.

A better solution for framerate inconsistencies: SET FX_GLIDE_SWAPINTERVAL=2 would cap the FPS to 30 (half the screen refresh rate actually) without having to underclock the Voodoo2 card.

The modified v2.46 glide2x.ovl didnt work for this game. Also, starting from windows didn't work, only DOS mode.

Yep, I recall having situations where Glide 2.46 didn't work in some games, but it was the fastest one. This is why I modded Glide 2.43 due to being the most compatible one in my experience.

Meatball wrote on 2023-01-02, 22:08:

It's not working for the setups I have tried, but I presume the machine is much too fast. Pentium 4 Northwood 3.4GHz. I tried all the various SST commands, disable SLI, limiting core speed, and so on. Windows ME, Windows 98 SE, and then 98 SE DOS mode. I get the dreaded - main: grSstOpen failed! error.

I had issues with the actual Voodoo2's GLIDE2X.OVL on a Coppermine PIII-750, some games freezing the computer in my case. For this reason, I didn't bother testing on that CPU the modded files.

Have any other slower computer available for testing?

I have many, but I was hoping this one could be the end-all-be-all from DOS/Glide to DirectX 8.1. The dance continues...

Reply 6 of 30, by igna78

User metadata
Rank Member
Rank
Member

Hello, Gmlb256
first of all congratulations for the work done and thanks for sharing your work.
I have a curiosity (at the moment I can't tinker with my retro pc and therefore I can't verify by myself, I apologize if I steal your time): using this version of Glide DOS and setting the correct settings for Voodoo2, the shadow problem in Tomb Rider is it fixed or still won't be able to see shadows play?
Thank you for your time

Reply 7 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t
igna78 wrote on 2023-01-03, 13:20:
Hello, Gmlb256 first of all congratulations for the work done and thanks for sharing your work. I have a curiosity (at the momen […]
Show full quote

Hello, Gmlb256
first of all congratulations for the work done and thanks for sharing your work.
I have a curiosity (at the moment I can't tinker with my retro pc and therefore I can't verify by myself, I apologize if I steal your time): using this version of Glide DOS and setting the correct settings for Voodoo2, the shadow problem in Tomb Rider is it fixed or still won't be able to see shadows play?
Thank you for your time

Hello.

There are two DOS executables that uses the Glide renderer on Tomb Raider, one that is the Voodoo Rush version that uses an external GLIDE2X.OVL file, but it doesn't show the shadows no matter which Glide version is used. The other one is earlier and has the Glide API integrated into the executable, but it can work with the Voodoo2 using the correct environment variables and does display the shadows.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 8 of 30, by igna78

User metadata
Rank Member
Rank
Member
Gmlb256 wrote on 2023-01-03, 13:34:
igna78 wrote on 2023-01-03, 13:20:
Hello, Gmlb256 first of all congratulations for the work done and thanks for sharing your work. I have a curiosity (at the momen […]
Show full quote

Hello, Gmlb256
first of all congratulations for the work done and thanks for sharing your work.
I have a curiosity (at the moment I can't tinker with my retro pc and therefore I can't verify by myself, I apologize if I steal your time): using this version of Glide DOS and setting the correct settings for Voodoo2, the shadow problem in Tomb Rider is it fixed or still won't be able to see shadows play?
Thank you for your time

Hello.

There are two DOS executables that uses the Glide renderer on Tomb Raider, one that is the Voodoo Rush version that uses an external GLIDE2X.OVL file, but it doesn't show the shadows no matter which Glide version is used. The other one is earlier and has the Glide API integrated into the executable, but it can work with the Voodoo2 using the correct environment variables and does display the shadows.

Thank you very much for information 😀

Reply 9 of 30, by Vic Zarratt

User metadata
Rank Member
Rank
Member

I have a full schedule at the mo, but i'll come back here at some point with the results of this running on a pentium 133, a single voodoo2 and 40mb ram.

I manage a pot-pourri of video matter...

Reply 10 of 30, by Meatball

User metadata
Rank Oldbie
Rank
Oldbie

I have done another test and it works fine. I could run 'Dreams to Reality' in Windows w/Glide without having to resort to DOS mode. Nice work!

TEST SETUP
OS: Windows 98 SE w/IE6 SP1
CPU: Intel Celeron Tualatin 1400/100MHz/256KB overclocked @1570/112.2MHz
MOTHERBOARD: AOpen AX6BC (440BX)
RAM: 512MB PC133@112.2MHz CL2-2-2
HDD: 128GB w/NVMe-to-SATA-to-IDE adapter(s)
AIB: Powercolor 3dfx Voodoo2 12MB
AUDIO: Sound Blaster AWE64 Gold

Reply 11 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Meatball wrote on 2023-01-06, 00:40:
I have done another test and it works fine. I could run 'Dreams to Reality' in Windows w/Glide without having to resort to DOS m […]
Show full quote

I have done another test and it works fine. I could run 'Dreams to Reality' in Windows w/Glide without having to resort to DOS mode. Nice work!

TEST SETUP
OS: Windows 98 SE w/IE6 SP1
CPU: Intel Celeron Tualatin 1400/100MHz/256KB overclocked @1570/112.2MHz
MOTHERBOARD: AOpen AX6BC (440BX)
RAM: 512MB PC133@112.2MHz CL2-2-2
HDD: 128GB w/NVMe-to-SATA-to-IDE adapter(s)
AIB: Powercolor 3dfx Voodoo2 12MB
AUDIO: Sound Blaster AWE64 Gold

Thanks for testing! 😁

I have now updated the notes to mention that it works well up to that CPU.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 12 of 30, by Spark

User metadata
Rank Newbie
Rank
Newbie

I've been finding that most often a game will fail to start using this driver, either it'll hang while loading or start with garbage on screen. However when it does start successfully, it is stable and all works fine.
One procedure that is 100% successful is to restart the PC, load up another dos game that uses a real voodoo 2 driver, quit that, then start the game I want using this modified driver. Works every time. The real voodoo 2 driver must be doing some sort of initialisation of the card that the voodoo graphics driver doesn't. Using this method I found that the modified v2.46 glide2x.ovl actually works with Screamer 2 just fine, just as well as v2.43.
It would be great if there was some sort of simple dos voodoo 2 test program that I quickly could fire up and quit before using this driver, save having to load up and quit another game every time.

Reply 13 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Spark wrote on 2023-01-08, 23:09:

I've been finding that most often a game will fail to start using this driver, either it'll hang while loading or start with garbage on screen. However when it does start successfully, it is stable and all works fine.
One procedure that is 100% successful is to restart the PC, load up another dos game that uses a real voodoo 2 driver, quit that, then start the game I want using this modified driver. Works every time. The real voodoo 2 driver must be doing some sort of initialisation of the card that the voodoo graphics driver doesn't. Using this method I found that the modified v2.46 glide2x.ovl actually works with Screamer 2 just fine, just as well as v2.43.
It would be great if there was some sort of simple dos voodoo 2 test program that I quickly could fire up and quit before using this driver, save having to load up and quit another game every time.

Interesting findings considering that it never touches the registers specific to the Voodoo2. I just have compiled a DOS executable that simply initializes the Glide renderer then close it afterwards.

Attachments

  • Filename
    3DRFRSH.ZIP
    File size
    169.56 KiB
    Downloads
    86 downloads
    File license
    Fair use/fair dealing exception

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 14 of 30, by Spark

User metadata
Rank Newbie
Rank
Newbie

Thanks for this, it works in that it running it before using the modified voodoo 1 driver does prevent the crash during glide initialisation before the game starts. However it does not always prevent the crash when the game has started with garbage on the screen. (The original procedure was not 100% reliable as I had thought). It does seem quite random in that it will consistently start properly for a time, then consistently fail to start for some reason.
I was able to get a useful log file while the game was failing to start by specifying SST_FBIMEM_SIZE, this forces the game to start but with all textures corrupted. There are some errors in the log file relating to device info.
My guess is the speed of the machine or some feature of the chipset intermittently causes errors in the voodoo 1 driver initialisation. Running the voodoo 2 driver beforehand prevents some of these errors.

Attachments

  • Filename
    3DFXLOG.TXT
    File size
    2.24 KiB
    Downloads
    60 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Could you set the FSB to 66 MHz for the Celeron CPU? If not, use a slower one? Just to confirm if it is related to the computer speed or the motherboard chipset.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 17 of 30, by Spark

User metadata
Rank Newbie
Rank
Newbie

Yes, dropping back to 66Mhz FSB solved all the problems I was having with this. The driver worked perfectly on Celeron 333/66 and Celeron 600/66, no issues running it at all, no prior initialisation of the Voodoo 2 driver needed. The chipset is Intel i810.
Thanks again!

Reply 18 of 30, by subhuman@xgtx

User metadata
Rank Oldbie
Rank
Oldbie

Hiya guys. I have a Quantum3D 200SBi (Voodoo2 SLI on a single pcb) and apparently the card is hardwired to have SLI always ON. Some games like Screamer 2 3Dfx will constantly refuse to run unless I can set SST_SLIDETECT= to 0 (only on vanilla V2 cards). Others though, like Carma 3Dfx (with the Voodo2c executable) will run flawlessy without disabling it.

Would there be a way to hack around the OVL driver in order to fix this quirk or am I simply out of luck?

7fbns0.png

tbh9k2-6.png

Reply 19 of 30, by Gmlb256

User metadata
Rank l33t
Rank
l33t
subhuman@xgtx wrote on 2023-01-21, 13:22:

Hiya guys. I have a Quantum3D 200SBi (Voodoo2 SLI on a single pcb) and apparently the card is hardwired to have SLI always ON. Some games like Screamer 2 3Dfx will constantly refuse to run unless I can set SST_SLIDETECT= to 0 (only on vanilla V2 cards). Others though, like Carma 3Dfx (with the Voodo2c executable) will run flawlessy without disabling it.

Would there be a way to hack around the OVL driver in order to fix this quirk or am I simply out of luck?

Hello.

Could you enable logging to see what is happening with that card? The following environment variables will create one in C:\LOG.TXT.

SET SST_INITDEBUG=1
SET SST_INITDEBUG_FILE=C:\LOG.TXT

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS