VOGONS


First post, by lbvf7

User metadata
Rank Newbie
Rank
Newbie

Hi all. I'm finally build glide3x test package (3dfx diagnostic tools) for my Velocity 100, because http://falconfly.3dfx.pl/downloads/glide3_sdk-300.zip is not working on windows 98 on velocity. So i'm was trying to build myself from source tree (https://github.com/Danaozhong/3dfx-Glide-API) specifically for my Velocity 100. Also it must work on banshee and voodoo 3. Compare to http://falconfly.3dfx.pl/downloads/glide3_sdk-300.zip there are more tests, and it also have stress test37, i'm attaching screenshot of this test, but strange - my Velocity 100 detected as Banshee. So if anybody is try on other cards (banshee, Voodoo3) would be interesting if it working.
Also it's possible to know about purpose of every test in source tree https://github.com/Danaozhong/3dfx-Glide-API/ … ts/test00.c#L18
And which flags it's supported https://github.com/Danaozhong/3dfx-Glide-API/ … ts/test00.c#L19

Reply 1 of 4, by PentAmd

User metadata
Rank Newbie
Rank
Newbie

Hello lbvf7!

Thank you very much, that you made all the executables. I found precompiled tests only for Glide2, all the Glide3 was only source code.
I have Voodoo 2 card in my system, I could compile (recompile) Glide2 Tests on my GCC compiler under Win XP.

I tried to compile one of the glide3 Test program. But after run, the .exe crashes every time as the grGlideInit(); function called, which is the first voodoo related function.
I thought it is because of the wrong driver version, or the wrong glide3x.dll file, but with multiple driver I had the same result.
I thought, maybe it is because of my compiler, but now I can see, if I execute your test_x.exe file, I have the same result.

If I understand correctly, accodring to the developement kits documents, the oldest glide2 (2.1, 2.2)has support for Voodoo1(SST1) than later subversion (2.3, 2.4) had support for Voodoo Rush(SST-96). As the Glide 3 came out, Voodoo2 was mentioned inside, and the Banshee (SST1+2D) as well - at least in the Include or some helper .c files. According to the documentation, the Glide 3 is capable of using big vertex array, that makes the speed of display of triagles will be about 1-10 million triangle/sec (compare the older Glide 2 which has max 1 million triangle/sec).

I anticipate, that the Glide 3.x has to work with Voodoo2, but it does not, and I don't know, what is wrong.

Edit:
I found this driver (see atachment) which runs well on XP. Now I can execute the tests, you made. I am going to look all the tests thru.

Reply 2 of 4, by PentAmd

User metadata
Rank Newbie
Rank
Newbie

After examine the Tests with my Voodoo 2, I decided to put a Voodoo 3 AGP in the same computer (Win XP).
After installing the latest Win2k Voodoo 3 driver, UT99 does not work. UT99 uses Glide2, and the game tries to start on the Voodoo 3 but crashes. The dohnut demo also crashing.

lbvf7 could you tell me, which driver did you use for the Velocity card?

Man, this is crazy, Glide 2 and Glide 3 is used for every card, and if I install the wrong driver, the Entry point of the .dll is wrong, and that makes program crash.

Reply 3 of 4, by PentAmd

User metadata
Rank Newbie
Rank
Newbie

Now I understand how it works.

If you install a driver for a Voodoo card (2 or 3) you are going to have the glide2x.dll, the glide3x.dll some dlls with the name begins with 3dfx, and some other .dlls as well. All of them are located in the driver installation folder.
If you before you start an .exe file, and you place all this dlls in the same folder where the exe located, the program is going to run on that particular card (voodoo 2 or 3) where the dlls came from.
The system32 folder has the one or the other driver dlls already (depends which card did you install recently), but placing the dlls in the folder makes the .exe not searching in the system32, just take the one in the exe folder.

With that it is possible to run 2 demos (glide tests) in the same time. The one demo is uses to Voodoo2 and the other uses Voodoo3.

Anyway The Win2k driver for Voodoo3 in WinXP is not working, I took the HOEs 1.0 driver.

Reply 4 of 4, by PentAmd

User metadata
Rank Newbie
Rank
Newbie

I have been experimenting with the demo samples for a while.
Under the github link (first comment from Lbvf7) there is a directory tree.

In the first level, there is "glide2" and "glide3".
Originally Glide2 was thought to provide upto 1 million triagles / sec - UnrealTournament 99 uses this.
Glide3 was thought upto 10 million triangles /sec (with proper hardware of course)

The time where only Glide2 existed, was only Voodoo1 and Voodoo Rush available
As Voodoo Banshee and Voodoo2 and Voodoo3 came, Glide3 was made, providing faster variable transfer capabilities, and newer functions.
Glide2 remained because of compatibility issues, and Glide 3 was made for every card, but the older cards cannot support every feature of Glide3.

In the mentioned Glide3 directory there are 3 subdirectories:
- SST1 which is Voodoo1 (and also Rush)
- H3 which is Banshee, Voodoo3
- H5 which is Voodoo4/5

Voodoo2 has very similar features as Voodoo Bansee, and Voodoo3. That's the reason, why I was able to run most of the Glide3 demos which made for Banshee and Voodoo3, works fine on my Voodoo2.
I read somewhere, that for games like UT99, where glide2 is used, smart programmers made a fake glide2.dll file, which translates all the glide2 functions into glide3. Thus the newer (AGP) cards can work faster.

To find out, which game which Glide version uses, we can temporary delete the one or other glide.dll file from the game subdirectory, and Windows/system32 folder, and if we get an error message, we found the dll which is in use. If the glide2 functions are translated to glide3, and both DLL files are needed, that means the game uses glide2 and because of the translation glide3 is also used.