FreeDOS logo


Welcome to FreeDOS

FreeDOS 1.3 RC1

FreeDOS is an open source 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

Tomb RaiderYou 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

AsEasyAs SpreadsheetNeed 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?

FreeDOS 25th anniversary t-shirts

FreeDOS 25th anniversary t-shirt FreeDOS 25th anniversary t-shirt The FreeDOS Project turns 25 years old in June 2019! So we've made a special anniversary t-shirt for the occasion. Available in mens and womens styles, but you can also transfer the design to other products on Zazzle, like stickers or coffee mugs or hats. If you prefer a different color t-shirt, you can change that too. You can find them in our FreeDOS @ Zazzle store. Direct links are: mens t-shirt + womens t-shirt.

GNU Emacs 26.2 for DOS

You may be familiar with the Emacs editor. Emacs is an extremely powerful, extensible, customizable editor. It serves as a programmer's editor, a programming environment, and much more. GNU Emacs 26 compiled with DJGPP v2.x is hereby available as part of the DJGPP archives. Find version 26.2 at DJGPP. Look for for the DOS binary and for the source code. Full readme file is emacs26.README

New flat assembler 1.73.11 for DOS

The flat assembler (abbreviated to fasm, intentionally stylized with lowercase letters) is a fast self-assembling assembler running in a variety of operating systems, in continued development since 1999. The new flat assembler 1.73.11 for DOS is available. Visit the fasm website or download here. We've also mirrored 1.73.11 at ibiblio.

Updated NASM, version 2.14.02

NASM - The Netwide Assembler - released version 2.14.02 of their popular assembler. The release was in December but we missed it; thanks to Eric for reminding us. Version 2.14.02 fixed a crash due to multiple errors or warnings during the code generation pass if a list file is specified. Other features in the 2.14 series include: (2.14.01) Create all system-defined macros defore processing command-line given preprocessing directives (-p, -d, -u, --pragma, --before), add the option --no-line to ignore %line directives in the source, and bug fixes. (2.14) Changed -I option semantics by adding a trailing path separator unconditionally, added SGX (Intel Software Guard Extensions) instructions, added +n syntax for multiple contiguous registers, added the --gprefix, --gpostfix, --lprefix, and --lpostfix command line options, to allow command line base symbol renaming, allow label renaming to be specified by %pragma, and bug fixes. Full release notes on NASMDOC. You can download the new 2.14.02 from the NASM releasebuilds or from our mirror at ibiblio.

GCC IA-16 update with 10 Apr 2019 DJGPP packages

TK Chia announced the 10 Mar 2019 release of IA-16 toolchain build scripts, with 10 Apr 2019 DJGPP packages for FreeDOS. This is a DJGPP/MS-DOS-hosted (32-bit x86) port of the GNU C and C++ compiler toolchain to the IA-16 target (16-bit Intel x86). The toolchain itself is 32-bit, but it will output 16-bit code. Changes in this version include Various improvements to aid in the quest to reduce output code size, and far functions which are placed outside the default text segment may now call non-far functions in the default text segment. Get the new release at Github, tag 20190310-update-20190410.

UHDD with read-ahead

Jack Ellis has added a new feature to UHDD: read-ahead. From Jack's release: "Only Read-Ahead is added into UHDD, no other changes of any kind. ... Real-mode performance is excellent, only around 3% behind XHDD in my V6.22 MS-DOS file copy tests: 27.50 seconds average for UHDD, 26.65 average for XHDD. Protected-mode is not improved as much, again due to slow Int 15h "traps" into JEMM386 for all XMS moves: 29.95 seconds average for UHDD, 27.40 average for XHDD. XHDD's "overlap" and resident search table do help "mask" Int 15h traps. However, the protected-mode UHDD is still 10% faster than the old UHDD and should also help FreeDOS users that need protected-mode." You can get the new UHDD and other drivers from ibiblio, as