screenshot of FreeDOS 1.3

Welcome to FreeDOS

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.

Play classic games

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!

Run applications

You can run your favorite DOS programs with FreeDOS. Or use FreeDOS to run a legacy DOS application. Just install your DOS program under FreeDOS like you would any DOS application and you'll be good to go.

Create new programs

FreeDOS includes lots of compilers, assemblers, and other programming tools so you can create your own DOS programs. You can also modify FreeDOS itself, because we include the source code under an open source license.

What’s New

New lDebug release 8

The lDebug debugger (spelled with a small L) is a line-oriented DOS debugger based on FreeDOS Debug/X, originating as an MS-DOS Debug clone. Release 8 is a maintenance release with some bugfixes, testing updates, new progress displays for the executable depackers, and a smaller release sources archive achieved by dropping temporary and listing files, and building only ELDs without the XLD variants. The lDOS boot iniload and inicomp stages can be patched using new utilities provided as C programs. For more details, see the email list announcement or find "everything lDebug" at the lDebug website. We've also mirrored this release on the FreeDOS Files Archive at Ibiblio, under /dos/debug/ldebug/rel8.

FDISK 1.3.14

Bernd has released an update to FreeDOS FDISK, the program that creates and manages partitions on fixed disks. Version 1.3.14 provides these fixes: + Fix a drive letter disagree between DOS and FDISK in cases involving multiple disks and a mix of active and non-active primary partitions. + Prevent querying LBA capabilities via INT13,41, if LBA access is disabled by the user. This caused some broken BIOS to crash the system, like BIOS version 0.9.4 of Book8088 and Xi8088. The new version has these changes: - Do not check for extra cylinders by default. DR-DOS refuses to use partitions exceeding the BIOS reported disk size, despite being valid. - Update German translation. You can find the new version at FDISK at GitHub, or in the FDISK releases.

New lDebug release 7

lDebug (small L) is a DOS debugger based on FreeDOS Debug/X. Release 7 adds the architecture for Extensions for lDebug, with 52 different ELDs included in the release package. Further, a number of smaller improvements and fixes are included, several of which make lDebug better in its bootloaded mode. The application and device mode init is less memory-hungry than it would be with its prior "init max" approach. For more details, see the email list announcement or find "everything lDebug" at the lDebug website. We've also mirrored this release at the FreeDOS Files Archive at Ibiblio, under /dos/debug/ldebug

Virtual SoundBlaster for HDA

VSBHDA provides SoundBlaster emulation for HDA (and AC97/SBLive). It is Japheth's fork of crazii's SBEMU driver. This one works with an unmodified HDPMI32i, making it compatible with HX. VSBHDA supports HDA (Intel's High Definition Audio), Intel ICH / nForce, VIA VT82C686, VT8233/35/37, and VIA VT82C686, VT8233/35/37. It emulates SoundBlaster 1.0, 2.0, Pro, Pro2, 16 in 8-bit, 16-bit, mono, stereo, and high-speed modes. Version 1.1 is now available from VSBHDA on GitHub.

Updated Debug/X

Debug/X is a package of debuggers by Japheth, and includes Debug (like MS-DOS DEBUG), DebugX (an extended version), and additional variants like DebugXv, DebugXg, DebugB or DebugR that are useful in certain cases. Japheth recently released a new Debug/X collection; version 2.02 fixes S command (position display was corrupted in v2.00-v2.01). You can download the new version at Debug/X v2.02 or get the source code from the Debug/X GitHub.

JEMM 5.84

JEMM is an "Expanded Memory Manager" (EMM) based on EMM386. Japheth updated JEMM with a few fixes: + Simulate_IO() no longer calls trap handler + int 67h, ax=5B01h will return error code A3h if checksum invalid + QPIEMU: new JLM that partly implements QEMM's API + JEMMDBG: removed from binary package. You can find it at the JEMM GitHub, or more directly from the JEMM 5.84 release.