Running DOS Programs on Linux: Duke Nukem Lives!
If I play video games they're usually pretty low tech ones. One of the few games I miss from the old days is Duke Nukem, and I'm talking about the Duke before he went 3D. If you have an old DOS game that you'd like to run, or for that matter any old DOS program, check out DOSBox. Even if you don't have any DOS programs that you'd like to run, you might want to try downloading some of the old DOS games that are now available free online.
DOSBox is a DOS emulator that runs under Linux as well as OS X and Windows. To quote from the website:
DOSBox is a DOS-emulator that uses the SDL-library which makes DOSBox very easy to port to different platforms. DOSBox has already been ported to many different platforms, such as Windows, BeOS, Linux, MacOS X...
DOSBox also emulates CPU:286/386 realmode/protected mode, Directory FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with older games...
DOSBox is fairly easy to use, if it's not included in your distro's repo (openSuSE has it), download it here. Once it's installed just type dosbox. When the DOSBox window appears the first thing you have to do is mount the directory that contains your DOS program as a DOS drive. You do this by typing a mount command in the DOSBox window, for example I did:
mount c ~/bindirs/dukenukem/DUKE
To start your DOS program change to the drive that you just mounted and type the name of the program:
And now you're playing Duke Nukem, or possibly doing something useful.
If you don't have a copy of Duke Nukem you can download it here. I already had a copy that I had saved years ago but I did download a copy of Duke Nukem 2. This required a few installation steps before I was able to run. Under Linux:
$ cd ~/bindirs/dukenukem $ mkdir DUKE2 $ cd DUKE2 $ unzip ~/tar/d/dnukem2.zip $ dosbox
Then in the DOSBox window:
mount c ~/bindirs/dukenukem/DUKE2 c: install.bat nukem2.exe
Note that this actually ended up installing it in ~/bindirs/dukenukem/DUKE2/DUKE2 but this is easy enough to move around from Linux to eliminate the extra DUKE2 from the path.
Running on a Quad Core Phenom, DOSBox's performance was good: I encountered no performance problems with video or sound. I also noticed that while running it didn't appear to require any more CPU than any other program I tend to use so I suspect performance should be good on most modern systems.
Mitch Frazier is an Associate Editor for Linux Journal.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- Huge Package Overhaul for Debian and Ubuntu
- The Controversy Behind Canonical's Intellectual Property Policy
- Shashlik - a Tasty New Android Simulator
- Home Automation with Raspberry Pi
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development