v86 is a browser-based virtual machine and x86 hardware simulator that allows 16-bit and 32-bit operating systems to run directly within a web page. It functions as an x86 emulator for WebAssembly, simulating CPUs, memory, and storage devices to execute legacy software without original native hardware.
The project utilizes a WebAssembly just-in-time compiler to translate x86 machine code into WebAssembly modules for high-performance execution in the browser.
The system covers hardware emulation and lifecycle management, including the ability to boot from disk images, configure virtual hardware resources, and capture or restore complete machine states. It also includes networking and storage capabilities, such as proxy-based network routing, inter-instance communication, and host-guest file transfers. Additionally, the project provides observability tools for inspecting processor registers and capturing network traffic.