ZX Chip8

Emulador de Chip8 para Spectrum programado en C


¿Que es Chip8?

Chip8 es un microprocesador "virtual" de 8 bits de los años 70, con hasta 2 Kb de memoria, un area de visualizacion de 64x32 pixels en B/N con unos rudimentarios sprites por hardware con deteccion de colision. Tambien disponia de un teclado Hexadecimal.

Nunca existio y en realidad se emulaba con otros "ordenadores" de caracteristicas similares de la epoca.

Tiene un bytecode muy sencillo de apenas 40 comandos, todos de 16bits.

En los años 90 volvio a coger fama, debido a la calculadora de Hewlett-Packard HP48 en la que un emulador de este sistema se utilizo para suplir la falta de juegos.

El Emulador

ZX Chip8 es un emulador para la gama de ordenadores Sinclair ZX Spectrum, que utilicen cinta para cargar los juegos.

La resolucion de chip8 se ha adaptado a la del spectrum para una experiencia mas cercana a la realidad.

Es posible redefinir el teclado en incluso utilizar los Joystick Sinclair.

Dispone de un potente debuger, con ejecucion paso a paso para facilitar al compresion del sistema y el depurado de programas.

Incorpora la BIOS128 lo que permite la introduccion directa de programas en el emulador.

Licencia

Este emulador esta creado con una licencia dual, la version disponible en esta pagina es OpenSource con Licencia GPL Version 2, para consultar la otra licencia visite el enlace en el lateral izquierdo denominado Super ZX SChip8.

El codigo fuente esta disponible en la seccion de Descargas.

Se ha intentado realizar un codigo facilmente portable a otras arquitecturas.

Esta programado en C, con el compilador Z88dk, con algunas partes en ensamblador para optimizar la velocidad.

Las Roms o juegos que se incluyen, no estan cubiertos por esta licencia, han sido obtenidos de internet de varios lugares, y son (C) de sus respectivos autores, y puestos aqui en el supuesto de que se encuentran disponibles libremente.

Si eres el autor de alguno de ellos y no estas de acuerdo con los terminos de su distribucion, ponte en contacto con el autor de este programa para solucionarlo.

Screenshots

Este es el aspecto que presenta el emulador:

Screenshot
El menu inicial.

Screenshot
Space Invaders.

Screenshot
La ventana del Debuger.

Screenshot
Pong.

Screenshot
Brix.

Descargas

Estos son los archivos disponibles:

El codigo Fuente.

El programa compilado.

El pack de roms originales y la documentacion.

Jugando con el Codigo Fuente

Una de las ventajas es que puedes hacer cambios al programa para adaptarlo a tus necesidades, veamos un ejemplo:

Edita el archivo speccy.c, busca la linea 40.

Cambia donde pone 0xF0 para que ponga 0xE0, haz lo mismo en la linea 44, y comenta la linea 49.

Recompilalo y ejecutalo:

Screenshot
Look estilo LCD

Facil ¿no?


Diseño inspirado en uno de Adam Particka. Contenidos © 2004, Alvaro Alea Fernandez. All Rights Reserved.