VOGONS


First post, by retro games 100

User metadata
Rank l33t
Rank
l33t

Introduction
I am testing a 3dfx Voodoo5 5500 AGP video card. It's got two GPUs and 64MB of RAM. Originally, the BIOS version was 1.06. There's a sticker on the board that says this. However, I flash upgraded the BIOS to version 1.18. Details of this are mentioned below. The BIOS POST screen says:

Voodoo5 5500 BIOS - Version 1.18
Copyright (C) 1990-2000 Elpin Systems, Inc.
All rights reserved.
3dfx Interactive, Inc.
Total SDRAM Video Memory Size: 65536K

1) Link to 3dfx Voodoo5 driver.
2) Link to 3dfx Voodoo5 overclocking utility.
3) Link to 3dfx uninstaller.
4) Link to V-Control, version 1.82B. See note 4 below.
5) Link to MiniGL version 1.49.
6) Link to 3dfx card flasher.
7) Link to this card's BIOS ROM.
8 ) Link to Internet Explorer 4.01 service pack 2.

Notes
1) This is the lastest and final reference driver, dated 09 Nov 2000, version V1.04.00. Other 3rd party drivers exist. Apparently, the best AmigaMerlin driver to use for w98 is version 2.0. I tried this reference driver on both Windows 95 and 98. For Windows 95, I had to install the driver manually. This is because when I ran the setup.exe, I saw a "blue screen of death", and could not proceed. I installed the V5 driver manually on W95 by clicking the "Change" button on the Adapter / Display properties area, and then clicking on the "Have disk" button, and then browsing to the V5 driver folder.

2) This overclocker was written by Kool Smoky, the same guy who wrote V-Control. It overcomes V-Control's overclocking limitation for the V5 card, because it overclocks both GPUs, rather than just the first GPU. This utility is hosted on 3dfxzone.it, and the webpage is here. The utility is called "VSA100 Overclocker 1.00". I have tested this in both W95 and W98, and it works in both operating systems. (Below, I mention that I could not get V-Control to work correctly in W95.)

3) This 3dfx Uninstaller is for Windows 98, not for w95. It seems to work on w95, but then freezes. If you install the V5 driver along with the 3dfx Tools, you can successfully uninstall the 3dfx Tools utility using its own uninstaller. This will allow you to then use a 3rd party "tweaker", such as V-Control. I didn't find the 3dfx Uninstaller to be too successful, when run in Windows 98. After a reboot, my V5 driver was still installed. I then ran "Driver Cleaner" version 2.7, and that correctly uninstalled the V5 card. ATM, I can't find the link to this program. BTW, it won't work in W95.

4) V-Control is probably the best "tweaker" for a 3dfx card. BTW, Hidden Surface Removal is called "OpenGL HSR" in V. Control - tidbit of info provided by Vogons member Batracio. Unfortunately, I couldn't get this utility to work correctly using Windows 95. Whatever AA option I chose, it would ignore it, and use no AA. I had to use the 3dfx Tools utility instead. A standalone version of this utility without any bundled driver can be found here.

5) MiniGL will allow you to play Quake type games using GLide.

6) 3dfx utility will allow you to flash a 3dfx card. I tested this with the ROM file above, and it worked.

7) BIOS ROM file, for this V5 card. It's version 1.18.

8 ) The 3dfx Voodoo3 reference driver listed above won't install unless you have SP1 or greater, for Internet Explorer verison 4.01. This issue appeared on Windows 95. It won't happen if you are using Windows 98.

Benchmarks
I used Quake 2 (free demo) with the MiniGL 1.49 patch, and Unreal 1 (on the DVD-ROM anthology). I used both Windows 95 and 98. There appeared to be no discernable speed difference between the two operating systems. I set the resolution to 800x600, and the AA to 4. I set V-Sync to Disabled. The test system is a slot 1 P3, with 1.4 GHz CPU.

