FreeDOS logo

Welcome to FreeDOS

1 / 4
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.
2 / 4
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!
3 / 4
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!
4 / 4
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.

FreeDOS is open source software! 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.

Read the wiki »

What’s included »

How to contribute »

Download FreeDOS 1.2 »

What’s New RSS feed icon

EIDL version 1.0.0

Robert writes: "IDLE works by hooking the DOS idle interrupt 28h and executing a HLT instruction every time. At the end I put together a tool, that does the same. I named it EIDL, but you pronounce it "idle". (A little play with the German language.) It's 80 bytes only, but comes with source code for NASM. See it as little ASM example, because it is not as advanced as all the other DOS idlers including Eric Auer's FreeDOS APM (FDAPM)." You can find EIDL at: EIDL website.

JEMM Final ver 5.79

Japheth writes: "At last a bug was fixed in JemmEx that caused shrinking EMBs not to work correctly. It happens with Volkov Commander, for example - I always thought this a bug in VC, but finally realized it was a bug in JemmEx." Changes include: - if physical address of DMA buffer was beyond 16M, its size was reset to zero; this is no longer done. - default linker is now JWlink. - debug displays added for mode switch calls. - Jemm will now use info returned by Int 15h, ax=E820h to mark regions in the upper memory area as reserved. - virtual mode extensions (VME) is now off by default; there exist CPUs that claim to support VME but actually don't. - JemmEx's built-in XMS host will now use up to 8 memory blocks listed by ACPI. You can download it from the JEMM Github, or from the FreeDOS files archive at Ibiblio.

UPX 3.96

UPX ("the Ultimate Packer for eXecutables") has released version 3.96 on January 23. This release fixes several bugs. You can download the new version from the UPX Releases page. We have also mirrored this on the FreeDOS files archive at Ibiblio.

SBMIX version 21-JAN-2020

SBMIX is a tiny program to display and change SoundBlaster Pro (and compatibles) mixer settings, i.e., Master, Wave, FM, CD, Line and Mic volumes, directly from DOS command line. It may be required with some cards to hear anything under plain DOS, as some cards are initialized with zero volume. A recent update (21-JAN-2020) fixed a bug that prevented successful detection of the SoundBlaster card in Bochs (at least in version 2.6.11), when SBMIX is run a second time. It would then just have printed "SBMIX: Hardware I/O error!" and you had to reboot your VM. You can download the new version with source code from the SBMIX website at BTTR Software.

Gopherus gopher client v1.2

Gopherus is a free, multiplatform, console-mode gopher client that provides a classic text interface to the gopherspace. Gopherus is published under the '2-clause' BSD license. New features in this version include bookmarks, UTF-8 support, home page shortcut key, and user may abort a connection during its 'connecting...' phase. You can download Gopherus 1.2 from the Gopherus site on SourceForge.