Skip to content

stabor705/chip8

Repository files navigation

chip8

A chip8 gaming architecture emulator written in C++.

Demo

demo screenshot Note: there are ui issues visible in this screenshot that I've been procrastinating on fixing

Features

  • Renders CHIP-8 games using OpenGL.
  • Displays disassembly of processed instructions along with current chip8 state.
  • Allows to run games in instruction-by-instruction manner.
  • Controlled by clicking on displayed keypad with 16 keys.
  • Can load files passed as program arguments and selected using interactive file dialog.

Requirements

This repository already contains most of dependecies, either as git submodules, or as regular directories:

  • glad
  • ImGui
  • ImGuiFileDialog
  • gtest

It is assumed, that following libraries are already installed on your system:

  • glfw3

Building

  1. Install required dependencies. For example, on Fedora Linux you would have to run following command:
sudo dnf install glfw-devel
  1. Clone this repository along with dependencies
git clone --recurse-submodules 'https://github.com/stabor705/chip8' 
  1. Build the program using cmake
cd chip8
mkdir build
cd build
cmake ..
cmake --build .
  1. Run ch8 rom using command-line argument
./chip8 game.ch8

Docs

You can browse Doxygen generated documentation on projects' website.