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
- 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.
Accuracy is tested with the CHIP-8, to test CHIP-8, S-CHIP and XO-CHIP.
Contents
Interpreters
Computers
Name | Platform(s) | Latest version | Libretro Core | Extension(s) | Accuracy | License | Active | Recommended |
---|---|---|---|---|---|---|---|---|
Cadmium | git | ✗ | CHIP-8 S-CHIP XO-CHIP Others |
Cycle | MIT (Permissive) | ✓ | ✓ | |
C-Octo | git | ✗ | CHIP-8 S-CHIP XO-CHIP |
High | MIT (Permissive) | ✓ | ✓ | |
CubeChip-SDL | git | ✗ | CHIP-8 S-CHIP XO-CHIP Others |
High | MPL 2.0 (Copyleft) | ✓ | ✓ | |
JAXE | [N 1] | git libretro core |
✓ | CHIP-8 S-CHIP XO-CHIP |
High | MIT (Permissive) | ✓ | ✓ |
MegaJIT-8 | git | ✗ | CHIP-8 | High | MIT (Permissive) | ✓ | ✓ | |
Dorito | git | ✗ | CHIP-8 S-CHIP XO-CHIP |
High | ? | ✗ | ✓ | |
ZX-Chip8 | git | ✗ | CHIP-8 CHIP-8X S-CHIP Others |
Cycle | ? | ✓ | ✓ | |
chip8swemu-sdl2 | git | ✗ | CHIP-8 S-CHIP |
Mid | MIT (Permissive) | ✗ | ✓ | |
DSP | git | ✗ | CHIP-8 S-CHIP |
Mid | Non-commercial | ✓ | ✓ | |
Fish 'N' Chips | 2.1.5 2.1.5 source code |
✗ | CHIP-8 CHIP-8X S-CHIP |
High | ? | ✗ | ✓ | |
Pin8 | git | ✗ | CHIP-8 | Mid | Non-commercial | ✗ | ✓ | |
InfoChip8 | 0.1J git (fork) |
✗ | CHIP-8 | Low-Mid Mid |
Apache 2.0 (Permissive) | ✗ | ~ | |
shmip8 | git | ✗ | CHIP-8 | Low-Mid | MIT (Permissive) | ✗ | ~ | |
Vision-8 | 1.0 | ✗ | CHIP-8 | Mid | Non-commercial | ✗ | ~ | |
SVision-8 | ? | ✗ | CHIP-8 S-CHIP |
Mid | Non-commercial | ✗ | ~ | |
CHIP-8 Interpreter | git | ✗ | CHIP-8 | Mid | ? | ✗ | ~ | |
C8 | git | ✗ | CHIP-8 | Low | ? | ✗ | ✗ | |
Chip8 | 2.2.0 | ✗ | CHIP-8 S-CHIP |
Low | Proprietary | ✗ | ✗ | |
DOS Chip-8 / VChip-8 | 1.1 | ✗ | CHIP-8 S-CHIP* |
Low-Mid | ? | ✗ | ✗ | |
OmniChip-8 | git | ✗ | CHIP-8 | Low | BSD-2-Clause (Permissive) | ✓ | ✗ | |
CowChip | 0.2 | ✗ | CHIP-8 | Low-Mid | Proprietary | ✗ | ✗ | |
Chip8-DOS | git | ✗ | CHIP-8 | Low | GPLv3 (Copyleft) | ✗ | ✗ | |
CHIP-8 Emulator | git | ✗ | CHIP-8 | Low-Mid | GPLv2 (Copyleft) | ✗ | ✗ | |
CHIP-8 | ZealOS | git | ✗ | CHIP-8 | Low | Unlicense (Public domain) | ✗ | ✗ |
Emu OS | x86 CPUs | git | ✗ | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! |
Mobile/ARM
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended |
---|---|---|---|---|---|---|---|
Chip8 | 0.7.1 git |
CHIP-8 | High | GPLv3 (Copyleft) | ✗ | ✓ | |
ChipChip | 1.8.0 | CHIP-8 S-CHIP MegaChip |
Mid | Proprietary | ✓ | ✓ | |
C-Octo | git | CHIP-8 S-CHIP XO-CHIP |
High | MIT (Permissive) | ✓ | ✓ | |
iPhone-Chip-8-Emulator | git | CHIP-8 S-CHIP |
TBD | 3.0 (Non-commercial) | ✗ | ~ | |
WinRT-CHIP8 | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | |
PalmChip8 | 1.0 | CHIP-8 S-CHIP |
TBD | Proprietary | ✗ | ! | |
emuchip8me | J2ME | git | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! |
DALE-8 | git | CHIP-8 | TBD | Unlicense (Public domain) | ✗ | ! | |
Pico-CHIP8 | git | CHIP-8 | TBD | GPLv3 (Copyleft) | ✗ | ! | |
MeltChip | BlackBerry PlayBook | git | CHIP-8 | TBD | zlib License (Permissive) | ✗ | ! |
Browser
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended |
---|---|---|---|---|---|---|---|
Octo | Website git |
CHIP-8 S-CHIP XO-CHIP |
High | MIT (Permissive) | ✓ | ✓ | |
Cadmium | Website git |
CHIP-8 S-CHIP XO-CHIP Others |
Cycle | MIT (Permissive) | ✓ | ✓ | |
Silicon8 | Website git |
CHIP-8 S-CHIP XO-CHIP |
High | GPLv3 (Copyleft) | ✗ | ✓ | |
Chip-8 | Website git |
CHIP-8 | High | MIT (Permissive) | ✓ | ✓ | |
Chip8.js | Website git |
CHIP-8 | Mid* | MIT (Permissive) | ✗ | ~ | |
Flip8 Redux | 0.9 (Newgrounds) SourceForge 0.9 (Website)* |
CHIP-8 S-CHIP |
Mid* | MIT (Permissive) | ✗ | ✗ |
Other computers
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Computer /m68k, PPC | |||||||||
Vision-8 | 1.0 | CHIP-8 | Mid | Non-commercial | ✗ | ✓ | |||
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* | Non-commercial | ✗ | ! | |||
ChipEm | 0.4 Beta | CHIP-8 | TBD | ? | ✗ | ! | |||
Chip8 | ? | CHIP-8 | TBD | Non-commercial | ✗ | ! | |||
Home computers | |||||||||
CHIP-8 emulator | Acorn Electron | git | CHIP-8 S-CHIP |
High | Proprietary | ✓ | ✓ | ||
Chip-8 | Atari 8-bit | git | CHIP-8 S-CHIP |
TBD | Unlicense (Public domain | ✓ | ! | ||
Chip09 | Tandy CoCo 2 Dragon 32/64 |
git | CHIP-8 | TBD | ? | ✗ | ! | ||
Vision-8 | MSX | 1.0 | CHIP-8 | High-Mid* | Non-commercial | ✗ | ! | ||
SVision-8 | MSX | ? | CHIP-8 S-CHIP |
High-Mid* | Non-commercial | ✗ | ! | ||
beeb-chip8 | git | CHIP-8 | High | ? | ✓ | ~ | |||
CHIP-OTTO | ZX Spectrum Next |
? | CHIP-8 | TBD | Proprietary | ✗ | ! | ||
ZX Chip8 | git | CHIP-8 | TBD | GPLv2 (Copyleft) | ✗ | ! | |||
C64 Chip-8 | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | |||
OmniChip-8 | git | CHIP-8 | TBD | BSD-2-Clause (Permissive) | ✓ | ! | |||
Chip-8 Emulator | ? | CHIP-8 | TBD | Proprietary | ✗ | ! | |||
MoeCHIP-8 for C64 | git | CHIP-8 | TBD | ? | ✗ | ! | |||
Vic-20 Chip-8 Emulator | 1.11 | CHIP-8 | TBD | Proprietary | ✗ | ! | |||
CHIP-8 Simulator BBC/Master | BBC Master |
? | CHIP-8 | TBD | Proprietary | ✗ | ! | ||
Chip-8 | 26-Jan-98 | CHIP-8 | TBD | ? | ✗ | ! | |||
Portable computers/Pocket computers | |||||||||
SCHIP | 1.0 | CHIP-8 S-CHIP |
TBD | Proprietary | ✗ | ! | |||
chip8 | Sharp PC-1350 Sharp PC-1360 Sharp PC-2500 |
git | CHIP-8 | TBD | GPLv3 (Copyleft) | ✗ | ! | ||
CHIP-850 | PC-G850 | ? | CHIP-8 | TBD | BSD-2-Clause (Permissive) | ✗ | ! | ||
LXV8 | HP 95LX HP 100LX HP 200LX |
? | CHIP-8 | Mid* | Non-commercial | ✗ | ! | ||
CHIP8-100 | TRS-80 Model 100 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
IC35 Chip8 emulator | Siemans IC35 | 0.1 | CHIP-8 | TBD | TBD | ✗ | ! |
Consoles
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Consoles | |||||||||
Chip8 Xbox One | ? | CHIP-8 | Mid | GPLv2 (Copyleft) | ✗ | ✓ | |||
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 | Proprietary | ✗ | ✓ | |||
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 | Proprietary | ✗ | ✓ | ||
CHIP8 TO SMD | 2.0 | CHIP-8 S-CHIP |
Low | Proprietary | ✗ | ~ | |||
Chip8-NX | git | CHIP-8 | Mid | ? | ✗ | ~ | |||
Chip8x | v5 | CHIP-8 S-CHIP |
Low-Mid | Proprietary | ✗ | ~ | |||
Chip8-3DO | git | CHIP-8 | Low-Mid | MIT (Permissive) | ✗ | ~ | |||
Chip8 Emulator | POC | CHIP-8 | Low | ? | ✗ | ~ | |||
chip-64 | git | CHIP-8 | TBD | MIT (Permissive) | ✓ | ✗ | |||
CHIP-8 GENESIS | git | CHIP-8 | TBD | ? | ✗ | ✗ | |||
NES CHIP-8 | git ROM |
CHIP-8 | Mid | zlib License (Permissive) | ✗ | ✗* | |||
Sega Genesis CHIP-8 | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ✗* | |||
CHIP-F8 | git | CHIP-8 | Mid | ? | ✗ | ✗* | |||
Chip-8 XNA | git | CHIP-8 | TBD | AGPLv3 (Copyleft) | ✗ | ! | |||
Whack-a-Mole | 0.900 | CHIP-8 | TBD | ? | ✗ | ! | |||
CrabEmu | 0.2.0 | CHIP-8 | TBD | GPLv2 (Copyleft) | ✗ | ! | |||
SMS Chip-8 interpreter | git 0.21 |
CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | |||
CHIP-8 emulator | ? | CHIP-8 | TBD | Proprietary | ✗ | ! | |||
chipce8 | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | |||
Handhelds | |||||||||
Chip8me | 1.0 | CHIP-8 S-CHIP |
Mid | Proprietary | ✗ | ✓ | |||
CEightY | git PND |
CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ | |||
GB-CHIP8 | git 0.6 |
CHIP-8 S-CHIP |
Mid | GPLv2 (Copyleft) | ✗ | ✓ | |||
Vision-8 for Gameboy | 1.0 | CHIP-8 | Mid | Non-commercial | ✗ | ✓ | |||
Chip-3DS | 1.0 git |
CHIP-8 | Mid | ? | ✗ | ~ | |||
XOVITA | git | CHIP-8 | High | GPLv3 (Copyleft) | ✓ | ! | |||
MicroCHIP | 1.0 git |
CHIP-8 S-CHIP |
Mid* | ? | ✗ | ~ | |||
PSP-Chip8 | 1.0 | CHIP-8 | Low | Proprietary | ✗ | ~ | |||
Chip-8 Emulator | 1.0 Beta | CHIP-8 | Low | ? | ✗ | ~ | |||
VITA-8 | git | CHIP-8 | Low* | ? | ✗ | ✗ | |||
DreamChip | V4 | CHIP-8 | Low | Proprietary | ✗ | ✗ | |||
GB-8 | git | CHIP-8 | High* | MIT (Permissive) | ✗ | ✗* | |||
damaged chip8 | git | CHIP-8 | High* | ? | ✓ | ✗* | |||
Cobalt | git | CHIP-8 | High* | Apache 2.0 (Permissive) | ✗ | ✗* | |||
DrChip 8 | 09/20/02 | CHIP-8 | N/A | Proprietary | ✗ | ✗* | |||
Chip8Adv | git | CHIP-8 | TBD | GPLv3 (Copyleft) | ✗ | ! | |||
OmniChip-8 | git | CHIP-8 | TBD | MIT (Permissive) | ✓ | ! | |||
Dingux-chip8 | ? | CHIP-8 | TBD | ? | ✗ | ! | |||
gpchip | ? | CHIP-8 | TBD | ? | ✗ | ! | |||
Chips1 | git | CHIP-8 S-CHIP XO-CHIP |
TBD | MIT (Permissive) | ✓ | ! | |||
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 | MIT (Permissive) | ✗ | ! |
Other devices
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Calculators | |||||||||
SUPER-CHIP | HP48SX | 1.1 | S-CHIP | Cycle | Non-commercial | ✗ | ✓ | ||
CHIP-48 | HP48GX HP48SX |
GX SX |
CHIP-48 | Cycle | Non-commercial | ✗ | ✓ | ||
Chip8Emu | git | CHIP-8 | Mid | GPLv3 (Copyleft) | ✗ | ✓ | |||
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 | MIT (Permissive) | ✗ | ✓ | ||
Chip-84 | git | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | |||
Chip84CE | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | |||
Chip8-TI68k | TI-68k | git | CHIP-8 S-CHIP XO-CHIP* |
High* | GPLv3 (Copyleft) | ✓ | ! | ||
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 | GPLv3 (Copyleft) | ✗ | ! | |||
ESPboy CHIP8 | ESPboy | git | CHIP-8 S-CHIP XO-CHIP |
TBD | ? | ✓ | ! | ||
ESP32TinyChip8 | ESP32 | git | CHIP-8 | TBD | WTFPL 2.0 (Public domain) | ✓ | ! | ||
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 | AGPLv3 (Copyleft) | ✓ | ! | ||
chip8-stm32 | STM32 | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
chip8stm32 | STM32 | git | CHIP-8 S-CHIP |
TBD | MIT (Permissive) | ✗ | ! | ||
TIVA8 | TM4C123 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
ByteBoy | MSP430 | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Firmware | |||||||||
CHIP-8 UEFI | git | CHIP-8 | TBD | GPLv2 (Copyleft) | ✗ | ! | |||
GPCHIP | Miyoo | 0.0.1 | CHIP-8 | Low | ? | ✗ | ✓ | ||
PluginChip8 | ? | CHIP-8 S-CHIP |
Mid* | Non-commercial | ✗ | ✓ | |||
Fantasy computers/consoles | |||||||||
MegaZeux CHIP-8 Emulator | MegaZeux | 1.0 | CHIP-8 | Mid | Proprietary | ✗ | ✓ | ||
CHIP-8 Emulator | 1.5 | CHIP-8 | TBD | Proprietary | ✗ | ✗ | |||
CHIP-80 | Update 4 | CHIP-8 | TBD | Proprietary | ✗ | ✗ | |||
CHIP8 Emulator | LowRes NX | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
SCHIP Interpreter | LowRes NX | Play Dev |
S-CHIP | TBD | ? | ✗ | ! | ||
Chip-8 emulator | Vircon32 | ? | CHIP-8 | TBD | BSD-3-Clause (Permissive) | ✗ | ! | ||
chip8uxn | Uxn | git | CHIP-8 | TBD | ISC (Permissive) | ✗ | ! | ||
minimicro-chip8 | MiniMicro | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
Uze8 | Uzebox | git | CHIP-8 S-CHIP |
TBD | ? | ✗ | ! | ||
FPGA | |||||||||
ICED Potato | ICE40UP5K | git | CHIP-8 S-CHIP XO-CHIP |
TBD | MIT (Permissive) | ✗ | ! | ||
CHIP-8 console on FPGA | TinyFPGA BX | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
FpChip8 | Altera DE1 | git | CHIP-8 | TBD | GPLv3 (Copyleft) | ✗ | ! | ||
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 | GPLv3 (Copyleft) | ✗ | ! | ||
CHIP-8 for FPGA | Arty A7-100T | git | CHIP-8 | TBD | Unlicense (Public domain) | ✗ | ! | ||
Other | |||||||||
thumby-silicon8 | thumby | git | CHIP-8 S-CHIP XO-CHIP |
High | GPLv3 (Copyleft) | ✗ | ✓ | ||
chip8swemu | Game & Watch: Super Mario Bros | git | CHIP-8 S-CHIP |
Mid | BSD-3-Clause (Permissive) | ✗ | ✓ | ||
fz-schip | Flipper Zero | git | S-CHIP | TBD | MIT (Permissive) | ✗ | ? | ||
flipper-chip | Flipper Zero | git | CHIP-8 | TBD | GPLv3 (Copyleft) | ✗ | ✗ | ||
Chip-8-WatchOS | WatchOS | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! |
Other platforms
Name | Platform(s) | Latest version | Extension(s) | Accuracy | License | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
Text editor | |||||||||
chip-8.nvim | Neovim | git | CHIP-8 S-CHIP XO-CHIP |
TBD | MIT (Permissive) | ✗ | ! | ||
chip8.el | Emacs | git | CHIP-8 S-CHIP |
TBD | GPLv3 (Copyleft) | ? | ! | ||
Game Engine/Mod | |||||||||
CHIP8-GM | GameMaker | git | CHIP-8 S-CHIP |
High-Mid | MIT (Permissive) | ✗ | ✓ | ||
Blit-8 | Minecraft | 1.0 | CHIP-8 | High | MIT (Permissive) | ✗ | ~ | ||
Godot CHIP-8 Emulator | Godot (GDScript) | git git (fork) |
CHIP-8 | Low Low |
MIT (Permissive) | ✗ | ✗ | ||
CHIP-8 MC | Minecraft | git | CHIP-8 | Low-Mid | MIT (Permissive) | ✗ | ✗ | ||
chip8emu-agk | AppGameKit Classic | git | CHIP-8 S-CHIP |
TBD | MIT (Permissive) | ✗ | ! | ||
chip8 | Garry's Mod | ? | CHIP-8 | TBD | ? | ! | ! | ||
E2-CHIP-8-interpreter | Garry's Mod | git | CHIP-8 | TBD | ? | ✗ | ! | ||
Chip8Unity | Unity | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
Chip8Interpreter4Unity | Unity | git | CHIP-8 | TBD | Public domain | ✗ | ! | ||
LOVE-8 | LÖVE | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
VChip8 | Counter-Strike: Global Offensive | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! | ||
Other | |||||||||
chipception | XO-CHIP | git Itch.io |
CHIP-8 | High | GPLv3 (Copyleft) | ✗ | ✗ | ||
chip8.deck | Decker | ? git |
CHIP-8 | Mid | MIT (Permissive) | ✗ | ! | ||
CHIP-8 Interpreter | Desmos | ? | CHIP-8 | TBD | ? | ✗ | ! | ||
Chip-84 Rainmeter Edition | Rainmeter | git | CHIP-8 S-CHIP |
TBD | Non-commercial | ✗ | ! | ||
chip8 | MRE | 1 and 2 | CHIP-8 | Low | ? | ✗ | ! |
Name | Programming Language | Latest version | Extension(s) | Accuracy | License | Active | Recommended |
---|---|---|---|---|---|---|---|
CHIP-36 | git | CHIP-8 S-CHIP XO-CHIP |
High | ? | ✗ | ✓ | |
SnxChip8 | ? | CHIP-8 | Mid | GPLv2 (Copyleft) | ✗ | ✓ | |
SuperCHIP Emulator | git | CHIP-8 S-CHIP |
Mid | GPLv3 (Copyleft) | ✗ | ✓ | |
DALE-8A | AWK | git | CHIP-8 | High-Mid | Unlicense (Public domain) | ✗ | ✓ |
awk-chip8 | gawk | git | CHIP-8 S-CHIP |
Mid | ? | ✗ | ✓ |
fc8 | Fortran | git | CHIP-8 | High | GPLv3 (Copyleft) | ✓ | ✓ |
AuChip | Processing | git | CHIP-8 S-CHIP XO-CHIP |
High | ? | ✓ | ✓ |
00SChip8 | PureBasic | 2016 git git (fork) |
CHIP-8 S-CHIP |
High-Mid High |
MIT (Permissive) | ✗ | ✓ |
Project Cherry | FreeBASIC | git git (fork) |
CHIP-8 S-CHIP |
Low-Mid Mid |
Non-commercial | ✗ | ✓ |
Odin Chip-8 Emulator | Odin | git | CHIP-8 | Mid | ? | ✗ | ✓ |
Chip8 | Visual Basic .NET | git | CHIP-8 | Mid | MIT (Permissive) | ✓ | ✓ |
chip8 | SpecBAS | git | CHIP-8 | High | Public domain | ✓ | ✓ |
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 | CC BY-SA 2.0 | ✗ | ✗ |
chip-8-vba | Visual Basic for Applications | git git (fork) |
CHIP-8 | Very Low Mid |
WTFPL 2.0 (Public domain) | ✗ | ✗ |
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 | AGPLv3 (Copyleft) | ✗ | ! |
cl-chip8 | Common Lisp | git | CHIP-8 | TBD | MIT (Permissive) | ✗ | ! |
Descriptions
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.
- 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.
- Mobile / ARM
- Chip8 (Android)
- Touchscreen buttons for keys.
- ChipChip (Android)
- Touchscreen buttons for keys.
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)
- 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
- 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.
- 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
- 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.
- 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.
- Chip8x (Xbox)
- Good interface. Can load ROMs from disk, HDD or any other storage device
- 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.
- 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.
- 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.
- 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
- 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
- CHIP-8 mini (Pokémon mini)
- Needs recompilation for custom ROMs, using PMAS.
- C8SALT (TI-83+, TI-83+ SE, TI-84+, TI-84+ SE, TI-84+ C SE, TI-84+ CE)
- The interpreter is written in TI-BASIC.
Firmware
- CHIP-8 UEFI (UEFI)
- Needs recompilation for custom ROMs, using EDK II.
- 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.
- Chip-8 emulator (Vircon32)
- Custom ROMs need to use this ROM conversion tool.
- flipper-chip (Flipper Zero)
- does not support any controls/input. [6]
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)
- The interpreter is written in AppGameKit 2 BASIC
- Odin Chip-8 Emulator (Odin)
- Nothing notable, command line/Terminal.
- Chip8 (Visual Basic .NET)
- 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, exits when illegal opcodes are called.
- 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.
Extensions
- 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
External links
- 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
- Notes