Currently hosting 23 utilities for playing DOS games!
Utilities for playing DOS games
DOS software can be run on any x86 computer, as well as many non-x86 platforms. How this is accomplished depends on what operating system your computer is running.
Win16 runs on top of DOS (you must have a copy of DOS in order to have Windows 1.0 through 3.11), and Windows 95/98/Me have a DOS prompt and can boot into DOS Mode. OS/2 can natively run DOS programs. If you are using any of these operating systems, or a DOS operating system (MS-DOS, PC-DOS, DR-DOS, FreeDOS), you should have little trouble getting DOS games to run, though you may require a slowdown utility if a game runs too quickly. RGB also hosts a number of miscellaneous programs that may make DOS more useful or easier to use.
32-bit Windows NT-based operating systems (XP/Vista/7/8/8.1/10 and NT/2000/2003/2003 R2/2008) include a Virtual DOS Machine (VDM) called NTVDM that allows DOS games to be played, and the version of NTVDM that comes with Windows XP even emulates a Sound Blaster 2.0. NT-based operating systems run many DOS games very well, while some games lack sound or play too quickly. A Sound Blaster emulator called VDMSound can resolve the audio issues on some games under NTVDM.
This comes with a caveat: Windows Vista introduced a new graphics system that is incompatible with NTVDM, so only DOS games that run in text-mode are playable in 32-bit versions of Windows Vista/7/8/8.1/10.
BeOS/Haiku, Linux, Mac OS X, and 64-bit versions of Windows (XP/2003/2003 R2/2008/2008 R2/2012/2012 R2/2016) don't support DOS software at all. If you are using Windows XP or newer, or any non-Windows operating system, it is highly recommended that you use DOSBox. DOSBox emulates an x86 computer with a variety of video and sound cards, and the speed of emulation can be adjusted while it is running (eliminating the need for a separate slowdown utility). DOSBox has been ported to almost every modern operating system, and RGB Classic Games has a DOSBox tutorial.
If you want to run a real copy of DOS, but don't already own one, there are two free DOS operating systems: Enhanced DR-DOS, and FreeDOS, which can be found in the operating systems section. Any DOS operating system can be run in a number of emulation or virtualization programs. Such programs allow you to run DOS and other operating systems as a "guest" operating system in a window on your "host" operating system.
Some DOS games have had their source code released, so RGB also hosts a number of programming languages that some of those games were written in.
eComStation is the new name of OS/2, which has continued to be developed by Serenity Systems since IBM discontinued development of OS/2. eCS includes IBM-supplied updates that had previously only been offered to customers with maintenance contracts, such as support for USB, and has added a number of features to improve compatibility and performance on modern computers, such as switching the default filesystem to JFS. In addition to being fully compatible with existing OS/2 software, Serenity Systems has been tirelessly converting open source programs to run on eCS, including Mozilla Firefox and Thunderbird and OpenOffice.org. eCS should also still be compatible with all DOS and Win16 software. A LiveCD of eComstation 2.2 beta is available, which allows the OS to be tested without the overhead of an emulator, and without installing to a hard drive.
FreeDOS is a free and open source DOS operating system. Enhancements include support for FAT32, long file names, and LBA (hard drives larger than 7.8 GB), making it ideal for installation on modern PCs. It should be fully compatible with all DOS software, and it comes with a large number of useful utilities. FreeDOS can be installed from CD-ROM or USB drive. The "Lite" version of the USB installer includes only basic utilities, while the "Full" version includes a bunch of extra software and source code.
ReactOS is a free and open source Windows-like operating system with very low system requirements. A Linux implementation of the Windows API, called Wine, already existed when development began. ReactOS takes the concept a step farther by creating an entire operating system with the look and feel of Microsoft Windows, using Wine to implement the Windows API. ReactOS is at least somewhat compatible with most Windows programs, including games that use DirectX. It also implements NTVDM for compatibility with DOS software. Officially, ReactOS 0.4.x is considered alpha software, and will not be considered beta software until version 0.5. Because an alpha version of any program can potentially have issues with stability, data corruption and data loss, it is recommended that ReactOS only be installed on a testbed computer, or safely run in the protected ("sandbox") environment of an emulator or virtualization suite. ReactOS can also be booted from a LiveCD, which allows the OS to be tested without the overhead of an emulator, and without installing to a hard drive.
Cpukiller is a slowdown utility for Windows that can slow your computer by up to 99%. A slider and graphical interface allow adjusting CPU speed in real-time. It even works on multi-core and hyper-threading CPUs to slow down multiple virtual or physical CPUs. It basically ties up your system resources to slow down your computer, which means that all programs and background processes slow down, not just the program that was running too fast. Because it's impossible to guarantee which CPU core the application you want to slow down will run on, the only solution is to slow all of them down. Mo'Slo 4BIZ can slow a single DOS or Windows application in Windows without affecting the rest of the computer (probably by putting the slowdown utility in the same thread as the program, so that it follows it around from core to core), but there is no trial version of Mo'Slo 4BIZ. If you need to try before you buy, Cpukiller is the only option for Windows users, and it's recommended in the download section of Apogee's website. The trial version can be used for 20 minutes at a time.
Software that was designed for the original IBM PC and XT tend to run too fast on any CPU faster than 4.77 MHz. Most software designed for all later processors adjust their speed to the speed of your CPU, but programs compiled with Turbo Pascal may crash on CPUs faster than 200 MHz. This means that some software is unusable on any CPU other than an 8088, or any CPU faster than Pentium 166.
Mo'Slo basic is a free slowdown utility that can run in native DOS on any x86 CPU (80386 or higher), even with frequencies above 1.0 THz. It slows your computer to the speed of a 4.77 MHz PC/XT by default, or you can specify an amount to slow down from 0.01% to 99.99%. Mo'Slo basic is free for non-commercial use; enterprise and government users may use it without a license for 15 days. Mo'Slo basic has used 32-bit registers since v1.4 in order to support higher frequencies (1 THz up from ~700 MHz) and smoother operation. If you need to slow down an 80286 or earlier, use v1.32. (Version 1.32 works on 32-bit CPUs, but slowdown increments are 1% instead of 0.01%.)
A commercial version, Mo'Slo Deluxe, adds even more accurate emulation by creating slowdown via the RealTime Clock or the Advanced Programmable Interrupt Controller, and can provide "perfect" (clock for clock) emulation by disabling the CPU's L1 cache. In addition to specifying a slowdown percentage, Mo'Slo Deluxe can target the speed of a number of specific CPUs: 8088, 80286, 80386, 80486, and Pentium 166. Mo'Slo Deluxe is best for DOS through Windows Me, but is less effective in versions of Windows that don't have a DOS mode.
Mo'Slo 4BIZ allows DOS and Windows programs to be slowed down without slowing down the rest of the system, so that it can be run while multi-tasking in Windows. (There are a few Windows programs that run "full speed" regardless of CPU frequency -- notably Quatra Command.) Compatible with Windows 95 through Windows 10, it can even let you assign which CPU to use in multi-core and hyper-threaded systems. Mo'Slo 4BIZ emulates a Pentium 166 by default.
Bochs emulates a PC with a 32 or 64-bit x86 processor. Like virtualization suites, it allows you to run a real copy of DOS, Windows, Linux, and other PC operating systems. The significant difference is that a virtualization suite simply allows a guest operating system to run on your PC, whereas Bochs emulates a PC, so you can run PC operating systems on non-PC computers. Unlike DOSBox, you will need a copy of DOS to play DOS games, but Bochs was designed to run other operating systems as well, which can be anywhere from difficult to impossible with DOSBox. Written in C++, Bochs can compile on many platforms. Please see the Bochs homepage for other versions.
DOSBox emulates a complete IBM-compatible PC, including almost every significant graphics standard (CGA, EGA, VGA, etc.) and sound card (Sound Blaster, AdLib, Gravis UltraSound, etc.). DOSBox also allows the emulation speed to be decreased to allow very old software to run at a playable speed. What makes DOSBox unique is that it also emulates DOS itself, allowing DOS software to run without installing an actual copy of DOS! DOSBox emulates DOS so well that it is even possible to install Windows 3.1, as well as Windows 95 up to OSR1. It is also possible to install and boot an actual copy of DOS in order to use utilities not included with DOSBox, or just to recreate the authentic DOS experience. In additions to the versions listed below, there are also ports to a number of Linux distributions, so I recommend visiting DOSBox's home page if the version for your operating system isn't listed below.
PCem is a PC emulator that lets you configure pretty much everything about the emulation. Besides the usual ability to choose a graphics card and sound card, you can pick a specific CPU and clock speed to emulate (i.e. 486 SX 33). The emulation is very accurate, but one of the reasons why it's so accurate is that PCem requires the actual ROMs of the hardware that it emulates (fortunately, most of the software that you need is available on the PCem website). This means that you can actually enter the CMOS Setup! PCem pretty much recreates the entire PC experience, and even emulates the PCjr.
The Script Creation Utility for Maniac Mansion Virtual Machine is a collection of interpreters that run the data files of many classic graphic adventure games on a number of platforms. There are ports to almost every operating system, console, and handheld computer imaginable, so visit their homepage if the version you want isn't listed here.
VDMSound provides SoundBlaster 16 emulation on 32-bit Windows operating systems. Most modern sound cards don't include SB16 emulation any more, which is often the only thing that prevents a DOS game from playing properly in Windows. Once installed, right-click on any DOS game and select "Run with VDMS".
Virtual PC allows almost any PC operating system to be run in Windows with virtually no loss of performance. You can run a real copy of DOS, OS/2, or Windows as a "Guest" operating system within your normal version of Windows (the "Host" operating system). Virtual PC is a virtualization environment, not an operating system emulator, so you will have to install your own copy of whatever OS you want to run as a Guest.
Virtual PC 2004 requires at least Windows 2000, and supports DOS, OS/2, and Windows 3.x (unofficially)/NT/9x/2000/XP/Server 2003 as Guests.
Virtual PC 2007 requires at least Windows XP, and adds support for 32-bit Windows Vista/Server 2008 Guests. Official support for DOS and Windows NT/95/98 First Edition/Me Guests was dropped, though they still work just fine.
The newest version, released on 19 September 2009, is called Windows Virtual PC. It requires Windows 7 and only supports Windows XP/Vista/7 Guests, so it is not useful for running any of the games on this site.
VirtualBox is a straightforward virtualization package that allows almost any PC operating system to be run in a window on PCs running Windows, Mac OS X, Linux, OS/2, and Solaris, with virtually no loss of performance (as long as you have enough RAM to spare for the guest operating system). You can run a real copy of DOS (with or without Win16) or Win9x, to play games from this site and be able to switch back and forth between the host and guest operating system without rebooting. VirtualBox is a virtualization environment, not an operating system emulator, so you will have to install your own copy of DOS or Windows. VirtualBox emulates a SoundBlaster 16, which is great for DOS and Win16, and it supports 2D and 3D acceleration and has experimental DirectX support, which is great for Win9x and newer operating systems. Shared folders can be created to transfer files to and from the guest operating system. There are ports for Solaris/OpenSolaris and a number of Linux distributions, so I recommend visiting the home page if the version for your operating system isn't listed below.
C is a powerful programming language that quickly became the most popular language in the world. Borland Turbo C adds an excellent IDE (Integrated Development Environment) which made it incredibly easy to compile C code into an executable file. The source code releases for Kiloblaster and Xargon are written in Turbo C, and other C source code releases may have been developed with Turbo C as well.
C++ is an object-oriented successor to the C programming language which has largely replaced it. Borland Turbo C++ adds an excellent IDE (Integrated Development Environment). The source code release for Mines was developed with Turbo C++, and other C++ source code releases may have been developed with Turbo C++ as well.
Pascal is a powerful programming language and a great learning tool. Borland Turbo Pascal adds an excellent IDE (Integrated Development Environment), and quickly became the most popular Pascal product. The source code releases for Chopper Commando and Jumpman Lives! were developed with Turbo Pascal, and I hope to have source code for other Pascal games in the future. It may be safest to use the version that is closest to the one the source code you're working with was written in, but backwards compatibility is usually maintained in programming languages.
GRAFIX is an API for developing software for the Tandy 1000 series of PC-compatible computers. Without a graphics API, programmers had to create their own drawing routines using BIOS calls, or by writing directly to the frame buffer in main memory. Such low-level programming was difficult and time consuming, so some programming languages came with their own drawing routines, such as the Borland Graphics Interface that came with Borland's "Turbo" products. BGI supported Hercules, CGA, EGA, VGA, and 8514 graphics modes, but not the PCjr/Tandy 1000 graphics modes. GRAFIX provides a similar API that supports the 160×200×16c (Mode 8), 320×200×16c (Mode 9), and Tandy 1000 SL/TL 640×200×16c graphics modes, as well as audio routines for the Tandy 1000's 3-voice audio hardware.
Added by DOSGuy
GRAFIX v2.60 Freeware with source code (160708 bytes)
GRAFIX v2.50 Shareware (re-released with source code in Assembly) (158637 bytes)
20 August 1990
GRAFIX v2.00 Shareware (re-released with source code in Assembly) (151875 bytes)
5 August 1990
GRAFIX v1.10 Freeware with source code in Assembly (95577 bytes)
14 March 1989
GRAFIX v1.00 Freeware with source code in Assembly (documentation corrected) (71108 bytes)
18 October 1988
UnLZEXE decompresses executable files that are compressed with Fabrice Bellard's popular LZEXE v0.90 and v0.91. EXE compression was often used to reduce the size of files in the days of floppy disks and limited storage, but it could also be used to prevent people from searching for text inside of executable files, or to prevent disassembly or debugging that could lead to unauthorized hacking and modding. This website searches executable files to find the tools that were used to create them, and EXE compression makes it harder to find their signatures. UnLZEXE is indispensable for searching and modifying LZEXE-compressed files. A list of games on this site known to use LZEXE compression can be found here.
UnPack decompresses executable files that are compressed with Microsoft's EXEPACK/LINK utilities. EXE compression was often used to reduce the size of files in the days of floppy disks and limited storage, but it could also be used to prevent people from searching for text inside of executable files, or to prevent disassembly or debugging that could lead to unauthorized hacking and modding. This website searches executable files to find the tools that were used to create them, and EXE compression makes it harder to find their signatures. UnPack is indispensable for searching and modifying EXEPACK-compressed files. A list of games on this site known to use EXEPACK compression can be found here.
UnPKLite decompresses executable files that are compressed with PKLite v1.00-2.01. EXE compression was often used to reduce the size of files in the days of floppy disks and limited storage, but it could also be used to prevent people from searching for text inside of executable files, or to prevent disassembly or debugging that could lead to unauthorized hacking and modding. This website searches executable files to find the tools that were used to create them, and EXE compression makes it harder to find their signatures. UnPKLite is indispensable for searching and modifying PKLite-compressed files. A list of games on this site known to use PKLite compression can be found here.
CHKCPU uses the CPUID instruction (present in all Pentium and later CPUs, and some late model 486s) to identify the model, speed, and capabilities of your CPU, including support for MMX, 3DNow!, SSE/2/3/4.1/4.2/4A instructions. This will most likely be useful when running an emulator or virtualization suite – to determine what kind of CPU is being emulated and what information is being provided to your games – or when using a slowdown utility to ensure that older games run at the correct speed. For example, The Need for Speed will only run in SVGA mode if it detects a Pentium CPU, whereas DOSBox reports a 486 CPU by default – which I know because I ran CHKCPU – so CHKCPU let me know that I should change the "cputype" from "auto" to "pentium_slow".
On 16 September 1998, the Video Electronics Standards Association (VESA) strongly recommended that graphics card vendors remove BIOS support for the 8×14 font in their products to create space for VBE 3.0 implementations, and most graphics cards have followed the recommendation. This causes games and applications that use that font type to display garbage when run without an emulator like DOSBox. BTTR Software has created a free TSR (Terminate and Stay Resident) program that can be run before you play your games to restore support for 8×14 fonts. Modern graphics cards require FIX8X14 for the following games from this site: Alpha Man, Blind Wars, Crusher, Isle Wars, Numlo, SimCity, and Tribolo. FIX8X14 is a 16-bit application and will not run on 64-bit versions of Windows.
RAR for DOS is the DOS version of the popular WinRAR utility. If you're playing DOS games on a real DOS computer, you'll need an archive program to unzip the files, and ancient copies of PKUnzip may not be able to unpack newer ZIP archives, and it certainly won't be recognize newer formats like RAR and 7z. RAR 3.93 can decompress anything that WinRAR 3.93 can. RARLAB will no longer release new versions of RAR for DOS; this is the last version of RAR. Newer versions for Windows, Pocket PC, Linux, FreeBSD, and Mac OS X are available on the author's website.
Volkov Commander is a powerful file manager for DOS, in the style of Norton Commander. I was first introduced to VC in 1995 from a Ukrainian friend who swore by it. It continued to be developed until 2000. Written in Assembly, VC is very small and very fast. Help files are available in Czech, German, Polish, Russian, and Slovak on the author's website.