Windows 95
Quake 2 = 61.7
Unreal = Cycle #3 = 43.something

Windows 98
Quake 2 = 61.6
Unreal = Cycle #3 = 43.something - approx same as W95.

To run the timedemo in Unreal, you need to do CTRL ~ to get to the console, and then type timedemo 1. Sometimes it works, sometimes it doesn't. When it works, you see "Cycle #1 Timing" on the screen, and you need to wait a while for the test to run. I wait until I see "Cycle #3" on the sceen. However, when this testing method doesn't work, you don't see this info on the screen. I don't know why. I quit the game, then restart it and try again.

For Quake2, I set the 8-bit texture option to "No", and the resolution to 800x600. To run the timedemo in Quake2, you do:

~ (brings up the console - use CTRL ~ keys sequence to do this)
timedemo 1
demomap demo1.dm2
~ (dismisses the console)

This demo seems to cycle continuously, so after a while I press the CTRL ~ key sequence again, and look at the FPS score on the screen.

Odd stuff in Windows 95
If I press the F12 key, to toggle between AA and no AA (as seen in the 3dfx Tools utility), it puts Unreal in to a Window, and you can continue to play the game!
unreal.jpg

To do
1) I think it would be an interesting experiment to set up a Windows ME HDD, and test out a V5 on it, including all of the software mentioned in the links above.

The card. It's sunny today 😉
v5.jpg

Reply 1 of 19, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Awesome, those specs seem very similar to one I'm running. P3-S 1.4GHz/V5 5.5k/512MB/W98SE

Have you tried the 1.16 PCI bios. It is said to be a bit faster on timings for the memory and give a bit better performance.

On Quake 2, You can use the OpenGL ICD. Your frames will drop a bit but image quality looks tons better. For my system running 1280x1024 and OpenGL ICD I get around 50FPS. Never dared to try such a low res of 800x600. Maybe I'll try for fun. I just beat the game again a few weeks back and tried one of the mission packs.

Also I never use AA. High RES all the way.

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 2 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

Thanks a lot for the ideas! 😀 I am going to do the following now:

1) Flash this AGP card's BIOS to the 1.16 PCI version. (Are you sure this is OK to do?)
2) Install OpenGL ICD, and set the resolution to 1280x1024, and switch off AA, then rerun Quake2...

Reply 3 of 19, by Old Thrashbarg

User metadata
Rank Oldbie
Rank
Oldbie

The BIOSes are pretty well cross compatible as far as I know... the Voodoo5 AGP is really still a PCI card anyway... it doesn't use any of the features of AGP.

But IIRC, it was a modified version of the 1.16 PCI BIOS that had the improved timings, and I believe there's also a modified version of the 1.18 AGP BIOS floating around, which has the same improvements.

Reply 4 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

OK, I'll check out those BIOSes... Also, regarding Quake 2, I am having some problems with it. After installing this game (demo version), I applied the MiniGL 1.49 patch, and then I did the following:

1) I went here -> http://www.3dfxzone.it/koolsmoky/glide.html
2) I downloaded Glide2x.dll and Glide3x.dll
3) I put these 2 files in to the c:\windows\system folder
4) I ran Quake 2, but I could only see the game running in software mode.
5) I then downloaded opengl32.dll from here -> http://www.3dfxzone.it/koolsmoky/files/3dfxoglicd.zip
6) I put this file in to the Quake 2 folder
7) I ran Quake 2, but I could only see the game running in software mode.

I also went here -> http://www.falconfly.de/opengl.htm, but the download packages made no sense to me. I didn't understand what to do with the files. Also, what is "ICD" anyway? Thanks very much for any help on this. I would like to get this working! 😀

Last edited by retro games 100 on 2011-04-20, 19:42. Edited 2 times in total.

Reply 5 of 19, by batracio

User metadata
Rank Member
Rank
Member

Please wait a moment and take it easy. You're trying three different OpenGL paths:

