A CHIP-8 Interpreter/Emulator written on Rust ❤️
Download from Releases and run using
chip8.exe <path_to_rom> <update_rate>
or if you have Rust installed, clone the repository and run using
cargo run <path_to_rom> <update_rate>
Note Update Rate is optional and defaults to 480.
Uses rust_minifb to for display and rodio for sound.
Timers and screeen updates at the rate of 60 Hz regardless of the Update Rate.
1 2 3 C 1 2 3 4
4 5 6 D is mapped to ---> Q W E R
7 8 9 E A S D F
A 0 B F Z X C V
See #1 for Problems and Todos.
I have included a lot of ROMs in rom_pack.zip
from the following sources
- GAMES - SVision-8 (devernay.free.fr)
- c8games - Zophar's Domain Chip-8 Games Pack (zophar.net)
- revival - Revival Studios Chip-8 Program Pack Website (revival-studios.com) | dmatlack/chip8/roms
- chip8-test-rom - corax89/chip-8-test-rom
- c8_test - Skosulor/c8int/test
- chip8Archive - JohnEarnest/chip8Archive
- CHIP-8 Wikipedia Page
- Cowgod's Technical Reference (devernay.free.fr)
- Mastering CHIP-8 (mattmik.com)
- How to write an emulator (CHIP-8 interpreter) (multigesture.net)
- SVision-8 (devernay.free.fr) lots of links to helpful documentation
- massung/CHIP-8 an emulator for CHIP-8 and its derivaties with many nice features
- JohnEarnest/Octo a high level assembler for CHIP-8 with lots of helpful guides and ROMs
- OctoJam 1 2 3 4 5 6 an Octo-centric game jam held every October (running since 2014)
- Chromatophore/HP48-Superchip research into behaviour of SCHIP
- r/EmuDev community interested in Emulator Development