]> code.bitgloo.com Git - clyne/ada-chip.git/summary
 
descriptionCHIP-8 emulator written in Ada
ownerClyne Sullivan
last changeSun, 12 Jan 2025 16:10:52 +0000 (11:10 -0500)

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.

Useful links

shortlog
2025-01-12 Clyne Sullivanadd rom link main
2025-01-12 Clyne Sullivanclean up case statements and math
2025-01-12 Clyne Sullivanada_chip cleanup
2025-01-12 ClyneUpdate 'README.md'
2025-01-12 Clyne Sullivanrun cleanup; magic constants to enums
2025-01-11 Clyne Sullivanclean up magic numbers
2025-01-11 Clyne Sullivanplay sound
2025-01-11 Clyne Sullivanrender and polling improvements
2025-01-11 Clyne Sullivanfix build file naming
2025-01-11 Clyne Sullivanadd input support
2025-01-11 Clyne Sullivanadd font table and bcd support
2025-01-11 Clyne Sullivaninitial upload
2025-01-11 ClyneInitial commit
heads
7 months ago super-chip
7 months ago main