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

DOG version 0.8.4b released

DOG is an alternative DOS command line shell. Wolf writes: "After 22 years of being dormant I recently re-discovered the joy of DOS and my old DOG project. Today I'm proud to release version 0.8.4b together with a migration to GitHub and a brand new website. You can find the new DOG Operating Guide and the GitHub project. Please give it a spin, and if you find bugs or have feature requests, please report them in GitHub." This version includes: - Restored the old DOG prompt as the default when no PROMPT variable is set - HH utilizes HELP to display more thorough help texts, through the alias HH - Updated the IF syntax to be more versatile and to be similar with DO - Fixed the Control-C implementation - Fixed environment initialization and management. Welcome back, Wolf - and thanks for the new release!

New libm-0.8

Gregory Pietsch's libm is a public domain math library for programmers. Gregory recently released version 0.8 with fixes to the tanh and csqrt functions. Please help test this new release; send feedback to the freedos-devel email list. You can download it from the FreeDOS Files Archive, hosted at Ibiblio, under /devel/libs/libm.

FreeDOS in the news

The FreeDOS Project will turn 30 years old on June 29. That's a long time for any open source software project! We've been celebrating by sharing articles and presentations about FreeDOS. Here are some recent items: Lukas talked about FreeDOS and QEMU {skip ahead to about 3:36:00 in the video}, Jim wrote about Looking ahead to 30 years of FreeDOS and Looking ahead to 30 years of FreeDOS {repeat of the other article}.

If you plan to write an article about FreeDOS, please check out our press kit with information, quick facts, logos, and screenshots.

How to install FreeDOS

If you're new to FreeDOS and want to install it for yourself, you can install on real hardware or in a virtual machine. We usually recommend a virtual machine, but you can also use an old PC or purchase a new "retro" computer. To install on a virtual machine, you can watch the video about How to install FreeDOS on VirtualBox or read this article series: How I boot FreeDOS using QEMU {overview} and Running FreeDOS on Linux with QEMU {basic setup} and How to run DOS apps on Linux {sound setup}, or read our wiki page about installing on QEMU. To learn about running FreeDOS on a classic PC, you can read Running FreeDOS on the Pocket386 or watch the video FreeDOS running on real hardware or read our wiki page about installing FreeDOS on the Pocket386.

For a bit of tech trivia, also read Why DOS has 16 colors.

Installing FreeDOS on Pocket386

Last year, AliExpress sold the Book8088 micro laptop and the Hand386 handheld computer .. but I really wanted a '386 micro laptop instead. And now they finally make them! It took a few manual steps to install FreeDOS on the Pocket386, but it works well. I wrote an article about it: Running FreeDOS on legacy hardware with all my steps. Look for a video about it on the FreeDOS YouTube channel this weekend. I'll also copy the steps into the FreeDOS wiki.

Debug/X v2.50 and JDeb386 released

Debug/X is a package of debuggers, including Debug (a workalike for DOS DEBUG), DebugX (an extended version) and other variants like like DebugXv, DebugXg, DebugB or DebugR that are useful for special cases. Japheth just released Debug/X v2.50 with lots of bug fixes. You can read the details on the Debug/X 2.50 release page on GitHub.

Related to that, JDeb386 is a PL0 debugger for Jemm that makes use of the new Debug/X variant DebugRV, a full v86-monitor context debugger like 386SWAT. You can find more details at the JDeb386 1.2 release page, also on GitHub.