DOS emulators

From Emulation General Wiki
Jump to: navigation, search
MS-DOS logo
DOS (Disk Operating System) was the common name for text-based operating systems used by the early microcomputers that was either specific in usage, or very broad like a generic label or descriptor. What most people know as DOS is probably MS-DOS, and lesser-known compatibles like DR-DOS and PC-DOS that are all rooted in the first operating system ever written for the platform, Gary Kildall's Control Program for Microcomputers (CP/M). Many companies had their own version of DOS across many platforms, but Microsoft set the standard with MS-DOS when it was released in 1981 for IBM PCs. The others were generally compatible with software marketed for MS-DOS, in order to stand any chance at competing. The last standalone release of MS-DOS is version 6.22; updated versions of it were later integrated into Windows 9x.[1]

There's an MS-DOS-compatible replacement still in active development called FreeDOS. Every program written for MS-DOS can be run under FreeDOS, and every platform capable of running MS-DOS should be supported by FreeDOS. Several bugs inherent in MS-DOS even on older machines are no longer present, and it's open source software. It's an advisable alternative that, even if older computers can run it, is just as usable on modern computers; keep in mind most software, particularly early DOS programs based on the CGA or Tandy video standards, will not run acceptably on modern hardware without CPU downclocking tools and roughly compatible video and sound hardware. There are other versions of DOS with continued support such as DR-DOS, but their codebase is proprietary and they don't include nearly as many features as FreeDOS.


Name Operating System(s) Latest Version LLE Libretro Core Active Recommended
DOSBox Multi-platform 0.74-2
DOSBox-X Multi-platform 0.82.9
PCem Windows, Linux 14
ScummVM Multi-platform 2.0.0
SIMH Multi-platform 3.9-0
DOSEmu Linux 1.4.0
DOSEmu2 Linux 2.0pre8
MAME Multi-platform 0.201
DOSBox Multi-platform 0.74
ScummVM Multi-platform 2.0.0
aDOSBox Android 0.2.5 ?
AnDOSBox Android 1.2.8 ?
DosBox Turbo Android 2.2.0 ?
gDosBox Android ?
Magic Dosbox Android 1.0.61 ?

† Used for playing certain point and click adventures written for DOS, limited support for games, but the games it does support it tends to run better than DOSBox.
‡ Generic hardware emulator, but it emulates several microcomputers capable of running CP/M and DOS, which is arguably the most straight-forward way of running CP/M via emulation. Not recommended for gaming.

Emulation issues[edit]

OS support[edit]

Many PC emulators do not support multiple operating systems, as this requires a much more low-level emulation of the hardware, which is often difficult to nigh-impossible to achieve. The only listed LLE PC emulator is PCem (SIMH is LLE but does not emulate PC hardware, see here for emulated hardware), which is not only able to run DOS and Windows up to XP, but also Linux, BeOS, and various other obscure OSes.

Screen tearing[edit]

DOS games had no vertical synchronization to speak of. DOS emulators, such as DOSBox and its forks have issues with V-sync implementation. Even outputting to a CRT at their native modeline (320x200@70Hz, scaled up to 640x400), users report screen tearing.

CPU clock speed[edit]

The difference between an early DOS game and a late DOS game in terms of the hardware they were intended to be run under is quite vast. This occasionally leads to certain problems with games running too fast or too slow even through emulation. DOSBox includes settings for adjusting clock speed and often does it automatically, although occasionally DOSBox does not choose an acceptable clock speed and the user has to manually change the settings.