VOGONS


Fun with CGL (Creative Graphics Library) on 3D Blaster

Topic actions

Reply 240 of 250, by mt777

User metadata
Rank Member
Rank
Member

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?

Reply 241 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

Hello. Please help in development of Creative 3D Blaster VLB wrapper/emulator.

Original Message RReady (Rendition Verite wrapper) Test Build (Alpha 1)

"Quick test for someone with a 3D Blaster VLB:

https://nirvtek.com/downloads/SMODEVLB.20250522.001.7z
MD5: 4fa8357c9ddd9b4afa8e06adb075f08d

Run SMODEVLB > vlb.txt.

Attach the VLB file or its contents or share it somehow."

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 242 of 250, by bschicht86

User metadata
Rank Newbie
Rank
Newbie
Gona wrote on 2020-08-26, 14:21:

I have bought a rare Permedia NT card (Permedia + Delta): Leadtek WinFast 3D L2200.

I know, it's a old post, but if you still have this card, can you please create a image from her BIOS? I found this card but without BIOS chip.

Reply 243 of 250, by Gona

User metadata
Rank Member
Rank
Member
bschicht86 wrote on 2025-11-29, 14:45:
Gona wrote on 2020-08-26, 14:21:

I have bought a rare Permedia NT card (Permedia + Delta): Leadtek WinFast 3D L2200.

I know, it's a old post, but if you still have this card, can you please create a image from her BIOS? I found this card but without BIOS chip.

Sure. Here it is

Video card compatibility matrix for DOS games | ATI3DCIF compatibility matrix | CGL API compatibility matrix

Reply 244 of 250, by Putas

User metadata
Rank Oldbie
Rank
Oldbie
RaVeN-05 wrote on 2025-05-22, 06:22:
Hello. Please help in development of Creative 3D Blaster VLB wrapper/emulator. […]
Show full quote

Hello. Please help in development of Creative 3D Blaster VLB wrapper/emulator.

Original Message RReady (Rendition Verite wrapper) Test Build (Alpha 1)

"Quick test for someone with a 3D Blaster VLB:

https://nirvtek.com/downloads/SMODEVLB.20250522.001.7z
MD5: 4fa8357c9ddd9b4afa8e06adb075f08d

Run SMODEVLB > vlb.txt.

Attach the VLB file or its contents or share it somehow."

Here you go. It seems like it read the primary adapter, though.

Reply 245 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

@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

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 246 of 250, by Gona

User metadata
Rank Member
Rank
Member
RaVeN-05 wrote 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.

Video card compatibility matrix for DOS games | ATI3DCIF compatibility matrix | CGL API compatibility matrix

Reply 247 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

I have idea but can t confirm, since I don't have creative 3d blaster vlb.
I think having two video cards in system makes ultimate CGL support.

The main trouble is to concatenate all video outputs)

And even more ultimate pc build could be done in theory to support as much as possible apis than vetz described a long ago)

EDIT:
You can play rebel Moon using CGL api on Matrox mystique for real.
Re: RReady (Rendition Verite wrapper) Test Build (Alpha 1)

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 248 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie
Gona wrote on 2024-03-27, 07:13:

I have got a CL-GD5462, a Creative one like this:
http://www.yjfy.com/images/oldhard/video/CT6320_2M.jpg
but CGL driver cannot accept the card, likely because it has not 00D2 but 00D0 device ID.

What if there is simply hex edit DevID from 00D0 to 00D2?

What type of cgl file is used by Star Fighter 3000?

What if GIGTE163.CGL will be used for PCI games to run on VLB? For Screamer 2/Rally .

i see there is no single game which supports FS ? (????I???.CGL FS Float Stack)

looking into Linked games deeply.

MAGIC CARPET & HI_OCTANE

CGL Revision 1.61a
: EAGLE REV 1.0
ist : GLINT300SX REV 1.0
// : C Simulator

NASCAR & REBEL MOON

CGL Revision 1.61
: EAGLE REV 1.0
: GLINT300SX REV 1.0
: C Simulator

NASCAR Only

