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

Check out our YouTube channel

I manage a small channel on YouTube where I post videos about FreeDOS. I post a new video every week, and topics vary from things like showing how to use FreeDOS commands, how to write sample programs, and playing classic DOS games. If you haven't subscribed to the YouTube channel, here are a few highlights of videos you've missed: How to install programs on FreeDOS without FDIMPLES .. How I edit the website .. How to archive files on DOS .. Playing TIE Fighter .. Writing a gem-matching game (some folks asked for an ASMR video with my clicky IBM keyboard, and this is it) .. "Guess the number game" in a DOS spreadsheet .. Writing a "Guess the number game" in C .. and for April 1st, I made a joke video about writing a "spreadsheet" in C where I ended up with VisiCalc (watch the solution video for how I did it). I'm always open to suggestions if you would like to see other videos on the YouTube channel. Let me know if there's something you'd like me to cover for an upcoming video! And don't forget to Subscribe to the channel for more videos about FreeDOS.

SHSUCDX version 3.08a

SHSUCDX is an unloadable CD-ROM redirector substitute for MSCDEX. It supports up to 10 drives. Each drive is single-sector buffered and the last 10 directory entries are cached. Each unit from each driver can be assigned a specific drive letter. A minor version was recently released, to allow /L before /D (FM TOWNS compatibility). You can find the latest version at the SHSUCDX website. We have also mirrored it on the FreeDOS files archive at Ibiblio, under /files/dos/shsucdx

IA-16 GCC toolchain and libi86 library

IA-16 GCC is a 32-bit x86 DOS port of the GNU C and C++ compiler toolchain to the IA-16 target (16-bit Intel x86), by Rask Ingemann Lambertsen, Andrew Jenner, TK Chia, and various contributors. The toolchain itself must run on a 32-bit system, but it will output 16-bit executables. TK Chia recently announced the latest version, with several new features: + There is now a new, experimental, interrupt function attribute, which can be used to define or declare interrupt service routines + The compiler now defines several more macros and keywords, to increase compatibility with code targeted at Open Watcom + The new attributes no_save_ds, save_es, and save_all now replace the restore_ds function attribute + and other fixes and improvements. You can find the full notes and downloads at IA-16 GCC on GitHub. We've also mirrored this release on the FreeDOS files archive at Ibiblio, under /devel/c/gcc-ia16

Also available is an updated libi86 library of routines for MS-DOS programs, meant to be used with the IA-16 GCC toolchain. The library now implements the Watcom-compatible functions _splitpath, _makepath, _ltoa, _ultoa, _lltoa, _ulltoa, _dos_setdrive, _dos_findfirst, _dos_findnext, _dos_findclose, _dos_commit, _dos_getvect, _dos_setvect; and the functions _DPMIAllocateDOSMemoryBlock (·) and _DPMIFreeDOSMemoryBlock (·) are compatible with Watcom internal interfaces. This release also includes other minor bug fixes and improvements. Download the new release at libi86 on GitLab. We've also mirrored this release on the FreeDOS files archive, under /devel/c/gcc-ia16/libi86

FreeDOS news round-up

If you spot FreeDOS in the news, let me know and I'll add it to our News History page. A few things you might have missed recently: In January, I wrote about why I like the FED editor on, my contribution to an article series about different text editors. Starting in February, Kevin O'Brien wrote a series of article about FreeDOS, also for, including: how to set your Path in FreeDOS, navigate your FreeDOS system, understanding directory and file names, and FreeDOS commands you need to know. More recently, TechRound interviewed Jim about FreeDOS. Did we miss any news items about FreeDOS? Let us know so we can update the News History.

DOjS Version 1.5.0

DOjS is a JavaScript programming environment for systems running MS-DOS, FreeDOS or any DOS based Windows (like 95, 98, ME). It features an integrated editor, graphics and sound output, mouse/keyboard/joystick input and more. SuperIlu released DOjS version 1.5.0 with several new features, including: + Added SQLite module + Added module for training/running neuronal networks + Added libcpuid module + Added NanoSVG module + Added global variables Width/Height + Added single parameter version of Color() + Added Console and EvalChain classes + Added perlin noise module + You can now create single color Bitmaps. You can find the source code at the DOjS GitHub or download the latest version from DOjS Releases. We've also mirrored DOjS in the FreeDOS files archive at Ibiblio, under /devel/js/dojs/1.5.0

more FreeDOS news»

See also: FreeDOS in the news | FreeDOS History