This repository contains my attempt at a CHIP-8 emulator written in Rust. I decided to do this as a quick, fun project for my own interest and education.
The sdl2 crate is used to handle graphics, keyboard events, and audio; the core interpreter has been written from scratch.
- sdl2 must be installed manually, the instructions
for which can be found at the linked page. This project does not use the
bundledfeature, and soSDL2.dllshould be added to this repository for it to work correctly. - Once this has been set up, the interpreter can be ran with
cargo run --release <path/to/rom>.
ROMs are not provided with this repository and must be downloaded separately, but many can easily be found online.
The speed of the interpreter can be adjusted by changing the CPU_TICK_RATE found
in main.rs.
- Cowgod's Chip-8 Technical Reference provides a very helpful overview of the CHIP-8 system and instruction set.
- Timendus' CHIP-8 test suite has proven very useful for testing the various parts of the interpreter's functionality.
- The aforementioned sdl2 crate and its associated documentation made it very easy to focus on implementing the interpreter itself.
