VOGONS


Glide/CIF wrapper

Topic actions

First post, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

glide2cif. Wraps Glide 2.4 to ATI's CIF for running select games on the Rage Pro (Turbo) 8 MB. Available from https://leikareipa.github.io/. Not open source.

The CIF API is reminiscent of Glide, equally featured in many ways but lacks some critical features, among them a global palette. The goal of the project is to bring some of the more suitable games over to the CIF ecosystem, 100% compatibility will never happen. A list of supported games is in the readme.

Last edited by vvbee on 2026-01-06, 22:50. Edited 2 times in total.

Reply 1 of 78, by Spark

User metadata
Rank Member
Rank
Member

Very nice, I will check it out as soon as possible.

Reply 2 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie

Amazing, Gona try it first with Rage XL AGP and later with Rage Pro, Thank you!
---------------------------------------------------------------

Rage Pro AGP / Rage LT Pro AGP / Rage XL AGP, all did not start NFS2SE or some other 3DFX game at the moment.
Can you share some specs of your PC? MyPC Celeron 533 Mendocino, 256mb ram, 440ex motherboard, ESS Solo1.

I have Win95b with DX8.0a at the moment. Glide2x.dll is inside game main folder or in C:\Windows\System\.
XGL200 Glide2x.dll starts some 3dfx game. ATi 3DCIF, D3D and OpenGL works well. First used my driver, then
4.11.2548 that you have, exact the same as before. Readme.txt cant be downloaded from your site right now.

Rage Pro Tweaker 1.2 is installed and 565 checkbox enabled.

-----------------------------------------------

Ok, found out that two files are needed for your Glide2x.dll.
WS2_32.dll and WS2HELP.dll copy to C:\Windows\System\
Now works, GLQuake gives error at exit, but game works ok.

8bit paletted textures are enabled at command.
Only 8MB cards work and Rage XL is the fastest!
640x480x16 - Celeron 533/256MB/Win95/DX8
MyWin9x 5.38 4.11.2611 / 5.40 4.11.2611 drivers.

timedemo demo1
GLQuake with 3Dfx MiniGL Rage XL AGP 24.6fps
GLQuake with 3Dfx MiniGL RageProAGP 23.1.fps
--------------------------------------

GLQUAKE error at game exit only

GLQUAKE caused an invalid page fault in
module ATI3DCIF.DLL at 0157:032263e7.
Registers:
EAX=033604b0 CS=0157 EIP=032263e7 EFLGS=00210206
EBX=00000000 SS=015f ESP=00fbfc24 EBP=00fbfe38
ECX=c10912f0 DS=015f ESI=10000000 FS=0f77
EDX=03b5f008 ES=015f EDI=00000001 GS=0000
Bytes at CS:EIP:
8b 48 04 8b 11 81 3a 01 02 00 00 73 0a b8 08 00
Stack dump:
00000001 10000000 00d7732b 00d89244 00d75a8b 00d89244 00000000 1000b9c1 10000000 00000000 03240932 10010f07 10000000 00000000 00000001 00fbfe38

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 3 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

WS2_32.dll would be Winsock stuff, used in the debug build for logging via network but not used in this release build. I'll use a different compiler option for later builds that should remove references to it so there's no dependency on these DLLs.

GLQuake does crash on exit here as well, don't know why but better than crashing on start. Seeing the same FPS on a Pentium 4 2.4 and a Rage Pro Turbo, so not CPU bottlenecked on the Celeron either then.

Need for Speed 2 renders black in menus and cockpit so you need to navigate blind. No idea yet why it does this, I can manually plot the vertex coordinates into the screen buffer and they're correct but CIF renders black, or seemingly renders nothing since no render state or vertex color forcing does anything. I remember having a similar issue with the Glide/S3d wrapper but can't remember what solved it, or even if it was an issue in the menus to begin with. The cockpit rendered black on that as well anyway. In any case once you're in a race the FPS is around 15 so not too good at this point.

Reply 4 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie
vvbee wrote on 2025-12-27, 13:28:

WS2_32.dll would be Winsock stuff, used in the debug build for logging via network but not used in this release build. I'll use a different compiler option for later builds that should remove references to it so there's no dependency on these DLLs.

GLQuake does crash on exit here as well, don't know why but better than crashing on start. Seeing the same FPS on a Pentium 4 2.4 and a Rage Pro Turbo, so not CPU bottlenecked on the Celeron either then.

