Clyne c8bdf4d038 | 1 week ago | |
---|---|---|
config | 2 weeks ago | |
src | 1 week ago | |
.gitignore | 2 weeks ago | |
LICENSE | 2 weeks ago | |
README.md | 1 week ago | |
ada_chip.gpr | 2 weeks ago | |
alire.toml | 2 weeks ago | |
beep.ogg | 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.
Useful links
- kripod/chip8-roms: ROMs to try out.
- CHIP-8 Technical Reference
- CHIP-8 Wikipedia entry