Ir al contenido
  1. Software/

tsChip8

Software Emulador Navegador web Chip8 SuperChip
PacoChan
Autor
PacoChan
Me encantan la informática y los videojuegos desde que era un crío, y dedico mi tiempo a desarrollarlos y portearlos a consolas.
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:
    1. 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.
    2. WebGL-Voxel: Similar al renderer WebGL-LED pero la pantalla se renderiza en voxels.
    3. Canvas: El juego se renderiza en un canvas 2D.
    4. 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