Saturday, December 31, 2016

FreeDOS then and now

In the 1980s and 1990s, I used MS-DOS for everything. I had used MS-DOS systems for a long time, and regularly used MS-DOS and DOS applications for my work. I had taught myself C programming, and wrote DOS utilities to improve MS-DOS and expand its functionality. While I also used Linux since 1993, I thought DOS was the best system for me, with its rich catalog of useful applications that helped me as an undergraduate physics student—mostly analyzing lab data and writing papers for class.

So I was disappointed in 1994 when I read articles where Microsoft announced that the next version of Windows would do away with MS-DOS. "DOS was dead," so they said. But I didn't like Windows. If you remember what Microsoft Windows 3.1 looked like, you'll know it was clunky and awkward. If Windows 4.0 was going to be anything like that, I wanted nothing to do with it.

I started FreeDOS in 1994 with a small post to the comp.os.msdos.apps group on Usenet. Almost immediately, other developers contacted me, and we began work creating our own version of DOS that would be compatible with MS-DOS. I packaged my own extended DOS utilities, as did others, and we found other public domain or open source programs that replaced other DOS commands. A few months later, we released our first FreeDOS Alpha distribution. This interested new developers to join FreeDOS. From there, FreeDOS grew very quickly.

Our FreeDOS History page has a timeline of interesting events in FreeDOS history. Let me share just the major milestones:
1994
  • Free-DOS Alpha 1 (16 September 1994)
  • Free-DOS Alpha 2 (December 1994)
1995
  • Free-DOS Alpha 3 (January 1995)
  • Free-DOS Alpha 4 (June 1995)
1996
  • FreeDOS Alpha 5 (10 August 1996)
1997
  • FreeDOS Alpha 6 (November 1997)
1998
  • FreeDOS Beta 1 "Orlando" (25 March 1998)
  • FreeDOS Beta 2 "Marvin" (28 October 1998)
1999
  • FreeDOS Beta 3 "Ventura" (21 April 1999)
2000
  • FreeDOS Beta 4 "Lemur" (9 April 2000)
  • FreeDOS Beta 5 "Lara" (10 August 2000)
2001
  • FreeDOS Beta 6 "Midnite" (18 March 2001)
  • FreeDOS Beta 7 "Spears" (7 September 2001)
2002
  • FreeDOS Beta 8 "Methusalem" (7 April 2002)
2003
  • FreeDOS Beta 9 RC1 (July 2003)
  • FreeDOS Beta 9 RC2 (23 August 2003)
  • FreeDOS Beta 9 RC3 (27 September 2003)
2004
  • FreeDOS Beta 9 RC4 (5 February 2004)
  • FreeDOS Beta 9 RC5 (20 March 2004)
  • FreeDOS Beta 9 (28 September 2004)
  • FreeDOS Beta 9 SR1 (30 November 2004)
2005
  • FreeDOS Beta 9 SR2 (30 November 2005)
2006
  • FreeDOS 1.0 (3 September 2006)
2007
2008
2009
2010
2011
2012
  • FreeDOS 1.1 (2 January 2012)
2013
2014
2015
2016
  • FreeDOS 1.2 RC1 (31 October 2016)
  • FreeDOS 1.2 RC2 (24 November 2016)
  • FreeDOS 1.2 (25 December 2016)
Before FreeDOS 1.0, we released frequent Alpha and Beta versions. After FreeDOS 1.0, we went into a "stable" mode where FreeDOS doesn't need to change very quickly.

Earlier this week, we announced the FreeDOS 1.2 distribution. In many ways, FreeDOS has changed a lot since 1994. But under the covers, FreeDOS is still just DOS.

In our Alpha releases, FreeDOS (then "Free-DOS") was a collection of commands and a few extra utilities. Our DOS kernel was pretty bare-bones back then, and didn't support networking or CDROM drives. But FreeDOS could run a lot of popular programs and games, including compilers, and became quite popular. Over time, developers have added to FreeDOS and built it up to what it is today. FreeDOS 1.2 now includes a ton of useful utilities, graphical desktops, games, and other tools that help people to develop embedded systems, run legacy software, or just play classic DOS games.

While it's interesting to look back on how FreeDOS has changed since 1994, it's also important to mark how computing has changed in that time.

User londonpopstar on Imgur found an old Best Buy ad from October 23, 1994. That's the same year we started the FreeDOS Project. Check out what personal computing looked like at the time, via this sample:


