Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
How to run DOS programs
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.
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 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.
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 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.
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:
- Edit a profile > Hardware > Graphics
- 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:
- Select View > List
- Deselect View > Show toolbar
- Deselect View > Show groups tree
- Deselect View > Show screenshots and sound files