I'd like to say that I'm less sleep-deprived now, but I'm not.
Widening your supported specifications to Windows 9x gives you the ability to use wrappers that support DOS command-prompt windows in Windows. As of this writing, that includes:
- dgVoodoo 1.x
- Glidos (which uses OpenGlide) **$10.00 trialware / shareware
These substitute GLIDE.OVL (Glide 2.1x) / GLIDE2X.OVL (Glide 2.4x) (DOS Glide "overlay" files) with their own to call out to their Windows Glide wrapper GLIDE.DLL / GLIDE2X.DLL.
- Carmageddon is surely a Glide 2.4x game.
This is a requirement of yours because, as mentioned in the above posts, the Windows version of Carmageddon renders to DirectDraw only. While this is technically "hardware accelerated", it's not using a 3D API such as 3dfx Glide found in the DOS version of Carmageddon.
To be pedantic:
- Only dgVoodoo 1.31 and newer, all versions of dgVoodoo 2.x, Glidos/OpenGlide at some version if I recall correctly, and nGlide 0.98 and newer support Glide 2.1x as far as I know.
- Glide 3.x wrappers include nGlide 0.92 and newer, all versions of dgVoodoo 2.x, all versions of hacktarux/Glitch64, all versions of SvensWrapper, eVoodoo 3.0 and newer, Zeckensack's GlideWrapper 0.78 and newer and the ancient Let's GliD3D 0.24. (SvensWrapper and Zeckensack's mainly only support Diablo 2, Glitch64 mainly only supports Glide64, not sure eVoodoo 3.x was mainly tested on Glide64, FIFA, NBA Live, Test Drive 5, and Lewpy's plugin for PSEmu Pro, and GliD3D is suspected to only have alpha support only capable of logging calls.)
Also, if I recall correctly Glide 3.x was intended to be Windows-only, though libraries for other operating systems including DOS were later released due to its being made open-source. Accordingly there's never been a GLIDE3X.OVL (although there is a Glide 3.x library for DOS).
First question: Direct3D vs. OpenGL support.
I do not remember which is faster/better supported by the Matrox G200. (Some cards drivers are more optimized for certain APIs.) Assuming that you are correct and Direct X 6 is ideally supported, this "technically" rules out Glidos because Glidos only came bundled with OpenGlide as its Glide wrapper. dgVoodoo supported Direct3D.
However: Experimentally you can replace the GLIDE2X.DLL file in Glidos with an alternative wrapper file. It is designed so that the wrapper can be replaced (either psVoodoo or OpenGlide) so it may well work with others. How settings files for Glide wrapper DLLs interfere with this process is not 100% clear and dependent on the wrapper. You'd probably have to ignore some of the Glidos configuration tool and rely on the replacement wrapper's tool/settings, if it has some. Swapping out the DLL file for an alternative wrapper would be quite unsupported by Glidos, however..
Next question: Windows 95 or Windows 98 support
- dgVoodoo 1.x supports Windows operating systems as low as Windows 95. (Dege is not specific about which revision Windows 95.) Yes, this means any version from 1.0 to 1.50Beta2. (1.50Beta3, a work-in-progress version for which we have source, was never compiled.)
- Glidos supports Windows operating systems as low as Windows 95, although documentation is terrible. Its archived website from 2001:
http://web.archive.org/web/20011204040021/htt … www.glidos.net/
advertises version 1.7's newest feature as being "Windows 95-friendly". Prior versions (Glidos 1.2, Glidos 1.5, and perhaps others) are then presumed to be not. The only person who would recall which versions were more or less 9x compatibile would be the author, Paul Gardiner. At some point in its development, I believe Windows 9x would not be supported as Glidos's user interface/frontend, included DOSBox build, psVoodoo and many other features took it away from that direction. There is probably a "first" and "last" version of Glidos for Windows 95, Windows 98, Windows Me, etc. which may all be slightly different. It is not documented and will be left to us hobbyists to determine, most likely.
Problems with installer documented: glidos on windows 95: a no?
Tweaks for Glidos v1.31 documented: Windows 95/98/ME support is back and some Descent fixes
Final statement from author regarding Win 9x seems actually positive (as far as I know): GliDOS and windows 95
Next question: DirectX 6 support.
Here we can start widening to other Glide 2.4x wrappers, because while Glidos or dgVoodoo 1.x can handle the GLIDE.OVL / GLIDE2X.OVL passthrough, they do not support DirectX 6. Whether they will support other wrappers needs to be determined.
What you might be familiar with:
- dgVoodoo 1.x: Windows 9x-XP with some Vista support, but requires DirectX 7 and/or DirectX 9. The final versions added the DirectX 9 renderer (published 12/15/2002 - 06/03/2007)
- dgVoodoo 2.x: Windows Vista+-Windows 8.1+, targets DirectX 10.1/11 or higher. (published 01/09/2013 - 04/14/2014+) (No longer comes with GLIDE.OVL / GLIDE2X.OVL substitute)
- Glidos: Windows 9x+-Windows 8.1+, unknown OpenGL (due to its using OpenGlide) and I am not sure which version is minimally required by OpenGlide. OpenGL 1.x to be sure. (published 07/22/2001 or earlier - 04/12/2013+)
- nGlide: Windows 9x+-Windows 8.1+, DirectX9+ (published 11/07/2009 - 04/16/2014+)
- psVoodoo: Windows XP+-Windows 8.1+, primarily DirectX 9 based (published 03/29/2006 or earlier - 02/08/2013+) - in theory could also be Windows 9x compatibile
and of course SvensWrapper and hacktarux/Glitch64 are Glide 3.x only, SvensWrapper mainly for Diablo 2:
- SvensWrapper: Windows XP+, unknown OpenGL (published 04/18/2004 - 12/14/2010+)
- hacktarux/Glitch64: Windows XP+, unknown OpenGL (published 04/29/2004 or earlier - 12/29/2011)
so... what now?
To go lower in DirectX support: You'll have to use wrappers from the UltraHLE era and may only support the Glide features that UltraHLE used. If they fully support Carmageddon's use of Glide, it will be a miracle.
There is one oddball wrapper which wraps to Rendition Verite's RRedline for Windows, named BigRRed. First published 06/06/1998 or earlier, and arguably the first.
So, the remaining Windows Direct3D Glide 2.4x wrappers:
- Dolphin: Windows 9x, unknown DirectX (published 07/05/1998), predecessor to DirectGlide, single-app wrapper
- glid3d: Windows 9x, DirectX 6.0+ (published 02/01/1999 or earlier)
- xglide: Windows 9x, DirectX 6.0+ (published 02/05/1999 - 03/19/1999)
- Clide: Windows 9x, DirectX 6.0+ (published 02/13/1999 - 04/05/1999)
- muglide: Windows 9x, DirectX 6.0+ (published 02/14/1999)
- DirectGlide: Windows 9x, DirectX 6.0+ (published 02/17/1999-02/27/1999)
- xgl200: Windows 9x, DirectX 6.0+ (published 02/17/1999 - 07/05/1999)
- MGlide: Windows 9x, DirectX 6.0+ (published 03/06/1999 or earlier - 08/18/2000, versions up to 1.246G uses DirectX 6.0, final version 1.246H from 8/18/2000 requires DirectX 7+)
- Unified: Windows 9x, DirectX 6.1+ (published 05/12/1999 - 09/08/1999) *installer has lock to certain Creative graphics cards - currently being hacked
- evoodoo: Windows 9x-Windows XP, DirectX 6.0+ (published 01/30/2001 or earlier - 11/12/2003) *Glide2X support 01/30/2001 - 05/23/2003
I remember hearing good things about: evoodoo, MGlide, xgl200, Unified
Besides these, it is unknown which is best at supporting things beyond UltraHLE.
Windows OpenGL Glide 2.4x wrappers, for sake of argument:
- GL-Glide: Windows 9x, unknown OpenGL 1.x (published 02/05/1999)
- gl2ide: Windows 9x, unknown OpenGL 1.x (published 02/16/1999 - 03/10/1999)
- glidegl64: Windows 9x, unknown OpenGL 1.x (published 02/23/1999 - 02/26/1999)
- OpenGlide: Windows 9x and up, unknown OpenGL (published 03/04/1999 or earlier - 04/01/2004) *and up to 05/02/2011 through Glidos
- BoostWrapper: Windows 9x, unknown OpenGL 1.x (published 01/13/2000)
- gl2ideal: Windows 9x+, unknown OpenGL 1.x (published 02/14/2000 - 06/30/2001)
- Zeckensack GlideWrapper: Windows 98-Windows XP, unknown OpenGL (published 05/06/2002 - 06/19/2005) *versions from 0.78 posted 03/05/2004 and newer with Glide3x support
I remember hearing good things about: OpenGlide, Zeckensack GlideWrapper
Besides these, it is unknown which is best at supporting things beyond UltraHLE.
I hope you guys now see the point to The Wrapper Project. Now we just need to get it to release at this point... 😀 (If we ever think we just can't handle it, we'll probably hand it off to the pcgamingwiki guys...)
FYI: Glidos had trouble supporting Carmageddon in Glidos's earlier versions...
Off-topic: There's also a Glide2x "translator" to Glide3x which comes with a Glide driver package called GlideXP. In theory, it could be tested with Glide 3.x-only wrappers like SvensWrapper or hacktarux/Glitch64. In practice, I do not think this has ever been tried, and may not work. GlideXP's Glide2x support is also known to be incomplete.
You can also, of course, chain wrappers: Glide 2x-> OpenGL -> Direct3D using wrappers that wrap OpenGL to Direct3D like GLDirect, and so on, however the deeper you go the more likely you are to run into problems.
- use dgVoodoo 1.x or Glidos to use the command-prompt "DOS Box" from within Windows 9x and be able to wrap DOS Glide games.
- try substituting Glidos's Glide2x.dll wrapper with Direct3D 6 wrappers: evoodoo, MGlide, Unified, xgl200, or OpenGL wrappers: OpenGlide, Zeckensack GlideWrapper
- if you can't get that to work, use the wrappers that come with dgVoodoo or Glidos and replace the Matrox G200 with a more powerful card or something that supports Glide natively such as a 3dfx Voodoo card.
- either that, or use the DirectDraw Windows version, which should run on the Matrox G200 card without issue.
These generic instructions for wrapping DOS Glide games to Windows will work with everything except statically compiled DOS Glide games.
Note to self: Apparently I hit on a few old talking points without realizing it: Weird wrapper tricks