Chipper:
Chipper is a Chip8 Emulator written in Rust. It currently supports a few known quirks of the Chip8 varieties. I intend on making it support the large majority of known quirks, and am on the fence on building a Chip8 debugger.
Coding Philosophy:
I do not want my program to crash if the user provided bad input. If this emulator panics, I consider it a bug. All points of bad input should lead to a nice error message, followed by a smooth exit. To help me out with the errors, I decided to use the anyhow crate. I could have created (and did in the beginning), many different error types, but ended up using anyhow::Error::msg
as it does exactly what I wanted my errors to do, and I don't have to type the boilerplate (win!).
Usage:
There are currently no available binaries, so building from source is the only way. After that, just run the third command down below:
git clone [email protected]:Zij-IT/chipper.git
cd chipper
cargo run --release -- /path/to/game.ch8
Supported Chip8 Quirks:
- load store
- offset jump
- index register overflow
- vertical wrap
- shift