A CHIP-8 interpreter/emulator written in Rust as a hobby/study project. This implementation follows the official CHIP-8 technical reference
CHIP-8 is an interpreted programming language developed in the mid-1970s for early microcomputers. This emulator interprets and executes CHIP-8 programs (ROMs). You can find some games here
- Display: 64x32 monochrome pixels
- Memory: 4KB RAM
- Registers: 16 general-purpose 8-bit registers (V0-VF)
- Special Registers:
- I: 16-bit index register
- PC: Program counter
- SP: Stack pointer
- Stack: 16 levels for subroutine calls
- Input: 16-key hexadecimal keypad
- Font: Built-in 4x5 pixel hexadecimal font sprites (0-F)
Simple Desktop frontend was implemented with sdl2 library
- You need an audio file:
desktop/sounds/sound.mp3(for beep sound)
cd desktop
cargo run <path-to-rom-file>Example:
cargo run ../games/PONGPotential enhancements:
- Improved frontend (maybe browser based)
- Enhanced CLI (ability to choose different parameters)