Difference between revisions of "CHIP-8 emulators"
(add interpreter comparisons) |
|||
Line 45: | Line 45: | ||
|chip8swemu | |chip8swemu | ||
|align=left|{{Icon|Windows|Lin}} | |align=left|{{Icon|Windows|Lin}} | ||
− | |[https://github.com/AlfonsoJLuna/chip8swemu git] | + | |[https://github.com/AlfonsoJLuna/chip8swemu-sdl2 git] |
|{{✗}} | |{{✗}} | ||
|Mid | |Mid | ||
Line 939: | Line 939: | ||
|{{✗}} | |{{✗}} | ||
|{{?}} | |{{?}} | ||
+ | |- | ||
+ | |chip8swemu | ||
+ | |align=left|Game & Watch: Super Mario Bros | ||
+ | |[https://github.com/AlfonsoJLuna/chip8swemu-gaw git] | ||
+ | |{{✗}} | ||
+ | |Mid | ||
+ | |{{✓}} | ||
+ | |{{✓}} | ||
+ | |{{✓}} | ||
|} | |} | ||
Line 1,505: | Line 1,514: | ||
==Comparisons== | ==Comparisons== | ||
<font size="3"><b>PC / x86</b></font><br> | <font size="3"><b>PC / x86</b></font><br> | ||
+ | * '''Cadium''' The GUI is hard to navigate to a new user but has many emulation options, supports the most CHIP-8 extensions out of any interpreter see list [https://github.com/gulrak/cadmium#supported-chip-8-variants here]. Also great debugger. | ||
+ | * | ||
<font size="3"><b>Mobile / ARM</b></font><br> | <font size="3"><b>Mobile / ARM</b></font><br> | ||
+ | * '''Octo''' IDE and interpreter, allows for sprite, audio and supports multiple multiple extensions and custom compatibility options and compatibility profile for specific extensions. | ||
<font size="3"><b>Web browsers</b></font><br> | <font size="3"><b>Web browsers</b></font><br> | ||
<font size="3"><b>Consoles</b></font><br> | <font size="3"><b>Consoles</b></font><br> |
Revision as of 09:13, 20 April 2024
Screenshot of Pong implemented in CHIP-8 | |
Developer | Joseph Weisbecker |
---|---|
Type | Interpreted programming language |
Release date | 1976[1] (original) |
Emulated | ✓ |
- WIP Note: needs accuracy testing and checking for licensing
- For emulators for computers dedicated to running CHIP-8, see List of computers.
- Note: The terms 'emulator', 'interpreter' and 'simulator' are used interchangeably by developers of interpreters of CHIP-8.
CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker.
Most CHIP-8 interpreters are Homebrew emulators for their system, devices with official/marketed with CHIP-8 support include: the DREAM 6800, COSMAC VIP, Telmac 1800 and ETI-660.
Extensions to CHIP-8 have existed since the 1970s, With some conflicting with each-other.[2][3] Most extensions have limited support outside of the interpreter they were made for. The most supported extensions are S-CHIP and XO-CHIP.
For information on CHIP-8 extensions see: CHIP-8 extensions and compatibility by the CHIP-8 Research Facility
Interpreters
Name | Platform(s) | Latest Version | Libretro Core | Accuracy | FLOSS | Active | Recommended | ||
---|---|---|---|---|---|---|---|---|---|
PC / x86 | |||||||||
Cadmium | 1.1.8 | ✗ | High | ✓ | ✓ | ✓ | |||
chip8swemu | git | ✗ | Mid | ✓ | ✓ | ✓ | |||
DSP | git | ✗ | ? | ✓ | ✓ | ? | |||
JAXE | [N 1] | git libretro core |
✓ | ? | ✓ | ✓ | ? | ||
Vision-8 | 1.0 | ✗ | ? | NC | ✗ | ? | |||
CowChip | Windows 3.1 |
0.2 | ✗ | ? | ? | ✗ | ? | ||
OmniChip-8 | git | ✗ | ? | ✓ | ✓ | ? | |||
Pin8 | git | ✗ | ? | NC | ✗ | ? | |||
CHIP-8 Emulator | KolibriOS | git | ✗ | ? | ✓ | ✗ | ? | ||
CHIP-8 | ZealOS | git | ✗ | ? | ✓ | ✗ | ? | ||
Mobile / ARM | |||||||||
ChipChip | 1.8.0 | ✗ | Mid | ✗ | ✓ | ✓ | |||
Chip8 | ? | ✗ | Low | ✗ | ✗ | ~ | |||
iPhone-Chip-8-Emulator | git | ✗ | ? | ✗ | ✗ | ~ | |||
PalmChip8 | 1.0 | ✗ | ? | ? | ✗ | ? | |||
DALE-8 | git | ✗ | ? | ✓[N 2] | ✗ | ? | |||
Pico-CHIP8 | git | ✗ | ? | ✓ | ✗ | ? | |||
MeltChip | BlackBerry PlayBook | git | ✗ | ? | ✓ | ✗ | ? | ||
Web browsers | |||||||||
Octo | Website git |
✗ | High | ✓ | ✓ | ✓ | |||
Cadmium | Website git |
✗ | High | ✓ | ✓ | ✓ | |||
Silicon8 | Website git |
✗ | ? | ✓ | ✗ | ✓ | |||
Chip8.js | Website git |
✗ | ? | ✓ | ✗ | ✓ | |||
Flip8 Redux | NewGrounds | ✗ | ? | ? | ✗ | ? | |||
Consoles | |||||||||
CHIP Emulator | 1 | ✗ | Mid | ? | ✗ | ✓ | |||
Chip8x | v5 | ✗ | ? | ? | ✗ | ? | |||
CHIP8 Emulator | 2.2 | ✗ | Mid | ✓ | ✗ | ✓ | |||
Chippy | 1.0 | ✗ | ? | ✓ | ✗ | ✓ | |||
Chip 8 Emulator | 1.0a | ✗ | ? | ? | ✗ | ✓ | |||
Chip8-n64 | git | ✗ | Mid | ✓ | ✗ | ✓ | |||
PsChip8 | git | ✗ | Mid | ✓ | ✗ | ✓ | |||
Super-Chip8x | git | ✗ | Mid | ✓ | ✓ | ✓ | |||
CHIP8 TO SMD | 2.0 | ✗ | Mid | ✗ | ✗ | ✓ | |||
NES-CHIP-8 | NES | git | ✗ | ? | ✓ | ✗ | ? | ||
Chip8-NX | git | ✗ | Mid | ✓ | ✗ | ~ | |||
Chip8 Emulator | POC | ✗ | Low | ? | ✗ | ~ | |||
CHIP8 | |
v1 | ✗ | ? | ? | ✗ | ? | ||
Chip8-3DO | git | ✗ | Low-Mid | ✓ | ✗ | ~ | |||
Whack-a-Mole | 0.900 | ✗ | ? | ? | ✗ | ? | |||
CrabEmu | 0.2.0 | ✗ | ? | ✓ | ✗ | ? | |||
CHIP-8 emulator | ? | ✗ | ? | ? | ✗ | ! | |||
chipce8 | PC Engine / TurboGrafx-16 | git | ✗ | ? | ✓ | ✗ | ! | ||
CHIP-F8 | Channel F | git | ✗ | ? | ? | ✗ | ✗ | ||
Handhelds | |||||||||
Chip8me | 1.0 | ✗ | ? | ✗ | ✗ | ✓ | |||
DrChip 8 | 09/20/02 | ✗ | ? | ✗ | ✗ | ✓ | |||
Chip-3DS | 1.0 | ✗ | Mid | ? | ✗ | ~ | |||
GB-8 | Game Boy | git | ✗ | Mid | ✓ | ✓ | ✓ | ||
Vision-8 for Gameboy | Game Boy | 1.0 | ✗ | ? | NC | ✗ | ? | ||
OmniChip-8 | Game Boy | git | ✗ | ? | ✓ | ✓ | ? | ||
PSPChip8 | 1.0 | ✗ | Low | ✗ | ✗ | ~ | |||
Chip8 Emulator | 1.0 Beta | ✗ | Low | ✗ | ✗ | ✗ | |||
DreamChip | V4 | ✗ | Low | ✗ | ✗ | ✗ | |||
Chips1 | WonderSwan | git | ✗ | ? | ✓ | ✓ | ? | ||
Chip8Pd | Playdate | git | ✗ | ? | ? | ✗ | ? | ||
C8 | 0.2 | ✗ | ? | ? | ✗ | ? | |||
Chip8 | Atari Lynx | ? | ✗ | ? | ? | ✗ | ? | ||
Chip-8-Pokitto | Pokitto | git | ✗ | ? | ? | ✗ | ? | ||
CHIP-8 mini | Pokemon Mini | git | ✗ | ? | ✓ | ✗ | ? | ||
Calculators | |||||||||
Chip8Emu | 1.2.2 | ✗ | Mid | ✓ | ✗ | ✓ | |||
Schip8fx | Casio AFX Fx-9860 |
1.11.0 | ✗ | Mid | ? | ✗ | ✓ | ||
C8SALT | TI-84 series | git | ✗ | ? | ✓ | ✓ | ✓ | ||
Chip-84 | git | ✗ | ? | ✓ | ✗ | ? | |||
Chip84CE | git | ✗ | ? | ✓ | ✗ | ? | |||
Chip8-TI68k | TI-68k | git | ✗ | ? | ✓ | ✓ | ? | ||
Vinegar | TI-83 TI-83 Plus |
1.1 | ✗ | ? | ✓ | ✗ | ? | ||
Microcontrollers | |||||||||
8boy | git | ✗ | ? | ✓ | ✗ | ? | |||
ESPboy CHIP8 | ESPboy | git | ✗ | ? | ✓ | ✓ | ? | ||
ESP32TinyChip8 | ESP32 | git | ✗ | ? | ✓ | ✓ | ? | ||
Chip-8 STM32 | STM32 | git | ✗ | ? | ✓ | ✓ | ? | ||
chip8-stm32 | STM32 | git | ✗ | ? | ✓ | ✗ | ? | ||
TIVA8 | TM4C123 | git | ✗ | ? | ✓ | ✗ | ? | ||
ByteBoy | MSP430 | git | ✗ | ? | ? | ✗ | ? | ||
Firmware | |||||||||
CHIP-8 UEFI | git | ✗ | ? | ✓ | ✗ | ? | |||
GPCHIP | Miyoo | 0.0.1 | ✗ | ? | ✓ | ✗ | ✓ | ||
PluginChip8 | RockBox | ? | ✗ | ? | ✓ | ? | ✓ | ||
Home computers | |||||||||
Chip-8 | Atari 8-bit | git | ✗ | ? | ✓ | ✓ | ? | ||
Chip09 | Tandy CoCo 2 Dragon 32/64 |
git | ✗ | ? | ? | ✗ | ? | ||
Vision-8 | ColecoVision Coleco ADAM |
1.0 | ✗ | ? | NC | ✗ | ? | ||
CHIP-OTTO | ZX Spectrum ZX Spectrum Next Cambridge Z88 |
? | ✗ | ? | ✗ | ✗ | ? | ||
Chip8 | ? | ✗ | ? | ? | ✗ | ? | |||
C64 Chip-8 | git | ✗ | ? | ✓ | ✗ | ? | |||
OmniChip-8 | git | ✗ | ? | ✓ | ✓ | ? | |||
Chip-8 Emulator | ? | ✗ | ? | ✗ | ✗ | ? | |||
Vic-20 Chip-8 Emulator | VIC-20 | 1.11 | ✗ | ? | ✗ | ✗ | ? | ||
CHIP-8 Simulator BBC/Master | BBC Micro BBC Master |
? | ✗ | ? | ? | ✗ | ? | ||
Chip-8 | 26-Jan-98 | ✗ | ? | ? | ✗ | ? | |||
Fantasy computers | |||||||||
minimicro-chip8 | MiniMicro | git | ✗ | ? | ✓ | ✗ | ? | ||
CHIP-8 Emulator | PICO-8 | 1.5 | ✗ | ? | ? | ✗ | ? | ||
CHIP-80 | TIC-80 | ? | ✗ | ? | ? | ✗ | ? | ||
Text editor | |||||||||
chip-8.nvim | NeoVim | git | ✗ | ? | ✓ | ✗ | ? | ||
chip8.el | Emacs | git | ✗ | ? | ✓ | ? | ? | ||
Game Engine | |||||||||
CHIP8-GM | GameMaker | git | ✗ | ? | ✓ | ✗ | ? | ||
E2-CHIP-8-interpreter | Garry's Mod | git | ✗ | ? | ? | ✗ | ? | ||
Chip8Unity | Unity | git | ✗ | ? | ✓ | ✗ | ? | ||
Chip8Interpreter4Unity | Unity | git | ✗ | ? | ? | ✗ | ? | ||
Megazeux CHIP-8 Emulator | Megazeux | ? | ✗ | ? | ? | ✗ | ? | ||
Other | |||||||||
chip8 | Sharp PC-1350 PC-1360 PC-2500 |
git | ✗ | ? | ✓ | ✗ | ? | ||
Chip-84 Rainmeter Edition | Rainmeter | git | ✗ | ? | ? | ✗ | ? | ||
flipper-chip | Flipper Zero | git | ✗ | ? | ✓ | ✗ | ? | ||
CHIP-8 console on FPGA | TinyFPGA BX | git | ✗ | ? | ✓ | ✗ | ? | ||
chip8swemu | Game & Watch: Super Mario Bros | git | ✗ | Mid | ✓ | ✓ | ✓ |
Extension support
Interpreter | CHIP-8 | S-CHIP | XO-CHIP | Other |
---|---|---|---|---|
Cadium | ✓ | ✓ | ✓ | ✓[4] |
chip8swemu | ✓ | ✓ | ✗ | ✗ |
DSP | ✓ | ✓[5] | ✗ | ✗ |
JAXE | ✓ | ✓ | ✓ | ✓[6] |
Vision-8 | ✓ | ✗ | ✗ | ✗ |
CowChip | ✓ | ✗ | ✗ | ✗ |
OmniChip-8 | ✓ | ✗ | ✗ | ✗ |
Pin8 | ✓ | ✗ | ✗ | ✗ |
CHIP-8 emulator (KolibriOS) | ✓ | ✗ | ✗ | ✗ |
CHIP-8 (ZealOS) | ✓ | ✗ | ✗ | ✗ |
ChipChip | ✓ | ✓ | ? | ✓[7] |
iPhone-Chip-8-Emulator | ✓ | ✓ | ✗ | ✗ |
PalmChip8 | ✓ | ✓ | ✗ | ✗ |
DALE-8 | ✓ | ✗ | ✗ | ✗ |
Pico-CHIP8 | ✓ | ✗ | ✗ | ✗ |
MeltChip | ✓ | ✗ | ✗ | ✗ |
Octo | ✓ | ✓ | ✓ | ? |
Silicon8 | ✓ | ~ | ~ | ✗ |
Chip8.js | ✓ | ✗ | ✗ | ✗ |
Flip8 Redux | ✓ | ✓ | ✗ | ✗ |
CHIP Emulator (Xbox one) | ✓ | ✗ | ✗ | ✗ |
Chip8x | ✓ | ✓ | ✗ | ✗ |
CHIP8 Emulator (Wii U) | ✓ | ✓ | ✗ | ✗ |
Chippy | ✓ | ✓ | ✗ | ✗ |
Chip 8 Emulator (GameCube) | ✓ | ✗ | ✗ | ✗ |
Chip8-n64 | ✓ | ✗ | ✗ | ✗ |
PsChip8 | ✓ | ✗ | ✗ | ✗ |
Super-Chip8x | ✓ | ✗ | ✗ | ✗ |
CHIP8 TO SMD | ✓ | ✓ | ✗ | ✗ |
NES-CHIP-8 | ✓ | ✗ | ✗ | ✗ |
Chip8-NX | ✓ | ✗ | ✗ | ✗ |
Chip-8 emulator (PS4) | ✓ | ✗ | ✗ | ✗ |
Chip8 (PS2/PS3) | ✓ | ✗ | ✗ | ✗ |
Chip8-3DO | ✓ | ✗ | ✗ | ✗ |
Whack-a-Mole | ✓ | ✗ | ✗ | ✗ |
CrabEmu | ✓ | ✗ | ✗ | ✗ |
CHIP-8 emulator (DreamCast) | ✓ | ✗ | ✗ | ✗ |
chipce8 | ✓ | ✗ | ✗ | ✗ |
CHIP-F8 | ✓ | ✗ | ✗ | ✗ |
Chip8me | ✓ | ✓ | ✗ | ✗ |
DrChip 8 | ✓ | ✗ | ✗ | ✗ |
Chip-3DS | ✓ | ✗ | ✗ | ✗ |
GB-8 | ✓ | ✗ | ✗ | ✗ |
pspchip8 | ✓ | ✗ | ✗ | ✗ |
Chip8 Emulator (PSP) | ✓ | ✗ | ✗ | ✗ |
DreamChip | ✓ | ✗ | ✗ | ✗ |
Chips1 | ✓ | ✓ | ✓ | ✗ |
Chip8Pd | ✓ | ✗ | ✗ | ✗ |
C8 | ✓ | ✓ | ✗ | ✗ |
Chip8 (Lynx) | ✓ | ✓ | ✗ | ✗ |
Chip-8-Pokitto | ✓ | ✗ | ✗ | ✗ |
CHIP-8 mini | ✓ | ✗ | ✗ | ✗ |
Chip8Emu | ✓ | ✗ | ✗ | ✗ |
Schip8fx | ✓ | ✓ | ✗ | ✗ |
C8SALT | ✓ | ~ | ✗ | ✗ |
Chip-84 | ✓ | ✓ | ✗ | ✗ |
Chip84CE | ✓ | ✗ | ✗ | ✗ |
Chip8-TI68k | ✓ | ✓ | ✗ | ✗ |
Vinegar | ✓ | ✓ | ✗ | ✗ |
8boy | ✓ | ✓ | ✗ | ✗ |
ESPboy CHIP8 | ✓ | ✓ | ✗ | ✗ |
ESP32TinyChip8 | ✓ | ✗ | ✗ | ✗ |
Chip-8 STM32 | ✓ | ✓ | ✓ | ✓[8] |
CHIP 8 emulator (STM32) | ✓ | ✗ | ✗ | ✗ |
TIVA8 | ✓ | ✗ | ✗ | ✗ |
ByteBoy | ✓ | ✗ | ✗ | ✗ |
CHIP-8 UEFI | ✓ | ✗ | ✗ | ✗ |
GPCHIP | ✓ | ✗ | ✗ | ✗ |
PluginChip8 | ✓ | ✓ | ✗ | ✗ |
Chip-8 (Atari 8-bit) | ✓ | ✓ | ✗ | ✗ |
Chip09 | ✓ | ✗ | ✗ | ✗ |
CHIP-OTTO | ✓ | ✗ | ✗ | ✗ |
Chip8 (Amiga) | ✓ | ✗ | ✗ | ✗ |
C64 Chip-8 | ✓ | ✗ | ✗ | ✗ |
Chip-8 Emulator (Commodore 64) | ✓ | ✗ | ✗ | ✗ |
Vic-20 Chip-8 Emulator | ✓ | ✗ | ✗ | ✗ |
CHIP-8 Simulator BBC/Master | ✓ | ✗ | ✗ | ✗ |
Chip-8 (RISC OS) | ✓ | ✗ | ✗ | ✗ |
minimicro-chip8 | ✓ | ✗ | ✗ | ✗ |
CHIP-8 Emulator (PICO-8) | ✓ | ✗ | ✗ | ✗ |
CHIP-80 | ✓ | ✗ | ✗ | ✗ |
chip-8.nvim | ✓ | ~ | ~ | ✗ |
chip8.el | ✓ | ✓ | ✗ | ✗ |
CHIP8-GM | ✓ | ✓ | ✗ | ✗ |
E2-CHIP-8-interpreter | ✓ | ✗ | ✗ | ✗ |
Chip8Unity | ✓ | ✗ | ✗ | ✗ |
Chip8Interpreter4Unity | ✓ | ✗ | ✗ | ✗ |
Megazeux CHIP-8 Emulator | ✓ | ~ | ✗ | ✗ |
chip8 (PC-1350/PC-1360/PC-2500) | ✓ | ✗ | ✗ | ✗ |
Chip-84 Rainmeter Edition | ✓ | ✓ | ✗ | ✗ |
flipper-chip | ✓ | ✗ | ✗ | ✗ |
fpga-chip8 | ✓ | ✗ | ✗ | ✗ |
Comparisons
PC / x86
- Cadium The GUI is hard to navigate to a new user but has many emulation options, supports the most CHIP-8 extensions out of any interpreter see list here. Also great debugger.
Mobile / ARM
- Octo IDE and interpreter, allows for sprite, audio and supports multiple multiple extensions and custom compatibility options and compatibility profile for specific extensions.
Web browsers
Consoles
Handhelds
Calculators
Microcontrollers
Firmware
Home computers
Fantasy computers
Text editor
Game Engine
Other
- flipper-chip does not support any controls/input[9]
- Chip-84 Rainmeter Edition is blurry when set to a resolution higher than the original CHIP-8 due to Rainmeter not supporting nearest neighbor pixel interpolation
See also
External links
- 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.
References
- ↑ Joseph Weisbecker - Wikipedia
- ↑ https://chip-8.github.io/extensions/
- ↑ https://github.com/trapexit/chip-8_documentation
- ↑ Cadium supported CHIP-8 variants - Cadium Github
- ↑ dsp-emulator/src/misc/init_games.pas - DSP GitHub
- ↑ JAXE Features - JAXE GitHub
- ↑ ChipChip description - Google Play
- ↑ CHIP-8 STM32 README
- ↑ Flipper-chip issue #1
- Notes
- ↑ Only available outside of Windows and Linux as a libretro core (e.g., RetroArch).
- ↑ DALE-8 is public domain