CHIP-8 emulator written in Ada
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Clyne 019c7b1634
array based key detection
... to hopefully support more keys in the future
6 days ago
config ada_chip cleanup 1 week ago
src array based key detection 6 days ago
.gitignore fix build file naming 2 weeks ago
LICENSE Initial commit 2 weeks ago
README.md add rom link 1 week ago
ada_chip.gpr fix build file naming 2 weeks ago
alire.toml initial upload 2 weeks ago
beep.ogg play sound 2 weeks ago

README.md

ada-chip

A CHIP-8 emulator written in Ada (as an exercise for learning Ada). Supports the entire instruction set from the "SUPER-CHIP specification from 1991 (but without the additional opcodes that provide extended functionality)".

Building

Use Alire to build ada-chip: alr build.

Running

Just pass the CHIP-8 ROM that you would like to run as an argument: ada_chip game.ch8.

Configuration

(TODO: allow command line settings)

In src/ada_chip.adb, Steps_Per_Frame can be configured for the number of CPU cycles to run between render updates. Different ROMs seem to benefit from faster (e.g. 16) to slower (e.g. 8) settings.

Input controls follow the CHIP-8 spec which are keys A through F and 0 through 9.

Issues

Some ROMs do not work well, particularly with rendering; however, other emulators appear to have the same problems. Please only report an issue if you can prove that this emulator is doing something incorrectly.