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.

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

Updated DOS drivers

Jack Ellis has updated his DOS drivers. This update fixes old 386 errata and ATAPI flag bugs for UHDD, as well as handling of LBA48 drives above 128 GB size. The only updates are for UHDD, all other files are the same. You can download the new "February 15, 2019" version at ibiblio.
Update: Jack made a small update to comments in the sources, and the readme. I have posted that version as February 15, 2019(A) in the same directory:

Gopherus v1.1

This week, Mateusz Viste published Gopherus v1.1 - a multi-platform, console-mode gopher client. New features and fixes in this version include: - two DOS builds available: 16 bit (real-mode) and 32 bit (386+), - better checking for content overflows, - fixed crashes in the SDL output module, - lots of minor memory/speed optimizations, - improved up/down keys logic in menus, - relicensed to the '2-clause' BSD license. You can download it from the Gopherus website.

New release of GCC IA-16 toolchain

TK Chia has posted a new release of the GCC IA-16 toolchain build scripts, with DJGPP packages for FreeDOS. From the notes: "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), by Rask Ingemann Lambertsen, Andrew Jenner, myself, and various contributors. The toolchain itself is 32-bit, but it will output 16-bit code." Changes in this version include: - The C runtime library (Newlib) now defines a _heaplen variable similar to Borland's Turbo C. You can use it to control the maximum size of the malloc memory heap. - Writing programs that do not use the standard C library or startup files is now more convenient. - GCC now has an (experimental) -mmsdos-handle-v1 option, to output .exe files that will fail gracefully (rather than crash) when run on MS-DOS v1.x. - minor fixes and optimizations. Get it at Github, tag 20190224.