2 min read

Emulador CHIP-8 usando WebAssembly (WASM)

Table of Contents

🎮 Chip8_WASM

Emulador CHIP-8 usando WebAssembly (WASM)

Este proyecto implementa un emulador de CHIP-8 compilado a WebAssembly con Emscripten, ofreciendo una experiencia de emulación de alto rendimiento en navegadores web.


Grabación 2025-08-16 193637

📋 Descripción general

CHIP-8 es un lenguaje de programación interpretado desarrollado por Joseph Weisbecker a mediados de los años 70.
Este emulador permite ejecutar ROMs clásicas de CHIP-8 directamente en el navegador usando WebAssembly para un rendimiento óptimo.

✨ Características

  • 🚀 Alto rendimiento con WebAssembly
  • 🎯 Compatibilidad total con ROMs de CHIP-8
  • 🔧 API de depuración integrada
  • 🌐 Ejecución en navegador sin plugins
  • 📱 Responsivo y multiplataforma

⚡ Compilación

Requisitos previos

  • Emscripten SDK instalado y configurado
  • Archivo fuente chip8.cpp
  • ROMs .ch8 para pruebas

Comando de compilación

Usar emcc para compilar chip8.cpp en un módulo JavaScript + WASM:

emcc chip8.cpp -o chip8.js \
  -s EXPORTED_FUNCTIONS='["_load_rom","_getDebuggerString","_step","_malloc","_free"]' \
  -s EXPORTED_RUNTIME_METHODS='["ccall","cwrap","HEAPU8","UTF8ToString"]' \
  -s ALLOW_MEMORY_GROWTH=1 \
  -s TOTAL_MEMORY=67108864