Some times ago I also wanted to get any info about memory upgrade - for replicate purpose.
I sent message to Creative but unfortunately (and what could be expected) they won't help and redirected to forum.
Maybe someone tried reach somehow to old Creative employee?
@gona
You didn't mention, and this is also interesting.
I am tried to run
Battle arena toshinden as 2nd works.
Rebel Moon as 2nd works.
Actua soccer as 2nd works.
Hi-octane as 2nd works. At the moment of exiting game it doesn't deactivate CGL api, last frame will be always shown.
Euro 96 does not activate CGL as 2nd uses soft render
Flight Unlimited as 2nd works.
Screamer rally as 2nd works.
Screamer 2 as 2nd works.
This makes me think that CGL tries to find PCI Id, vendor ID where it could be activated, not just bios.
The euro 96 I really doubt CGL is ever activated, coz shadows need to be solid.
Would be cool if in some reality CGL add on 3d card exist in form of powervr pcx, as PCI pass trough.
EDIT:
Please help on how to activate CGL on PCI for those games:
Euro 96
Whiplash
Fatal Racing
Battle Race
?
P.S. First VGA boot from verite 2200 agp
2nd is Creative 3D Blaster PCI
EDIT2:
activated EURO96 looks same way as actua soccer
activated battle race, well not just agp card needed its wrong, you actually need two pci cards, or maybe agp verite reports same vendor id and confuses battle race . i think its seek vendor id
still can't activate fatal racing.
EDIT3:
activated fatal racing/whiplash by deleting all the *.cgl files from fatdata folder and placing here only 170 beta 7 all cgl files.
and using only PCI as primary , black menus.
To be sure its CGL you could see checker board shadows stipple alpha much like matrox mystique do
RaVeN-05wrote on 2026-02-06, 11:33:@gona
You didn't mention, and this is also interesting.
I am tried to run
Battle arena toshinden as 2nd works.
Rebel Moon as 2 […] Show full quote
@gona
You didn't mention, and this is also interesting.
I am tried to run
Battle arena toshinden as 2nd works.
Rebel Moon as 2nd works.
Actua soccer as 2nd works.
Hi-octane as 2nd works. At the moment of exiting game it doesn't deactivate CGL api, last frame will be always shown.
Euro 96 does not activate CGL as 2nd uses soft render
Flight Unlimited as 2nd works.
Screamer rally as 2nd works.
Screamer 2 as 2nd works.
Yes, I did not mention it because I have never tried it. 😁
I only tested the ones that do not work when the 3DB PCI is primary VGA card.
But it is a good idea, so I added it to the page as a note below the table.
1Unable to begin Creative 640x480 mode: CL1 Error %i 2Unable to begin Creative 640x480 mode: Board not found 3 Unable to set Creative hi-rez mode: CL1 Error %i 480 Creative lo-rez not supported 5uCreative Version 6lbsMike Newhall
1%About to cglQueryScreen 2Success: QueryScreen returned %d 3Initialized eagle 4aLoaded the CGL library. 5 CoCalled InitCGLCache 6phiFailure: QueryScreen returned %d 7INitCglCache
Makes Flight Unlimited the earliest CGL version game
About Rebel Moon PCI version on PC with two cards Matrox Mystique (1st) and Cirrus Logics CLGD5464 (2nd) with L3DTB170.CGL , this not runs on CGL on matrox Mystique , reason this happens is game checks VenID and Dev ID , it founds those ids in systems and tries to activate CGL on Mystieqe , the QueryScreen fails and it uses SVGA mode with text corruptions and garbage pixels on bottom . So its just Software rendering which bugged, uncompleted .
61 62(C and I same differents, all last 1.70 revisions able to use configurations like use dma or disable for verite) 63 64
Creative 3D Blaster PCI
Rebel Moon
1init_gfx: about to cglLoad 2adinit_gfx(): cglLoad Failed error -- %d 3About to cglQueryScreen 4t iSuccess: QueryScreen returned %d 5g.Initialized eagle 6Loaded the CGL library. 7Called InitCGLCache 8Failure: QueryScreen returned %d 9orNo CGL Found!!!!!! Using VESA driver. 10INitCglCache 11HOTCGL 12*.cgl 13HOT2
Battle Arena Toshinden
1tsdcgl 2Unsuccessful CGL Load, result = %d 3Cannot find the right .CGL files in "%s". 4Copy these files in "%s" or specify the location setting the 5environment variable HOTCGL. 6e.g. SET HOTCGL=C:\3DBLAST\DLL 7Error closing the CGL hardware 8Cannot load texture into CGL 9Size %ld x %ld 10Board memory left %ld 11Free byte address %ld 12Error code = %d 13cglUploadScreenTo failed, error=%d 14in CGL_UploadScreen() 15cglSendSream failed, error=%d 16in CGL_dhb_rect 17in CGL_BMP_BitMapStretch0CP() 18 -cgl : force 3D Blaster detection 19-cgl 20CREATIVE 3D BLASTER DETECTED 21HOTCGL_CFG 22HOTCGL 23*.cgl 24HOTCGL.INI 25HOT2
Fatal Racing (looks like a lot of debug info here)
is internal Fatal Racing functions i guess , they do not exist inside of any *.CGL files
cglStub
cglLoad
cglUnload
21st
1 No 3D Blaster found. 2 3D Blaster CGL mode could not be set. 3 Problem setting out 3D Blaster CGL mode. 4 Error calling CGL functions. 5 Error loading CGL module. 6CGL version : 7Board ID : 8 (3D Blaster VESA) 9 (3D Blaster PCI) 10HOTCGL_CFG 11HOTCGL 12*.cgl 13HOTCGL.INI
Screamer Rally, Screamer 2, Flight Unlimited, Battle Arena Toshinden, Hi-Octane,21st,both test's can use HOTCGL.INI file, and forcing dma speedups games.
Last edited by RaVeN-05 on 2026-02-09, 12:36. Edited 2 times in total.
furanwrote on 2021-04-04, 18:13:Nice work! I was looking at this stuff a bit today and figured I'd pull up the thread to see if there were updates. Looks like. […] Show full quote
Gonawrote on 2021-02-11, 21:02:I have bought a Diamond Fire GL 1000 card for reasonable price. I just finished with CGL testings. We have only the "Integer Reg […] Show full quote
I have bought a Diamond Fire GL 1000 card for reasonable price. I just finished with CGL testings. We have only the "Integer Register" type driver, so "Integer Stack" and "Float Register" applications cannot find appropriate driver. Diamond Fire GL 1000 also can not work as "2nd VGA" (add-on 3D accelerator mode), or this CGL driver not support this, so BattleRace; Fatal Racing/Whiplash are switches over to nothing and no signal. (3D Blaster PCI with CGL API can works as add-on 3D accelerator but with other APIs like Speedy3D API, works only as primary card).
Diamond Fire GL 1000 has a weak DOS VBE (2D) compatibility, there are 2D problems with Battle Arena Toshinden, Actua Soccer and Euro 96. With Battle Arena Toshinden it is temporary and easily playable, but with Actua Soccer and Euro 96 serious, it was a bit hard to me to get to 3D part.
Euro96_2D_on_Diamond_Fire_GL_1000.png
I think these problems caused by the BIOS of the Diamond Fire GL 1000 card, because with my Leadtek WinFast 3D L2200 (also a Permedia NT card) there is no problem with 2D parts of these games.
Nice work! I was looking at this stuff a bit today and figured I'd pull up the thread to see if there were updates. Looks like. 😀
A couple things:
- I think these "second 2d card requred" games are fixable so that they don't require 2 cards in the system. When I looked at Battle Arena, they do this weird thing before they even initialize CGL, they put the VGA into text mode. I think it might be possible that this stops the CGL library from working on some cards when it is the only device in the system, so nopping this code out might fix it.
- Do you have BIOS dumps for the FireGL 1000 and the Leadtek? I think it would be interesting to take a look. 😀
- Today I am working on patching the "21st century digital boy" demo so it works for all CGL boards. When those guys sent me their CGL headers and lib they also sent me the source file for just how they interacted with CGL (not the drawing, just the routines). They have a special check for the Verite like so:
1// 2// Rutinas con el interface PCI de Yann, porque si no, las CGL no 3// detectan la presencia de una 3D Blaster :-? 4int Detect3DBlaster() //verite 5{ 6 PCI_Init(); 7 if (!IsPCI) return(0); 8 Device3DB=PCI_FindDevice(0x1163, 1, 0); 9 if (Device3DB==0xFFFF) return (0); 10 Is3DB=1; 11 return 1; 12}
and then when they initialize, they specify they only support the Verite card:
Something interesting here is it looks like there were 7 chips supported in total for this version of the SDK, and it looks like we are missing CGL drivers for:
CGL_BOARD_PERMEDIA_REV01: Permedia (no Delta)
CGL_BOARD_GLINTTX_REV01: GLINT TX (maybe the early PCI prototype board for 3DB VLB game developers)
CGL_BOARD_CIRRUS_REV01: a mystery Cirrus Logic that isn't the 5464
So I think I can patch the demo to ignore the PCI VID/DID check and support any CGL driver (with varying results, of course). Right now my problem is since I don't have full source, I need to patch the binary, and it is packed with PMWLITE - I'm not sure how to unpack it.
also please explain on how you dissassemble *.CGL files, what is need to be used?
Actua Soccer have 1.2 some CGL source code H and LIB files
Urban Assault have 1.2 some CGL source code and they different to Actua Soccer H files
21st demo have 1.60a some CGL source code H and LIB files
the cgl src appears on Joystick Magazine - Numero CD 071 - Mai 1996 on euro soccer 96 aka euro96.
More discoverings: https://vogonsdrivers.com/getfile.php?fileid= … 4&menustate=3,1
this is driver for 3d blaster vlb, inside os dos driver there is TEST3D.EXE which i presume no one tried to capture video from it, not saying no one runs it tho. This is simple CGL app.
in attachments dump of all strings from TEST3D.EXE "CGL Revision 1.62" can be read from it.
and 3db logo from setup, hi-res
From VLB promo we can see games: https://www.youtube.com/watch?v=11WCnP0GG8g
Descent by Interplay (never released)
EF2000 by D.I.D. (never released)
Hi-Octane by Bullfrog Productions
Magic Carpet Plus by Bullfrog Productions
Nascar Racing by Papyrus
Rebel Moon by Fenris Wolf
3D Car by Creative Technology Ltd. (never released)