simple-chip8
A CHIP8 interpreter in C++. Built to be as reasonably modular as possible.
Mar 2025 - Mar 2025 • Less than a month
Tech Stack
C++SDL3Meson
Simple Chip-8
CHIP-8 Emulator (Interpreter) written in C++ with SDL3.
Built to be as reasonably modular as possible.
This time actually complete (hopefully).
Build
Requires SDL3 Libraries to be installed on the system
Using Meson
#From Root Directory
meson setup build
cd build
meson compile
Compile using g++
g++ -std=c++20 -O2 -lSDL3 src/*.cpp -o chip8
(not tested with -O3, but should work)
Usage
chip8 --rom <path_to_rom>
TODOs
- Implement Opcodes
- Drawing Graphics
- Implement Delay Timer and Sound Timer
- Sound Timer Beep
- Input Handling
- Error Handling and Logging
- Separate Threads for Timers
Additional Features
- Variable Resolution
- Config File
- Configurable keybindings
- Better Frame Timing Management
- Debug Mode
Test ROMs
- Timendus’ Chip8 Splash Screen
- IBM Logo
- Corax+ Opcode Test
- Flags Test
- Quirks Test (CHIP8 Only)
Planning to add SUPER CHIP-8 capabilites after adding bells and whistles.