Need for Speed 2 renders black in menus and cockpit so you need to navigate blind. No idea yet why it does this, I can manually plot the vertex coordinates into the screen buffer and they're correct but CIF renders black, or seemingly renders nothing since no render state or vertex color forcing does anything. I remember having a similar issue with the Glide/S3d wrapper but can't remember what solved it, or even if it was an issue in the menus to begin with. The cockpit rendered black on that as well anyway. In any case once you're in a race the FPS is around 15 so not too good at this point.

At second try i used win95ws2setup.exe and extracted those two files from there, now it runs bit better at nfs2se, i can see some game if i blindly use the menu.W98 may have those files already. Cant remember that any of the glide2d3d wrappers played Glide2x.dll+OpenGL32.dll so this is instant improvements already.With Rage XLAGP 8MB its bit more playable as well than original Rage Pro and thats without any CPU or VGA OC.

I try one playable 3DFX game at next, Ignition maybe.
Only 0.1 fps i get more if i use Celeron 533 at 548Mhz.

------------------------------------------

Rage XL advantages over Rage Pro @ 3D

• Bilinear Interpolation of Texture Alpha
(eliminates blocky clouds, explosions
and exhaust)
• Modulate Alpha Function (Texture Alpha *
Interpolated Alpha)
• Composite Alpha Modulate (Primary
Texture Color * Secondary Texture
Alpha)
• Fog Table Integration
• Extra Alpha Blend Weight Choices:
iALPHA_BLND_SRC and
iALPHA_BLND_DST
• Properly handle 1x1 and 2x2 texture maps
in bilinear interpolation mode
• CI8 - support [RGB555, RGB565,
RGB888, ARGB8888] modes

Rage XL has some fog support over Rage Pro, latest cif drivers try to use it sometimes with 4.11.2598 and 4.11.2611 drivers,
i have seen some fog with thief2 and ragexl@win9x. https://old.vgamuseum.info/images/stories/doc … tions_dec03.pdf
-------------------------------------------------

I did want to try different game than on you list.

Screamer Rally i get grSstOpen failed! error if i copy Glide2x.ovl to the game folder with Glide2x.dll, without Glide2x.ovl it gives, unable to load DLL.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 5 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Ignition with the wrapper has the advantage over native Glide that it restores the point particle effects. For example there's supposed to be a spray of particles when you drive over a puddle but I've never seen these with native Glide, just in the software version.

I'm not aware that they updated CIF with any features specific to the Rage XL, so these wouldn't be accessible via the API in any case. Passive improvements to image quality are another story.

grSstOpen is obsolete for Glide 2.4 so not supported. Maybe I'll implement an older version of Glide at some point.

Reply 6 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie
vvbee wrote on 2025-12-27, 17:01:

grSstOpen is obsolete for Glide 2.4 so not supported. Maybe I'll implement an older version of Glide at some point.

Thanks for explaining, good to know that some older game needs older version of glide to run the game.

Copied another version of the Glide2.ovl file and now i get -> gd error (glide): 3DFX chip not found!
dgvoodoo had all same issues so i think no need to look at it at the moment, i try to make screamer2
or screamer rally to get going, today was my first time with dgvoodoo and rage3, xgl200 i have used.

Downloaded it from here:
https://www.philscomputerlab.com/screamer-2--bleifuss.html
---------------------------------------------------

Just question why this glide2x.dll needs 8MB ram? Rage2 and Rage Pro can be configured to use with 6MB as well.
Rage 4MB + 2MB add on ram board 0r 2MB with 4MB add on ram board. So it would be 6MB, 4MB RAM is limited?

Last edited by marxveix on 2025-12-27, 17:57. Edited 1 time in total.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 7 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie
marxveix wrote on 2025-12-27, 17:15:

Just question why this glide2x.dll needs 8MB ram? Rage2 and Rage Pro can be configured to use with 6MB as well.
Rage 4MB + 2MB add on ram board 0r 2MB with 4MB add on ram board. So it would be 6MB, 4MB RAM is limited?

It doesn't need it, it's just the most straighforward way. The wrapper reports itself as a Voodoo with 4 + 4 MB, so you get some extra mileage in terms of resolution anyway. Some say some games have issues with this configuration, but I haven't seen specific examples so that's to be seen.

