DOS-Emulator vs DOSVisor
DOS-Emulator
github.comDOSVisor
github.comSide by side
| Figure | DOS-Emulator | DOSVisor |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | — |
| Linux | Yes | — |
| Plans published | 1 | 1 |
| Spec score · MS-DOS Emulators | 7.7 (#14) | 7.8 (#12) |
| Maker | Cargo.toml names Alexander Meißner as the package author. | The repository is published under the GitHub account x86matthew. |
| Purpose | DOS-Emulator is an IBM PC emulator running DOS, written in Rust. | DOSVisor is a DOS emulator that uses the Windows Hypervisor Platform API to run DOS programs in a virtualized 16-bit real-mode environment on modern Windows systems. |
Plans
In their own words
DOS-Emulator
DOS-Emulator is a free IBM PC emulator that runs DOS and is written in Rust. Source code is available under the MIT License, and users can build it with Cargo or download a prebuilt binary from GitHub releases. The README identifies macOS and Ubuntu Linux as supported hosts; Windows lacks the ANSI escape sequences required by its CLI dependency. The project is inspired by DOSBox but is not a direct port, and many features are implemented differently or absent. Only Game of ROBOT episodes 0, 1, 3, and 4 are known to be playable. Its command-line interface can quit, pause into a debugger, or open a keyboard-mapping tool. The debugger profiles instructions, inspects register-selected data, scrolls its overview, and supports continue, step-over, and single-step actions. The architecture separates video and input on a GUI thread from audio synthesis for Sound Blaster and beeper signals. The latest listed release is v0.1.0.
DOSVisor
DOSVisor is a Windows project that runs some MS-DOS programs in a virtualized 16-bit real-mode environment using the Windows Hypervisor Platform API. It is presented as a demonstration of that API rather than a complete DOS emulator. Hardware virtualization handles the CPU, while software emulates the DOS layer. A custom Interrupt Vector Table uses CPUID instructions to trigger VM exits and intercept DOS interrupts. DOSVisor captures I/O requests but supports only a small set of common requests. Timing support includes the BIOS counter, RAM refresh toggle bit, system clock, RTC registers, clock interrupts, and DOS current-time calls; the 8253 PIT timer is not fully implemented. Keyboard handling monitors state, keeps a simple buffer, and passes input through interrupts. Basic terminal commands support simple text-based games and other basic programs. BIOS data areas and the Program Segment Prefix are allocated but mostly unpopulated. The free public repository contains bin and src directories, with no releases or packages listed.