Personal computers were based on the Intel '486 processor in 1994. The Pentium processor had been available since 1993, but the cost-to-performance wasn't really there until 1994 or 1995. It's safe to say that most users at home ran a '486. Notebooks were a thing, but were much bulkier than the ones you find today. And to make them cost-effective, most ran a '486 in 1994. From the Best Buy ad:
ModelCPUSpeedMemoryDriveCost
DesktopsIBM486DX250MHz4MB363MB$1397
Acer486DX266MHz8MB540MB$1576
Packard Bell486DX266MHz8MB720MB$1798
Compaq486DX266MHz8MB420MB$1798
LaptopsCompaq, 8.4" display486DX240MHz4MB250MB$2598
Compaq, 9.5" display486DX240MHz4MB250MB$3298
Today's computers are much more powerful. Using today's Best Buy as a comparison, the most-recommended Intel desktop is a Dell Inspiron desktop with 6th Gen Intel Core i3-6100 (3.7GHz) processor, 8GB memory, and 1TB hard drive for $379.99. The top-recommended Intel laptop is a Dell Inspiron laptop with 13.3" display, 7th Gen Intel Core i5-7200U (2.5GHz) mobile processor, 8GB memory, and 256GB solid state drive for $599.99.

Let's compare. The 1994 Acer is the "middle of the road" desktop, so let's use that as our point of reference.
19942016
CPU486DX2 (32-bit)Core i3 (64-bit)
Speed66MHz3.7GHz = 3,700MHz
Memory8MB8GB = 8,000MB
Drive540MB1TB = 1,000GB = 1,000,000MB
Cost$1,576$380
So desktop computers have gone from 32-bit to dual-core 64-bit, now 56× faster, 1000× the memory, and over 1800× the storage. All that for a quarter the price (not adjusted dollars). Today's laptops are one-fifth the price but over 62× faster, 2000× the memory, and 1000× the storage. Computers have gotten faster and cheaper.

And that's if you even use a traditional "computer" anymore. Many people use the Cloud for most of their day-to-day computing: responding to email, writing documents, or planning events. For that, you can just as easily use something like a Google Chromebook (most are $300) which has very little on-board storage but provides a platform to do everything via the Cloud.

But when you think about it, much of your "computing" tasks can be done on a smartphone. The ever-present smartphone does pretty much everything your 1994 computer could do, and also includes a phone, GPS, and camera. Comparison to 1994 is pretty tough; back then, the most popular mobile phone was the Nokia, but it was just something you called people with.

And how you run FreeDOS has changed, too. In 1994, almost everyone ran FreeDOS directly on hardware. Typically, you installed FreeDOS in a separate hard drive partition on your computer, and used a boot-selector to let you boot FreeDOS when you wanted. But today, most people prefer to run FreeDOS inside a virtual machine or PC emulator; we also recommend that on our website. You can still run FreeDOS on a modern computer, but it's just easier to use a PC emulator instead.

I'm amazed at how far FreeDOS has changed. From 1994, when you ran FreeDOS directly on a '486 computer with 8MB memory and 500MB hard drive—to today, when most people run FreeDOS inside a virtual machine on a much more powerful computer. Computing has definitely changed. But it's nice to know that FreeDOS is still just DOS, and you can run your old DOS programs on it.

Thursday, December 29, 2016

More screenshots from FreeDOS 1.2

I use FreeDOS to develop FreeDOS, to run a few favorite programs, and to play games. And it's for that last one that I want to share a few more screenshots.

I run Linux (Fedora 25) on my computer at home, and I boot FreeDOS inside a PC emulator. These days, I usually use QEMU. So here are some screenshots of FreeDOS 1.2 running a few popular shareware DOS games inside QEMU:

Blood:

Doom:

Heretic:

Jill of the Jungle:

Commander Keen:

Quake:

Rise of the Triad:

Tomb Raider:

What were your favorite classic DOS games?

Wednesday, December 28, 2016

Screenshots from FreeDOS 1.2

I hope you've had a chance to download the new FreeDOS 1.2 distribution. I am very excited for the new release. I hope you enjoy it!

If you are new to FreeDOS, I wanted to share a few screenshots of some applications running on FreeDOS 1.2. All screenshots captured by me with FreeDOS 1.2 running in the GNOME Boxes PC emulator (which is really QEMU).

