Chips › Processors › Fantasy & virtual CPUs › CHIP-8
CHIP-8
1977
Interpreted virtual machine from the 1970s designed for simple games, now a classic emulator-writing exercise.
CHIP-8 Online Emulator
Play CHIP-8 using JavaScript directly in your browser.
Controls
CHIP-8 keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen hex keys. These demo ROMs need no input.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
CHIP-8 keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen hex keys. These demo ROMs need no input.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Hex keypad → keyboard: 1 2 3 4, Q W E R, A S D F and Z X C V map to the sixteen CHIP-8 keys. Click the screen, then use the keypad (or the on-screen keypad in the Controls window) to play.
Configurations
| Configuration | Emulator | Machine | OS | Legal | |
|---|---|---|---|---|---|
| Hex Font Demo | Octo | CHIP-8 | open | Open ⛶ | |
| Into The GarlicScape (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Solid Box | Octo | CHIP-8 | open | Open ⛶ | |
| Black Rainbow (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ | |
| An Evening to Die For (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Super NeatBoy (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Octoma (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Skyward (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Truck Simul8or (XO-CHIP) | SUPER-CHIP / XO-CHIP | XO-CHIP | open | Open ⛶ | |
| Octopeg (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ | |
| Eaty The Alien (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ | |
| Super Octogon (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ | |
| Rockto (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ | |
| Sub-Terr8nia (SUPER-CHIP) | SUPER-CHIP / XO-CHIP | SUPER-CHIP | open | Open ⛶ |
Downloads - ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| Solid Box | demo | 18 | open | Download ↓ |
| Hex Font Demo | demo | 36 | open | Download ↓ |
| Black Rainbow | demo | 3302 | open | Download ↓ |
| Eaty The Alien | game | 3431 | open | Download ↓ |
| Octopeg | game | 3512 | open | Download ↓ |
| Rockto | game | 1594 | open | Download ↓ |
| Sub-Terr8nia | game | 3579 | open | Download ↓ |
| Super Octogon | game | 3581 | open | Download ↓ |
| An Evening to Die For | game | 23207 | open | Download ↓ |
| Into The GarlicScape | demo | 8947 | open | Download ↓ |
| Octoma | game | 9201 | open | Download ↓ |
| Skyward | game | 55226 | open | Download ↓ |
| Super NeatBoy | game | 10084 | open | Download ↓ |
| Truck Simul8or | game | 2404 | open | Download ↓ |
Machines
Emulators
| Emulator | Type | License | Site |
|---|---|---|---|
| Cadmium | both | GPL-3.0 | Website ↗ |
| Chip8.js | both | MIT | Website ↗ |
| Emma 02 | downloadable | GPL-3.0 | Website ↗ |
| JAXE | downloadable | MIT | Website ↗ |
| Octo | online | MIT | Website ↗ |
| SUPER-CHIP / XO-CHIP | online | MIT | Website ↗ |
| Silicon8 | online | GPL-3.0 | Website ↗ |
| Wernsey CHIP-8 | downloadable | MIT | Website ↗ |
Reference & documentation
External technical references for programming CHIP-8 and for writing emulators.
| Resource | Type | Notes |
|---|---|---|
| CHIP-8 Variant Opcode Table (Gulrak) ↗ | Instruction set | Every opcode across CHIP-8/SCHIP/XO-CHIP variants with quirks |
| CHIP-8 Instruction Set (mattmikolay) ↗ | Instruction set | Clean table of all 35 opcodes with notation |
| CHIP-8 Technical Reference (mattmikolay) ↗ | Memory map | Memory layout, registers, timers, display, fonts |
| Guide to making a CHIP-8 emulator (Langhoff) ↗ | Programming | Thorough implementation guide covering all 35 instructions |
| How to write an emulator: CHIP-8 (Multigesture) ↗ | Programming | Classic C/C++ tutorial with all opcodes explained |
| CHIP-8 Program Database ↗ | ROMs | ROM metadata: platform, quirks, controls, hashes |
| trapexit CHIP-8 Documentation Collection ↗ | Reference | Opcode tables across many CHIP-8 variants and hardware |
| Timendus CHIP-8 Test Suite ↗ | Test suite | Conformance ROMs: opcodes, flags, quirks, keypad, scrolling |
| corax89 CHIP-8 Test ROM ↗ | Test suite | Visual opcode-correctness test ROM for emulators |
| Chiplet CHIP-8 Assembler/Disassembler (Gulrak) ↗ | Tool | Octo assembler, disassembler, variant detector CLI |