Play classic CHIP-8 games from the command line using fuzzy name matching.
Study a working, tested implementation of all 35 CHIP-8 opcodes written in C.
Validate a new CHIP-8 implementation against the same test suite and IBM logo ROM this project uses.
Install a persistent chipx command that browses and launches any ROM from a bundled library.
Requires a C compiler, make, and the SDL2 development libraries installed before building.
chipx is an emulator for CHIP-8, an old, simple virtual computer system that many classic homebrew games were written for in the 1970s and 1980s. It is written in C and uses the SDL2 library to draw graphics, read keyboard input, and play the beeping square-wave sound that CHIP-8 programs use for their timer. It implements the full CHIP-8 instruction set, all 35 opcodes, and its correctness has been checked against a well known CHIP-8 test suite as well as an IBM logo test program. After building the project with a C compiler and make, you can run a ROM directly by its exact filename or by a shorter fuzzy match, such as typing tetris instead of the full file name. The project also comes with an install script that copies the emulator and its bundled library of ROMs to your home folder and sets up a chipx command you can run from any terminal. Once installed, running chipx with no arguments shows a numbered menu of every included ROM, and running it with a game name launches that game directly, prompting you to choose if more than one ROM matches. CHIP-8 originally used a 16-key hexadecimal keypad, which this emulator maps onto a standard keyboard's 1234, QWER, ASDF, and ZXCV keys, though the exact controls for each game vary and are described in that ROM's accompanying text file where available. Pressing Backspace quits the emulator at any time. The included ROM library is sourced from a separate public domain collection of CHIP-8 programs, with original authorship credited where known. The chipx project itself is released under the MIT License, though the bundled ROMs keep whatever licensing or public domain status they already had from their original sources.
chipx is a C and SDL2 CHIP-8 emulator with a global command-line tool for fuzzy-launching classic CHIP-8 games from a bundled ROM library.
Mainly Roff. The stack also includes C, SDL2, Make.
MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice. Bundled ROMs keep their own separate licensing.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.