CHIP-8 emulators
CHIP-8 implemention of Pong | |
Developer | Joseph Weisbecker |
---|---|
Release date | 1977 or 1978 |
Emulated | ✓ |
- Note: The terms 'emulator', 'interpreter' and 'simulator' are used interchangeably by developers of CHIP-8 interpreters.
CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker. Designed to be easy to program for and to use less resources than programming languages like BASIC. [1]
Adoption[edit]
- For more information on computers with CHIP-8 support, see List of computers.
- There have been multiple communities that have used CHIP-8.
In the late 1970s to 1980s microcomputer kit communities are where CHIP-8 was first popular, on systems such as the DREAM 6800, COSMAC VIP, HUG1802/ETI-660, Oscom Nano, Telmac 1800, Telmac 2000, and V-ELF
This is due to systems like the COSMAC VIP endorsing and including CHIP-8 programs with the machine.[2] In these communities CHIP-8 programs and extensions were being shared with newsletters, like 'DREAMER' and 'VIPER magazine'
Later, in the 1990s CHIP-8 began to be popular on graphing calculators. This community started when a CHIP-8 interpreter called CHIP-48, the origin the 'CHIP-48' extension was released on the HP-48 in 1990. In 1991 the 'SUPER-CHIP' interpreter was created, with the 'SUPER-CHIP' (A.K.A S-CHIP or SCHIP) extension being a derivative of CHIP-48.[3]
There have been other communities that have created and ported interpreters, devices such as consoles. With interpreters still being made for consoles and computers, as well as many other old and new devices. In the 2010s the Octojam competition started with the creation of XO-CHIP, which was created in 2014[4]. Octojam ran from 2014-2023, [5] had dozens of CHIP-8, S-CHIP, and XO-CHIP programs created for it.
Contents
Interpreters[edit]
Computers[edit]
Name | Platform(s) | Latest version | Libretro Core | Extension(s) | Accuracy | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
Cadmium | git | ✗ | CHIP-8 S-CHIP XO-CHIP Others |
Cycle | ✓ | ✓ | ✓ | |
C-Octo | git | ✗ | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✓ | ✓ | |
CubeChip-SDL | git | ✗ | CHIP-8 S-CHIP XO-CHIP Others |
High | ✓ | ✓ | ✓ | |
JAXE | [N 1] | git libretro core |
✓ | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✓ | ✓ |
MegaJIT-8 | git | ✗ | CHIP-8 | High | ✓ | ✓ | ✓ | |
Dorito | git | ✗ | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✗ | ✓ | |
chip8swemu-sdl2 | git | ✗ | CHIP-8 S-CHIP |
Mid | ✓ | ✗ | ✓ | |
DSP | git | ✗ | CHIP-8 S-CHIP |
Mid | NC | ✓ | ✓ | |
Fish 'N' Chips | 2.1.5 2.1.5 source code |
✗ | CHIP-8 CHIP-8X S-CHIP |
High | ? | ✗ | ✓ | |
Pin8 | git | ✗ | CHIP-8 | Mid | NC | ✗ | ✓ | |
InfoChip8 | 0.1J git (fork) |
✗ | CHIP-8 | Low-Mid Mid |
✓ | ✗ | ~ | |
shmip8 | git | ✗ | CHIP-8 | Low-Mid | ✓ | ✗ | ~ | |
Vision-8 | 1.0 | ✗ | CHIP-8 | Mid | NC | ✗ | ~ | |
SVision-8 | ? | ✗ | CHIP-8 S-CHIP |
Mid | NC | ✗ | ~ | |
CHIP-8 Interpreter | git | ✗ | CHIP-8 | Mid | ? | ✗ | ~ | |
C8 | git | ✗ | CHIP-8 | Low | ? | ✗ | ✗ | |
Chip8 | 2.2.0 | ✗ | CHIP-8 S-CHIP |
Low | ✗ | ✗ | ✗ | |
DOS Chip-8 / VChip-8 | 1.1 | ✗ | CHIP-8 S-CHIP* |
Low-Mid | ? | ✗ | ✗ | |
OmniChip-8 | git | ✗ | CHIP-8 | Low | ✓ | ✓ | ✗ | |
CowChip | 0.2 | ✗ | CHIP-8 | Low-Mid | ✗ | ✗ | ✗ | |
Chip8-DOS | git | ✗ | CHIP-8 | Low | ✓ | ✗ | ✗ | |
CHIP-8 Emulator | git | ✗ | CHIP-8 | Low-Mid | ✓ | ✗ | ✗ | |
CHIP-8 | ZealOS | git | ✗ | CHIP-8 | Low | PD | ✗ | ✗ |
Emu OS | x86 CPUs | git | ✗ | CHIP-8 | TBD | ✓ | ✗ | ! |
Mobile/ARM[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|
Chip8 | 0.7.1 git |
CHIP-8 | High | ✓ | ✗ | ✓ | |
ChipChip | 1.8.0 | CHIP-8 S-CHIP MegaChip |
Mid | ✗ | ✓ | ✓ | |
C-Octo | git | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✓ | ✓ | |
iPhone-Chip-8-Emulator | git | CHIP-8 S-CHIP |
TBD | NC | ✗ | ~ | |
WinRT-CHIP8 | git | CHIP-8 | TBD | ✓ | ✗ | ! | |
PalmChip8 | 1.0 | CHIP-8 S-CHIP |
TBD | ✗ | ✗ | ! | |
emuchip8me | J2ME | git | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! |
DALE-8 | git | CHIP-8 | TBD | PD | ✗ | ! | |
Pico-CHIP8 | git | CHIP-8 | TBD | ✓ | ✗ | ! | |
MeltChip | BlackBerry PlayBook | git | CHIP-8 | TBD | ✓ | ✗ | ! |
Browser[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|
Octo | Website git |
CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✓ | ✓ | |
Cadmium | Website git |
CHIP-8 S-CHIP XO-CHIP Others |
Cycle | ✓ | ✓ | ✓ | |
Silicon8 | Website git |
CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✗ | ✓ | |
Chip-8 | Website git |
CHIP-8 | High | ✓ | ✓ | ✓ | |
Chip8.js | Website git |
CHIP-8 | Mid* | ✓ | ✗ | ~ | |
Flip8 Redux | 0.9 (Newgrounds) SourceForge 0.9 (Website)* |
CHIP-8 S-CHIP |
Mid* | ✓ | ✗ | ✗ |
Other computers[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Computer /m68k, PPC | |||||||||
Vision-8 | 1.0 | CHIP-8 | Mid | NC | ✗ | ✓ | |||
Chip-8 for Suns | SunOS | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
Crazy-8 | 1.0.4 | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | |||
MacVision-8 | 1.0 | CHIP-8 | Mid* | NC | ✗ | ! | |||
ChipEm | 0.4 Beta | CHIP-8 | TBD | ? | ✗ | ! | |||
Chip8 | ? | CHIP-8 | TBD | NC | ✗ | ! | |||
Home computers | |||||||||
CHIP-8 emulator | Acorn Electron | git | CHIP-8 S-CHIP |
High | ! | ✓ | ✓ | ||
Chip-8 | Atari 8-bit | git | CHIP-8 S-CHIP |
TBD | PD | ✓ | ! | ||
Chip09 | Tandy CoCo 2 Dragon 32/64 |
git | CHIP-8 | TBD | ? | ✗ | ! | ||
Vision-8 | MSX | 1.0 | CHIP-8 | High-Mid* | NC | ✗ | ! | ||
SVision-8 | MSX | ? | CHIP-8 S-CHIP |
High-Mid* | NC | ✗ | ! | ||
CHIP-OTTO | ZX Spectrum Next |
? | CHIP-8 | TBD | ✗ | ✗ | ! | ||
ZX Chip8 | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
C64 Chip-8 | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
OmniChip-8 | git | CHIP-8 | TBD | ✓ | ✓ | ! | |||
Chip-8 Emulator | ? | CHIP-8 | TBD | ✗ | ✗ | ! | |||
MoeCHIP-8 for C64 | git | CHIP-8 | TBD | ? | ✗ | ! | |||
Vic-20 Chip-8 Emulator | 1.11 | CHIP-8 | TBD | ✗ | ✗ | ! | |||
CHIP-8 Simulator BBC/Master | BBC Master |
? | CHIP-8 | TBD | ✗ | ✗ | ! | ||
Chip-8 | 26-Jan-98 | CHIP-8 | TBD | ? | ✗ | ! | |||
Portable computers/Pocket computers | |||||||||
SCHIP | 1.0 | CHIP-8 S-CHIP |
TBD | ✗ | ✗ | ! | |||
chip8 | Sharp PC-1350 Sharp PC-1360 Sharp PC-2500 |
git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
CHIP-850 | PC-G850 | ? | CHIP-8 | TBD | ✓ | ✗ | ! | ||
LXV8 | HP 95LX HP 100LX HP 200LX |
? | CHIP-8 | Mid* | NC | ✗ | ! | ||
CHIP8-100 | TRS-80 Model 100 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
IC35 Chip8 emulator | Siemans IC35 | 0.1 | CHIP-8 | TBD | ✓ | ✗ | ! |
Consoles[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Consoles | |||||||||
Chip8 Xbox One | ? | CHIP-8 | Mid | ✓ | ✗ | ✓ | |||
CHIP8 Emulator | 2.2 git |
CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ | |||
Chippy | 1.0 | CHIP-8 S-CHIP |
TBD | ? | ✗ | ✓ | |||
Chip 8 Emulator | 1.0a | CHIP-8 | TBD | ✗ | ✗ | ✓ | |||
Chip8-n64 | git | CHIP-8 | Mid | ? | ✗ | ✓ | |||
PSCHIP8 | git | CHIP-8 | Mid | ? | ✗ | ✓ | |||
Super Chip8x | git ROM |
CHIP-8 | Mid | ? | ✗ | ✓ | |||
CHIP8 | |
v1 | CHIP-8 | Mid | ? | ✗ | ✓ | ||
Chippi+ | Intellivision | ? | CHIP-8 | High | ✗ | ✗ | ✓ | ||
CHIP8 TO SMD | 2.0 | CHIP-8 S-CHIP |
Low | ✗ | ✗ | ~ | |||
Chip8-NX | git | CHIP-8 | Mid | ? | ✗ | ~ | |||
Chip8x | v5 | CHIP-8 S-CHIP |
Low-Mid | ✗ | ✗ | ~ | |||
Chip8-3DO | git | CHIP-8 | Low-Mid | ✓ | ✗ | ~ | |||
Chip8 Emulator | POC | CHIP-8 | Low | ? | ✗ | ~ | |||
chip-64 | git | CHIP-8 | TBD | ✓ | ✓ | ✗ | |||
CHIP-8 GENESIS | git | CHIP-8 | TBD | ? | ✗ | ✗ | |||
NES CHIP-8 | git ROM |
CHIP-8 | Mid | ✓ | ✗ | ✗* | |||
Sega Genesis CHIP-8 | git | CHIP-8 | TBD | ✓ | ✗ | ✗* | |||
CHIP-F8 | git | CHIP-8 | Mid | ? | ✗ | ✗* | |||
Chip-8 XNA | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
Whack-a-Mole | 0.900 | CHIP-8 | TBD | ? | ✗ | ! | |||
CrabEmu | 0.2.0 | CHIP-8 | TBD | ✓ | ✗ | ! | |||
SMS Chip-8 interpreter | git 0.21 |
CHIP-8 | TBD | ✓ | ✗ | ! | |||
CHIP-8 emulator | ? | CHIP-8 | TBD | ✗ | ✗ | ! | |||
chipce8 | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
Handhelds | |||||||||
Chip8me | 1.0 | CHIP-8 S-CHIP |
Mid | ✗ | ✗ | ✓ | |||
CEightY | git PND |
CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ | |||
GB-CHIP8 | git 0.6 |
CHIP-8 S-CHIP |
Mid | ✓ | ✗ | ✓ | |||
Vision-8 for Gameboy | 1.0 | CHIP-8 | Mid | NC | ✗ | ✓ | |||
Chip-3DS | 1.0 git |
CHIP-8 | Mid | ? | ✗ | ~ | |||
XOVITA | git | CHIP-8 | High | ✓ | ✓ | ! | |||
MicroCHIP | 1.0 git |
CHIP-8 S-CHIP |
Mid* | ? | ✗ | ~ | |||
PSP-Chip8 | 1.0 | CHIP-8 | Low | ✗ | ✗ | ~ | |||
Chip-8 Emulator | 1.0 Beta | CHIP-8 | Low | ? | ✗ | ~ | |||
VITA-8 | git | CHIP-8 | Low* | ? | ✗ | ✗ | |||
DreamChip | V4 | CHIP-8 | Low | ✗ | ✗ | ✗ | |||
GB-8 | git | CHIP-8 | High* | ✓ | ✗ | ✗* | |||
damaged chip8 | git | CHIP-8 | High* | ? | ✓ | ✗* | |||
Cobalt | git | CHIP-8 | High* | ✓ | ✗ | ✗* | |||
DrChip 8 | 09/20/02 | CHIP-8 | N/A | ✗ | ✗ | ✗* | |||
Chip8Adv | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
OmniChip-8 | git | CHIP-8 | TBD | ✓ | ✓ | ! | |||
Dingux-chip8 | ? | CHIP-8 | TBD | ? | ✗ | ! | |||
gpchip | ? | CHIP-8 | TBD | ? | ✗ | ! | |||
Chips1 | git | CHIP-8 S-CHIP XO-CHIP |
TBD | ✓ | ✓ | ! | |||
Chip8Pd | git | CHIP-8 | Mid | ? | ✗ | ! | |||
C8 | 0.2 | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | |||
EFCS | 0.1 | CHIP-8 | TBD | ? | ✗ | ! | |||
Chip8 | ? | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | |||
Chip-N | N-Gage | 0.1 | CHIP-8 | TBD | ? | ✗ | ! | ||
CHIP/8 | P/ECE | 20040504 | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
Chip-8-Pokitto | Pokitto | git | CHIP-8 | TBD | ? | ✗ | ! | ||
CHIP-8 mini | git | CHIP-8 | TBD | ✓ | ✗ | ! |
Other devices[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Calculators | |||||||||
SUPER-CHIP | HP48SX | 1.1 | S-CHIP | High | NC | ✗ | ✓ | ||
CHIP-48 | HP48GX HP48SX |
GX SX |
CHIP-48 | High | NC | ✗ | ✓ | ||
Chip8Emu | git | CHIP-8 | Mid | ✓ | ✗ | ✓ | |||
Schip8fx | Casio AFX Casio Fx-9860 |
1.11.0 | CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ | ||
C8SALT | TI-84 series | git | CHIP-8 S-CHIP |
Low-Mid | ✓ | ✗ | ✓ | ||
Chip-84 | git | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | |||
Chip84CE | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
Chip8-TI68k | TI-68k | git | CHIP-8 S-CHIP XO-CHIP* |
High* | ✓ | ✓ | ! | ||
Chip83 | TI-83 | 0.1 | CHIP-8 | TBD | ? | ✗ | ! | ||
Chip8/SChip8 Emulation Library | TI-92 TI-92+ |
0.9 Beta | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
CP300 Chip8 | Casio ClassPad 300 | 1.03 | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
Vinegar | TI-83 TI-83+ |
1.1 | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
uChip8 | TI-85 | 0.1 | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
CHIP8 | SwissMicros DM42 | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
CHIP8 | SwissMicros DM41X | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
HP Prime Chip8 Emulator | HP Prime | 1.6 | CHIP-8 | TBD | ? | ✗ | ! | ||
CHIP-8 | N0110 | Upilson git |
CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
Microcontrollers | |||||||||
8boy | git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | |||
ESPboy CHIP8 | ESPboy | git | CHIP-8 S-CHIP XO-CHIP |
TBD | ? | ✓ | ! | ||
ESP32TinyChip8 | ESP32 | git | CHIP-8 | TBD | PD | ✓ | ! | ||
chip8-esp8266 | ESP8266 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Tjipp8 | PIC16F17xx | git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
Chip-8 STM32 | STM32 | git | CHIP-8 CHIP-48 S-CHIP |
TBD | ✓ | ✓ | ! | ||
chip8-stm32 | STM32 | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
chip8stm32 | STM32 | git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
TIVA8 | TM4C123 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
ByteBoy | MSP430 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Firmware | |||||||||
CHIP-8 UEFI | git | CHIP-8 | TBD | ✓ | ✗ | ! | |||
GPCHIP | Miyoo | 0.0.1 | CHIP-8 | Low | ✓ | ✗ | ✓ | ||
PluginChip8 | ? | CHIP-8 S-CHIP |
Mid* | NC | ✗ | ✓ | |||
Fantasy computers/consoles | |||||||||
MegaZeux CHIP-8 Emulator | MegaZeux | 1.0 | CHIP-8 | Mid | ✗ | ✗ | ✓ | ||
CHIP-8 Emulator | 1.5 | CHIP-8 | TBD | ✗ | ✗ | ✗ | |||
CHIP-80 | Update 4 | CHIP-8 | TBD | ✗ | ✗ | ✗ | |||
CHIP8 Emulator | LowRes NX | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
SCHIP Interpreter | LowRes NX | Play Dev |
S-CHIP | TBD | ? | ✗ | ! | ||
Chip-8 emulator | Vircon32 | ? | CHIP-8 | TBD | ✓ | ✗ | ! | ||
chip8uxn | Uxn | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
minimicro-chip8 | MiniMicro | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
Uze8 | Uzebox | git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
FPGA | |||||||||
ICED Potato | ICE40UP5K | git | CHIP-8 S-CHIP XO-CHIP |
TBD | ✓ | ✗ | ! | ||
CHIP-8 console on FPGA | TinyFPGA BX | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
FpChip8 | Altera DE1 | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
FPGA Chip-8 Emulator | Zedboard FPGA | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Clash CHIP-8 | Nexys A7-50T | git | CHIP-8 | TBD | ? | ✗ | ! | ||
FPGA SuperChip | Digilent Nexys 3 MiST |
git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
CHIP-8 for FPGA | Arty A7-100T | git | CHIP-8 | TBD | PD | ✗ | ! | ||
Other | |||||||||
thumby-silicon8 | thumby | git | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✗ | ✓ | ||
chip8swemu | Game & Watch: Super Mario Bros | git | CHIP-8 S-CHIP |
Mid | ✓ | ✗ | ✓ | ||
fz-schip | Flipper Zero | git | S-CHIP | TBD | ✓ | ✗ | ? | ||
flipper-chip | Flipper Zero | git | CHIP-8 | TBD | ✓ | ✗ | ✗ | ||
Chip-8-WatchOS | WatchOS | git | CHIP-8 | TBD | ✓ | ✗ | ! |
Other platforms[edit]
Name | Platform(s) | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Text editor | |||||||||
chip-8.nvim | Neovim | git | CHIP-8 S-CHIP XO-CHIP |
TBD | ✓ | ✗ | ! | ||
chip8.el | Emacs | git | CHIP-8 S-CHIP |
TBD | ✓ | ? | ! | ||
Game Engine/Mod | |||||||||
CHIP8-GM | GameMaker | git | CHIP-8 S-CHIP |
High-Mid | ✓ | ✗ | ✓ | ||
Blit-8 | Minecraft | 1.0 | CHIP-8 | High | ✓ | ✗ | ~ | ||
Godot CHIP-8 Emulator | Godot (GDScript) | git git (fork) |
CHIP-8 | Low Low |
✓ | ✗ | ✗ | ||
CHIP-8 MC | Minecraft | git | CHIP-8 | Low-Mid | ✓ | ✗ | ✗ | ||
chip8emu-agk | AppGameKit Classic | git | CHIP-8 S-CHIP |
TBD | ✓ | ✗ | ! | ||
chip8 | Garry's Mod | ? | CHIP-8 | TBD | ? | ! | ! | ||
E2-CHIP-8-interpreter | Garry's Mod | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Chip8Unity | Unity | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
Chip8Interpreter4Unity | Unity | git | CHIP-8 | TBD | PD | ✗ | ! | ||
LOVE-8 | LÖVE | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
VChip8 | Counter-Strike: Global Offensive | git | CHIP-8 | TBD | ✓ | ✗ | ! | ||
Other | |||||||||
chipception | XO-CHIP | git Itch.io |
CHIP-8 | High | ✓ | ✗ | ✗ | ||
chip8.deck | Decker | ? git |
CHIP-8 | Mid | ✓ | ✗ | ! | ||
CHIP-8 Interpreter | Desmos | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
Chip-84 Rainmeter Edition | Rainmeter | git | CHIP-8 S-CHIP |
TBD | NC | ✗ | ! | ||
chip8 | MRE | 1 and 2 | CHIP-8 | Low | ? | ✗ | ! |
Name | Programming Language | Latest version | Extension(s) | Accuracy | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|
CHIP-36 | git | CHIP-8 S-CHIP XO-CHIP |
High | ? | ✗ | ✓ | |
SnxChip8 | ? | CHIP-8 | Mid | ✓ | ✗ | ✓ | |
SuperCHIP Emulator | git | CHIP-8 S-CHIP |
Mid | ✓ | ✗ | ✓ | |
DALE-8A | AWK | git | CHIP-8 | High-Mid | PD | ✗ | ✓ |
awk-chip8 | gawk | git | CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ |
fc8 | Fortran | git | CHIP-8 | High | ✓ | ✓ | ✓ |
AuChip | Processing | git | CHIP-8 S-CHIP XO-CHIP |
High | ✓ | ✓ | ✓ |
00SChip8 | PureBasic | 2016 git git (fork) |
CHIP-8 S-CHIP |
High-Mid High |
✓ | ✗ | ✓ |
Project Cherry | FreeBASIC | git git (fork) |
CHIP-8 S-CHIP |
Low-Mid Mid |
NC | ✗ | ✓ |
Odin Chip-8 Emulator | Odin | git | CHIP-8 | Mid | ? | ✗ | ✓ |
Chip8 | Visual Basic .NET | git | CHIP-8 | Mid | ✓ | ✓ | ✓ |
chip8 | SpecBAS | git | CHIP-8 | High | PD | ✓ | ✓ |
chip8 | BlitzMax | git | CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ |
VB Chip-8 | Visual Basic | ? | CHIP-8 S-CHIP |
Mid | ? | ✗ | ~ |
Chip8 SmallBasic | SmallBasic | git | CHIP-8 | Low* | ? | ✗ | ✗ |
WAVE Multi-Emulator | Scratch | 1.1.2 git |
CHIP-8 S-CHIP XO-CHIP Others |
High | ? | ✗ | ✗ |
chip-8-vba | Visual Basic for Applications | git git (fork) |
CHIP-8 | Very Low Mid |
PD | ✗ | ✗ |
VChip 8 | Visual Basic | git | CHIP-8 S-CHIP |
Very Low* | ? | ✗ | ✗ |
Chip8VB | Visual Basic .NET | git | CHIP-8 | Low | ? | ✗ | ✗ |
Chip8 Interpreter | PureBasic | ? | CHIP-8 | TBD | ? | ✗ | ! |
PHP Chip-8 Emulator | PHP | git | CHIP-8 | TBD | ✓ | ✗ | ! |
cl-chip8 | Common Lisp | git | CHIP-8 | TBD | ✓ | ✗ | ! |
Descriptions[edit]
PC/Multi-system
Interpreters that support PC (x86), includes alternative systems the interpreter supports.
- Cadmium (PC, Web)
- By far the most comprehensive interpreter for CHIP-8 and its extensions, with profiles and options for specific extensions and implementations, full list here. Cadmium does however have a hard to navigate GUI for a new users.
- C-Octo (PC, Raspberry Pi, PocketCHIP)
- Simple GUI to enable compatibility with CHIP-8, S-CHIP and XO-CHIP.
- CubeChip-SDL (PC)
- Drag and drop to load ROMs.
- JAXE (PC, Libretro)
- Good selections of options for emulation, Defaults to S-CHIP mod.
- MegaJIT-8 (PC)
- Placeholder text.
- Dorito (PC)
- Placeholder text.
- chip8swemu (PC, G&W)
- Simple GUI with, easy to navigate.
- DSP (PC)
- Hard to navigate GUI.
- Fish 'N' Chips (Windows)
- Simple GUI with, easy to navigate.
- Pin8 (Haiku)
- Can use either in-app buttons or keyboard keys for input.
- InfoChip8 (Windows)
- Rainbow color palette, odd key-mapping. Nothing else notable, command line/Terminal. The fork uses the standard keymapping.
- shmip8 (PC)
- Needs ROM to be specified in command line/terminal.
- Vision-8 (PC, Coleco, Amiga, MSX)
- Blurry resolution scaling (Windows).
- SVision-8 (PC, Coleco, Amiga, MSX)
- Adds S-CHIP support to Vision-8
- CHIP-8 Interpreter (DOS)
- Nothing notable, command line/Terminal.
- C8 (DOS)
- Nothing notable, command line/Terminal.
- Chip8 (DOS)
- Odd key-mapping. Nothing else notable, command line/Terminal.
- DOS Chip-8 / VChip-8 (DOS)
- Nothing notable, command line/Terminal.
- OmniChip-8 (PC, Commodore 64, Game Boy)
- CowChip (Windows)
- Sensitive to illegal function calls and crashes due to them.
- Chip8-DOS (DOS)
- Nothing notable, command line/Terminal.
- CHIP-8 Emulator (KolibriOS)
- Nothing notable, command line/Terminal.
- CHIP-8 (ZealOS)
- Simple ROM selection, using the Escape key or double-clicking when the ROM is highlighted to run.
- Emu OS (x86 CPU)
- Placeholder text.
- Mobile / ARM
- Chip8 (Android)
- Touchscreen buttons for keys.
- ChipChip (Android)
- Touchscreen buttons for keys.
- iPhone-Chip-8-Emulator (iOS)
- Placeholder text.
- WinRT-CHIP8 (Windows Phone)
- Placeholder text.
- PalmChip8 (PalmOS)
- Placeholder text.
- DALE-8 (KaiOS)
- Placeholder text.
- Pico-CHIP8 (Raspberry Pi Pico)
- Placeholder text.
- MeltChip (BlackBerry PlayBook)
- Placeholder text.
Web
- Octo
- IDE and interpreter, multiple extension support, compatibility profile for specific extensions (customizable).
- Silicon8
- allows selecting supported extensions (original, S-CHIP and XO-CHIP) and emulation speed.
- Chip-8
- currently only supports the original CHIP-8, load custom ROMs with the
load
button
- currently only supports the original CHIP-8, load custom ROMs with the
- Chip8.js
- Can't load custom CHIP-8 binaries/ROMs, new instance has to be made to add games. Good GUI inside a browser.
- Flip8 Redux
- Can't load custom CHIP-8 binaries/ROMs.
Computers (PPC, m64k)
- Chip-8 for Suns (SunOS)
- Placeholder text.
- Crazy-8 (Classic Mac OS)
- Placeholder text.
- MacVision-8 (Classic Mac OS)
- Placeholder text.
- ChipEm (Amiga)
- Placeholder text.
- Chip8 (Amiga)
- Placeholder text.
Home computers
- CHIP-8 emulator (Acorn Electron)
- Placeholder text.
- Chip-8 (Atari 8-bit)
- Placeholder text.
- Chip09 (Tandy CoCo 2, Dragon 32/64)
- Needs recompilation for custom ROMs, using [http:://www.lwtools.ca/ LWTOOLS].
- CHIP-OTTO (ZX Spectrum, ZX Spectrum Next)
- Includes games, no ROM selection interface (press
J
to go to next game). Can load games from a different tape.
- Includes games, no ROM selection interface (press
- ZX Chip8 (ZX Spectrum)
- Placeholder text.
- C64 Chip-8 (Commodore 64)
- Placeholder text.
- Chip-8 Emulator (Commodore 64)
- Placeholder text.
- MoeCHIP-8 for C64 (Commodore 64)
- Needs recompilation for custom ROMs, using KickAssembler.
- Vic-20 Chip-8 Emulator (VIC-20)
- Separate floppy disk for games, instructions in manual for custom ROMs.
- CHIP-8 Simulator BBC/Master (BBC Micro, BBC Master)
- Placeholder text.
- Chip-8 (RISC OS)
- Placeholder text.
Portable computers
- SCHIP (Windows CE)
- Placeholder text.
- chip8 (Sharp PC-1350, Sharp PC-1360, Sharp PC-2500)
- Placeholder text.
- CHIP-850 (PC-G850)
- Placeholder text.
- LXV8 (HP 95LX, HP 100LX, HP 200LX)
- Placeholder text.
- CHIP8-100 (TRS-80 Model 100)
- Placeholder text.
- IC35 Chip8 emulator (Siemans IC35)
- Placeholder text.
Console
- Chip8 Xbox One (Xbox one)
- Placeholder text.
- CHIP8 Emulator (Wii U)
- Placeholder text.
- Chippy (Wii)
- Very simple interface. Loads ROMs from
CHIP8
folder in your storage device. Unless you use an ancient HBC, you might receive a invalid elf error. The elf-dol_converter should workaround this.
- Very simple interface. Loads ROMs from
- Chip 8 Emulator (GameCube)
- Placeholder text.
- Chip8-n64 (Nintendo 64)
- Needs recompilation for custom ROMs, using Libdragon.
- PsChip8 (PlayStation)
- Needs recompilation for custom ROMs, using PSYQ SDK and GNU Make
- Super Chip8x (Super Nintendo)
- Can remap buttons on a per ROM bases. Needs recompilation for custom ROMs, using asar.
- CHIP8 (PlayStation 2, PlayStation 3)
- Placeholder text.
- Chippi+ (Intellivision)
- Comes bundled with CHIP-8 ROMs, aswell as a python program to convert them to ECS tapes. The interpreter is written in IntyBASIC.
- CHIP8 TO SMD (Genesis / Mega Drive)
- Placeholder text.
- Chip8-NX (Switch)
- Placeholder text.
- Chip8x (Xbox)
- Good interface. Can load ROMs from disk, HDD or any other storage device
- Chip8 Emulator (PlayStation 4)
- Placeholder text.
- Chip8-3DO (3DO)
- Needs recompilation for custom ROMs, using 3DODev.
- chip-64 (Nintendo 64)
- Doesn't work in tested emulators. Needs recompilation for custom ROMs, using bass.
- CHIP-8 GENESIS (Genesis / Mega Drive)
- Placeholder text.
- NES CHIP-8 (Nintendo Entertainment System)
- Needs recompilation for custom ROMs, using cc65.
- Sega Genesis CHIP-8 (Genesis / Mega Drive)
- Needs recompilation for custom ROMs, using SGDK
- CHIP-F8 (Channel F)
- Needs recompilation for custom ROMs, using dasm.
- Chip-8 XNA (Xbox 360)
- Placeholder text.
- Whack-a-Mole (Dreamcast)
- Placeholder text.
- CrabEmu (Dreamcast)
- Placeholder text.
- SMS Chip-8 interpreter (Master System)
- Placeholder text.
- CHIP-8 emulator (Saturn)
- Placeholder text.
- chipce8 (PC Engine / Turbo Grafx 16)
- Needs recompilation for custom ROMs, using PCEAS.
Handheld console
- Chip8me (Nintendo DS)
- Simple, easy to use GUI, loads ROMs from SD card..
- CEightY (Pandora)
- Placeholder text.
- Chip-3DS (3DS)
- Placeholder text.
- GB-Chip8 (Game Boy)
- Uses a included DOS program (Use DOSBox or Similar software to run this.), to save the ROMs to a Game Boy ROM file, with up to 11 ROMs being able to be saved onto it, with key customization available in the menu.
- Vision-8 for Gameboy (Game Boy)
- Uses a included DOS program (Use DOSBox or Similar software to run this.), to save the ROMs to a battery save file, with up to 7 ROMs being able to be saved onto it, with key customization for each CHIP-8 ROM. To exit current the ROM and go back to menu press
A
,B
,Start
andSelect
- Uses a included DOS program (Use DOSBox or Similar software to run this.), to save the ROMs to a battery save file, with up to 7 ROMs being able to be saved onto it, with key customization for each CHIP-8 ROM. To exit current the ROM and go back to menu press
- XOVITA (PlayStation Vita)
- Placeholder text.
- MicroCHIP (PlayStation Vita)
- Simple ROM selection.
- PSP-Chip8 (PlayStation Portable)
- Basic ROM selection interface.
- Chip-8 Emulator (PlayStation Portable)
- Placeholder text.
- VITA-8 (PlayStation Vita)
- Placeholder text.
- DreamChip (PlayStation Portable)
- Placeholder text.
- GB-8 (Game Boy)
- Basic ROM selection interface, to exit current the ROM and go back to menu press
A
,B
,Start
andSelect
at the same time. Needs recompilation for custom ROMs, using RGBDS v0.5.0.
- Basic ROM selection interface, to exit current the ROM and go back to menu press
- damaged chip8 (Game Boy)
- Uses
SELECT
to switch ROMs. Needs recompilation for custom ROMs, using RGBDS v0.3.10.
- Uses
- Cobalt (Game Boy)
- No ROM selection, have to edit /src/rom.s and re-compile. Needs hardware.inc to compile, Needs recompilation for custom ROMs, using RGBDS.
- DrChip 8 (Game Boy Advance)
- Pressing
L
andR
triggers to exit to menu, Can't insert custom ROMs.
- Pressing
- 'Chip8Adv (Game Boy Advance)
- Placeholder text.
- Dingux-chip8 (Dingoo)
- Placeholder text.
- gpchip (Dingoo)
- Placeholder text.
- Chips1 (WonderSwan)
- Placeholder text.
- Chip8Pd (Playdate)
- Placeholder text.
- C8 (GP32)
- Placeholder text.
- EFCS (GP2X)
- Placeholder text.
- Chip8 (Lynx)
- Placeholder text.
- Chip-N (N-Gage)
- Placeholder text.
- CHIP/8 (P/ECE)
- Placeholder text.
- Chip-8-Pokitto (Pokitto)
- Placeholder text.
- CHIP-8 mini (Pokémon mini)
- Needs recompilation for custom ROMs, using PMAS.
Calculator
- SUPER-CHIP (HP48SX)
- Placeholder text.
- CHIP48 (HP48GX, GP48SX)
- Placeholder text.
- Chip8Emu (TI-Nspire)
- Placeholder text.
- schip8fx (Casio AFX, Casio fx-9860G)
- Placeholder text.
- C8SALT (TI-83+, TI-83+ SE, TI-84+, TI-84+ SE, TI-84+ C SE, TI-84+ CE)
- Placeholder text. The interpreter is written in TI-BASIC.
- Chip-84 (TI-84+ CE)
- Placeholder text.
- Chip84CE (TI-84+ CE)
- Placeholder text.
- Chip8-TI68k (TI-68k)
- Placeholder text.
- Chip83 (TI-83)
- Placeholder text.
- Chip8/SChip8 Emulation Library (TI-92, TI-92+)
- Placeholder text.
- CP300 Chip8 (Casio ClassPad 300)
- Placeholder text.
- Vinegar (TI-83, TI-83+)
- Placeholder text.
- uChip8 (TI-85)
- Placeholder text.
- HP Prime Chip8 Emulator (HP Prime)
- Placeholder text.
- CHIP-8 (N0110)
- Placeholder text.
Microcontrollers
- 8boy (Arduino)
- Placeholder text.
- ESPboy CHIP8 (ESPboy)
- Placeholder text.
- ESP32TinyChip8 (ESP32)
- Placeholder text.
- chip8-esp8266 (ESP8266)
- Placeholder text.
- Tjipp8 (PIC16F17xx)
- Placeholder text.
- Chip-8 STM32 (STM32)
- Placeholder text.
- chip8-stm32 (STM32)
- Placeholder text.
- chip8stm32 (STM32)
- Placeholder text.
- TIVA8 (TM4C123)
- Placeholder text.
- ByteBoy (MSP430)
- Placeholder text.
Firmware
- CHIP-8 UEFI (UEFI)
- Needs recompilation for custom ROMs, using EDK II.
- GPCHIP (Miyoo)
- Placeholder text.
- PluginChip8 (Rockbox)
- Due to systems having less buttons than the original CHIP-8 key mapping there is a custom system for changing the key mapping.
Fantasy consoles/computers
- CHIP-8 Emulator (PICO-8)
- Can't load custom CHIP-8 binaries/ROMs.
- CHIP-80 (TIC-80)
- Can't load custom CHIP-8 binaries/ROMs.
- CHIP8 Emulator (LowRes NX)
- Placeholder text.
- SCHIP Interpreter (LowRes NX)
- Placeholder text.
- Chip-8 emulator (Vircon32)
- Custom ROMs need to use this ROM conversion tool.
- chip8uxn (Uxn)
- Placeholder text.
- minimicro-chip8 (MiniMicro)
- Placeholder text.
Other
- fz-schip (Flipper Zero)
- Placeholder text.
- flipper-chip (Flipper Zero)
- does not support any controls/input. [6]
- Chip-8-WatchOS (WatchOS)
- Placeholder text.
- Uze8 (Uzebox)
- Placeholder text.
FPGA
- ICED Potato (ICE40UP5K)
- Placeholder text.
- CHIP-8 console on FPGA (TinyFPGA BX)
- Placeholder text.
- FpChip8 (Altera DE1)
- Placeholder text.
- FPGA Chip-8 Emulator (Zedboard FPGA)
- Placeholder text.
- Clash CHIP-8 (Nexys A7-50T)
- Placeholder text.
- FPGA SuperChip (Digilent Nexys 3, MiST)
- Placeholder text.
- CHIP-8 for FPGA (Arty A7-100T)
- Placeholder text.
- Text editor
- chip-8.nvim (Neovim)
- Placeholder text.
- chip8.el (Emacs)
- Placeholder text.
Game Engine
- CHIP8-GM (GameMaker)
F1
to show prompts (buttons for actions) and key mappings
- MegaZeux CHIP-8 Emulator (MegaZeux)
- Loads games in the same root folder, case-insensitive.
- Blit-8 (Minecraft)
- Requires the Computer Craft mod, saved in the world folder in a subfolder of the
computer
folder.
- Requires the Computer Craft mod, saved in the world folder in a subfolder of the
- Godot CHIP-8 Emulator (Godot)
- Needs recompilation for custom ROMs, using Godot 3.0 or a compatible version for custom ROMs.
- chip8emu-agk (AppGameKit Classic)
- Placeholder text. The interpreter is written in AppGameKit 2 BASIC
- CHIP-8 MC (Minecraft)
- Placeholder text.
- chip8 (Garry's Mod)
- Placeholder text.
- E2-CHIP-8-interpreter (Garry's Mod)
- Placeholder text.
- Chip8Unity (Unity)
- Placeholder text.
- Chip8Interpreter4Unity (Unity)
- Placeholder text.
- VChip8 (Counter-Strike:: Global Offensive)
- Placeholder text.
- LOVE-8 (LÖVE)
- Placeholder text.
Other
- chipception (XO-CHIP)
- CHIP-8 interpreter inside XO-CHIP.
- chip8.deck (Decker)
- Placeholder text.
- CHIP-8 Interpreter (Desmos)
- Placeholder text.
- Chip-84 Rainmeter Edition (Rainmeter)
- is blurry when set to a resolution higher than the original CHIP-8 due to Rainmeter not supporting nearest neighbor pixel interpolation.
- chip8 (MRE)
Programming languages
- CHIP-36 (Java)
- Simple GUI.
- SnxChip8 (Java)
- Nothing notable, command line/Terminal.
- SuperCHIP Emulator (Java)
- Nothing notable, command line/Terminal.
- DALE-8A (AWK)
- Displays inside terminal. Nothing else notable, command line/Terminal.
- awk-chip8 (gawk)
- Displays inside terminal. Nothing else notable, command line/Terminal.
- fc8 (Fortran)
- Nothing notable, command line/Terminal.
- AuChip (Processing)
- Supports the same platforms as the desktop Processing IDE, currently Windows, Linux and mac OS.
- 00SChip8 (PureBasic)
- Simple GUI, odd key-mapping. The fork uses the standard keymapping and adds option for Switching between Quirks
- Project Cherry (FreeBASIC)
- Nothing notable, command line/Terminal. Option in the fork to choose S-CHIP or CHIP-8 quirks
- Odin Chip-8 Emulator (Odin)
- Nothing notable, command line/Terminal.
- Chip8 (Visual Basic .NET)
- Placeholder Text. The interpreter is a example program for vbPixelGameEngine, a game-engine framework.
- chip8 (SpecBAS)
- Basic GUI-based ROM selection. The interpreter is a example program written in SpecBAS, a Sinclair BASIC deriviated language.
- chip8 (BlitzMax)
- Can Loads games via drag-and-drop, Crashes when illegal opcodes are called.
- VB Chip-8 (Visual Basic)
- Remappable keys, slows down when debug option is enabled.
- Chip8VB (Visual Basic .NET)
- Placeholder text.
- Chip8 SmallBasic (SmallBasic)
- Placeholder text.
- WAVE Multi-Emulator (Scratch)
- Placeholder text.
- chip-8-vba (Visual Basic for Applications)
- Slow executation in some ROMs, stops execution when a invalid call is made. Only runs in Microsoft Excel.
- VChip 8 (Visual Basic)
- Basic GUI.
- Chip8 Interpreter (PureBasic)
- Placeholder text.
- emuchip8me (J2ME)
- Placeholder text.
- PHP Chip-8 Emulator (PHP)
- Placeholder text.
- cl-chip8 (Common Lisp)
- Placeholder text.
Extensions[edit]
- For detailed information on CHIP-8 extensions see: CHIP-8 extensions and compatibility
The original CHIP-8 is more supported than any extension, the most supported extensions are: S-CHIP and XO-CHIP.
Extensions to CHIP-8 since the 1970s, with many with over-lapping features, such as the expansions to the resolution, I/O and other improvements/additions. CHIP-8, and its extensions are based on implementing opcodes in interpreters.[7]
When extensions change the behavior of an opcode it makes the specific opcode when used incompatible with other extensions, most derivative extensions try to maintain backward compatibility with 'parent' extension. If commonly used or many opcodes' behavior is change it will large incompatibilities with extensions.
A summarized list of the CHIP-8 extensions below:
Extensions created for HP-48:
- CHIP-48
- SUPER-CHIP
Extensions created for other systems:
- Mega-Chip
- XO-CHIP
Extensions created for the COSMAC VIP:
Visual: Two-page display for CHIP-8, CHIP-10, Hi-res CHIP-8, CHIP-8E, CHIP-8X, Two-page display for CHIP-8X, Hi-res CHIP-8X
I/O: CHIP-8I, CHIP-8II, CHIP-8III, HI-RES CHIP-8 with I/O, CHIP-8Y
Other: CHIP-8E, CHIP-8M
See also[edit]
External links[edit]
- Chip-8 Database - Games, Programs and demos for: CHIP-8, CHIP-8X, SCHIP, XO-CHIP and MegaCHIP.
- CHIP-8 Pack - Older version of the above, done by the now offline site chip8.com. Last updated in 2011, no XO-CHIP applications.
- CHIP-8 Archive - CHIP-8, S-CHIP and XO-CHIP programs licensed under the CC0 license.
- CHIP-8 Public Domain ROMs - Zophar's Domain - CHIP-8 and S-CHIP programs that are Public Domain.
- Let's Emu Chip-8 Emulator Lists Windows CHIP-8 interpreters not listed here.
- The GitHub topics: CHIP-8 emulator, CHIP-8 and CHIP-8 interpreter. Which may have intepreters not listed here.
- Awesome CHIP-8 - Lists resources for CHIP-8.
- CHIP-8 Test suite - Test suite to see compatibility of interpreters.
References[edit]
- Notes