Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Latest commit

 

History

History
132 lines (120 loc) · 3.49 KB

README.md

File metadata and controls

132 lines (120 loc) · 3.49 KB

RIP-8 - The Rust CHIP-8 interpreter

Everyone's gotta write a CHIP-8 interpreter. And in my case, it's gotta be in Rust ;)

Usage

You can run a CHIP-8 ROM on the interpreter by passing it as an argument on the command line:

cargo run -- /path/to/rom
# or
cargo build --release
target/rip8 /path/to/rom

For starters, there are some fun games present in the roms folder, along with the classic IBM logo program. Personal recommendation - play Tetris :D

CHIP-8 keypad

The interpreter uses the standard CHIP-8 keypad mapping on a modern keyboard. It also provides the colemak feature flag (use cargo run --features colemak) to emulate the CHIP-8 keypad correctly on the Colemak layout.

CHIP-8 QWERTY Colemak
1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F
1 2 3 4
Q W E R
A S D F
Z X C V
1 2 3 4
Q W F P
A R S T
Z X C V

Testing

The tests directory contains this CHIP-8 test suite, which can be used to verify the correctness of the implementation.

License

This project is licensed under the MIT License. Do whatever you want with it.