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: The point is, for both episodes of the game, you need the executables of version 4.54.
(Patch 1.4 for Tales of Chivalry)

download CPU patch for Tales Of Chivalry
download CPU patch for The Secrect Of Merlin

For Time Machine, you need the game patched to 1.23:
download CPU patch for The New Adventures of the Time Machine

download CPU patch for Odyssey: The Search for Ulysses

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.
download Blood2 resolution patch

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.

download War Gods blank screen patch

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.
download Zero Divide patch

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.
download Breat of Fire 4 patch

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.
download Suzuki Alstare Extreme Racing patch

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.
download Winplay DLL patch

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.
download patched Croc DDraw/Glide executable
download patched Croc D3D executable

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.
download patched Rally Challenge 1.2 executable

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:
- US
- Italian

The patched executables should work both with native- and dgVoodoo-DX:
download patched Resident Evil 2 (1.4) executables

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.
download patched Mace Griffin Bounty Hunter executable

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:
download patched Micro Machines v3 executable

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

3D Blitz Demo

This game demo works with dgVoodoo but crashes at startup because division by zero. A little patch for that:
download patched 3D Blitz Demo executable

Chicken Run

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:
download patched Chicken Run executable

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.
download POD patcher app (released: 02.04.2006)