Hysen Labs
Open-source project
cshaxu/nxvm avatar
cshaxu

nxvm

An integral x86 PC emulator with built-in debugger

218 stars47 forksCMIT
DEEP OPEN-SOURCE ANALYSIS

NXVM emulates an Intel 80386 PC with an integrated debugger

cshaxu/nxvm is a portable x86 PC emulator that models an Intel 80386 machine with RAM, disks, keyboard, display, and BIOS behavior. It ships with a built-in debugger for inspecting guest state.

What the machine emulates

The README states that NXVM emulates an Intel 80386 PC with the machine services needed for the current product: RAM, DMA, PIC, floppy and hard disks, keyboard, display, BIOS behavior, and a debugger. It is useful both as a bootable virtual machine and as a controlled environment for examining legacy x86 software. The project notes that the codebase is also evolving into a shared foundation for a future NXVDM DOS application product, which is not yet a runnable release.

Building and running it

The supported development path is 64-bit MinGW-w64 GCC with CMake 3.23 or later and Ninja on Windows, and Visual Studio is not required. The build copies the current developer artifact to build/output/ and provides a preset for running the project gates. Linux support uses a terminal presentation path that remains a development and verification surface, so users should check the documentation for current support boundaries before relying on it.

The debugger

NXVM includes an integrated debugger for examining guest registers, memory, ports, breakpoints, watchpoints, and instruction execution. Its assembler and disassembler remain part of that debugging experience. The README is clear that the repository does not provide or distribute guest media, and users must supply only their own legally obtained boot media when experimenting with a guest operating system.

Editorial conclusion

The project is written in C and is published under the MIT license, with the debugger able to inspect registers, memory, and ports of the emulated machine.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes