]> code.bitgloo.com Git - clyne/ada-chip.git/commitdiff
Update 'README.md'
authorClyne <clyne@bitgloo.com>
Sun, 12 Jan 2025 00:56:26 +0000 (19:56 -0500)
committerClyne <clyne@bitgloo.com>
Sun, 12 Jan 2025 00:56:26 +0000 (19:56 -0500)
README.md

index 591dbf7013ce2559f32fd0743dfd56fa3d1e8cfd..af49e8433cb516038083d1114f2a5c814ac94f4a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,29 @@
 # ada-chip
 
-CHIP-8 emulator written in Ada
\ No newline at end of file
+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)"](https://en.wikipedia.org/wiki/CHIP-8#Opcode_table).
+
+## Building
+
+Use [Alire](https://alire.ada.dev/) 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](https://github.com/kripod/chip8-roms): ROMs to try out.
+* [CHIP-8 Technical Reference](http://devernay.free.fr/hacks/chip8/C8TECH10.HTM)
+* [CHIP-8 Wikipedia entry](https://en.wikipedia.org/wiki/CHIP-8)
\ No newline at end of file