Open-source project
joncampbell123/dosbox-x avatar
joncampbell123/dosbox-x

DOSBox-X: a DOS emulator that also runs Windows 9x and PC-98 software

DOSBox-X fork of the DOSBox project

3,741 stars586 forksCGPL-2.0

At a glance

What is it?
DOSBox-X is a GPL-2.0 fork of DOSBox that trades the original's game-first focus for a configurable, accuracy-oriented virtual PC. Here is what it emulates, how it installs, and where it stops being the right tool.
Who is it for?
Adopt DOSBox-X if you need a Windows 9x or PC-98 environment, a debugger, or a virtual PC whose hardware you can tune machine by machine; the README states it is a platform for running DOS applications, not only games. Do not adopt it if your only goal is to launch a period DOS game quickly, because the same option surface that makes it flexible also makes it slower to configure than DOSBox.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What DOSBox-X is for, and who actually needs it

DOSBox-X is a cross-platform DOS emulator based on the DOSBox project. The README is explicit about the split: DOSBox targets DOS games, while DOSBox-X "goes much further than this." It keeps the DOS game compatibility of its parent and adds emulation of the environments needed to run Windows 3.x, 9x and ME, plus DOS/V and NEC PC-98 emulation. That combination is the reason the fork exists at all.

The intended audience is narrower than "anyone with old software." Three groups fit. First, people with a Windows 95 or 98 application that has no modern replacement, where the README's stated goal of covering pre-2000 DOS and Windows 9x scenarios is the whole point. Second, PC-98 and DOS/V users, since those platforms are not part of mainline DOSBox. Third, developers and preservationists: the README frames accurate emulation as a way to "help make new DOS developments possible" with confidence that a program will behave the same on real hardware.

If you only want to run a 1993 platformer, none of that extra machinery is required. The fork's value is proportional to how far your target drifts from the DOS game use case.

The mechanism: a configurable virtual PC, not a fixed profile

DOSBox-X emulates a PC in software, including CPU, video, sound and storage, and exposes the virtual machine's shape through configuration. The README describes this as a deliberate stance: "a better way to emulate the DOS platform is to give users all the options they need to emulate everything from the original IBM PC system all the way up to late 1990's configuration." The stated end goal is a complete emulation package covering peripherals, motherboards, CPUs and period hardware.

That option surface is where the architecture becomes visible. The feature list includes CPU types such as Pentium Pro, II and III with MMX instructions, IDE interfaces, long filenames and FAT32 disk images, 3dfx Voodoo and Glide emulation, and save states with up to 100 slots. A user assembling a Windows 98 guest is not just running a game; they are choosing a CPU, a disk interface and a filesystem generation that the guest expects to find. The configuration file is effectively the machine description.

Accuracy work is incremental rather than a single rewrite. The README says the features are "implemented as incremental changes since it was forked from DOSBox SVN Daum," which explains why the project carries a large and uneven feature set rather than a clean architectural story. The GUI drop-down menu and built-in graphical configuration tool sit on top of the same option set, so the graphical path and the config file reach the same variables.

Installing DOSBox-X and running a first program

The README does not carry install steps inline. It points to the project homepage at dosbox-x.com for "common packages of the latest release for the supported platforms," to INSTALL.md for installation instructions and other packages, and to the Releases page for archives of all released versions. Nightly and development builds are published separately at dosbox-x.com/devel-build.html. Start from one of those three sources rather than a third-party mirror.

Once a build is installed, launch it. The README does not document the command line, so the invocation and any startup options should be taken from the Wiki user guide rather than guessed here. What the README does confirm is that the project ships a GUI drop-down menu and a built-in graphical configuration tool, so a first run can be driven from the interface instead of a config file.

For a Windows 9x guest the workflow starts the same way, but the README does not provide a step-by-step Windows 98 installation procedure. It states that Windows 95, 98 and ME emulation and acceleration are officially supported, and points to the Wiki for setup and usage tips. Persistent settings, including the machine type and CPU options mentioned above, live in the configuration file that the graphical configuration tool edits; the README does not document the file's location or key names, so consult the Wiki for those.

Where DOSBox-X is the wrong choice

The README lists a section titled "Features that DOSBox-X is unlikely to support at this time." That section is the honest boundary of the project, and it is worth reading before you invest time in a configuration, because a feature on that list will not arrive through a config tweak.

A second limitation is legal rather than technical. The README carries a legal notice: if you reside in a jurisdiction that enforces OS level age verification, you are permitted to use only the main-osfree branch, including builds, and are prohibited from using the main (master) branch. That maps onto the release naming, where the project publishes both dosbox-x-v2026.08.31 and a dosbox-x-v2026.08.31-osfree build. This is not a footnote you can skip when picking a download.

Third, the breadth is itself a cost. A user who wants one game running in five minutes is choosing between a small set of defaults and a project whose stated goal is to expose every option from an original IBM PC to a late 1990s configuration. More knobs means more ways to misconfigure a guest, and the README does not claim the defaults will fit your target. If your need is narrow, the narrower tool wins on setup time.

