A simple Chip8 emulator written in C++.
- Emulates the Chip8 instruction set
- Simple graphics rendering
- Keyboard input handling
To build the project, use the following commands:
mkdir build
cd build
cmake ..
makeTo run the emulator, use the following command:
./chip8 <path_to_chip8_rom>There is also an optional decompiler to decompile Chip8 ROMs into human-readable assembly code:
./decompiler <path_to_chip8_rom> > <output_file>There are several example ROMs available in the tests directory which includes:
Rock paper scissors: A simple rock paper scissors game by SystemLogoff.Chip8 Test Suite: A comprehensive test suite for Chip8 emulators by Timendus.
You can try to download other ROMs to try from here.
The Chip8 keypad is mapped to the following keys on your keyboard:
1 2 3 C -> 1 2 3 4
4 5 6 D -> Q W E R
7 8 9 E -> A S D F
A 0 B F -> Z X C V
When using the built-in debugger, the following controls are available:
Enter = Toggle execution / Pause execution
Spacebar = Step execution (when paused)
