Chip8 is a single-file, simple and minimalist implementation of the CHIP-8 virtual machine written in modern C++ with minimal dependencies.
- Single-file: The interpreter is implemented in a single source file.
- Modern C++: Written in portable C++17.
- Minimalist: Focused on essential functionality.
- Low Dependency: SDL3 is the only dependency.
Before proceeding, make sure you have CMake 3.15+ and a C++17 compiler installed.
Clone the repository using Git:
git clone https://github.com/mZake/Chip8.git --recursive
cd Chip8Configure and build using CMake:
cmake -S . -B build
cmake --build buildBy default, the project is built in Debug mode. You can change this by setting the CMAKE_BUILD_TYPE option:
cmake -S . -B build -DCMAKE_BUILD_TYPE=ReleaseThe build artifacts are placed in the build/<Config> directory.
Load CHIP-8 ROM:
chip8 /path/to/romWhile Chip8 is executing, you can use the following options:
- Ctrl+S: Save snapshot of current state
- Ctrl+L: Load latest saved snapshot
- Ctrl+P: Pause/Resume execution