El desarrollador ThierryM ha presentado JS-CPC, un nuevo emulador de Amstrad CPC, CPC+ y GX4000 creado íntegramente en JavaScript moderno, demostrando que es posible lograr una emulación de alto nivel directamente desde el navegador sin necesidad de compilación ni tecnologías como WebAssembly.
El proyecto nace con un objetivo claro: demostrar que JavaScript puede ofrecer rendimiento y precisión suficientes para la emulación avanzada, permitiendo ejecutar software clásico de Amstrad de forma fluida y accesible desde cualquier navegador moderno.
Alto nivel de precisión en la emulación
Uno de los aspectos más destacados de JS-CPC es la precisión de su núcleo de CPU Z80. El emulador ha superado con éxito las exigentes pruebas ZEXALL, consideradas un estándar para validar la compatibilidad y exactitud en la emulación del procesador.
Además, el rendimiento resulta especialmente llamativo. Según su autor, el motor es capaz de ejecutar la conocida demo Batman Forever a más de 400 FPS en un equipo estándar, lo que demuestra el nivel de optimización alcanzado.
Tecnología moderna para máquinas clásicas
JS-CPC utiliza tecnologías web actuales para recrear el hardware clásico de Amstrad:
- Gráficos: Renderizado mediante WebGPU, con sistema alternativo Canvas 2D para navegadores sin soporte.
- Sonido: Emulación fiel del chip AY-3-8912 mediante WebAudio.
- Formatos compatibles: Soporte para imágenes .DSK, snapshots .SNA y cartuchos .CPR de GX4000.
El diseño del emulador sigue un enfoque modular, con componentes independientes para el núcleo Z80, el chip de sonido y el ASIC. Esto permite reutilizar partes del proyecto en otros desarrollos JavaScript relacionados con la emulación.
Código abierto para la comunidad
El autor ha decidido publicar el proyecto como software libre en GitHub, permitiendo que otros desarrolladores puedan aprovechar sus módulos o contribuir a mejorar la compatibilidad.
JS-CPC ya puede probarse directamente desde el navegador, y su creador anima a los usuarios a testear demos y juegos para detectar posibles problemas de compatibilidad, especialmente en timings del CRTC o casos extremos.
Probar el emulador online:
https://www.js-cpc.fr
Código fuente:
https://github.com/Thierry45560/js-cpc-engine
Con proyectos como JS-CPC, queda claro que la emulación web sigue avanzando a gran velocidad, acercando los sistemas clásicos como el Amstrad CPC a cualquier usuario sin necesidad de instalar software adicional.