FreeDOS command line

Foxcalc desktop calculator

FreeDOS Help

FreeDOS Edit

But you don't have to run FreeDOS only in text mode. We provide several graphical desktop environments, too. Here are a few samples.

OpenGEM

OZone

Seal

Many people like to use FreeDOS to play classic DOS games. We provide a few open source DOS games for you in FreeDOS 1.2.

Sudoku

Wings

You can also install and play your favorite classic DOS games on FreeDOS. Here are a few favorites of mine:

Jill of the Jungle, a side-scroller run-and-jump game (shareware)

Commander Keen, another side-scroller run-and-jump game (shareware)

Dark Forces, a first-person shooter set in the Star Wars universe (LucasArts)

Sunday, December 25, 2016

FreeDOS 1.2

I am proud to announce the release of FreeDOS 1.2! You can download it from our website at www.freedos.org.

The latest official FreeDOS distribution is the result of the hard work from many people. Thanks to everyone in the FreeDOS Project for their work towards this new release! There are too many of you to recognize individually, but you have all helped enormously. Thank you!

DOS is one of the oldest PC operating systems. FreeDOS has an equally long history. We started the FreeDOS Project in 1994 to create a free, open source software version of DOS. We made our first Alpha release in September 1994, and our first Beta in March 1998. In September 2006, we finally released FreeDOS 1.0. And in January 2012, we released FreeDOS 1.1.

The new FreeDOS 1.2 is mostly an incremental change over FreeDOS 1.1, although you'll find a few nice surprises.

FreeDOS 1.2 now makes it easier to connect to a network. We include a revamped network setup and useful network applications to get you online. Try the Dillo web browser for a graphical web experience, or the Links web browser if you want just the text.

If you're interested in updated functionality, you can find new tools under the Utilities section. For example, FreeDOS 1.2 provides several image enhancement programs like Pngcrush and Gifsicle. Or you can enhance the DOS command line with Unix-like utilities like sed, grep, tee, head, and bc.

Many people use FreeDOS to play games, and FreeDOS 1.2 now includes several open source games for you to try. We include Freedoom and Boom for classic first-person shooter fans. Arcade-style game fans will like Wing, a familiar space shooter game, or Kiloblaster, a fast-paced arcade shooter. Classic gamers will want to try Nethack, Invaders, Sudoku, and Tetris. For those who want to play their own classic DOS games, we provide other tools like Slowdown, so you can run certain older games on a fast modern computer.

But I think the first thing you'll notice about FreeDOS 1.2 is the new installer! I wanted to make the install process an easy one, for new and experienced users alike. And we have that in the new FreeDOS 1.2 installer, thanks to Jerome Shidel. If you are a new user, the installer makes it easy to install FreeDOS and get going with a few defaults. If you're an experienced DOS user, you can unlock the Advanced installer that lets you tweak the FreeDOS install to your preference.

I'm very excited for the new FreeDOS 1.2 distribution!

Merry Christmas from FreeDOS!

Today is Christmas Day. Many people around the world are exchanging gifts and opening presents.

At the FreeDOS Project, we're also planning to give you a gift. That's right! Later today, we'll post the FreeDOS 1.2 distribution!

Check back later on this blog and on our website at www.freedos.org for the official announcement!

Saturday, December 24, 2016

What's new in FreeDOS 1.2

In planning what came next after FreeDOS 1.1, we discussed if the next version should be FreeDOS 1.2 or FreeDOS 2.0. It really came down to what a modern DOS should look like.

For a while, I argued that FreeDOS should become a modern DOS, that we should try to imagine what MS-DOS would have looked like if Microsoft hadn't killed off the MS-DOS product when they released Windows95. That is an interesting thought exercise:

A modern DOS would have to update its memory model. DOS uses a segmented memory model, which made sense when the PC was a simple computing device. With the Intel 80386 processor, you could have multitasking. That's why Linux was originally written for the ‘386. So a modern DOS would also support multitasking. At some point, though, this modern DOS will break backwards compatibility with legacy DOS applications. To preserve some method of compatibility, we reasoned, a modern DOS would likely include a “sandbox” to run these legacy applications.

But when you look at it, we already have that modern DOS. That's Linux. Because Linux supports multitasking, it has a flat memory model, it does all these other things. And if you want to run legacy DOS applications, you boot FreeDOS in a PC emulator like DOSEmu.

