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 »

How to contribute »

Download FreeDOS »

What’s New

Bochs PC emulator version 2.7

Many users run FreeDOS in a virtual machine. The Bochs Project released version 2.7 of their PC Emulator (Bochs is a highly portable open source IA-32/x86 PC emulator written in C++, that runs on most popular platforms). From the release notes, this contains a number of fixes and improvements: "- Bugfixes for CPU emulation correctness (CPUID/VMX/SVM fixes to support Windows Hyper-V as guest in Bochs) - Improvements for the plugin handling to simplify Bochs extensions - Added "multiple NICs" support to the NE2000 and E1000 devices - Added experimental FTP service for networking modules 'vnet' and 'socket' - Fixes and improvements for all supported Voodoo graphics adapters - Added USB keyboard emulation with most of the keys supported - GUI "cmdmode": create a headerbar event with key combo starting with F7 - LGPL'd VGABIOS updated to version 0.8a (new VGABIOS for Voodoo Banshee)." You can find the new release at the Bochs website. And thanks to Robert for compiling a custom set of binaries for Windows XP users - you can download these from Robert's Bochs page.

libi86 library for IA-16 GCC

Thanks to TK Chia for updating the libi86 library. If you use the IA-16 GCC compiler on FreeDOS, the libi86 library provides a set of functions that are compatible with the Borland C library. From the release notes: "Several new functions have been implemented: Watcom-compatible functions _dos_creat (…), _dos_creatnew (…), _dos_getdate (), _dos_getdiskfree (…), _dos_keep (…), _dos_open (…), _dos_read (…), and _dos_write (…), in dos.h. Borland-compatible functions peek (…), peekb (…), poke (…), and pokeb (…), also in dos.h." You can find the new libi86 library on TK Chia's lib86 releases. We've also mirrored this release on the FreeDOS Files Archive at Ibiblio, under /devel/libs/libi86

Updated Links web browser

If you want to browse the Web from a text-based browser, you might use Links. Version 2.25 was released earlier this month. The changelog shows this is a minor update, but definitely worth updating so you get the new Let's Encrypt certificates. The changelog says: "+ Delete the expired Let's encrypt certificate from the builtin certificate store + Set the flag X509_V_FLAG_TRUSTED_FIRST, so that Let's encrypt works with openssl-1.0.2." Download from the Links page at Twibright. We've also mirrored this release on the FreeDOS files archive at Ibiblio, under /net/links.

Check out our YouTube channel

We have a YouTube channel to demonstrate FreeDOS and to show off cool DOS programs that you can run on FreeDOS. I usually upload new videos every week - although I haven't posted in a few weeks because of other commitments that are completely sucking my time. New videos should be coming soon. You can also subscribe to the YouTube channel, and you'll get updates when new videos get posted.

Here are some FreeDOS videos that you might like to watch: + Demonstration of the PsychDOS "desktop" running on FreeDOS. This is a completely text-mode "desktop" for DOS, with a bunch of bundled applications + Using GNU CHCP to change the DOS font + Playing the DOS game "Acronia", a 2D sidescroller shooter + Playing "Little Willy", a 2D platformer.

And I sometimes post programming videos. This is sort of an extension of the "Writing FreeDOS Programs in C" video series and ebook from last summer, to teach an introduction to C programming. These are usually very simple programs, good for learning C: + Writing a program to generate characters by ASCII code + Writing a random number generator program + Writing a simple chess board user interface + Writing an "Extended ASCII" table demonstration.

SmallerC compiler for DOS

Smaller C is a simple and small single-pass C compiler, currently supporting most of the C language common between C89/ANSI C and C99 (minus some C89 and plus some C99 features). Currently it generates 16-bit and 32-bit 80386+ assembly code for NASM that can then be assembled and linked into DOS, Windows, Linux and Mac OS X programs. The developer recently released a new version. This release includes: + DOS binaries (regular and DPMI) + CWSDPMI r5 for the DOS DPMI binaries + include and library files + test programs. This release also includes the source code, under the BSD 2-clause license. You can find it on the SmallerC GitHub under the SmallerC releases. We've also mirrored this on the FreeDOS files archive at Ibiblio, under /files/devel/c/smaller-c.

DOjS version 1.6.0

DOjS is a Javascript programming canvas for DOS, and SuperIlu released a new version of DOjS. New features in this release include: + Added JPEG loading through jpeg module + Made JSLOG.txt optional and the filename can be changed as well + Added basic GIF animations loading/rendering through gifanim module + Improved CTRL-DEL, CTRL-BS handling with whitespaces + Added different blend modes which are selected through TransparencyEnabled() + Added QR-Code generator + Fixed/added some examples. This version also includes a FreeDOS distribution ZIP. You can find the new release at DOjS GitHub. We have also mirrored it on the FreeDOS Files Archive at Ibiblio, under /devel/js/dojs

more FreeDOS news»

See also: FreeDOS in the news | FreeDOS History