DOSBox-X compared with DOSBox and DOSBox Staging

The README draws the DOSBox comparison directly: the main focus of DOSBox is running DOS games, whereas DOSBox-X goes beyond that, and the two projects "have their own separate schedules and development priorities." The concrete differences the README names are Windows 3.x, 9x and ME emulation and acceleration, DOS/V and NEC PC-98 emulation, a graphical configuration tool, save states with up to 100 slots, Pentium Pro/II/III and MMX CPU types, FAT32 and long filename support, TrueType font output for text-mode programs, and printing to a real or virtual printer. If your task needs any of those, plain DOSBox is not a substitute, and no amount of configuration will add them.

The other comparison people make is against DOSBox Staging, a separate fork with its own priorities. The README does not discuss it, so the only defensible statement here is structural: both are forks of the same codebase that diverged, and the feature list above describes what DOSBox-X chose to build. Whether Staging's choices suit you better is a question this material cannot answer, and anyone who tells you otherwise is working from something other than the project's own documentation.

Maintenance, releases and the cost of upgrading

DOSBox-X is not archived, and the last push to the master branch was on 2026-09-22, one day before this writing. That is a live repository by any measure. Releases are dated and frequent: dosbox-x-v2026.08.31 and dosbox-x-v2026.08.31-osfree were published on 2026-09-01, and dosbox-x-v2026.08.02-osfree on 2026-08-03. The README also describes a development and release pattern section and links to nightly builds, so there is a channel for users who want changes before a dated release.

Upgrade cost is the part to think about before you build a Windows 9x guest. The project keeps a CHANGELOG and a NEWS file at the repository root, and both are the place to check what moved between the version you run and the version you are considering. Because the emulated machine is described by configuration, an upgrade can change how an existing configuration behaves, and the README does not document a rollback procedure for a release. Practical mitigation is to keep the archive of the release you are currently running, which the Releases page provides, and to test a new build against your guest before replacing the old one.

On licensing: the project is released under the GNU General Public License, version 2, with the licence text in the COPYING file. The README states it is free of charge to use and distribute. Redistribution terms follow from the GPL, and the README's legal notice about the osfree branch adds a jurisdiction-dependent restriction on which branch you may use. That is a description of what the project says, not legal advice; if the age verification clause applies to you, treat the branch question as a compliance question rather than a preference.

Editorial conclusion

Adopt DOSBox-X if you need a Windows 9x or PC-98 environment, a debugger, or a virtual PC whose hardware you can tune machine by machine; the README states it is a platform for running DOS applications, not only games. Do not adopt it if your only goal is to launch a period DOS game quickly, because the same option surface that makes it flexible also makes it slower to configure than DOSBox. Before committing, read INSTALL.md for your platform, check whether the jurisdiction you live in is covered by the OS level age verification notice in the README, and confirm the release you download matches the branch that notice permits you to use.

Frequently asked questions

What's the difference between DOSBox and DOSBox-X?

DOSBox-X is a fork of DOSBox that keeps DOS game compatibility but adds emulation of Windows 3.x, 9x and ME, DOS/V and NEC PC-98, along with a graphical configuration tool, save states, and CPU types up to Pentium III with MMX. The README states the two projects have separate schedules and priorities, with DOSBox focused on DOS games.

Is DOSBox-X safe?

The README does not make a security claim, and the repository includes a SECURITY.md file and a software security comments section in the README. The one safety-adjacent instruction it does give is the legal notice: in jurisdictions that enforce OS level age verification, only the main-osfree branch and its builds are permitted, and the master branch is prohibited.

Is DOSBox legal to use?

The README says DOSBox-X is completely open-source and free of charge to use and distribute, released under the GNU General Public License, version 2. It also states that in jurisdictions enforcing OS level age verification, only the main-osfree branch and its builds are permitted, and the master branch is prohibited.

What is DOSBox-X and what is it used for?

It is a cross-platform DOS emulator based on the DOSBox project. According to the README it is used to run MS-DOS games and applications that cannot run on modern systems, and also as a platform for running DOS applications and the environments needed for Windows 3.x, 9x and ME software, DOS/V and PC-98 games, and for historical preservation and testing.

How do I install DOSBox-X?

The README does not list install steps itself. It points to the project homepage at dosbox-x.com for common packages of the latest release, to INSTALL.md for installation instructions and other packages, and to the Releases page for archives of all released versions; nightly builds are at dosbox-x.com/devel-build.html.

How do I run a program on DOSBox-X?

The README points to the Wiki user guide for setting up and running DOSBox-X, including usage tips. It does not document the mount and launch commands, so the exact invocation should be taken from that guide rather than from the README.

Official sources

  1. Issues
  2. joncampbell123/dosbox-x on GitHub
  3. License: GPL-2.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/joncampbell123-dosbox-x.svg)](https://hysenlabs.com/projects/joncampbell123-dosbox-x)