Reviving old tools and games with FreeDOS
What's Old Is New
The FreeDOS Project turned 25 years old this year. We'll show you why a free version of DOS is still cool in 2020.
Throughout the 1980s and into the 1990s, I was a great fan of MS-DOS. Our family had a PC at home, and I grew up writing my own programs and tapping out commands on the DOS command line. I considered myself a DOS "power user." I even wrote my own programs and utilities to enhance and expand the DOS command line.
In Spring 1994, I was finishing my junior year in physics at the University of Wisconsin-River Falls. It was around this time that I started to read articles in trade magazines where Microsoft announced that the next version of Windows would do away with MS-DOS. Have you used Windows 3? I found it to be clunky and slow, no match for MS-DOS and the stable of mature DOS applications and utilities. I decided that if Windows 4 would be anything like Windows 3 (Figure 1), I wanted nothing to do with it.
In contrast, MS-DOS was fast and stable and offered a mature set of applications that ranged from spreadsheets to word processors to communications systems to games (see the box, "Memorable DOS Applications and Games"). I used them all: Lotus 1-2-3 and As-Easy-As spreadsheets to analyze physics lab data, WordPerfect and Galaxy word processors to write class papers, ProComm and Telix to dial into the university's computer lab, and Doom and TIE Fighter to relax when not doing work.
Memorable DOS Applications and Games
The DOS environment was home to many classic applications and games. A few of my favorites are…
WordStar
For a while in the early to mid 1980s, WordStar (Figure 2) was the most popular word processor program for DOS. Its remarkably simple user interface makes it easy for beginners to get started, but its powerful word processing features continue to support expert users.
Author George R.R. Martin famously remarked that he writes his books using WordStar on DOS. And it's hard to deny the appeal of distraction-free writing with WordStar.
VisiCalc
DOS was popular in office environments, and it's hard to imagine an application better suited for the office than a spreadsheet. Written by Dan Bricklin and Bob Frankston, VisiCalc (Figure 3) was the first spreadsheet for personal computers. While it lacks features common in modern spreadsheet programs, VisiCalc still feels familiar.
If you're interested in trying VisiCalc for yourself, Dan Bricklin released the original DOS program for free via his website [1].
Doom
DOS had a ton of games, but none is so iconic as the original Doom (Figure 4). While not the first shooter, Doom quickly became the metric against which other games measured themselves. Pick up your shotgun and prepare to gun down some imps and demons.
I preferred DOS over Windows. And in 1994, Linux wasn't ready as a full operating system replacement for me.
I'd already installed Linux by this point. I found the Softlanding Linux System (SLS) the year before, on a friend's recommendation. Linux sported a powerful command line with the same tools that I had already used in the university's Unix computer lab. And Linux came with the source code, so self-taught programmers like me could study the source code and learn from it.
I looked at Linux as a model. If programmers from around the world could come together to create an advanced system like Linux to replace Unix, then surely we could do the same with DOS. If Microsoft was abandoning MS-DOS, it was up to us to create our own version of DOS to replace it.
Launching an Open Source Software Project
On June 29, 1994, I made a small announcement on comp.os.msdos.apps about my idea.
"Announcement of PD-DOS Project:
"A few months ago, I posted articles relating to starting a public domain version of DOS. The general support for this at the time was strong, and many people agreed with the statement, 'start writing!'
"So, I have…
"Announcing the first effort to produce a PD-DOS. I have written up a 'manifest' describing the goals of such a project and an outline of the work, as well as a 'task list' that shows exactly what needs to be written. I'll post those here, and let discussion follow."
I thought "PD-DOS" was a good name at the time. As I wrote in a manifesto posted to the same group, PD-DOS was short for "Public Domain DOS," because we would create our own implementation of DOS.
"I would like to form a group that will, eventually, create another implementation of MS-DOS. DOS appears to be a popular system, and there is plenty of hardware already available that is ready to support it. Microsoft will not develop DOS forever, and one cannot count on 'other' commercial programming firms such as IBM or Digital to continue enhancing DOS. I feel it is then up to those on the Internet to develop their own 'Public Domain DOS' (hereafter, PD-DOS) and I feel there is a lot of support for this from people on the 'net'."
People thought this free DOS project was a pretty neat idea, and several people contacted me right away to volunteer their time. Like me, they had also written their own extensions to MS-DOS. Soon, we had collected utilities that reproduced much of the MS-DOS commands, and others that introduced improved features.
But it didn't take long to realize that Public Domain DOS was the wrong name. Our manifesto set the goal that "Any effort that goes into writing a PD-DOS would … be released under the GNU General Public License." This made our project not "public domain" software, but "Free" software. We changed our name to Free-DOS about a week after the PD-DOS announcement. We later dropped the hyphen to just FreeDOS.
We made our first Alpha release in September 1994, just a few months after the announcement. And we released FreeDOS Alpha 2 a few months later, in December 1994. We were off to a great start.
You may be familiar with our other milestones. We released Alpha 3 through Alpha 5 over the next few years, finally moving on to Beta releases starting in 1998. Over the next several years, we slowly made our way from Beta 1 to Beta 9 SR2. In 2006, we finally released FreeDOS 1.0. Things slowed down after that, with FreeDOS 1.1 in January 2012, and FreeDOS 1.2 in December 2016 [2] (See the box, "How to Get Started with FreeDOS"). MS-DOS stopped being a moving target long ago, so we didn't need to update as frequently after the 1.0 release.
It's About the Community
The FreeDOS Project has been around for over 25 years. We passed our milestone anniversary on June 29, 2019.
FreeDOS got to where it is because developers worked together to create something. In the spirit of open source software, we always contribute to each other's work by fixing bugs and adding new features. We treat our users as codeveloper; we try to find ways to include people according to their talents, by writing code or writing documentation. And we make decisions through consensus based on merit. If that sounds familiar, it's because those are the core values of open source software: transparency, collaboration, release early and often, meritocracy, and community.
I think FreeDOS remains active due to the number of developers who continue to work on it. While many of our original developers have dropped off, we make it easy for new developers to join. You can download the FreeDOS 1.2 distribution and immediately start coding in C, Assembly, Pascal, BASIC, or a number of other programming languages.
Today, many people around the world install and use FreeDOS to play classic DOS games, to run legacy business software, to develop embedded systems, or to install a BIOS update. These days, I think that still represents most of the usage of FreeDOS. Although I'll admit most people probably run FreeDOS to play DOS games, and that's okay with me. DOS had a lot of great games.
FreeDOS has grown into a modern DOS. We've moved beyond "classic DOS" and now FreeDOS features a selection of open source development tools including compilers, assemblers, and debuggers. We have lots of editors beyond the plain FreeDOS EDIT editor, including Fed, Pico, TDE, and versions of emacs and vi. FreeDOS supports networking and provides a simple but functional graphical web browser (Dillo, Figure 9). And we have a collection of Unix-like utilities, which should make Linux users feel at home on the command line. (See box, "How to Install DOS Applications.")
How To Get Started With FreeDOS
Installing an operating system may seem daunting, but FreeDOS makes it easy. Like modern Linux distributions, the install program in FreeDOS 1.2 guides you through each of the steps to set up your hard drive and install everything. Here is a quick breakdown to installing FreeDOS on your computer.
1. How do you want to run FreeDOS? Most people use FreeDOS to play classic DOS games or to run the occasional legacy DOS application. If that's you, then you probably don't want to replace your current operating system. Rather, you will likely want to install FreeDOS inside a PC emulator or a virtual machine. FreeDOS runs well in all the major PC emulators, such as VirtualBox, Qemu, or Gnome Boxes. So to get started, you'll want to have one of these virtual machines ready to go.
2. Booting the CD-ROM installer gives you a menu (Figure 5). You can choose to install FreeDOS or boot from the system hard disk or from a diskette.
3. Select your preferred language; then welcome to the FreeDOS 1.2 install program.
4. If your C:
drive isn't partitioned for DOS, the installer detects that. To partition your hard drive, the installer jumps to the FDISK program (Figure 6).
5. Select 1 to create a DOS partition as your C:
drive. At the next screen, select 1 to create the primary DOS partition. FDISK creates your C:
drive partition and marks it as "Active." After you partition your hard drive, you need to reboot for FreeDOS to see the changes.
6. After rebooting, the installer starts up again automatically. Select your preferred language and continue with the installation. Since you just created your DOS partition, the installer can format it for you (Figure 7).
7. The FreeDOS 1.2 installer has two default install modes: install only those packages that reproduce the functionality of classic DOS (Base) or install everything (Full). Because FreeDOS is open source software, we give you the option to install source code, too.
8. Then sit back and let FreeDOS install itself. This may take several minutes, especially if you installed everything (Full).
9. Now reboot your system to begin using FreeDOS.
10. That's it! You are now using FreeDOS! (Figure 8)
But under the hood, FreeDOS is still DOS. And that comes with a certain set of assumptions and limitations. Like any DOS, FreeDOS will remain 16-bit and will retain focus on a single-user command-line environment. While we borrow certain Linux utilities for the FreeDOS command line, we don't want to turn FreeDOS into a watered-down Unix. Twenty-five years after its inception, FreeDOS is still just DOS. And that's cool with us.
How To Install DOS Applications
On Linux, you usually install new applications by finding a package in your distribution's repository. If your preferred Linux distribution doesn't include that application, you might have to recompile the program from source code.
But on DOS, things were much simpler. The original DOS didn't support a package management concept. Instead, you installed applications by downloading a ZIP file archive, and extracting it into a new directory (Figure 10). Other applications required you to run an install program, usually included in the ZIP file.
Don't be afraid of trying new DOS applications. Install them and try them out. If you don't like them, you can easily remove them by deleting the program's directory.
Infos
- VisiCalc: http://danbricklin.com/visicalc.htm
- FreeDOS: https://www.freedos.org
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.