- miniGL 1.49 patch: it updates 3dfxgl.dll file in Quake 2 folder. Then you must select "3dfx OpenGL" in video options to use miniGL renderer. It needs a Glide2x library.

- Koolsmoky ICD replacement: I never got this one working. It's an experimental OpenGL driver that should be used with care. Koolsmoky says it doesn't need any Glide library.

- 3dfx ICD update: this is the default OpenGL driver from 3dfx. The one that comes in 1.04 driver is 1.0.0.0734 version. I guess you're trying to upgrade it to 1.0.0.0761 version. You must rename 3dfxogl.dll file in C\WINDOWS\SYSTEM and replace it with the newer one. Then select "default OpenGL" in Quake 2 video options. It needs a Glide3x library.

ICD means "Installable client driver" and is the default OpenGL driver in your system. When a program makes an OpenGL API call, Microsoft's OpenGL32.dll intercepts the call and sends it to the ICD, which ultimately executes it. Valid ICD must be listed under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\OpenGLdrivers registry key.

You can bypass the ICD mechanism by installing a "Standalone OpenGL driver", that is, an OpenGL32 library that executes OpenGL API calls directly, without calling Microsoft's OpenGL32.dll first. That's what you are doing when you select a miniGL driver as rendering option. Standalone drivers must be located into the executable file's folder.

ICDs must be complete implementations of OpenGL. Otherwise, some API calls would fail. Standalone drivers, however, can be partial OpenGL implementations, if they are intended to be called from applications that only use some API calls, not all. MiniGL drivers are partial standalone drivers, but there are also complete standalone drivers (MesaFX).

In summary:

3dfxogl.dll is 3dfx's ICD. Goes into C:\WINDOWS\SYSTEM.

3dfxgl.dll is a miniGL driver (partial standalone driver). Goes into the game's folder.

Koolsmoky's OpenGL32.dll and MesaFX are complete standalone drivers. They go into the game's folder.

Reply 6 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

Thanks a lot for the awesome info! 😀 I have successfully installed and tested the miniGL patch. I cannot get Koolsmoky's ICD replacement to work, but if you can't get it to work, then I have no chance! 😉 The only thing that now puzzles me is the 3dfx ICD update. If I download any of the ICD packages from falconfly, none of them contain any .DLL files, such as an updated 3dfxogl.dll file.

Also, I am thinking of testing WickedGL. There's a page about it here. It mentions the Quake games. I wonder if it will make these games faster and better looking than the miniGL versions?

Reply 7 of 19, by batracio

User metadata
Rank Member
Rank
Member

Just rename the .xxx extension to .dll and you're done.

WickedGL is another partial standalone driver, but more complete than miniGL. Both miniGL and WickedGL can run Quake 1 and 2 engine games, but only WickedGL can run Quake 3 engine games.

I don't think you will find a significant speed difference. I use to have both files in game folder; when I want to use miniGL, I rename 3dfxgl.dll/minigl.dll to opengl32.dll; when I want to use WickedGL, I rename wickedgl.dll to opengl32.dll; and when I want to use the ICD, I rename both to their original names.

Reply 8 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

Doh, I see where I have gone wrong. When I downloaded those ICD files, I unzipped them! Inside these unzipped packages, I found "programming type files", for instance debug files, etc. Doh! Sorry about that. I now have the miniGL and the updated ICD OpenGL options working. Thanks a lot!

With the OpenGL option selected, using the updated ICD file, I ran the demomap demo1.dm2 timedemo, and I get 108.1 FPS, using the resolution size of 1280x960, with 8-bit textures set to "No". That's quite good, isn't it? (I couldn't see a 1280x1024 option.)

Tomorrow, I will experiment with two things on the mobo. 1) Bios timings, and also 2) I have seen an interesting H. Oda chipset / CPU tuning/tweak utilities on falconfly website. They are here. These files mention i440BX, which is the mobo I am currently using.

