Here you can find some patches I made for some games.
3D Blitz Demo
This game demo works with dgVoodoo but crashes at startup because division by zero. A little patch for that:
Blood 2 - high resolution fix
This one fixes the crash that occurs when a resolution with more than 1000 lines is tried to be used.
Breath of Fire 4 - crash
Exactly like Zero Divide, running this game through dgVoodoo2 causes internal "stack segment" overflow and the game crashes. This patch increases the size of the stack segments this game uses to avoid this problem.
Wants to create textures with size of 0x0 and crashes because of failed factoring. I don't know why it is but I patched the executable. Seems to work both through dgVoodoo and natively on Win10:
Croc: Legend of The Gobbos - crash before menu screen
I don't know if it's only for me but I always got a crash with this game on Windows 7 or newer operating systems, right when the game is about entering the menu screen.
As I was debugging to trace down the cause of the crash I found that it has something to do with the sound system. Ahha, Microsoft changed it completely starting with Win Vista, they introduced a system software mixer, ditched hardware accelerated sound and wrapped all old sound API's like DirectSound and MCI WaveIn/Out to the internal of the new system.
Some bug must have slipped into the emulation that's why Croc crashes. Anyway, I cut off the code causing the crash and now Croc works.
The only issue is that I don't have sound during the intro but otherwise it is ok during the game.
Cryo Games (Arthur's Knights series, The New Adventures of the Time Machine and Odyssey: The Search for Ulysses)
Those games crash on modern hardware because they run onto code paths using 3DNow! instruction set. Hmmm, first, when dealing with Arthur's Knights, I thought CPUID instructions must be coded badly in the game somewhere, so I decided to explore it. I found all the points in the code but handling the capability flags is a bit subtle in the game, I struggled with it a lot. However when Marian told me on Vogons that a caring person from a Russian company created a patch for the translated version, and also shared that with me, I checked out the same points in the patched file and ported the solution into the executables I had. It not only helped but in addition with that knowledge, I could patch all of the games. So, thanks to the unknown guy, they now work.
- Arthur's Knights - Tales Of Chivalry CPU patch (for executable of version 4.54)
- Arthur's Knights - The Secrect Of Merlin CPU patch (for executable of version 4.54)
- Odyssey - The Search for Ulysses patch
- Time Machine patch (for game version patched to 1.23)
Frank Herbert's Dune
This game was broken on arrive because its texture format enumerator misunderstands various formats, causing missing or rainbow-colored polygons. This patch fixes that problem.
Hogs Of War
This game runs with a serious graphics glitch in any environment newer than Win7 native DX: landscape is rendered deficiently. This patch is to fix it in a general way.
Mace Griffin Bounty Hunter
This game requires halved refresh rate from D3D8, for some reason.
While Windows' compat layer uncap the refresh rate, dgVoodoo fulfills the requirements so the game runs at ~30Hz. I patched it to have the game running at regular refresh rate, with vertical sync enabled.
- Mace Griffin Bounty Hunter patched executable (password: dege - retarded Goolag AV crap thinks it's infected)
Micro Machines v3
The code for detecting available D3D devices is miscoded in this game, so it won't use D3D rendering even through dgVoodoo. I made a patch to handle this problem:
Unfortunately there are some additional steps to get it working. The executable crashes if too many resolutions are enumerated to it, so you have to disable default dgVoodoo resolutions and add the few ones used by the game as extra. Include the following lines in dgVoodoo's [DirectXExt] config section:
ExtraEnumeratedResolutions = 320x200, 320x240, 640x400, 640x480 DefaultEnumeratedResolutions = none
Planet Of Death (POD) - my ancient patcher application
POD has an issue with desktop color bit depth. It is prepared to start only if 16 bit is detected. This patching application was created to kill this restriction from the various POD executables.
In the beginning it only supported the executables compiled for Intel processors but later I added support for AMD as well.
I must warn you that this is a very old application, I don't know if it still works.
- POD patcher app (released: 2006.04.02)
Rally Challenge 1.2
This game has a bug. If too much DirectDraw resolutions (more than 50, resulting from various bit depths) are enumerated to it then it overwrites its own internal data structures which causes it to try to run in windowed mode instead of fullscreen. Windowed mode may work if the desktop is set to 8 bit but otherwise it always fails.
This patch maximizes the number of enumerated resolutions to 50. This game won't work by modern native DX because it uses 320x200 in mode X for menu screens which is not supported by modern video cards. The only way to play is dgVoodoo2, I think.
Resident Evil 2
Using hardware rendering with this game ends up failing to initialize DirectX.
Having a look at what happens I found that the game tries to feed DirectX with rendering buffers having mismatching caps. It all seems to be hardcoded in the executable so I have no clue how it ever worked, but anyway, I modified the code in question. The patched executables are from the 1.4 game patch because I used the replacement installer.
Currently the following versions are included:
The patched executables should work both with native- and dgVoodoo-DX:
Splinter Cell 3
If you are interested in running this game through dgVoodoo then you need this patch.
Handling of the render window in this game is not compatible with D3D11/12's DXGI so this is what this patch is for.
Suzuki Alstare Extreme Racing - potential crash
I found that this game has problems when support for paletted texture is present through DirectX. If you run it natively then you don't have to worry, modern GPUs don't support paletted textures so the game should run. However it won't work with dgVoodoo 2 by default, you need this for that.
Star Wars Episode I The Phantom Menace
This game suffers from low FPS because it lets D3D to leave the FPU in single precision mode and that causes the game to do wrong timing calculations. You can switch between 30/60 fps by typing the consolse command '60fps' ingame but this patch makes 60 fps the default.
The video renderer of the game is not compatible with dgVoodoo's forced resolutions and custom scaling modes. Here is the patched exe for solving the problem.
TMNT: Mutant Melee
The game executable has a buggy code part that is not compatible with dgVoodoo (accidentally it is with MS D3D8). This patch not only fixes that but some problems appearing by Alt-Tabbing as well.
Ubisoft games (Donald Duck Goin' Quackers, Rayman 2)
All games mentioned in this section have a common problem: intermittent fps loss (halved rate). Use these patches to fix it.
Donald Duck patch pack contains executables for widescreen usage as well, those are patched utilizing AuToMaNiAk's tutorial video.
Rayman2 patch is only for fixing the fps, use it together with other patches made by the Rayman community.
Zero Divide - crash
This game crashes when used with a modern DirectX wrapper like dgVoodoo 2. This patch increases the size of the stack segments this game uses to avoid this problem.
War Gods - blank screen
A fix for the blank screen when 3D acceleration is used. I tried to patch this game to get it to work with native DirectX but with no success. You need dgVoodoo 2 to play it. Presumably it works with other DX wrappers but I haven't tried any other.
Warhammer: Dark Omen
Use this patch together with dgVoodoo to eliminate mouse issues and enable the hardware renderer for forced resolutions:
Winplay DLL - potential crash
Winplay DLL is a library for video playback and it is used by a lot of old games. Recently I found that this dll has a screen buffer overrun bug when I got persistent crashes with Soul Reaver and dgVoodo 2 if I used resolution larger than 640x480. (Native DirectX survives this bug by good chances because of the video memory layout used for that.) This patch fixes this bug - not only for Soul Reaver but for other games too, I guess.