A CHIP-8 interpreter written in Rust, with a cross-platform architecture at its core.
Supported platforms:
- Linux, macOS, Windows (via SDL2)
This was a project I built live during many of my programming streams, which you can find here
cargo install chipmunk-sdl2
To model the keyboard of the time, the following keys are mapped like so
Keypad Keyboard
+-+-+-+-+ +-+-+-+-+
|1|2|3|C| |1|2|3|4|
+-+-+-+-+ +-+-+-+-+
|4|5|6|D| |Q|W|E|R|
+-+-+-+-+ => +-+-+-+-+
|7|8|9|E| |A|S|D|F|
+-+-+-+-+ +-+-+-+-+
|A|0|B|F| |Z|X|C|V|
+-+-+-+-+ +-+-+-+-+
chipmunk-sdl2 run roms/pong.rom
Roms can be ran in debug mode, where the program will wait for F
(mapped to V
) to be pressed before moving on the next instruction.
chipmunk-sdl2 run --debug roms/pong.rom
chipmunk-sdl2 dis roms/pong.rom