Reply 9 of 19, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Looks like others already got you covered for the most part!

I was just gonna say I'm using Raziel64 Evolution Driver
Expert Edition V1.01.16 (Lite) Driver under win98SE. Retail Q2 w/3.20 patch.

Using my own built autoexec.cfg from tweak3d.net for best image quality.

//Generated by the Tweak3D autoexec creator. //http://www.tweak3d.net //Highlight all the text (or press CTRL-A) then copy (or p […]
Show full quote

//Generated by the Tweak3D autoexec creator.
//http://www.tweak3d.net
//Highlight all the text (or press CTRL-A) then copy (or press CTRL-C) then paste into notepad. Save as "autoexec.cfg" (INCLUDING THE QUOTES)
//in your Quake2\Baseq2 directory. (By default: C:\Quake2\Baseq2\) You need the quotes or it will save as autoexec.cfg.txt.
set cl_gun "1"
set cl_particles "1"
set gl_dynamic "1"
set gl_shadows "1"
set gl_ext_palettedtexture "0"
set gl_ztrick "0"
set gl_flashblend "0"
set gl_polyblend "1"
set in_joystick "0"
set gl_cull "1"
set gl_round_down "0"
set gl_skymip "0"
set s_mixahead ".2"
set s_primary "1"
set s_khz "22"
set s_loadas8bit "0"
set cd_nocd "1"
set cl_footsteps "1"
set rate "25000"
set gl_texturemode "GL_LINEAR_MIPMAP_LINEAR"
set intensity "2.0"
set gl_modulate "2.5"
set gl_playermip "0.0"
set gl_picmip "0.0"

Although you can get 1280x1024 out of a Q2 Widescreen Fix... I was mistaken on my score. I was using 1600x1200 getting around 50FPS. Sorry!
For a few more RES and benchmarks...
3DFX OpenGL (not mini or wicked)
800x600=137FPS
1024x768=100.5FPS
1280x960=73FPS
1600x1200=45FPS (I lost a few FPS somewhere! 🤣, Firefox was open though)

If you try 1600x1200 and get horizontal bars with your V5, go to the 3dfx Tools and set Digital SLI to Enabled. For most games I like to set Digital SLI to Default. (games like NFS:HS have horizontal bars with setting enabled)

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 10 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

I tried using an autoexec.cfg file with those values in it, but unfortunately it made no difference to the game's appearance. Inside my baseq2 sub folder, I can see an existing config.cfg file, and also this new autoexec.cfg file. Inside the existing config.cfg, there are already lines such as these:

set gl_shadows "0"
set gl_modulate "1"

I wonder if I need to "merge" the contents of this new autoexec.cfg with the existing config.cfg file, and then delete the autoexec.cfg file? Or does the new autoexec.cfg file override any existing settings found inside the config.cfg file? Also, I ran the demomap demo1.dm2 benchmark with and without the new autoexec.cfg file inside the baseq2 sub folder, but it made no difference to the score.

Reply 11 of 19, by batracio

User metadata
Rank Member
Rank
Member

It will be hard to notice any difference because most of those variables are being assigned their default values. These are the only ones that are not:

set gl_texturemode "GL_LINEAR_MIPMAP_LINEAR" - this one enables trilinear filtering, while default option for every Quake engine is GL_LINEAR_MIPMAP_NEAREST (bilinear filtering). But it won't work on 3dfx cards because they can't do trilinear filtering and multitexturing at the same time, so it will be ignored.

set gl_shadows "1" - This is an important one: it toggles experimental shadows on/off. You should clearly notice if shadows are being rendered, and they cause a performance hit. Personally I would recommend it off.

The engine loads config.cfg file first, then autoexec.cfg, and lastly any other cfg file or command variable specified at command line.

Reply 12 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

