All projects

retro

chip8-cpp

Earlier emulator project

Purpose
Learn how an interpreter turns machine instructions into graphics, input and sound.
My contribution
I implemented a CHIP-8 interpreter in C++ with SDL2 handling the display, input and audio.
Outcome
The repository includes a ROM-loading application, an IBM logo demonstration and CMake build instructions.
On this page

The CHIP-8 interpreter displaying the IBM logo test ROM.

chip8-cpp is my first step into writing an emulator. It implements the CHIP-8 instruction set and uses SDL2 for the display, input handling and sound.

Running a ROM

The application accepts a CHIP-8 ROM path. The repository documents a CMake build with a C++23 compiler:

cmake -S . -B build
cmake --build build

Run the resulting chip8cpp-app executable with the path to a ROM. Its location depends on the build generator and configuration.

Scope and source

This is a small learning project focused on CHIP-8. It is separate from my handheld adaptations of existing emulators, such as WQX on GameShell and Mini vMac on PocketCHIP.

The screenshot is the repository’s IBM logo showcase. Source code and build instructions are available in the MIT-licensed repository.

Find something

Search projects, research, and writing. Esc to close.