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 write new DOS programs. 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.

For developers

FreeDOS includes lots of 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

UPX 5.0.0 released

UPX is a free, secure, portable, extendable, high-performance executable packer for several executable formats. Version 5.0.0 was recently released, although most of the features are bugfixes. Please see the file NEWS for a detailed list of changes. You can download version 5.0.0 from the Release page, and source code from UPX at GitHub. We've also mirrored version 5.0.0 in the FreeDOS Files Archive at Ibiblio, under /files/devel/upx.

CauseWay DOS extender

Japheth has posted an update to the ancient CauseWay DOS extender (originally written mostly by Michael Devore). A DOS extender lets DOS programs run in a protected mode; CauseWay was originally Watcom's DOS extender, released as open source from Open Watcom. The sources are in Masm v6 syntax, but can be built with Masm/JWasm. Quite a few bugs have been fixed in this release, and DOS conventional memory footprint is significantly lower, especially in DPMI mode. More details at the v5.0 pre3 release page on Japheth's CauseWay GitHub project.

New libm-0.10

Gregory Pietsch has released a new version of libm, the math library ("the math library of awesomeness"). Gregory is looking for testing and feedback, and asks "how close is this to 1.0?" You can download the latest release from the FreeDOS Files Archive at Ibiblio, under /devel/libs/libm

MGRX 1.5.1

MGRX is a 2D graphics library derived from the GRX library. MGRX supports DOS using DJGPP (with djdev 2.05, gcc 7.1.0) and supports VGA and VESA compliant cards. Global dependencies, for all platforms, are libjpeg for reading and writing JPEG files, and libpng and zlib for reading and writing PNG files. MGRX is distributed under the GNU Library General Public License, with amendments - read copying.grx for details. You can download version 1.5.1 from the MGRX website. Read the changes.txt file for the full list of what's new.

Zerofill 2.01

Zerofill writes zeros on the empty disk space for the selected drive. It can help virtual machine and disk compression software to better compact the allocated space in the volume, and so on, reducing its disk usage. Javier has released Zerofill 2.01 with several new features: + Support extended FAT32 drives with 7305 DOS service if available + Increased speed by generating temporary 1GB files (instead of 500MB files as in previous version) + Changed temporary file naming convention + Added a question to confirm deletion of temporary files + other smaller code updates. You can find it on the Zerofill web page.

JWasm 2.19

If you're following along with the latest development tools, you may be interested in JWasm, a MASM-compatible assembler. Version 2.19 was released today and includes several bugfixes and other changes. A few highlights: format mz: stack segment was never written, format mz,pe: start offset for first segment may have resulted in an invalid binary, write listing reworked, PUSHW will emit warning "magnitude of offset exceeds 16-bit" if operand is a 32-bit offset, and using 'option oldmacros' will cause a warning only. You can find it at JWasm on GitHub, under release v2.19. We've also mirrored this in the FreeDOS Files Archive at Ibiblio, under /devel/asm/jwasm