This is interesting - I can get shadows to work, but only if I edit the config.cfg file. Quake2 appears to ignore whatever is inside the autoexec.cfg file. I wonder if it's a bug with the demo version of Quake2? I was careful with this autoexec.cfg file, and made sure that when I saved it, I named it "autoexec.cfg" (with the "quote" symbols), so that it wasn't saved as a .txt file.

Reply 13 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

For benchmark purposes, I copied the information inside the autoexec.cfg from RogueTrip2012's post above, and appended it to the end of the config.cfg file. This way, Quake2 does not ignore this information. I removed the line of text about GL_LINEAR_MIPMAP_LINEAR, but I did leave the shadows set to "1".

I reran demomap demo1.dm2, and with a resolution of 1280x960, with 8-bit textures = "No", I get 104.0 FPS. I'm pleased with that! That's using the Default OpenGL video option.

Reply 14 of 19, by batracio

User metadata
Rank Member
Rank
Member

There's another trick I used when I played GLQuake with my ancient Voodoo Graphics (the first 3D accelerator I ever had): custom cfg scripts. I named my files enhanced.cfg (with high quality settings) and tweaked.cfg (with high performance settings). Whenever I want to use one of them, I open the Quake console and type "exec enhanced.cfg" or "exec tweaked.cfg". I still have those two files on my Quake folder, last modification date is 29-08-2001.

Reply 15 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

I've just done two tests. One with the AGP card having BIOS version AGP 1.18. The other test is having the BIOS version set to PCI 1.16. For the Quake2 timedemo, I get 104.0 FPS for the AGP BIOS, and for the PCI BIOS, I get 102.6 FPS.

The PCI BIOS is slower than the AGP BIOS. I think I might know why this is. I think the PCI 1.16 BIOS is modified to allow for greater overclocking, because its memory timings are less aggressive than the AGP 1.18 version.

Reply 16 of 19, by elfuego

User metadata
Rank Oldbie
Rank
Oldbie
batracio wrote:

set gl_texturemode "GL_LINEAR_MIPMAP_LINEAR" - this one enables trilinear filtering, while default option for every Quake engine is GL_LINEAR_MIPMAP_NEAREST (bilinear filtering). But it won't work on 3dfx cards because they can't do trilinear filtering and multitexturing at the same time, so it will be ignored.

This is true, I also remember this. But the side-effect of it is almost not noticeable at all in Glide mode. I'm working now with OGL a bit and there is a nice demo of GL_LINEAR_MIPMAP_NEAREST/LINEAR mode in OpenGL superbible 5. You can download the sample code/program from the official site:
http://www.starstonesoftware.com/files/SB5.zip
and try out the "tunnel" demo from chapter 5. Right mouse click changes the mode, up/down arrows move through the tunnel.

Now, how the hell did 3dfx evade the awful 'line breaking' effect?

Reply 17 of 19, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

If you go here you can see some of the differences of settings and build your own config. This may help to let you know what to look for.
http://www.tweak3d.net/autoexec/quake2/english/

RG100, is the demo version 3.20, maybe the older build is the problem with your settings?

@Batracio... I thought the V5 could do TriLinear and Multitexture mode. Maybe I'm mistaken.

The best improvent to me was really moving away from MiniGL. Maybe since I use higer resolutions.

Reply 18 of 19, by retro games 100

User metadata
Rank l33t
Rank
l33t

I really like the visual improvement using those tweak3d settings! As for why Quake2 is not reading the autoexec.cfg file, I don't know why, but the demo version is called q2-314-demo-x86.exe. Looks like it is a slightly older version, 3.14. Batracio's idea of using an exec command is really good, and that solves this problem. 😀

Reply 19 of 19, by luckybob

User metadata
Rank l33t
Rank
l33t

blasphemy!! you should be playing quake THREE, not 2 with this card. Or ST:VOY elite force. (god I love the torpedo launcher)

It is a mistake to think you can solve any major problems just with potatoes.