A CHIP-8 emulator written in Python 3 + SDL2. Reads CHIP-8 binaries from the spec at devernay.free.fr/hacks/chip8/C8TECH10.HTM and runs them with the original 64×32 monochrome display, 16-key hex keypad, and a single-tone buzzer.
Built mostly as a learning exercise — emulating something small and well-specified before climbing the ladder. Source on GitHub.


Demos, programs, and games ship inside the repo — pick from a numbered list or pass a path.
A second window shows V0–VF, I, PC, SP, the stack, timers, the keypad, disassembly around PC, and a memory hex dump.
Space pauses, F10 single-steps the CPU, F2 resets and clears the screen. Timers stop while paused; the buzzer is silenced.
The CHIP-8 hex keypad is mapped onto 1234 / QWER / ASDF / ZXCV. Esc quits.
CHIP-8 keypad Keyboard 1 2 3 C 1 2 3 4 4 5 6 D → Q W E R 7 8 9 E A S D F A 0 B F Z X C V
Different games use different keys. Pong: 1 / Q (left paddle up/down), 4 / R (right). Esc quits.
Install steps and the full ROM list live in the repo README.