CHIP-8 emulators: Difference between revisions

From Emulation General Wiki
Jump to navigation Jump to search
No edit summary
Remove placeholder text
Line 7: Line 7:
|emulated = {{✓}}
|emulated = {{✓}}
}}
}}
<!-- WIP: Needs [[accuracy testing]] and checking for [[licensing]] and [[#Descriptions|Descriptions]] added-->
<!-- WIP: Needs [[accuracy testing]] -->
<!-- Currently most accuracy testing below was done using https://github.com/Timendus/chip8-test-suite/ 4.1-->
<!-- Currently most accuracy testing below was done using https://github.com/Timendus/chip8-test-suite/ 4.1-->
{{WIP}}
{{WIP}}
Line 23: Line 23:


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 [https://beyondloom.com/blog/octojam.html Octojam] competition started with the creation of XO-CHIP, which was created in 2014<ref>[https://chip-8.github.io/extensions/#xo-chip CHIP-8 extensions and compatibility#XO-CHIP]</ref>. Octojam ran from 2014-2023, <ref>https://beyondloom.com/blog/octojam.html</ref> had dozens of CHIP-8, S-CHIP, and XO-CHIP programs created for it.
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 [https://beyondloom.com/blog/octojam.html Octojam] competition started with the creation of XO-CHIP, which was created in 2014<ref>[https://chip-8.github.io/extensions/#xo-chip CHIP-8 extensions and compatibility#XO-CHIP]</ref>. Octojam ran from 2014-2023, <ref>https://beyondloom.com/blog/octojam.html</ref> had dozens of CHIP-8, S-CHIP, and XO-CHIP programs created for it.
Accuracy is tested with the [https://github.com/Timendus/chip8-test-suite/ CHIP-8], to test CHIP-8, S-CHIP and XO-CHIP.


__TOC__
__TOC__
Line 2,080: Line 2,082:


==Descriptions==
==Descriptions==
{{Placeholder}}
'''PC/Multi-system'''
'''PC/Multi-system'''


Line 2,093: Line 2,093:
:'''JAXE''' (PC, Libretro)
:'''JAXE''' (PC, Libretro)
::Good selections of options for emulation, Defaults to S-CHIP mod.
::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)
:'''[[DSP]]''' (PC)
::Hard to navigate GUI.
::Hard to navigate GUI.
Line 2,131: Line 2,125:
:'''CHIP-8''' (ZealOS)
:'''CHIP-8''' (ZealOS)
::Simple ROM selection, using the Escape key or double-clicking when the ROM is highlighted to run.
::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
;Mobile / ARM
:'''Chip8''' (Android)
:'''Chip8''' (Android)
Line 2,138: Line 2,130:
:'''ChipChip''' (Android)
:'''ChipChip''' (Android)
::Touchscreen buttons for keys.
::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.
'''<abbr title="Web browser">Web</abbr>
'''<abbr title="Web browser">Web</abbr>
:'''Octo'''
:'''Octo'''
Line 2,162: Line 2,142:
::Can't load custom CHIP-8 binaries/ROMs.
::Can't load custom CHIP-8 binaries/ROMs.
'''Computers (PPC, m64k)
'''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)
:'''Chip09''' (Tandy CoCo 2, Dragon 32/64)
::Needs recompilation for custom ROMs, using [http:://www.lwtools.ca/ LWTOOLS].
::Needs recompilation for custom ROMs, using [http:://www.lwtools.ca/ LWTOOLS].
:beeb-chip8
::Placeholder text.
:'''CHIP-OTTO''' (ZX Spectrum, ZX Spectrum Next)
:'''CHIP-OTTO''' (ZX Spectrum, ZX Spectrum Next)
::Includes games, no ROM selection interface (press <code>J</code> to go to next game). Can load games from a different tape.
::Includes games, no ROM selection interface (press <code>J</code> 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)
:'''MoeCHIP-8 for C64''' (Commodore 64)
::Needs recompilation for custom ROMs, using [https://www.c64-wiki.com/wiki/KickAssembler KickAssembler].
::Needs recompilation for custom ROMs, using [https://www.c64-wiki.com/wiki/KickAssembler KickAssembler].
:'''Vic-20 Chip-8 Emulator''' (VIC-20)
:'''Vic-20 Chip-8 Emulator''' (VIC-20)
::Separate floppy disk for games, instructions in manual for custom ROMs.
::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)
:'''Chippy''' (Wii)
::Very simple interface. Loads ROMs from <code>CHIP8</code> folder in your storage device. Unless you use an ancient HBC, you might receive a invalid elf error. The [https://wiibrew.org/wiki/ELF_to_DOL_Converter elf-dol_converter] should workaround this.
::Very simple interface. Loads ROMs from <code>CHIP8</code> folder in your storage device. Unless you use an ancient HBC, you might receive a invalid elf error. The [https://wiibrew.org/wiki/ELF_to_DOL_Converter elf-dol_converter] should workaround this.
:'''Chip 8 Emulator''' (GameCube)
::Placeholder text.
:'''Chip8-n64''' (Nintendo 64)
:'''Chip8-n64''' (Nintendo 64)
::Needs recompilation for custom ROMs, using [https://dragonminded.com/n64dev/ Libdragon].
::Needs recompilation for custom ROMs, using [https://dragonminded.com/n64dev/ Libdragon].
Line 2,225: Line 2,158:
:'''Super Chip8x''' (Super Nintendo)
:'''Super Chip8x''' (Super Nintendo)
::Can remap buttons on a per ROM bases. Needs recompilation for custom ROMs, using [https://github.com/RPGHacker/asar asar].
::Can remap buttons on a per ROM bases. Needs recompilation for custom ROMs, using [https://github.com/RPGHacker/asar asar].
:'''CHIP8''' (PlayStation 2, PlayStation 3)
::Placeholder text.
:'''Chippi+''' (Intellivision)
:'''Chippi+''' (Intellivision)
::Comes bundled with CHIP-8 ROMs, aswell as a python program to convert them to ECS tapes. The interpreter is written in [https://nanochess.org/intybasic.html IntyBASIC].
::Comes bundled with CHIP-8 ROMs, aswell as a python program to convert them to ECS tapes. The interpreter is written in [https://nanochess.org/intybasic.html IntyBASIC].
:'''CHIP8 TO SMD''' (Genesis / Mega Drive)
::Placeholder text.
:'''Chip8-NX''' (Switch)
::Placeholder text.
:'''Chip8x''' (Xbox)
:'''Chip8x''' (Xbox)
::Good interface. Can load ROMs from disk, HDD or any other storage device
::Good interface. Can load ROMs from disk, HDD or any other storage device
:'''Chip8 Emulator''' (PlayStation 4)
::Placeholder text.
:'''Chip8-3DO''' (3DO)
:'''Chip8-3DO''' (3DO)
::Needs recompilation for custom ROMs, using [https://3dodev.com/software/sdks 3DODev].
::Needs recompilation for custom ROMs, using [https://3dodev.com/software/sdks 3DODev].
:'''chip-64''' (Nintendo 64)
:'''chip-64''' (Nintendo 64)
::Doesn't work in tested emulators. Needs recompilation for custom ROMs, using [https://github.com/ARM9/bass bass].
::Doesn't work in tested emulators. Needs recompilation for custom ROMs, using [https://github.com/ARM9/bass bass].
:'''CHIP-8 GENESIS''' (Genesis / Mega Drive)
::Placeholder text.
:'''NES CHIP-8''' (Nintendo Entertainment System)
:'''NES CHIP-8''' (Nintendo Entertainment System)
::Needs recompilation for custom ROMs, using [https://cc65.github.io/ cc65].
::Needs recompilation for custom ROMs, using [https://cc65.github.io/ cc65].
Line 2,249: Line 2,172:
:'''CHIP-F8''' (Channel F)
:'''CHIP-F8''' (Channel F)
::Needs recompilation for custom ROMs, using [https://dasm-assembler.github.io/ dasm].
::Needs recompilation for custom ROMs, using [https://dasm-assembler.github.io/ 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)
:'''chipce8''' (PC Engine / Turbo Grafx 16)
::Needs recompilation for custom ROMs, using [https://github.com/Turboxray/PCEAS PCEAS].
::Needs recompilation for custom ROMs, using [https://github.com/Turboxray/PCEAS PCEAS].
'''Handheld console'''
'''Handheld console'''
:'''Chip8me''' (Nintendo DS)
:'''Chip8me''' (Nintendo DS)
::Simple, easy to use GUI, loads ROMs from SD card..
::Simple, easy to use GUI, loads ROMs from SD card.
:'''CEightY''' (Pandora)
::Placeholder text.
:'''Chip-3DS''' (3DS)
::Placeholder text.
:'''GB-Chip8''' (Game Boy)
:'''GB-Chip8''' (Game Boy)
::Uses a included DOS program (Use [[DOSBox]] or [[PC_Emulator_Comparisons|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.
::Uses a included DOS program (Use [[DOSBox]] or [[PC_Emulator_Comparisons|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)
:'''Vision-8 for Gameboy''' (Game Boy)
::Uses a included DOS program (Use [[DOSBox]] or [[PC_Emulator_Comparisons|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 <code>A</code>, <code>B</code>, <code>Start</code> and <code>Select</code>
::Uses a included DOS program (Use [[DOSBox]] or [[PC_Emulator_Comparisons|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 <code>A</code>, <code>B</code>, <code>Start</code> and <code>Select</code>
:'''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)
:'''GB-8''' (Game Boy)
::Basic ROM selection interface, to exit current the ROM and go back to menu press <code>A</code>, <code>B</code>, <code>Start</code> and <code>Select</code> at the same time. Needs recompilation for custom ROMs, using [https://github.com/gbdev/rgbds/releases/tag/v0.5.0 RGBDS v0.5.0].
::Basic ROM selection interface, to exit current the ROM and go back to menu press <code>A</code>, <code>B</code>, <code>Start</code> and <code>Select</code> at the same time. Needs recompilation for custom ROMs, using [https://github.com/gbdev/rgbds/releases/tag/v0.5.0 RGBDS v0.5.0].
Line 2,291: Line 2,188:
::No ROM selection, have to edit /src/rom.s and re-compile. Needs [https://github.com/gbdev/hardware.inc hardware.inc] to compile, Needs recompilation for custom ROMs, using [https://rgbds.gbdev.io/ RGBDS].
::No ROM selection, have to edit /src/rom.s and re-compile. Needs [https://github.com/gbdev/hardware.inc hardware.inc] to compile, Needs recompilation for custom ROMs, using [https://rgbds.gbdev.io/ RGBDS].
:'''DrChip 8''' (Game Boy Advance)
:'''DrChip 8''' (Game Boy Advance)
::Pressing <code>L</code> and <code>R</code> triggers to exit to menu, Can't insert custom ROMs.
::Pressing <code>L</code> and <code>R</code> 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)
:'''CHIP-8 mini''' (Pokémon mini)
::Needs recompilation for custom ROMs, using [https://www.pokemon-mini.net/tools/pika-macro-assembler/ PMAS].
::Needs recompilation for custom ROMs, using [https://www.pokemon-mini.net/tools/pika-macro-assembler/ 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)
:'''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 [[wikipedia:TI-BASIC 83|TI-BASIC]].
::The interpreter is written in [[wikipedia:TI-BASIC 83|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
'''Firmware
:'''CHIP-8 UEFI''' (UEFI)
:'''CHIP-8 UEFI''' (UEFI)
::Needs recompilation for custom ROMs, using [https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II EDK II].
::Needs recompilation for custom ROMs, using [https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II EDK II].
:'''GPCHIP''' (Miyoo)
::Placeholder text.
:'''PluginChip8''' (Rockbox)
:'''PluginChip8''' (Rockbox)
::Due to systems having less buttons than the original CHIP-8 key mapping there is a [https://www.rockbox.org/wiki/PluginChip8.html custom system] for changing the key mapping.
::Due to systems having less buttons than the original CHIP-8 key mapping there is a [https://www.rockbox.org/wiki/PluginChip8.html custom system] for changing the key mapping.
Line 2,380: Line 2,203:
:'''CHIP-80''' (TIC-80)
:'''CHIP-80''' (TIC-80)
::Can't load custom CHIP-8 binaries/ROMs.
::Can't load custom CHIP-8 binaries/ROMs.
:'''CHIP8 Emulator''' (LowRes NX)
::Placeholder text.
:'''SCHIP Interpreter''' (LowRes NX)
::Placeholder text.
:'''Chip-8 emulator''' (Vircon32)
:'''Chip-8 emulator''' (Vircon32)
::Custom ROMs need to use [https://vircon32.itch.io/chip-8-emulator this] ROM conversion tool.
::Custom ROMs need to use [https://vircon32.itch.io/chip-8-emulator this] ROM conversion tool.
:'''chip8uxn''' (Uxn)
::Placeholder text.
:'''minimicro-chip8''' (MiniMicro)
::Placeholder text.
'''Other'''
:'''fz-schip''' (Flipper Zero)
::Placeholder text.
:'''flipper-chip''' (Flipper Zero)
:'''flipper-chip''' (Flipper Zero)
::does not support any controls/input. <ref>[https://github.com/dwdraugr/flipper-chip/issues/1 Flipper-chip issue #1]</ref>
::does not support any controls/input. <ref>[https://github.com/dwdraugr/flipper-chip/issues/1 Flipper-chip issue #1]</ref>
:'''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
'''Game Engine
:'''CHIP8-GM''' (GameMaker)
:'''CHIP8-GM''' (GameMaker)
Line 2,429: Line 2,217:
::Needs recompilation for custom ROMs, using Godot [https://github.com/godotengine/godot/releases/tag/3.0-stable 3.0] or a compatible version for custom ROMs.
::Needs recompilation for custom ROMs, using Godot [https://github.com/godotengine/godot/releases/tag/3.0-stable 3.0] or a compatible version for custom ROMs.
:'''chip8emu-agk''' (AppGameKit Classic)
:'''chip8emu-agk''' (AppGameKit Classic)
::Placeholder text. The interpreter is written in AppGameKit 2 BASIC
:: 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 [https://processing.org/ 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)
:'''Odin Chip-8 Emulator''' (Odin)
::Nothing notable, command line/Terminal.
::Nothing notable, command line/Terminal.
:'''Chip8''' (Visual Basic .NET)
:'''Chip8''' (Visual Basic .NET)
::Placeholder Text. The interpreter is a example program for [https://github.com/DualBrain/vbPixelGameEngine vbPixelGameEngine], a game-engine framework.
::The interpreter is a example program for [https://github.com/DualBrain/vbPixelGameEngine vbPixelGameEngine], a game-engine framework.
:'''chip8''' (SpecBAS)
:'''chip8''' (SpecBAS)
::Basic GUI-based ROM selection. The interpreter is a example program written in [https://github.com/ZXDunny/SpecBAS SpecBAS], a [[wikipedia:Sinclair BASIC|Sinclair BASIC]] deriviated language.
::Basic GUI-based ROM selection. The interpreter is a example program written in [https://github.com/ZXDunny/SpecBAS SpecBAS], a [[wikipedia:Sinclair BASIC|Sinclair BASIC]] deriviated language.
:'''chip8''' (BlitzMax)
:'''chip8''' (BlitzMax)
::Can Loads games via drag-and-drop, Crashes when illegal opcodes are called.
::Can Loads games via drag-and-drop, exits 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)
:'''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.
::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==
==Extensions==
:''For detailed information on CHIP-8 extensions see: [https://chip-8.github.io/extensions/ CHIP-8 extensions and compatibility]''
:''For detailed information on CHIP-8 extensions see: [https://chip-8.github.io/extensions/ CHIP-8 extensions and compatibility]''

Revision as of 00:57, 10 November 2024

CHIP-8
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.

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 Nintendo 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 Game Boy git
0.6
CHIP-8
S-CHIP
Mid GPLv2 (Copyleft)
Vision-8 for Gameboy Game Boy 1.0 CHIP-8 Mid Non-commercial
Chip-3DS Nintendo 3DS 1.0
git
CHIP-8 Mid ? ~
XOVITA PlayStation Vita git CHIP-8 High GPLv3 (Copyleft) !
MicroCHIP PlayStation Vita 1.0
git
CHIP-8
S-CHIP
Mid* ? ~
PSP-Chip8 PlayStation Portable 1.0 CHIP-8 Low Proprietary ~
Chip-8 Emulator PlayStation Portable 1.0 Beta CHIP-8 Low ? ~
VITA-8 PlayStation Vita git CHIP-8 Low* ?
DreamChip PlayStation Portable V4 CHIP-8 Low Proprietary
GB-8 Game Boy git CHIP-8 High* MIT (Permissive) *
damaged chip8 Game Boy git CHIP-8 High* ? *
Cobalt Game Boy git CHIP-8 High* Apache 2.0 (Permissive) *
DrChip 8 Game Boy Advance 09/20/02 CHIP-8 Proprietary *
Chip8Adv Game Boy Advance git CHIP-8 TBD GPLv3 (Copyleft) !
OmniChip-8 Game Boy 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 ? !
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.
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.
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
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.
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.
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 and Select
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.
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.
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

References

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