DOSVisor vs js-dos
DOSVisor
github.comjs-dos
js-dos.comSide by side
| Figure | DOSVisor | js-dos |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| Linux | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 2 |
| Spec score · MS-DOS Emulators | 7.8 (#12) | 7.8 (#13) |
| Maker | The repository is published under the GitHub account x86matthew. | The about page credits @caiiiycuk as maker and does not state a headquarters or founding date. |
| 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. | js-dos provides a JavaScript API and player to run DOS and Windows 9x programs in a browser or Node. |
Plans
In their own words
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.
js-dos
js-dos provides a JavaScript API and player for running DOS and Windows 9x programs in a browser or Node. It supports DOSBox and DOSBox-X backends, including Windows 95 and 98 system images through DOSBox-X. Developers can add the player to a webpage from its CDN, install it from npm, or download it from GitHub releases. A basic player needs static website hosting and no backend, but the page must be served over HTTP rather than opened with the file protocol. Browser IPX networking uses WebRTC-NET for IPX servers, peer and alias connections, and shared network instances. Game progress is kept in browser storage by default, which may be wiped; cloud saves can be enabled with a secret key. Custom save storage is supported through filesystem change hooks, and local persistence uses OPFS. All users can read sockdrive storage, while subscribers can write to it to save progress and install games. The site describes WebGL-backed 3Dfx rendering. Mobile support is marked production for v7 and work in progress for v8.