DOS emulators

From Emulation General
Jump to navigation Jump to search
MS-DOS logo

DOS, which stands for Disk Operating System, popularly refers to a series of text-based operating systems used by early microcomputers, but can also refer to any number of different operating systems such as IBM's mainframe operating system, DOS/360, or can be used simply as a generic label or descriptor. The operating system(s) most people refer to as simply "DOS" are MS-DOS and compatible operating systems such as DR-DOS and PC-DOS, which in-turn all trace back to Gary Kildall's CP/M (Control Program for Microcomputers), the first operating system to be written for the microcomputer platform. Many companies had their own version of DOS across many platforms, but Microsoft's MS-DOS (released in 1981 for IBM PCs[1]) is the most ubiquitous, and set the standard for most commercial DOS-based operating systems, which were in general fully compatible with MS-DOS software, in order to stand a chance at competing with the it. The last standalone release of MS-DOS was version 6.22, although updated versions of it were embedded into Windows 9x and ME.[2].

FreeDOS, a fully MS-DOS compatible operating system is still in active development. It is fully MS-DOS compatible, meaning every program written for MS-DOS will run under it, and runs on every type of machine capable of running MS-DOS. It removes several bugs inherent in MS-DOS even on older machines, it can run Windows 3.1 and OpenGEM and is fully free and open source software, so it is an advisable alternative even on older computers capable of running MS-DOS natively. Additionally, it is fully usable on modern computers, although most software, particularly early DOS programs based on the CGA or Tandy video standards, will not run acceptably without the use of 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 code base is proprietary and they don't include many of the features contained in FreeDOS.


Name Operating System(s) Latest Version LLE Active Libretro Core Recommended
DOSBox Multi-platform 0.74/SVN
PCem Windows, Linux v11
ScummVM Multi-platform 1.8.1
SIMH ‡ Multi-platform 3.9-0

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.