Skip to content

Soroushsrd/Chipotle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHIP-8 Emulator

A CHIP-8 emulator written in C++20. CHIP-8 is an interpreted programming language developed in the 1970s for video games.

Features

  • Complete CHIP-8 CPU implementation with all standard opcodes
  • 4KB memory layout with proper memory mapping
  • 64x32 pixel monochrome graphics with XOR drawing
  • Built-in hexadecimal font set (0-F)
  • 16-key input system
  • Delay and sound timers (60Hz)
  • Random number generation for RND instruction

Building

mkdir build 
cd build 
cmake ..
cmake --build .

Project Structure

  • chip8.h/cpp - Main emulator class with CPU, memory, and I/O
  • main.cpp - Entry point (implementation pending)
  • games/ - Test ROM files
  • CLAUDE.md - Development documentation

Architecture

The emulator implements the standard CHIP-8 specification:

  • 4KB RAM (0x000-0xFFF)
  • 16 general-purpose registers (V0-VF)
  • 16-level stack for subroutines
  • Program counter and index register
  • 64x32 monochrome display buffer
  • Hexadecimal keypad input

Status

Core emulator components are implemented. Audio backend integration is pending but i dont think I'll ever implement it!

About

Chip-8 Emulator written in C++. Something to keep me busy while i come up with a better idea!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published