DOSVisor

What DOSVisor is
DOSVisor is a Windows project for running DOS programs in a virtualized 16-bit real-mode environment through the Windows Hypervisor Platform API. Hardware virtualization handles the CPU, while software emulates the DOS layer. The project is presented primarily as a demonstration of the Windows API, rather than as a complete DOS emulator, and its framework is designed to be extended. A custom Interrupt Vector Table uses CPUID instructions to trigger VM exits and intercept DOS interrupts. DOSVisor captures I/O requests for software emulation, though it handles only a small set of common requests. Its timing support includes the BIOS counter, RAM refresh toggle bit, system clock, and RTC registers; the 8253 PIT timer is not fully implemented. Keyboard handling monitors key state, maintains a simple buffer, and passes information to DOS programs through keyboard interrupts. Basic terminal commands are supported for simple text-based games and other basic programs. BIOS data areas and the Program Segment Prefix are allocated but are mostly unpopulated, apart from the BIOS counter value. The public GitHub repository, published under x86matthew, contains bin and src directories and lists no releases or packages. The listed plan is free; no pricing or usage limits are stated.
Who it suits
DOSVisor is suited to Windows users who want to explore the Windows Hypervisor Platform API or run a few sample DOS programs. Its author also describes the framework as designed to be extended, making it relevant to developers exploring emulator implementation.
What it does well
- Free project with public source in the repository.
- Uses hardware virtualization for the CPU.
- Supports keyboard input through a simple key buffer.
- Includes basic terminal commands for simple text-based programs.
- The framework is described as designed to be extended.
What to know first
- The project is not intended as a complete DOS emulator.
- Only a small set of common I/O requests is supported.
- The 8253 PIT timer is not fully implemented.
- BIOS data areas and the Program Segment Prefix are mostly unpopulated.
Limits
DOSVisor supports only a small set of common I/O requests, and the 8253 PIT timer is not fully implemented. BIOS data areas and the Program Segment Prefix are allocated but mostly unpopulated.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free | No pricing or usage limits stated; the repository is public | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the DOSVisor GitHub repository.
- Use a Windows system, its listed supported host platform.
- Choose between the repository's bin and src directories.
- Run a simple DOS program or basic text-based game.
Verdict
Choose DOSVisor if you want to study use of the Windows Hypervisor Platform API or run a few sample DOS programs. Look elsewhere if you need a complete DOS emulator, broad I/O support, or full 8253 PIT timer implementation.
Questions
How much does DOSVisor cost?
The listed Free plan costs nothing. No pricing or usage limits are stated.
Which platform does it support?
Windows is the listed supported host platform.
Is DOSVisor source available?
Yes. The public repository contains bin and src directories.
Who publishes DOSVisor?
The repository is published under the GitHub account x86matthew.
Is DOSVisor a complete DOS emulator?
No. The project is described primarily as a demonstration of the Windows Hypervisor Platform API, rather than a complete emulator.
What DOS features are supported?
It supports basic terminal commands, keyboard handling, a small set of common I/O requests, and several timing mechanisms. The 8253 PIT timer is not fully implemented.
Facts from DOSVisor's own pages
- Commands
- Basic terminal commands are supported for simple text-based games and other basic programs. · github.com, 9 Oct 2026
- CPU
- It uses hardware virtualization for the CPU and emulates the DOS layer in software. · github.com, 9 Oct 2026
- CPU virtualization
- It uses hardware virtualization for the CPU and emulates the DOS layer in software. · github.com, 9 Oct 2026
- Demonstration project
- The author describes DOSVisor primarily as a demonstration of the Windows Hypervisor Platform API, not a complete DOS emulator. · github.com, 9 Oct 2026
- Distribution
- The public repository contains bin and src directories; its page lists no releases or packages. · github.com, 9 Oct 2026
- Intended audience
- The project is suitable for exploring the Windows Hypervisor Platform API and running a few sample DOS programs; the author says its framework is designed to be extended. · github.com, 9 Oct 2026
- Intended use
- The project primarily demonstrates the Windows Hypervisor Platform API and is not intended to be a complete DOS emulator. · github.com, 9 Oct 2026
- Interrupt handling
- A custom Interrupt Vector Table points interrupts to CPUID instructions so the emulator can trigger VM exits and handle them. · github.com, 9 Oct 2026
- Interrupts
- It uses a custom Interrupt Vector Table with CPUID instructions to trigger VM exits and intercept DOS interrupts. · github.com, 9 Oct 2026
- I/O support
- It captures I/O requests for software emulation, but supports only a very small set of common I/O requests. · github.com, 9 Oct 2026
- Keyboard
- It monitors keyboard state, maintains a simple key buffer and passes information to DOS programs through keyboard interrupts. · github.com, 9 Oct 2026
- Maker
- The repository is published under the GitHub account x86matthew. · github.com, 9 Oct 2026
- Purpose
- 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. · github.com, 9 Oct 2026
- System fields
- BIOS data areas and the Program Segment Prefix are allocated but not populated, except for the BIOS counter value. · github.com, 9 Oct 2026
- Terminal
- Basic terminal commands are supported for running simple text-based games and other basic programs. · github.com, 9 Oct 2026
- Testing
- The maker reports testing DOSVisor with FlareSay.exe, a DOS game from FlareOn 2023 challenge 6. · github.com, 9 Oct 2026
- Timer limitation
- The 8253 PIT timer is not fully implemented. · github.com, 9 Oct 2026
- Timers
- Supported timing mechanisms include the BIOS counter, RAM refresh toggle bit, system clock and RTC registers; the 8253 PIT timer is not fully implemented. · github.com, 9 Oct 2026
- Timer support
- Supported timing mechanisms include the BIOS counter, a RAM refresh toggle bit, clock interrupts, RTC registers, and DOS current-time calls. · github.com, 9 Oct 2026
Where DOSVisor stands on Freedom251
- MS-DOS Emulators#17 of 26