Skip to content

a-mango/chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip-8 Emulator

A Chip-8 emulator written in C using Raylib for graphics and audio.

Features

  • Emulates classic Chip-8 instructions and timers
  • Loads and runs Chip-8 ROMs
  • Keyboard input mapped to Chip-8 keypad
  • Audio beep support
  • Simple GUI for ROM selection and debugging

Getting Started

Prerequisites

  • C compiler (GCC/Clang)
  • CMake

Build Instructions

  1. Clone the repository:
    git clone git@github.com:a-mango/chip8.git
    cd chip8
  2. Build with CMake:
    mkdir build && cd build
    cmake ..
    make
  3. Run the emulator:
    ./bin/chip8 <path-to-rom>

Usage

  • Place your Chip-8 ROMs in the rom/ directory.
  • Launch the emulator and select a ROM to play.
  • Use your keyboard to control the game (mapped to Chip-8 keys).

Directory Structure

  • src/ - Source code
  • include/ - Header files
  • rom/ - ROM files
  • res/ - Resources (fonts, audio)
  • doc/ - Documentation

Known Issues

  • Key may get stuck on press (fixed: improved keypress handler logic)
  • clock_ functions missing in time.h (fixed: updated C standard to C11)

License

This project is licensed under the MIT License.

Credits

  • Raylib for graphics and audio
  • Cowgod's CHIP-8 Technical Reference
  • The emulator programming community

About

Chip-8 emulator written in C

Topics

Resources

Stars

Watchers

Forks