Speed sensitive MS-DOS games [Retro-PC series]
If you are lucky and got sounds working in your Retro-PC project, you might still have issues with the game speed on some of your favourite titles. This is especially true with many early MS-DOS game titles from the 80s, but even some titles from 90s were “poorly programmed” not taking into account how fast machine you had or used poor methods to adjust their speed.
Many of the great Sierra titles are infamous of not behaving well in a “too fast” machine. For instance, even if the game seems to run fine, many of the puzzles on Space Quest 4 get close to impossible solve due wrong timing or too fast action. Even the masterminds of Origin screwed the Wing Commander experience if you did not happen to have a machine with just the right specs. Something like 386/33Mhz would make the experience great, but having a 286 processor of any speed made the game too slow, and 486 made everything too fast. On the other hand, some games like Quake work perfectly on any setup and capable of utilizing the horsepowers of your modern PC supporting high resolutions running great framerates.
To play “speed sensitive” game titles, you have some options:
- Run the game with an old PC having the specs right.
- not very applicable unless you want to have multiple PCs with different configurations sitting at your retro corner
- Use “slowdown” utilities on MS-DOS.
- these utilities try to slow down the game execution using multiple different techniques
- if you have a machine that is a bit more modern than the game having the speed issue, utility solutions might work very well
- if you have a “too modern” machine, the slowdown utilities might work, but you don’t usually get acceptable results
- Use DosBOX and consult the internets for the best game settings.
- works great with most games having speed issues, but some games might still have issues
- for instance, Wing Commander 1 might need speed cycles adjusting during the gameplay
- works great with most games having speed issues, but some games might still have issues
- Use ScummVM for Sierra and LucasArts graphical adventures.
- if the game is supported by ScummVM, it will very likely work perfectly
- Use patches to fix speed issues.
- these were often official patches from the game developer, but game fans have also made these
- for instance, numerous Space Quest 4 patches have been released to make the game playable on faster machines
- these were often official patches from the game developer, but game fans have also made these
- Play a console game port or a modern day re-release.
- some of the most popular MS-DOS titles were ported to consoles of 90s — such as SNES
- in recent years, numerous MS-DOS titles have been re-released to run on a modern Windows or iOS / Android devices
- Buy the game from Steam or GoG.
- under the hood, the game might be running on DOSBox, ScummVM or a Windows version of the game
- even if you buy a game this way does not guarantee you don’t have any speed issues (but you will get at least some quality control and support)
DOSBox is the route I once again recommend as a generic solution, and ScummVM is great for many point-and-click adventures. The slowdown utilities are something you can try too, but there are some issues:
- Slowdown utilities cannot be adjusted dynamically – in contrast to DOSBox where you can hit the buttons to adjust and fine tune the game speed on the fly.
- The slowdown method on DOSBox is much more accurate as in the emulated environment you have better control what kind of hardware the game “sees”. Slowdown utilities are more “hackish” e.g. trying to “steal” CPU cycles from the game.
There are at least four methods these slowdown utilities use:
- slowdown based on Programmable Interrupt Timer
- slowdown based on RealTime Clock
- slowdown based on Advanced Programmable Interrupt Controller
- slowdown utilizing BIOS energy saving modes to decrease MHz of your CPU
I am not technically aware enough to explain the first three methods, but MoSlo Deluxe supports all three, and many others probably use the same methods. Throttle uses a different approach instructing your BIOS to slow CPU down, but for a really fast machine, this does not help. You can also try combining Throttle with one of the other methods. Some of these tools also support additional features (such as turning off processor caches) that help certain titles running without mysterious crashes. As a final note, using slowdown utilities with some games (looking at you again Wing Commander) could be adjusted to run smoothly during one part of the game (e.g. the “flight sim” part of WC) but an another part would need different setting or even different slowdown method (e.g. the “menus and cut-scenes” of WC).
The awesome Wikipedia community created a list of CPU speed sensitive games.