Unable to begin Creative 640x480 mode: CL1 Error %i
Unable to begin Creative 640x480 mode: Board not found
Unable to set Creative hi-rez mode: CL1 Error %i
80 Creative lo-rez not supported
uCreative Version
lbsMike Newhall

FLIGHT UNLIMITED Only

CGL Revision 1.6
-- : EAGLE REV 1.0
ist : GLINT300SX REV 1.0
// : C Simulator

REBEL MOON Only

%About to cglQueryScreen
Success: QueryScreen returned %d
Initialized eagle
aLoaded the CGL library.
CoCalled InitCGLCache
phiFailure: QueryScreen returned %d
INitCglCache

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 .

while -VGA switch is okay.

CGL evolution

GIGTB163.TXT -> GIGTE163.TXT
CGL165IRT.GIG -> CGL165FRT.GIG
cgltir -> cgltfr

GIGTB163.TXT -> GIGTB166.TXT
CGL165IRT.GIG -> CGL166IRT.GIG
CGL Revision 1.63 -> CGL Revision 1.66a
-> APPLE PIE

GIGTB166.TXT -> GIGTB170.TXT
CGL166IRT.GIG -> CGL170IRT.GIG
-> cglQueryFeature_)
-> cglEventRegister_*
-> cglEventDeregister_+
-> cglBoardConfigure_,
CGL Revision 1.66a -> CGL Revision 1.70 Release

(1.70 Revision added 4 new functions )

VRITB165.TXT -> VRITE165.TXT
CGL165IRT.VRI -> CGL165FRT.VRI
cgltir -> cgltfr

VRITB165.TXT -> VRITB166.TXT
CGL165IRT.VRI -> CGL166IRT.VRI
Verite CGL v1.65b -> Verite CGL v1.66c

VRITB166.TXT -> VRITB170.TXT
CGL166IRT.VRI -> CGL170IRT.VRI
-> cglQueryFeature_)
-> cglEventRegister_*
-> cglEventDeregister_+
Verite CGL v1.66c -> Verite CGL 1.70 beta

VRITB170.TXT -> VRITB170.TXT
-> cglBoardConfigure_,
Verite CGL 1.70 beta -> Verite CGL 1.70 beta 4
-> Never
-> nodma

VRITC170.TXT -> VRITI170.TXT
CGL170IST.VRI -> CGL170FST.VRI
cgltis -> cgltfs

VRITB170.TXT -> VRITE170.TXT
CGL170IRT.VRI -> CGL170FRT.VRI
cgltir -> cgltfr

VRITB170.TXT -> VRITC170.TXT
CGL170IRT.VRI -> CGL170IST.VRI
cgltir -> cgltis
(all functions in B and E have underline "_", the C and I do not have it)

VRITB170.TXT -> VRITB170.TXT
Verite CGL 1.70 beta 4 -> Verite CGL 1.70 beta 7
-> usedma

VRITE170.TXT -> VRITE170.TXT
Verite CGL 1.70 beta 4 -> Verite CGL 1.70 beta 7
-> usedma
Show last 5 lines

(C and I same differents, all last 1.70 revisions able to use configurations like use dma or disable for verite)


Creative 3D Blaster PCI

Rebel Moon

init_gfx: about to cglLoad
adinit_gfx(): cglLoad Failed error -- %d
About to cglQueryScreen
t iSuccess: QueryScreen returned %d
g.Initialized eagle
Loaded the CGL library.
Called InitCGLCache
Failure: QueryScreen returned %d
orNo CGL Found!!!!!! Using VESA driver.
INitCglCache
HOTCGL
*.cgl
HOT2

Battle Arena Toshinden

tsdcgl
Unsuccessful CGL Load, result = %d
Cannot find the right .CGL files in "%s".
Copy these files in "%s" or specify the location setting the
environment variable HOTCGL.
e.g. SET HOTCGL=C:\3DBLAST\DLL
Error closing the CGL hardware
Cannot load texture into CGL
Size %ld x %ld
Board memory left %ld
Free byte address %ld
Error code = %d
cglUploadScreenTo failed, error=%d
in CGL_UploadScreen()
cglSendSream failed, error=%d
in CGL_dhb_rect
in CGL_BMP_BitMapStretch0CP()
-cgl : force 3D Blaster detection
-cgl
CREATIVE 3D BLASTER DETECTED
HOTCGL_CFG
HOTCGL
*.cgl
HOTCGL.INI
HOT2

