Skip to content

How to run DOS programs

Ben Garrett edited this page Mar 25, 2019 · 4 revisions

How to run 16-bit applications (DOS programs)?

Due to the antiquated history of DOS it operates very differently to modern operating systems. It can be extremely difficult to successfully run legacy DOS applications on modern systems. DOS does not have an API such as Direct-X. So programmers for DOS had to include software drivers for any 3rd party hardware they wished to support including audio, graphic and interfaces. This means if you have modern hardware that is not intentionally backwards-compatible with this legacy then the DOS software is not going to be able to recognise and work with it.

Unsupported 16-bit application

This lack of DOS driver uniformity meant hardware support was dependant on the software program rather than the operating system. For optimisation and speed purposes it was common for games and intros to access the hardware directly using a technique known as real address mode. That creates a problem on newer editions of Windows such as 2000, 7, XP and Vista as they block this form of access to the hardware to keep the operating system more secure and stable.

To get around this you can use a DOS emulator which is software that fools DOS and DOS applications into thinking they are running on an old PC with the full hardware access they need. The emulator software is just a Windows program that correctly responds to all the requests by DOS in a way it would expect.

DOSBox Emulation

DOSBox is a multi-platform DOS-emulator that is designed to run DOS games on modern operating systems. It has been ported to numerous operating systems including Linux, OS X and works like a charm on Windows. By emulating the CPU DOSBox offers both 286 real mode and 386 protect mode as well as XMS/EMS memory configurations. This gives it impressive compatibility with older DOS games as well as many old scene productions and applications. DOSBox also supports Tandy, Hercules (HGA), CGA, EGA, VGA, VESA graphic modes as well as both the Sound Blaster and Gravis Ultra Sound range of sound cards.

In our opinion DOSBox is the best way to run older DOS based scene productions on a modern computer.

DOSBox command prompt running on Windows

D-Fend Reloaded, a graphical environment for DOSBox

If you would prefer a Windows graphical user interface to use with DOSBox I highly recommend D-Fend Reloaded which includes everything you need within a single software package.

D-Fend Reloaded graphical user interface running in Windows

D-Fend Reloaded profiles

To run scene produced programs for DOS I've used a combination of different D-Fend profiles that I run in a sequence of trial and error.

The profiles and install instructions can be found in their own GitHub repository at https://github.com/Defacto2/dosbox-d-fend.

Improve performance

I highly recommend to have all D-Fend profiles use either Direct Draw or OpenGL graphics render. It not only greatly improves DOSBox's performance it can also improve the output audio quality.

To do this:

  1. Edit a profile > Hardware > Graphics
  2. Find the Render select box and switch it from surface to ddraw
Simplify the interface

I also minimise the D-Fend menu by removing some of the program's clutter.

To do this:

  1. Select View > List
  2. Deselect View > Show toolbar
  3. Deselect View > Show groups tree
  4. Deselect View > Show screenshots and sound files

D-Fend simplified