Awesome CHIP-8
A curated list of awesome CHIP-8 resources, tools, documentation, related projects and open source ROMs.
Created in 1977, CHIP-8 is the original fantasy console. Initially designed to ease game development for the COSMAC VIP kit computer, it has enjoyed several revivals over the decades for new and exciting platforms. Today, creating a CHIP-8 implementation is a rite of passage for anyone interested in learning about emulation.
To add something to this list, please see the contribution guidelines.
Community
- COSMAC Elf Group - Group for discussion of the COSMAC Elf, as well as anything else RCA 1802-related, including COSMAC VIP and CHIP-8.
- #chip8 channel on the Emulation Development Discord server - Chat for discussing development of CHIP-8 emulators/interpreters.
- OctoJam - An Octo-centric game jam held every October.
Documentation
- Mastering CHIP-8 - In-depth overview of the CHIP-8 instruction set.
- CHIP-8 Instruction Set - Quick cheat sheet for CHIP-8 instructions.
- CHIP-8 Instruction Set - A comprehensive instruction/opcode table.
- CHIP-8 Technical Reference - Overview of how the CHIP-8 interpreter works.
- CHIP-8 Extensions Reference - A list of CHIP-8 variants and extensions.
- Chip-8 on the COSMAC VIP - An in-depth disassembly and analysis of the original CHIP-8 interpreter on the COSMAC VIP.
- HP48-Superchip - An in-depth look at CHIP48 and Super-CHIP for the HP48 calculators, and modifications to make them CHIP-8 compatible.
- Octo Extensions - Specification for Octo’s XO-CHIP extension.
Emulator/interpreter development
- How to write an emulator (CHIP-8 interpreter) - A guide to developing a CHIP-8 interpreter in C/C++.
- Emulator 101: CHIP-8 - A guide to developing a CHIP-8 disassembler and interpreter in C.
- Chip 8 Instruction Scheduling and Frequency - Timing of CHIP-8 instructions on the COSMAC VIP.
- High-level guide to making a CHIP-8 emulator
Testing
- chip8-test-rom - corax89’s CHIP-8 test program, which tests most instructions for correct (Super-CHIP compliant) behavior.
- Delay timer test
- Random number test
Emulators/interpreters
- Octo - An IDE for development of CHIP-8, Super-CHIP and XO-Chip games.
- Emma02 - An emulator for many old microcomputers, including COSMAC VIP, Telmac 1800 and ETI 660, which ran early CHIP-8 interpreters (which are included in the emulator).
- Super-Chip8x - CHIP-8 emulator for the SNES.
- CHIP-8 console on FPGA - A CHIP-8 emulator for the TinyFPGA BX chip.
- Vinegar - CHIP-8/Super-CHIP interpreter for TI-83 (Plus) calculators.
Software development
Tools
- Octo - A high-level assembler for CHIP-8, Super-CHIP and XO-CHIP, complete with an environment for testing programs, and tools for sharing your creations.
- wernsey chip8 - A CHIP-8 assembler/disassembler.
- EZ-Bake Animator - A graphics preparation tool that creates XOR-ed animations.
- EZ-Writer - A tool for converting text into CHIP-8 sprites.
- EZ-Pack - An image slicing/repaletting tool.
- Chipify - A script that filters and encodes mono-channel WAV audio to XO-CHIP audio.
- octofont - Convert TrueType (ttf) fonts to Octo code for CHIP-8.
Guides and snippets
- Octo manual - The manual for Octo.
- A Beginner’s Guide to Programming with Chip8 - An introductory guide to CHIP-8 programming in Octo.
- An Intermediate Guide to Game Development with Chip8 - Remaking the Atari 2600 game “Outlaw” for CHIP-8 in Octo.
- Chip8 Programming Techniques - Many different programming tips for CHIP-8.
- Octo Metaprogramming Cookbook - How to use Octo’s assembly directives for meta-programming.
- Mastering SuperChip - How to make games compatible with CHIP-8 and Super-CHIP, as well as some Super-CHIP specific techniques.
- Adventures in Sorting - Implementing efficient sorting algorithms in Octo for CHIP-8.
- hip8-multiply - Multiplication routines for CHIP-8, written in Octo.
Postmortems
- Inside Eaty the Alien
- Octopeg Post Mortem
- CosmacCalc: The COSMAC VIP’s place in Spreadsheet History
- Inside Cave Explorer
- Inside Black Rainbow
- Postmortem: Mini Lights Out
Games
- CHIP-8 Archive - A collection of public domain (CC0) games, all playable online.
- A collection of CHIP-8 programs and documentation - Matt Mikolay’s games, programs and documentation.