CHIP-8 emulators

From Emulation General Wiki
Jump to navigation Jump to search
CHIP-8
PONG CHIP8.png
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.

Interpreters

Computers

Name Platform(s) Latest version Libretro Core Extension(s) Accuracy License Active Recommended
Cadmium Windows Linux macOS git CHIP-8
S-CHIP
XO-CHIP
Others
Cycle MIT (Permissive)
C-Octo Windows Linux macOS git CHIP-8
S-CHIP
XO-CHIP
High MIT (Permissive)
CubeChip-SDL Windows Linux macOS git CHIP-8
S-CHIP
XO-CHIP
Others
High MPL 2.0 (Copyleft)
JAXE Windows Linux [N 1] git
libretro core
CHIP-8
S-CHIP
XO-CHIP
High MIT (Permissive)
MegaJIT-8 Windows Linux macOS git CHIP-8 High MIT (Permissive)
Dorito Windows Linux macOS git CHIP-8
S-CHIP
XO-CHIP
High ?
chip8swemu-sdl2 Windows Linux git CHIP-8
S-CHIP
Mid MIT (Permissive)
DSP Windows Linux macOS git CHIP-8
S-CHIP
Mid Non-commercial
Fish 'N' Chips Windows 2.1.5
2.1.5 source code
CHIP-8
CHIP-8X
S-CHIP
High ?
Pin8 Haiku git CHIP-8 Mid Non-commercial
InfoChip8 Windows 0.1J
git (fork)
CHIP-8 Low-Mid
Mid
Apache 2.0 (Permissive) ~
shmip8 Windows Linux git CHIP-8 Low-Mid MIT (Permissive) ~
Vision-8 Windows MS-DOS UNIX 1.0 CHIP-8 Mid Non-commercial ~
SVision-8 Windows MS-DOS UNIX ? CHIP-8
S-CHIP
Mid Non-commercial ~
CHIP-8 Interpreter MS-DOS git CHIP-8 Mid ? ~
C8 MS-DOS git CHIP-8 Low ?
Chip8 MS-DOS 2.2.0 CHIP-8
S-CHIP
Low Proprietary
DOS Chip-8 / VChip-8 MS-DOS 1.1 CHIP-8
S-CHIP*
Low-Mid ?
OmniChip-8 Windows Linux git CHIP-8 Low BSD-2-Clause (Permissive)
CowChip Windows 9x Windows 3.1 0.2 CHIP-8 Low-Mid Proprietary
Chip8-DOS MS-DOS git CHIP-8 Low GPLv3 (Copyleft)
CHIP-8 Emulator KolibriOS 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 Android 0.7.1
git
CHIP-8 High GPLv3 (Copyleft)
ChipChip Android 1.8.0 CHIP-8
S-CHIP
MegaChip
Mid Proprietary
C-Octo Linux ARM git CHIP-8
S-CHIP
XO-CHIP
High MIT (Permissive)
iPhone-Chip-8-Emulator iOS git CHIP-8
S-CHIP
TBD 3.0 (Non-commercial) ~
WinRT-CHIP8 Windows 8 Phone git CHIP-8 TBD MIT (Permissive) !
PalmChip8 PalmOS 1.0 CHIP-8
S-CHIP
TBD Proprietary !
emuchip8me J2ME git CHIP-8
S-CHIP
TBD ? !
DALE-8 KaiOS git CHIP-8 TBD Unlicense (Public domain) !
Pico-CHIP8 Linux ARM 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 Web Website
git
CHIP-8
S-CHIP
XO-CHIP
High MIT (Permissive)
Cadmium Web Website
git
CHIP-8
S-CHIP
XO-CHIP
Others
Cycle MIT (Permissive)
Silicon8 Web Website
git
CHIP-8
S-CHIP
XO-CHIP
High GPLv3 (Copyleft)
Chip-8 Web Website
git
CHIP-8 High MIT (Permissive)
Chip8.js Web Website
git
CHIP-8 Mid* MIT (Permissive) ~
Flip8 Redux Web 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 AmigaOS 1.0 CHIP-8 Mid Non-commercial
Chip-8 for Suns SunOS ? CHIP-8 TBD ? !
Crazy-8 Classic Mac OS 1.0.4 CHIP-8
S-CHIP
TBD ? !
MacVision-8 Classic Mac OS 1.0 CHIP-8 Mid* Non-commercial !
ChipEm AmigaOS 0.4 Beta CHIP-8 TBD ? !
Chip8 AmigaOS ? 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 ColecoVision Coleco ADAM MSX 1.0 CHIP-8 High-Mid* Non-commercial !
SVision-8 Coleco ADAM MSX ? CHIP-8
S-CHIP
High-Mid* Non-commercial !
beeb-chip8 BBC Micro git CHIP-8 High ? ~
CHIP-OTTO ZX Spectrum
ZX Spectrum Next
? CHIP-8 TBD Proprietary !
ZX Chip8 ZX Spectrum git CHIP-8 TBD GPLv2 (Copyleft) !
C64 Chip-8 Commodore 64 git CHIP-8 TBD MIT (Permissive) !
OmniChip-8 Commodore 64 git CHIP-8 TBD BSD-2-Clause (Permissive) !
Chip-8 Emulator Commodore 64 ? CHIP-8 TBD Proprietary !
MoeCHIP-8 for C64 Commodore 64 git CHIP-8 TBD ? !
Vic-20 Chip-8 Emulator VIC-20 1.11 CHIP-8 TBD Proprietary !
CHIP-8 Simulator BBC/Master BBC Micro
BBC Master
? CHIP-8 TBD Proprietary !
Chip-8 RiscOS 26-Jan-98 CHIP-8 TBD ? !
Portable computers/Pocket computers
SCHIP Windows CE 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 Xbox One ? CHIP-8 Mid GPLv2 (Copyleft)
CHIP8 Emulator Wii U 2.2
git
CHIP-8
S-CHIP
Mid ?
Chippy Wii 1.0 CHIP-8
S-CHIP
TBD ?
Chip 8 Emulator GameCube 1.0a CHIP-8 TBD Proprietary
Chip8-n64 Nintendo 64 git CHIP-8 Mid ?
PSCHIP8 PlayStation git CHIP-8 Mid ?
Super Chip8x Super Nintendo git
ROM
CHIP-8 Mid ?
CHIP8 PlayStation 3
PlayStation 2
v1 CHIP-8 Mid ?
Chippi+ Intellivision ? CHIP-8 High Proprietary
CHIP8 TO SMD Genesis 2.0 CHIP-8
S-CHIP
Low Proprietary ~
Chip8-NX Switch git CHIP-8 Mid ? ~
Chip8x Xbox v5 CHIP-8
S-CHIP
Low-Mid Proprietary ~
Chip8-3DO 3DO git CHIP-8 Low-Mid MIT (Permissive) ~
Chip8 Emulator PlayStation 4 POC CHIP-8 Low ? ~
chip-64 Nintendo 64 git CHIP-8 TBD MIT (Permissive)
CHIP-8 GENESIS Genesis git CHIP-8 TBD ?
NES CHIP-8 Nintendo Entertainment System git
ROM
CHIP-8 Mid zlib License (Permissive) *
Sega Genesis CHIP-8 Genesis git CHIP-8 TBD MIT (Permissive) *
CHIP-F8 Channel F git CHIP-8 Mid ? *
Chip-8 XNA Xbox 360 git CHIP-8 TBD AGPLv3 (Copyleft) !
Whack-a-Mole Dreamcast 0.900 CHIP-8 TBD ? !
CrabEmu Dreamcast 0.2.0 CHIP-8 TBD GPLv2 (Copyleft) !
SMS Chip-8 interpreter Master System git
0.21
CHIP-8 TBD MIT (Permissive) !
CHIP-8 emulator Saturn ? CHIP-8 TBD Proprietary !
chipce8 PC Engine git CHIP-8 TBD MIT (Permissive) !
Handhelds
Chip8me Nintendo DS 1.0 CHIP-8
S-CHIP
Mid Proprietary
CEightY Pandora git
PND
CHIP-8
S-CHIP
Mid ?
GB-CHIP8 GameBoy git
0.6
CHIP-8
S-CHIP
Mid GPLv2 (Copyleft)
Vision-8 for Gameboy GameBoy 1.0 CHIP-8 Mid Non-commercial
Chip-3DS Nintendo 3DS 1.0
git
CHIP-8 Mid ? ~
XOVITA Vita git CHIP-8 High GPLv3 (Copyleft) !
MicroCHIP Vita 1.0
git
CHIP-8
S-CHIP
Mid* ? ~
PSP-Chip8 PSP 1.0 CHIP-8 Low Proprietary ~
Chip-8 Emulator PSP 1.0 Beta CHIP-8 Low ? ~
VITA-8 Vita git CHIP-8 Low* ?
DreamChip PSP V4 CHIP-8 Low Proprietary
GB-8 GameBoy git CHIP-8 High* MIT (Permissive) *
damaged chip8 GameBoy git CHIP-8 High* ? *
Cobalt GameBoy git CHIP-8 High* Apache 2.0 (Permissive) *
DrChip 8 GameBoy Advance 09/20/02 CHIP-8 N/A Proprietary *
Chip8Adv GameBoy Advance git CHIP-8 TBD GPLv3 (Copyleft) !
OmniChip-8 GameBoy git CHIP-8 TBD MIT (Permissive) !
Dingux-chip8 Dingoo ? CHIP-8 TBD ? !
gpchip Dingoo ? CHIP-8 TBD ? !
Chips1 WonderSwan git CHIP-8
S-CHIP
XO-CHIP
TBD MIT (Permissive) !
Chip8Pd Playdate git CHIP-8 Mid ? !
C8 GP32 0.2 CHIP-8
S-CHIP
TBD ? !
EFCS GP2X 0.1 CHIP-8 TBD ? !
Chip8 Lynx ? 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 Pokemon 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 High Non-commercial
CHIP-48 HP48GX
HP48SX
GX
SX
CHIP-48 High Non-commercial
Chip8Emu TI-Nspire 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 TI84+CE git CHIP-8
S-CHIP
TBD ? !
Chip84CE TI84+CE 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 GPL (Copyleft) !
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 Arduino 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 UEFI git CHIP-8 TBD GPLv2 (Copyleft) !
GPCHIP Miyoo 0.0.1 CHIP-8 Low ?
PluginChip8 RockBox ? CHIP-8
S-CHIP
Mid* Non-commercial
Fantasy computers/consoles
MegaZeux CHIP-8 Emulator MegaZeux 1.0 CHIP-8 Mid Proprietary
CHIP-8 Emulator PICO-8 1.5 CHIP-8 TBD Proprietary
CHIP-80 TIC-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 Java git CHIP-8
S-CHIP
XO-CHIP
High ?
SnxChip8 Java ? CHIP-8 Mid GPLv2 (Copyleft)
SuperCHIP Emulator Java 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.
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)
Nothing notable, command line/Terminal (PC). Needs recompilation for custom ROMs, using z88dk (Game Boy), cc65 (Commodore 64)
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
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].
beeb-chip8
Placeholder text.
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.
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.
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 and Select
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 and Select at the same time. Needs recompilation for custom ROMs, using RGBDS v0.5.0.
damaged chip8 (Game Boy)
Uses SELECT to switch ROMs. Needs recompilation for custom ROMs, using RGBDS v0.3.10.
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 and R triggers to exit to menu, Can't insert custom ROMs.
'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.
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

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

References

Notes
  1. Only available outside of Windows and Linux as a libretro core (e.g., RetroArch).