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 c8bdf4d038 Update 'README.md' 1 week ago
config fix build file naming 2 weeks ago
src run cleanup; magic constants to enums 1 week ago
.gitignore fix build file naming 2 weeks ago
LICENSE Initial commit 2 weeks ago
README.md Update 'README.md' 1 week ago
ada_chip.gpr fix build file naming 2 weeks ago
alire.toml initial upload 2 weeks ago
beep.ogg play sound 1 week ago

README.md

ada-chip

A CHIP-8 emulator written in Ada (as an exercise for learning Ada). Supports (I believe) 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.