Ad

v86: x86 PC emulator with WebAssembly JIT

v86 emulates x86 hardware and translates machine code to WebAssembly for browser-based execution. Supports various operating systems and environments.
Screenshot of copy/v86 homepage

v86 emulates an x86-compatible CPU and hardware within the browser, achieving performance through runtime translation to WebAssembly. It provides a platform for running a wide range of operating systems and allows interaction with virtualized hardware devices, enabling experiments and demonstrations of classic computing environments.

  • Wide OS Compatibility: Supports a diverse range of operating systems, including Linux, DOS, Windows versions, and various hobby operating systems.

  • WebAssembly JIT: Employs a Just-In-Time compiler to translate x86 instructions to WebAssembly, enabling efficient execution in modern browsers.

  • Extensive Hardware Emulation: Emulates numerous x86 hardware devices such as CPUs, FPU, disk controllers, and network cards.

  • Easy to Use: Can be run locally via make or embedded into web applications using JavaScript APIs.

  • Docker Support: Provides Dockerfiles for convenient containerized development and deployment.

  • Diverse Operating System Support: Runs various Linux distributions (including Buildroot, Alpine, and Arch), FreeDOS, Windows versions (9x, NT, 2000, XP, Vista, 8), and many hobby operating systems.

  • Rich Hardware Emulation: Includes emulation of a wide array of components like CPUs (up to Pentium 4 level), FPU, floppy disk controller, keyboard, timer, interrupt controller, and network cards.

  • WebAssembly Integration: Uses a JIT compiler to translate x86 code to WebAssembly, enabling execution within the browser's sandboxed environment.

  • Flexible Deployment: Can be built for local execution using make, embedded into web pages via JavaScript, or deployed as a Docker container.

  • Extensive Documentation: Offers detailed guides for setup, usage, and development, including instructions for various operating systems and platforms.

v86 is an active project with regular updates and issue resolution. It boasts a substantial number of stars and forks, indicating community interest and usage. Extensive documentation and example configurations are available, though some operating systems have known limitations. Recent commits and ongoing development efforts suggest a healthy and evolving codebase.

v86 is a valuable tool for developers, hobbyists, and researchers interested in x86 emulation, operating systems development, or browser-based virtualization. It enables running diverse systems and experimenting with classic software within a web browser, providing a flexible and accessible platform for various use cases.

Summarize:
Share:
Stars
23,205
Forks
1,850
Issues
124
Created
12 years ago
Commit
18 days ago
License
BSD-2-CLAUSE
Archived
No
Updated 17 days ago

Similar Repositories