Repolode
copy

copy/v86

Un emulador de PC x86 que se ejecuta en el navegador y traduce código máquina a WebAssembly en tiempo de ejecución para iniciar sistemas operativos reales.

Estrellas
23,609
Forks
1,924
Issues abiertos
116
Último commit
hace 3 días

¿Qué es?

v86 emula una CPU compatible con x86 junto con varios componentes de hardware de PC, como una tarjeta VGA, teclado y mouse PS/2, controladores IDE y de disquete, un bus PCI, dispositivos de red NE2000 y virtio, y una tarjeta de sonido SoundBlaster 16. El código máquina se traduce a módulos WebAssembly en tiempo de ejecución para ofrecer un rendimiento razonable dentro de una pestaña del navegador.

El proyecto está pensado para ejecutar sistemas operativos antiguos y de aficionados en el navegador. La documentación incluye sistemas invitados que funcionan, entre ellos varias distribuciones de Linux, FreeDOS, MS-DOS, Windows 95 a 2000, ReactOS, Haiku y FreeBSD; algunas versiones de Windows XP y posteriores solo funcionan en determinadas condiciones. Las imágenes de disco se cargan desde URL y el emulador se puede integrar en una página web mediante libv86.js o el paquete de npm v86.

El emulador ofrece una API de JavaScript para controlar la consola serie, guardar y restaurar el estado y configurar la conexión de red entre instancias. También se puede compilar localmente con Rust y Make, tanto en una compilación de depuración como en una optimizada.

Funciones clave

  • 01Emula una CPU x86 hasta un nivel aproximadamente equivalente al Pentium 4, con compatibilidad con SSE3
  • 02Traduce código máquina a WebAssembly en tiempo de ejecución
  • 03Incluye VGA con extensiones SVGA y Bochs VBE, además de teclado y mouse PS/2
  • 04Ofrece opciones de conexión de red mediante virtio, NE2000 y módem de acceso telefónico
  • 05Permite guardar y restaurar el estado del emulador
  • 06Se puede integrar mediante libv86.js o el paquete de npm

Casos de uso

  • Ejecutar sistemas operativos retro, como Windows 95 o MS-DOS, en una página web
  • Mostrar o enseñar cómo funciona una PC y el proceso de arranque de x86
  • Integrar un entorno aislado de Linux o DOS en una herramienta basada en navegador
  • Estudiar la emulación de CPU y la traducción dinámica de código binario a WebAssembly

Inicio rápido

  1. 1

    Instala el paquete npm

    npm install v86
  2. 2

    Inserta el emulador en una página web usando el constructor V86, como se muestra en el ejemplo de la API del README

Antes de usarlo

  • No se admiten sistemas operativos invitados de 64 bits.
  • No se admite la emulación multinúcleo.
  • Para compilar desde el código fuente se necesitan Rust, clang, Java y Node.js, además de otras herramientas.
  • Algunos sistemas operativos, como Plan 9 y OS/2, no funcionan.

Temas

Preguntas frecuentes

¿Qué es v86?
Un emulador de PC x86 que se ejecuta en el navegador y traduce código máquina a WebAssembly en tiempo de ejecución para iniciar sistemas operativos reales. v86 emula una CPU compatible con x86 junto con varios componentes de hardware de PC, como una tarjeta VGA, teclado y mouse PS/2, controladores IDE y de disquete, un bus PCI, dispositivos de red NE2000 y virtio, y una tarjeta de sonido SoundBlaster 16. El código máquina se traduce a módulos WebAssembly en tiempo de ejecución para ofrecer un rendimiento razonable dentro de una pestaña del navegador.
¿v86 es gratuito? ¿Qué licencia tiene?
v86 es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿v86 sigue mantenido?
Mantenimiento activo. El último commit de v86 fue el 18 oct 2026.
¿Para qué puedo usar v86?
Ejecutar sistemas operativos retro, como Windows 95 o MS-DOS, en una página web Mostrar o enseñar cómo funciona una PC y el proceso de arranque de x86 Integrar un entorno aislado de Linux o DOS en una herramienta basada en navegador Estudiar la emulación de CPU y la traducción dinámica de código binario a WebAssembly
¿Cómo se instala v86?
Instala el paquete npm: npm install v86 Inserta el emulador en una página web usando el constructor V86, como se muestra en el ejemplo de la API del README
¿Dónde consigo v86?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/copy/v86

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados