This is a CHIP-8 emulator designed in C++.
The project requires the following prerequisites for a successful build.
NOTE- The project is designed to be built for Linux/Unix systems. It can be built for Windows as well using the WSL environment. Please ensure that you install the Linux version of these dependencies when working with WSL.
From the project directory, use the following commands to build the executable
cmake -S . -B build
cd build
make
Use the following command to run the executable
./chip8 path/to/rom
The emulator comes with a verbose mode that will print the relevant details of each instruction that is executed. Use the --v
flag to enable verbose mode.
./chip8 path/to/rom --v
The emulator uses a hexadecimal keypad to enter inputs for programs that allow for it. The mapping is shown below.
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
The Esc
key can be pressed at anytime to immediately close the application.