A Chip-8 interpreter written in Rust.
The Chip-8 is a virtual machine developed in the 1970's.
It supports 35 opcodes, has a 64x32 pixel display, and is capable of producing a single beep tone.
The use of two different opcodes to clear (00E0) the screen and draw (Dxyn) it means that games are inherently flickery.
See the chip8 struct's docstring for more system details.
- decoupled input, logic, and rendering
- fully tested opcodes
- fast forward
- rewind
cargo run -- run --file ~/path/to/file.ch8The Chip-8 supports ROMS up to 3584 bytes in length (4K memory - 512 bytes for internal use).
Dmatlack has a repository of games that this emulator has been validated against.
