CHIP-8 Emulator

CHIP-8 Welcome screen

A faithful CHIP-8 virtual machine emulator that recreates the 1970s interpreter originally designed for the COSMAC VIP microcomputer. Built with C++17, the emulator implements the complete CHIP-8 architecture including memory management, CPU registers, display rendering, timers, and keyboard input. It features two platform-specific frontends: Allegro 5 on Linux and native Win32 (GDI + WinMM) on Windows with zero external dependencies. It supports loading ROM files to run a variety of classic games.

Features

Technical Details

Build Instructions

Linux (Allegro 5)

Requirements: CMake (3.10+), Allegro 5, pkg-config

git clone https://github.com/ArturKos/CHIP-8.git
cd CHIP-8/linux_emulator
mkdir build && cd build
cmake ..
make -j$(nproc)
./chip8_emulator ../../roms/Pong.ch8

Windows (Visual Studio / MSVC)

Requirements: CMake (3.10+), MSVC compiler. No external libraries needed.

git clone https://github.com/ArturKos/CHIP-8.git
cd CHIP-8\windows_emulator
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022"
cmake --build . --config Release
Release\chip8_emulator.exe ..\..\roms\Pong.ch8

Windows (MinGW)

cd CHIP-8\windows_emulator
mkdir build && cd build
cmake .. -G "MinGW Makefiles"
cmake --build .
chip8_emulator.exe ..\..\roms\Pong.ch8

Check out the project on GitHub: CHIP-8 Emulator on GitHub

Back to Portfolio