dgVoodoo v1.50 Beta2 by DEGE, 2007 ================================== Hi again! No, dgVoodoo hasn't resurrected, I've just done some cosmetic intervention on it. Unfortunately it's still a beta as there are known bugs to fix as well as missing developments related to Windows Vista. And now, the well-known fanfare I hate so much: dgVoodoo is a Glide Wrapper that implements Glide 2.11 and Glide 2.43 API by using DirectX. dgVoodoo provides support to run Windows-based and DOS-based applications using Glide, and it can also emulate VESA 2.0 for DOS applications. ----------------------------------------------------------------------------- I. Requirements II. Files of dgVoodoo 1.50 III. What's news in 1.50 IV. Working of, and using the wrapper V. VESA emulation VI. Installation VII. Running DOS programs under Windows Vista (new!) VIII. General tips for dgVoodoo (updated!) IX. Differences between DirectX7 and DirectX9 renderers X. Technical notes (you can skip this section) XI. Resolution setting XII. About screen shots XIII. Using dgVoodooSetup (GUI) XIV. Using dgVoodooSetup (Command line) ----------------------------------------------------------------------------- I. Requirements --------------- - Windows 95/98/Me/2000/XP for Windows applications - Wndows 95/98/Me/XP for DOS applications - DirectX 7.0 or greater - what else important to write here? Idonnow ==================================================================================== This is a Beta2 only!! I didn't do extensive testings, so take it into account if/when it refuses to work, or gives worse result compared to earlier versions!! DX9 renderer is still tested only on: GeForce 5700 Ultra, Detonator 56.64 ATI X600, Catalyst 5.6 (The drivers I use are still not really up to date...) ==================================================================================== ==================================================================================== IMPORTANT: dgVoodoo may not work with all ATI Catalyst versions, your PC may reboot when launching the wrapper in VDD mode with DOS-Glide applications. It should work in server mode however. I myself use it with Catalyst 5.6 without any problems, but there are reports about rebooting with the same driver. So, I must say that use this shit only at your own risk !!! ==================================================================================== II. Files of dgVoodoo 1.50 -------------------------- glide.dll - Glide 2.11 driver for windows-based applications glide.ovl - Glide 2.11 driver for DOS-based apps (see remarks on it!) glide2x.dll - Glide 2.43 driver for windows-based applications glide2x.ovl - Glide 2.43 driver for DOS-based apps dgVoodoo.exe - Glide server process for DOS-based apps dgVoodoo.vxd - Kernel module for DOS-based apps dgVesa.com - VESA 2.0 driver for DOS dgVoodooSetup.exe - Setup program readme_eng.txt - dgVoodoo documentation, English version readme_hun.txt - dgVoodoo documentation, Hungarian version III. What's new in v1.50 Beta2 ------------------------------ - Texture memory scalability to 4MB. Only for Red Baron 3D. Idea and implementation technique is by GabiLaser!! Thanxxx GabiLaser!!! And now that I'm writing this readme, it has come to my mind that I forgot to include the promised "Ignore Palette Changes" function in the wrapper... But it's late.... - Hardware accelerated regenerating of paletted textures when using the DirectX9 renderer, if your videocard supports certain texture formats (mainstream cards support them...) - Flashing desktop elements and other craps are eliminated. At least they should be. - VESA-emu: the wrapper doesn't insist on the resolution and color depth coming from a given VESA mode parameter. If a particular video mode isn't supported by the videodriver, it looks up for the best matching available one, converts the color format and scales the screen-image as needed (like in windowed mode). What is more, it chooses the best matching refresh frequeny according to the one given in the setup on VESA tab. It all needed because I had troubles with VESA emu under Windows Vista. Previous versions didn't supported it, and always used 60hz as monitor refresh freqency. Only exceptions are 8 bit modes, they were wrapped to 32 bit because DirectX9 doesn't support so legacy things. - I think that's all, some other modifications were done as I recall, but they were so long ago, I can't remember them exactly, and had some beers since then. IV. Working of, and using the wrapper ------------------------------------- Back in time, 3Dfx cards were driven via the API called Glide. Newer and newer version of Glide came out as it evolved and it existed on several platforms. From viewpoint of dgVoodoo, two important and supported platforms are DOS and Windows, and, two important Glide versions are 2.11 and 2.43. The driver itself was a library, that was attached either statically or dinamically to the application using Glide. - DOS, Glide 2.11, driver: lib linked statically - DOS, Glide 2.43, driver: glide2x.ovl - Windows, Glide 2.11, driver: glide.dll - Windows, Glide 2.43, driver: glide2x.dll So, it was enough to provide the proper file for the given Glide application (or others too, if the driver itself also consisted of additional files) and the application run. All that Glide wrappers, like dgVoodoo, do is replace the file(s) mentioned above with one(s) that still implement(s) the Glide API, but all the Glide calls are converted (wrapped) into OpenGL or DirectX calls, so no need for a real 3Dfx card to run those applications. But, all this can't be done directly in DOS, since there is no and there have never been any OpenGL or DirectX implementation under DOS. It means that DOS driver of dgVoodoo needs the Windows driver. The point of the DOS driver is to be a bridge from DOS to Windows, it passes all Glide calls from DOS to Windows. dgVoodoo can realize the communication from DOS to Windows in two ways: - VDD mode: This is the preferred mode, in all aspects (technical, comfort, etc.). In this case the DOS driver automatically finds, starts and uses the Windows driver. This mode is only available under WinXP. - Server mode: In this case, launching a server application (dgVoodoo.exe) is needed. The server attaches the Windows driver to itself, and then, DOS driver communicates with the server. WinXP itself supports communication from DOS to Windows, while Win9x/Me doesn't, so, under Win9x/Me the wrapper has to realize it itself (that's why file dgVoodoo.vxd appears here). So, usage of the wrapper: For Windows applications, after copying proper files and potential setup (dgVoodooSetup), you can run them without doing anything else. For DOS applications, after copying proper files and setting up the wrapper to work in VDD mode, you can run them without doing anything else. For DOS applications, after copying proper files and setting up the wrapper to work in server mode, you have to launch the server (dgVoodoo.exe) first, and then you can run them. You can also run DOS programs in the background, but be careful! In certain cases, when cooperative level changes (e.g. when a DOS program is being run in full screen, but you changes to an other application), some of the Glide-functions cannot be called without fail. This means that a game may quit with an error message, etc. V. VESA emulation ----------------- dgVoodoo can emulate VESA 2.0 for DOS applications, with minor-major bugs. Similarly to the Glide emu, VESA emulation can be used in either VDD or server mode. What is more, it needs and uses file glide2x.dll, so that, VESA emu code is integrated into the Glide 2.43 driver (except for Win9x/Me, because most of the emu is done by the kernel module (dgVoodoo.vxd) there and only a few parts are called in the dll, like video refresh via DirectDraw). [I know that I should have placed the implementation into a dll like dgVesa.dll or something like that, but according to the feedbacks I got and experienced, many people think that dgVoodoo consists of too many files, and they get confused about their usage. OK, I thought I won't bugger about with it then, integration made things go easier as well, as for switching between VESA and Glide modes at runtime. Maybe I will resolve it in about 2010, when the DOS part of this wrapper will be unusable not only in practice, but theoretically too, as 64 bit Windows doesn't support 16 bit code.] VESA emu of dgVoodoo supports all resolutions from 320 x 200 to 1280 x 1024 in 8, 16 and 32 bit color depths. 320 x 200 x 256color is a standard VGA mode, you can enable it for emulation. To use VESA emulation, you will need to run the DOS-driver, dgVesa. Under Win9x/Me, when the server is running with VESA emu enabled, it installs DOS driver automatically into each newly opened DOS-box, so in that case using dgVesa is needless. (DOS driver of VESA emu is for maintaining the contact between DOS and Windows, l...
makslojer