Que tal, hoy les traigo esta máquina virtual para CHIP-8 que codifique para entrar en el mundo de la emulación.
CHIP-8 es un pequeño intérprete que venía en ciertas computadoras antiguas y en la actualidad permite ejecutar ciertas joyas como PONG, SPACE INVADERS, TETRIS entre otras.
Capturas:
(Esto es PONG, la pelotita acababa de anotar cuando tome la captura xD)
Está escrita en viejo y confiable ANSI C (O al menos la mayor parte, use Visual Studio para compilarlo y me vi forzado a usar algunas instrucciones _s), utiliza Allegro 5 para manejo de gráficos, controles, reloj y sonido. Es muy rápido, casi no consume nada de recursos y gracias a su capacidad de ejecutar ciertas instrucciones de 2 modos (No todos los programas de CHIP-8 esperan el mismo comportamiento de algunas instrucciones) es altamente compatible. A excepción de ciertos ROMs híbridos, ningún ROM de CHIP-8 se le resiste.
Además de la gran precisión de emulación y el buen manejo de recursos este emulador incluye una función "AntiFlickering" que elimina en la gran mayoría de los juegos (depende de cómo haya sido programado) el molesto efecto de parpadeo que aqueja al CHIP-8 debido a su diseño. Hasta donde yo sé (tampoco es que haya investigado mucho) este es el único emulador de CHIP-8 que cuenta con esto.
El código es limpio y está escrito con mucho cuidado (O por lo menos eso creo xD), tiene buena documentación y podría ser una excelente herramienta a modo de ejemplo para aquel que estudia organización y estructura de computadoras o algo similar.
La aplicación se puede ejecutar por la línea de comandos, pero lo más fácil es que descargues el empaquetado que pondré aquí abajo, descomprimas, tomes algún ROM (ya incluí algunos, tienen extensión .ch8) y lo sueltes encima de Emuleightor.exe
Emuleightor.zip (El empaquetado con el programa ya compilado y algunos juegos, podria requerir una versión de .NET framework)
Emuleightor.c (Código fuente solo)
Emuleightor.zip (Solucion de VS 2013, para aquellos que no quieren pelearse con las dependencias de Allegro, solo requiere que la version para Visual Studio de este se encuentre descomprimida en C:\allegro)
PD: Los controles dependen mucho del juego, pero las teclas mapeadas son:
1234
QWER
ASDF
ZXCV
CHIP-8 es un pequeño intérprete que venía en ciertas computadoras antiguas y en la actualidad permite ejecutar ciertas joyas como PONG, SPACE INVADERS, TETRIS entre otras.
Capturas:
(Esto es PONG, la pelotita acababa de anotar cuando tome la captura xD)
Está escrita en viejo y confiable ANSI C (O al menos la mayor parte, use Visual Studio para compilarlo y me vi forzado a usar algunas instrucciones _s), utiliza Allegro 5 para manejo de gráficos, controles, reloj y sonido. Es muy rápido, casi no consume nada de recursos y gracias a su capacidad de ejecutar ciertas instrucciones de 2 modos (No todos los programas de CHIP-8 esperan el mismo comportamiento de algunas instrucciones) es altamente compatible. A excepción de ciertos ROMs híbridos, ningún ROM de CHIP-8 se le resiste.
Además de la gran precisión de emulación y el buen manejo de recursos este emulador incluye una función "AntiFlickering" que elimina en la gran mayoría de los juegos (depende de cómo haya sido programado) el molesto efecto de parpadeo que aqueja al CHIP-8 debido a su diseño. Hasta donde yo sé (tampoco es que haya investigado mucho) este es el único emulador de CHIP-8 que cuenta con esto.
El código es limpio y está escrito con mucho cuidado (O por lo menos eso creo xD), tiene buena documentación y podría ser una excelente herramienta a modo de ejemplo para aquel que estudia organización y estructura de computadoras o algo similar.
La aplicación se puede ejecutar por la línea de comandos, pero lo más fácil es que descargues el empaquetado que pondré aquí abajo, descomprimas, tomes algún ROM (ya incluí algunos, tienen extensión .ch8) y lo sueltes encima de Emuleightor.exe
Emuleightor.zip (El empaquetado con el programa ya compilado y algunos juegos, podria requerir una versión de .NET framework)
Emuleightor.c (Código fuente solo)
Emuleightor.zip (Solucion de VS 2013, para aquellos que no quieren pelearse con las dependencias de Allegro, solo requiere que la version para Visual Studio de este se encuentre descomprimida en C:\allegro)
PD: Los controles dependen mucho del juego, pero las teclas mapeadas son:
1234
QWER
ASDF
ZXCV