A simple, cross-platform CHIP-8 emulator written in Rust. This project aims to provide a clean, idiomatic, and educational implementation of the classic CHIP-8 virtual machine, including graphics, keyboard, and sound support.
- Full CHIP-8 instruction set support
- 64x32 monochrome display with scaling
- Keyboard input mapping
- 8-bit delay and sound timers
- Beep sound when the sound timer is active
- Modular, idiomatic Rust codebase
Clone the repository:
git clone https://github.com/3mpee3mpee/chip8emu.git
cd chip8emuBuild the project:
cargo build --releaseTo run the emulator with a CHIP-8 ROM:
cargo run --release -- path/to/your_rom.ch8- CHIP-8 keys are mapped to your keyboard (see
src/keyslog.rsfor details). - Press
Escor close the window to exit.
src/cpu.rs— CPU, registers, and timer logicsrc/memory.rs— Memory and fontsetsrc/instructions.rs— Instruction decoding and executionsrc/display.rs— Display rendering and main loopsrc/audio.rs— Sound timer and beep playbacksrc/emu8.rs— Emulator initializationsrc/keyslog.rs— Keyboard mapping
- CHIP-8 technical reference
- rodio for audio playback
Happy emulating!