Reply 8 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Updates:
- Motorhead is now playable
- reduce/eliminate texture and palette thrashing
- tweak point particle colors in Ignition
- fix points not appearing in games other than Ignition
- support GR_TEXFMT_ALPHA_INTENSITY_44 (by converting to ARGB4444 which some games won't like)
- remove dependency on Winsock

Die by the Sword lost its alpha blended effects, for whatever reason.

Reply 9 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie
vvbee wrote on 2025-12-27, 20:23:
Updates: - Motorhead is now playable - reduce/eliminate texture and palette thrashing - tweak point particle colors in Ignition […]
Show full quote

Updates:
- Motorhead is now playable
- reduce/eliminate texture and palette thrashing
- tweak point particle colors in Ignition
- fix points not appearing in games other than Ignition
- support GR_TEXFMT_ALPHA_INTENSITY_44 (by converting to ARGB4444 which some games won't like)
- remove dependency on Winsock

Die by the Sword lost its alpha blended effects, for whatever reason.

Fast update, faster than my testing.

NFS2SE / ESC/ Enter and F7 key makes screen visible in the game. F7 key is used to toggle the rearview mirror. Menu is black, like before.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 10 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Essentially Need for Speed 2 renders fine except that the menus and cockpit view render nothing. There's no clear reason for it as far as the menus go at least, and I can't exclude some hardware or driver bug on ATI's side either. The NFS games have a way of rendering splash screens that spams texture data and depends on timing and render engine idle conditions for it to display correctly, maybe this triggers the Rage into some failure mode even. Maybe not that likely but also not many alternative explanations left after testing quite a few.

Reply 11 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

If F7 is actually a mirror toggle and not cockpit view like I assumed then don't know what to make of that.

But I also have a CIF/software wrapper for testing purposes. Using that with the Glide/CIF wrapper has the menus working:

The attachment nfs2seglide2cifcif2sw.jpg is no longer available

The render quality isn't high but that's not the point. The point is this looks to be a hardware and/or driver issue on the Rage side then, since the software wrapper operates on the same CIF calls but manages to render the thing.

Maybe there's a way to work around it, but would first need to know what triggers the issue.

Reply 12 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie

I just can say that xgl200 has nfs2se menu working,but menu works slow at times, its not cif wrapper.
Second version of the glide2cif seems smoother or faster in nfs2se gameplay, glquake fps is the same.
NFS2 did not had cockpit view, different views of outside or without car at all with c button to change.
glide2cif sky color not black if sky is turned off (f4),its the same color with no visible mirror gameplay.
Or in game non visible menu has the same color, not default black and cant take ingame screenshots.
If i use any other desktop color depth than 16bit, then its more harder to get nfs2se game to show up.
Game starts, but four down button + enter does not show the gameplay, under it, game works i think.

From driver side i did try some newer/older ati3dcif and atid16ad/atid32ad files,they did not do much.
From 3dfx games i have Turok 1997 at the moment on that PC,it gives errors from the start with glide.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 13 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

I think it can be assumed that the Need for Speed 2 menu issue is a limitation of the hardware or driver relating to CIF, although might not be. No amount of forcing render state values, ignoring certain access patterns etc. gets anything to render in the menu via CIF. The API has no explicit way to force a wait for the engine to finish accessing VRAM, which the game relies on, so this may be one cause, although the symptoms don't exactly suggest this either. One possibility would be to use DirectDraw surfaces instead of direct VRAM writes, DirectDraw should provide an idle wait at least. But that depends on whether the game cares about how VRAM is laid out, which it probably does since it requests Glide's manual memory management, and in this case adding DirectDraw may be an issue.

Turok needs a particular workaround to run but even then it currently doesn't display correctly, just renders colored rectangles. There are a few games that render like this so once it's fixed in one a few more may become playable.

Reply 14 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Updates:
- playable: Monaco Grand Prix: Racing Simulation 2 (demo), though it looks worse than the Direct3D version
- improve depth accuracy in some games when using W-buffering
- fix regression in Die by the Sword's alpha blending
- support RGB555/ARGB1555 LFB write modes (Redline Racer and some others, enabled on a per-game basis rather than automatically)

The attachment glide2cifmgprs2.jpg is no longer available

Redline Racer is another game that refuses to render anything 3D. Even if you manually set the render state and try to render a triangle over the game's scene nothing comes out. But the game renders more or less correctly with the CIF/software wrapper. Hopefully this isn't a common problem with CIF.

Reply 15 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie

Another update,nice! NFS2SE road white and yellow lines are fixed now,XGL200 has this issue.

NOTE: ATI3DCIF cannot be used with Direct3D within the same application (although ATI3DCIF
may be, and usually is, used with DirectDraw). DDraw should be good choice if you can use it. 😀

Can GDI be second option for CIF after DirectDraw for the non moving part of the game, menu?
GDI uses CPU (slower), DirectDraw uses GPU (faster). Game menu or ingame menu can be GDI?

And there is GDI+ for Win9x if DirectDraw and GDI does not help all the way.
https://www.wysiwygwebbuilder.com/gdiplus.html
https://www.dll-files.com/gdiplus.dll.html

GDI+ is slower than GDI and DirectDraw would be great, Rage Pro has DirectDraw support.

How you take screenshots inside the game with glide2cif wrapper, print screen (prt sc) does not take good screenshots to paint.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 16 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

In this case DirectDraw would be used for texture surface management instead of drawing. It's the default for CIF but not for Glide. In fact many of the games right now that are unplayable due to texturing issues use Glide's automatic texture management which maps to DirectDraw in the wrapper. Ignition uses it and works fine but some others don't. Support for DirectDraw in the Rage looks patchy in any case, for example I remember the driver not allowing 8-bit paletted surfaces, and the CIF sample code suggests you just create a surface in the screen's bit depth and then tell CIF how you actually want it interpreted. This ends up wasting VRAM at the minimum for 8-bit textures.

Using a capture card for screenshots.

Reply 17 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie
vvbee wrote on 2025-12-29, 10:26:

Support for DirectDraw in the Rage looks patchy in any case, for example I remember the driver not allowing 8-bit paletted surfaces, and the CIF sample code suggests you just create a surface in the screen's bit depth and then tell CIF how you actually want it interpreted. This ends up wasting VRAM at the minimum for 8-bit textures.

You know this best. 😀

2611 and some earlier driver work well for DirectDraw
Re: ATi RagePro supported games

Had some issues at go to the window mode@ddraw,
but 3Dfx Glide does not support window mode at all.
Should be no problem to the glide2cif wrapper at all.

NFS2SE
Glide2cif tyre area always good with your Wrapper.
Also road lines are fixed@your latest alpha version.

May sound noob, but still, there is SDL for win9x
https://libsdl.org/release/SDL-1.2.15-win32.zip
https://discourse.libsdl.org/t/sdl-gdi/16562
https://libsdl.org/release/SDL-1.2.15/
https://archive.org/details/SDL1.2.15

Last edited by marxveix on 2025-12-29, 14:58. Edited 2 times in total.

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 18 of 78, by marxveix

User metadata
Rank Oldbie
Rank
Oldbie

Frogger 1997 - sometimes it starts like NFS2SE (black screen with glide2cif parameters), other times just black screen.

Test Drive 4 1997 - Glide2CIF Failed to set the DirectDraw video mode. Screenshot added with the same error @picture.

Pandemonium 2 1997 - starts well and looks good, bit slow side, but otherwise ok. Pandemonium 1 is older glide game.
Later in the game it gets faster, when it enters the castle (big doors).Still boost would be great or time to boost the vga.

Test Drive 4
Here i had problem with DirectDraw resolution change, if this is driver related issue, let me know, i can test others.
This was only with OpenGL,at Direct3D it was working both ways (windowed / full)->Re: ATi RagePro OpenGL files

Best ATi Rage3 drivers for 3DCIF / Direct3D / OpenGL / DVD : ATi RagePro drivers and software
30+MiniGL / OpenGL Win 9x dll files for all ATi Rage3 cards : Re: ATi RagePro OpenGL files

Reply 19 of 78, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for testing.

Updates:
- playable (previously wasn't): Manx TT Super Bike (demo)
- replace DirectDraw surface management with custom VRAM manager for guTexXXXX
- menus in Formula 1 and Formula 1 '97 (demo) render better now, but both still show black screen in-game
- less broken textures in Red Baron 3D (demo)

The attachment glide2cifmaxnttsuperbike.jpg is no longer available

Getting rid of DirectDraw surface management fixed a bunch of guTexXXXX games that were having corrupted textures. For now there's an indicator on the left for these games that shows the 4 MB texture memory's usage, green is unallocated and red is allocated. Ideally it wouldn't all get used up and there wouldn't be many holes. One downside of not using DirectDraw for surface management is that the driver might have a better idea of which texture data should go where for best performance.

Overall I've seen three types of issues in these games:

1. Garbled textures
2. Freeze on start
3. No 3D (but 2D and frame buffer fills work)

Garbled textures look to have been fixed now. Some texture formats are still unimplemented so they won't display correctly, but otherwise. Freezing on start is often but not always due to the game violating Glide's LFB rules, in these cases the game needs to have a workaround set in the code for emulated LFB. But also sometimes games that normally work just freeze on start for whatever reason. For the lack of 3D output, no known fix yet.