That's not DOS. FreeDOS is still DOS, and needs to remain DOS. So we agreed the next version after FreeDOS 1.1 would be an update to FreeDOS. That's why this version is FreeDOS 1.2.

FreeDOS 1.2 is still DOS, but it's more than a mere update of FreeDOS 1.1. We've made some significant improvements.

The first thing you'll notice in FreeDOS 1.2 is the brand-new installer. Jerome Shidel wrote a new installer for us, and it looks really good! The new installer is very simple—for both new and experienced FreeDOS users. If you've used FreeDOS before, the installer will feel very familiar. At the same time, if you're completely new to FreeDOS, you'll have an easy time.

We've also included new programs and utilities in FreeDOS 1.2. In this release, we finally include some games. Since so many people use FreeDOS to play classic DOS games, it seemed a good idea to include some open source DOS games for people to try.

And we include a bunch of new utilities that we hope people will find useful. More developer utilities, more user utilities. For example, we now include some programs to help you play sounds and update graphic files. We also provide other tools that help you connect to a network, including a DOS web browser.

The additional programs also make the new FreeDOS 1.2 distribution a lot bigger. The FreeDOS 1.1 distribution was about 40MB. The new FreeDOS 1.2 comes in several formats. We provide a CDROM installer that's 419MB, and an alternate CDROM installer that's the same size. (The difference between the two CDROM installers is that one is intended for certain older computers that need to boot from CDROM in a particular way.) If your computer cannot boot from CDROM, try one of the USB fob drive installers. The “Lite” USB installer is about 30MB, and the “Full” USB installer is 415MB. Both are USB-based installers; you can write them to a USB fob drive and boot your computer with that to install FreeDOS.

Check back in tomorrow for the official release of FreeDOS 1.2!

Friday, December 23, 2016

Why FreeDOS in 2016?

People still use FreeDOS in 2016, and I expect people will continue to use it in 2017. Since around January 2015, we've averaged about 30,000 downloads of FreeDOS every month. (Obviously, I can only see what people download directly from the website.)

A few years ago, we ran a survey to see how people use FreeDOS. We found that people use FreeDOS in three different ways:

To play classic DOS games
You can play your favorite DOS games on FreeDOS. And there are a lot of great classic games to play: Wolfenstein 3D, Doom, Commander Keen, Rise of the Triad, Jill of the Jungle, Duke Nukem, and many others!
To run legacy software
Need to recover data from an old business program? Or maybe you need to run a report from your old finance system? Just install your legacy software under FreeDOS, and you’ll be good to go!
To develop embedded systems
Many embedded systems run on DOS, although modern systems may instead run on Linux. If you support an older embedded system, you might be running DOS. And FreeDOS can fit in very well.
These days, I think that still represents most of the usage of FreeDOS. Although I'll admit fewer people probably develop embedded systems on FreeDOS. Much of the embedded systems market has shifted to Linux, where there's more developer interest. I think the Raspberry Pi and other low-cost and low-power devices have made Linux in embedded devices very attractive, so you don't see as much DOS in embedded systems today—but you do see some DOS sometimes.

Over the years, some developers have shared with me how they use FreeDOS to run an embedded system. My all-time favorite example is a developer who used FreeDOS to power a pinball machine. FreeDOS ran some application that controlled the board, tallied the score, and updated the back display. I don't know exactly how it was built. One way I can think to design such a system is to have every bumper register a “key” on a keyboard bus, and the application simply read from that input. I thought it was cool!

People sometimes forget about legacy software, but this pops up in unexpected places. I used to be campus CIO of a small university, and we once had a faculty member bring in some floppy disks with old research data on them. The data wasn't stored in plain text files, but as DOS application data. None of our modern systems would read the old data files, so we booted a spare PC with FreeDOS, downloaded a shareware DOS program that could read the application data, and exported the data to plain text.

There are other examples of legacy software running on DOS. My favorite is the McLaren F1 supercar can only be serviced with an ancient DOS laptop. And Game of Thrones author George R.R. Martin uses DOS to write his books. Those examples probably use MS-DOS, but there are likely a bunch of other legacy systems running from FreeDOS.

You can probably add a fourth category here: updating BIOS. I get a lot of email or other comments from people who still boot FreeDOS to update the BIOS in a computer system. DOS is still a safe way to do that.