A project to teach myself the basics of emulation. Following this introduction and this technical ref
Edit: Turns out the technical ref mentionned above has a few inaccuracies and some chip8 extension opcode descriptions got put in instead of the base opcodes. Realised this when running this test suite which showed some quirks and differences. This emulator now passes the test-suite linked previously.
If you don't want to build this project from source, it is also available in your browser over here
If you do:
- rust toolchain
- SDL3
git clone https://github.com/omathot/chip8.git
cd chip8
cargo run --manifest-path desktop/Cargo.toml -- <path to rom>
Keyboard: -> Chip-8:
|1|2|3|4| |1|2|3|C|
|q|w|e|r| |4|5|6|D|
|a|s|d|f| |7|8|9|E|
|z|x|c|v| |A|0|B|F|