Fatal Racing (looks like a lot of debug info here)

HOTCGL
*.cgl
C:\3DBLAST\HOTCGL\HOT2\CGLCDL.C
C:\3DBLAST\HOTCGL\HOT2\CDL.C
_no_cgl_loaded
_cglVersionControl
_cglSendStream
_cglGetPixel$
_cglPutPixel(
_cglInitScreen,
_cglQueryScreen0
_cglClearScreen4
_cglCloseScreen8
_cglSetWindowClip<
_cglInitPan@
_cglPanPosD
_cglSetLineStyleH
_cglSetFillPatternL
_cglSetStipplePatternP
_cglSetDepthModeT
_cglSetStencilModeX
_cglSetLogicalOpsMode\
_cglSetDepthCueColor`
_cglSetDitherModed
_cglLoadTextureMaph
_cglSelectRenderBufferl
_cglCopyDisplayBufferp
_cglLockBuffert
_cglClearBufferx
_cglSetConstant|
_cglSwapBuffer
_cglUpLoad
_cglDownLoad
_cglSetPalette
_cglGetPalette
_cglSetPickRegion
_cglGetPickResult
_cglSetExtent
_cglGetExtentResult
_cglGetConfig
_cglSetCursor
_cglSetCursorPos@
cglStub_H
cglLoad_L
cglUnload_
_cglSetupInterrupt
_cglReleaseInterrupt
_cglBoardPresent

is internal Fatal Racing functions i guess , they do not exist inside of any *.CGL files
cglStub
cglLoad
cglUnload

21st

  No 3D Blaster found.
3D Blaster CGL mode could not be set.
Problem setting out 3D Blaster CGL mode.
Error calling CGL functions.
Error loading CGL module.
CGL version :
Board ID :
(3D Blaster VESA)
(3D Blaster PCI)
HOTCGL_CFG
HOTCGL
*.cgl
HOTCGL.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.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 249 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie
furan wrote 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
Gona wrote 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:

//
// Rutinas con el interface PCI de Yann, porque si no, las CGL no
// detectan la presencia de una 3D Blaster :-?
int Detect3DBlaster() //verite
{
PCI_Init();
if (!IsPCI) return(0);
Device3DB=PCI_FindDevice(0x1163, 1, 0);
if (Device3DB==0xFFFF) return (0);
Is3DB=1;
return 1;
}

and then when they initialize, they specify they only support the Verite card:

#ifdef HOTCGL
#ifdef CGLFLOAT
ErrorCode=cglLoad("", CGL_BOARD_VERITE_REV01, CGL_CDL_FLOAT);
if (ErrorCode != CGL_SUCCESS) return(fnBad);
#else
ErrorCode=cglLoad("", CGL_BOARD_VERITE_REV01, CGL_CDL_FIXED);
if (ErrorCode != CGL_SUCCESS) return(fnBad);
#endif
#endif

Where the board IDs are:

//-- Board IDs for HotCGL
#define CGL_BOARD_AUTO 0x0000
#define CGL_BOARD_GIGI_REV01 0x0001 <- GiGi
#define CGL_BOARD_PERMEDIA_REV01 0x0002
#define CGL_BOARD_GLINTTX_REV01 0x0003
#define CGL_BOARD_PERDELTA_REV01 0x0004
#define CGL_BOARD_VERITE_REV01 0x0010
#define CGL_BOARD_CIRRUS_REV01 0x0101
#define CGL_BOARD_LAGUNA5464_REV01 0x0102
#define CGL_BOARD_MULTI_AUTO 0xFFFF

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.

Decompression tool found http://justsolve.archiveteam.org/wiki/PMWLITE

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.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 250 of 250, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

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)

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv