FreeDOS logo


Welcome to FreeDOS

FreeDOS 1.2

FreeDOS is a complete, free, DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems. Any program that works on MS-DOS should also run on FreeDOS.

It doesn’t cost anything to download and use FreeDOS. You can also share FreeDOS for others to enjoy! And you can view and edit our source code, because all FreeDOS programs are distributed under the GNU General Public License or a similar open source software license.

Learn more »

What’s included? »

Download FreeDOS 1.2 »

Classic games

Dark ForcesYou 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!

Legacy software

DOS Zip CommanderNeed 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!

Embedded systems

DOS point of saleMany 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.

What's New?

DOS fork of FLTK

Mark Olesen recently announced his DOS fork of FLTK using Allegro4 and DJGPP. "fltkal is a DOS fork of the Fast Light Toolkit (FLTK) using Allegro4 and DJGPP. The fork required renaming files to 8.3 conventions. Other than that, however, the API is compatible with the 1.3.x and 1.4.x branch." You can see more at fltkal on Github.
This seems to be a separate effort than FLTK for DOS at SourceForge.

FreeCOM 0.84-pre3 prerelease

Bart Oldeman writes: "As some of you know I spent some time fixing various bugs in FreeCOM. We've had the awkward situation of still having an old 2006 version in distributions but the newer versions had too many bugs (e.g. loadhigh, ren "myfile myfile.txt", strange dir output depending on the country setting). However the newer versions support LFNs much better. So for testing I uploaded a new prerelease on github. There are three non-UPXed xms-swap's in the binary zip, one compiled with Turbo C++ 1.01 (as the older version were), one cross-compiled with OW 1.9 and one cross-compiled with ia16-elf-gcc. Please test and let me know how stable they are in your testing."

Bart adds: "As a bonus for the XMS swap version, the resident footprint has been reduced from 3008 bytes (old Turbo C version) to 2304 bytes (new OW version)."

How to contribute

Are you a developer? Do you want to work on FreeDOS, but not sure how to contribute? I've put together a list of ways that developers at different skill levels can contribute to FreeDOS. These are my own ideas, but should be a good starting point for any eager developer. We welcome new contributors!

Ethernet packet driver for DOS

Seth Simon has created a new packet driver for DOS. Seth writes: "My Ethernet adapter didn't have a proper DOS driver, so I wrote one. It is compatible with the same PCI devices as Linux's e100 kernel module. It is at my gopher site and is released under the GNU GPLv3. This should be treated as alpha software since I can only test it with one hardware configuration - my adapter (8086:27dc) is integrated into the motherboard." This is also mirrored at ibiblio

Write about FreeDOS

If you aren't sure how to contribute to FreeDOS, or want to contribute in a new way, we'd like to encourage you to write about FreeDOS. Write about something that interests you! Others will want to see how you're using FreeDOS, to run existing programs or to write your own programs. We want to hear from everyone! It's not just about developers, or people who contribute to FreeDOS through code. Tell us how you use FreeDOS.

Post on your own blog, or email your articles to me and I'll put them up as a guest post on the FreeDOS Blog. If we can gather enough articles by Spring, we'll try to collect them in a "how-to" ebook in time for the 24th "birthday" of FreeDOS on June 29.