tsChip8
Tabla de contenido
Descripción #
tsChip8 es un emulador preciso de Chip8 y SuperChip escrito en TypeScript y usa WebGL para renderizar los gráficos.
Para los que no sean qué es Chip8 y SuperChip, según Wikipedia:
CHIP-8 es un lenguaje de programación interpretado, desarrollado por Joseph Weisbecker. Fue inicialmente usado en los microcomputadores de 8 bits COSMAC VIP y Telmac 1800 a mediados de 1970. Los programas de CHIP-8 corren sobre una máquina virtual de CHIP-8. Esto se hizo así para que los video juegos fueran más fáciles de programar en dichos computadores.
CHIP-8 tiene un descendiente llamado SCHIP (Super Chip), presentado por Erik Bryntse. En 1990 se hizo un intérprete de CHIP-8 llamado CHIP-48 para la calculadora gráfica HP-48 para que los juegos pudieran ser programados más fácilmente. Sus extensiones para CHIP-8 fueron conocidas como SCHIP. Este nuevo intérprete cuenta con una mayor resolución y varios opcodes adicionales que permiten programarlo más fácilmente.
Características #
- Compatibilidad total con Chip8 y SuperChip.
- Ajustes que permiten activar una emulación errónea que es requerida para ejecutar ciertos juegos problemáticos.
- Cuatro modos de renderizado que se pueden cambiar en todo momento:
- WebGL-LED: El juego se muestra en una especie de pantalla LED en un entorno virtual 3D, el cual tiene luces en tiempo real y un efecto de refresco de pantalla.
- WebGL-Voxel: Similar al renderer WebGL-LED pero la pantalla se renderiza en voxels.
- Canvas: El juego se renderiza en un canvas 2D.
- ASCII: El juego se renderiza con caracteres textuales. Fácil de implementar dado que Chip8 y SuperChip son monocromos.
- Todos los modos de renderizado permiten personalizar la paleta de colores.
- El sonido también está emulado. Chip8 tiene un sistema de sonido muy básico que solo es capaz de reproducir “bips” de duración configurable.
- Incluye un puñado de ROMs de dominio público para que puedas jugar, junto con un simple juego creado por mí llamado LOL Hunt.
Cómo jugar #
Puedes cargar cualquiera de las ROMs incluidas en la lista que se sitúa en la esquina superior izquierda de la ventana, y luego pulsar Play. También puedes cargar una ROM localizada en tu dispositivo con el botón de Cargar.
El teclado del Chip8 / SuperChip está mapeado a las siguientes teclas de PC (los controles dependen de cada juego):
1 2 3 4
Q W E R
A S D F
Z X C V
Todas las ROMs incluidas funcionan tal cual. No obstante, debido a que algunas características del Chip8 se documentaron de forma errónea, hay algunos juegos por ahí que están mal programados y tendrán errores. Si te encuentras con fallos visuales en algún juego, detén la emulación, cambia los ajustes de compatibilidad y luego dale a Play otra vez. Algunos juegos requerirán una de las dos opciones, y algunos incluso las dos opciones a la vez. Ve probando hasta que el juego funcione.
Capturas #




Enlaces #
Aquí puedes jugar con el emulador: tsChip8
Y aquí está el código fuente: https://github.com/MaikelChan/tsChip8