First post, by Silanda
Just leaving this here as a record of my observations about getting this game running perfectly in DOSBox in case it's of use to anyone, especially if they want to install from disc rather than using the patched version. I hope no-one minds, but there are a couple of things about the Windows version too.
The game runs at a very odd framerate, and this is true of both the DOS and Windows versions. I haven't been able nail the precise refresh rate, but it's somewhere around 62.46Hz (I'm running at 62.461). Whether running the DOS version in DOSBox, or the Windows version, it's probably best to create a custom resolution at this rate. I wonder whether there was a typo in the game's code, as that value is very odd...
Joystick support appears completely broken. The best solution is to either map the pad to keys using DOSBox's mapper, or use something like JoyToKey. A limitation I've found with JoyToKey is that it doesn't seem to like too many keypresses at the same time, making unlocking Chameleon pretty much impossible, and making Sub Zero's ground slide tricky (you kind of have to hit the buttons rapidly in sequence, one after the other, rather than all at the same time).
A noticeable problem with the game is that Univbe is bound to the executable. While Univbe is able to create a driver for DOSBox's emulated graphics hardware, for some reason loading this driver seems to cut the frame rate in half. There are a few options to remedy this:
1) From the game's directory run "uvconfig.exe -e120". This option is meant to set the framerate for low res modes at 120fps, while the default value seems to be 60. Half of 120 is of course 60, and the effect in DOSBox is indeed to cause the game to run at 60fps. It will still be a little choppy because 60 is less than 62.46, but it's more acceptable. Trying to set the rate above 120 don't work.
2) Use the modified UniVBE driver produced by Rob Muller many years ago (attached, see included readme).
3) (My personal favourite) Stop UniVBE from ever running and loading its driver. You'll need a hex editor for this. Got one? Good, here goes. Open the MKtril.exe file in your hex editor of choice. At offset C90D2 there should be a five byte sequence that is as follows: E8 A6 03 00 00. Replace it with 90 90 90 90 90. UniVBE is history.
If you want the game to be more or less completely smooth, you'll need to running at a resolution using that odd refresh rate I mentioned earlier or they'll likely be some juddering still. This might not be much of a problem on 120Hz monitors. Also, if you use OpenGL you'll need a version of Dosbox that fixes support for more than 256 colours or you'll likely run into issues. A fix was suggested here and it's easy to compile your own version: https://sourceforge.net/p/dosbox/bugs/385/
With regards to the Windows version, the game crashes on Windows XP and later. While it's possible to fix the executable to remove the offending instructions that crash the game, it's simpler to create an application fix with Compatibility Administrator and apply the IgnoreException fix. Also needed is the DXPrimaryEmulation with the -DisableMaxWindowedMode commandline parameter in order to get rid of the frame in fullscreen mode on Windows 8 and 10. Either that or I recommend using DGVoodoo. An advantage to using DGVoodoo is that if you created a custom resolution with the 62.461 HZ refresh rate, and switch the desktop to it before starting the game, the game will stay at that refresh rate in fullscreen mode. Without DGVoodoo it always seems to switch to 60Hz.