CHIP-8 Emulator
A CHIP-8 interpreter written in C, capable of running classic CHIP-8 ROMs.
A low-level CHIP-8 interpreter built from scratch in C. CHIP-8 is an interpreted programming language from the 1970s, commonly used as an entry point into emulator development.
What it does:
- Implements the full CHIP-8 instruction set (35 opcodes)
- 64x32 monochrome display with configurable scaling (default 640x320 window)
- 16-key hexadecimal keypad input mapped to keyboard
- Sound and delay timers running at 60Hz
- Configurable CPU cycle speed
- Includes a collection of classic ROMs — Pong, Space Invaders, Tetris, Breakout, and more
Architecture:
- Emulation logic (
chip8.c/h) is fully decoupled from graphics - 4KB memory, 16 general-purpose 8-bit registers, 16-level stack
- Main loop handles Raylib rendering and input at 60 FPS
Tech: C, Raylib, Make