Difference between revisions of "CHIP-8 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(accuracy tests & comparisons)
Line 38: Line 38:
 
|[https://github.com/gulrak/cadmium 1.1.8]
 
|[https://github.com/gulrak/cadmium 1.1.8]
 
|{{✗}}
 
|{{✗}}
|High
+
|Cycle
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 56: Line 56:
 
|[https://github.com/leniad/dsp-emulator git]
 
|[https://github.com/leniad/dsp-emulator git]
 
|{{✗}}
 
|{{✗}}
|?
+
|Mid
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 65: Line 65:
 
|[https://github.com/kurtjd/jaxe git]<br>[https://buildbot.libretro.com/nightly libretro core]
 
|[https://github.com/kurtjd/jaxe git]<br>[https://buildbot.libretro.com/nightly libretro core]
 
|{{✓}}
 
|{{✓}}
|?
+
|Mid
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 74: Line 74:
 
|[https://www.komkon.org/~dekogel/vision8.html 1.0]
 
|[https://www.komkon.org/~dekogel/vision8.html 1.0]
 
|{{✗}}
 
|{{✗}}
|?
+
|Mid
 
|{{NC}}
 
|{{NC}}
 
|{{✗}}
 
|{{✗}}
Line 83: Line 83:
 
|[http://www.emu-france.com/emulateurs/10-ordinateurs/108-chip-8-superchip-8-megachip-8-chip-16/924-cowchip/ 0.2]
 
|[http://www.emu-france.com/emulateurs/10-ordinateurs/108-chip-8-superchip-8-megachip-8-chip-16/924-cowchip/ 0.2]
 
|{{✗}}
 
|{{✗}}
|?
+
|Low-Mid
 
|{{?}}
 
|{{?}}
 
|{{✗}}
 
|{{✗}}
Line 195: Line 195:
 
|[https://johnearnest.github.io/Octo/ Website]<br>[https://github.com/JohnEarnest/Octo git]
 
|[https://johnearnest.github.io/Octo/ Website]<br>[https://github.com/JohnEarnest/Octo git]
 
|{{✗}}
 
|{{✗}}
|High
+
|Cycle
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 204: Line 204:
 
|[https://games.gulrak.net/cadmium Website]<br>[https://github.com/gulrak/cadmium git]
 
|[https://games.gulrak.net/cadmium Website]<br>[https://github.com/gulrak/cadmium git]
 
|{{✗}}
 
|{{✗}}
|High
+
|Cycle
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 213: Line 213:
 
|[https://timendus.github.io/silicon8/ Website]<br>[https://github.com/Timendus/silicon8 git]
 
|[https://timendus.github.io/silicon8/ Website]<br>[https://github.com/Timendus/silicon8 git]
 
|{{✗}}
 
|{{✗}}
|?
+
|High
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 321: Line 321:
 
|NES-CHIP-8  
 
|NES-CHIP-8  
 
|<abbr title="Nintendo Entertainment System">NES</abbr>  
 
|<abbr title="Nintendo Entertainment System">NES</abbr>  
|[https://github.com/NovaSquirrel/NES-CHIP-8 git]
+
|[https://github.com/NovaSquirrel/NES-CHIP-8 git]<br>[https://forums.nesdev.org/viewtopic.php?t=17547 ROM]
 
|{{✗}}
 
|{{✗}}
|?
+
|High<ref Group=N>most accuracy tests show that it is accurate, due to the NES controller having less inputs selection in other tests can't be done</ref>
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 350: Line 350:
 
|[https://github.com/jmgk77/CHIP8 v1]
 
|[https://github.com/jmgk77/CHIP8 v1]
 
|{{✗}}
 
|{{✗}}
|?
+
|Mid
 
|{{?}}
 
|{{?}}
 
|{{✗}}
 
|{{✗}}
Line 451: Line 451:
 
|[https://github.com/haroldo-ok/really-old-stuff/tree/master/gameboy/gbv8_100 1.0]
 
|[https://github.com/haroldo-ok/really-old-stuff/tree/master/gameboy/gbv8_100 1.0]
 
|{{✗}}
 
|{{✗}}
|?
+
|Mid
 
|{{NC}}
 
|{{NC}}
 
|{{✗}}
 
|{{✗}}
Line 729: Line 729:
 
|[https://www.komkon.org/~dekogel/vision8.html 1.0]
 
|[https://www.komkon.org/~dekogel/vision8.html 1.0]
 
|{{✗}}
 
|{{✗}}
|?
+
|Mid
 
|{{NC}}
 
|{{NC}}
 
|{{✗}}
 
|{{✗}}
Line 861: Line 861:
 
|[https://github.com/Dudeidu/CHIP8-GM git]
 
|[https://github.com/Dudeidu/CHIP8-GM git]
 
|{{✗}}
 
|{{✗}}
|?
+
|High-Mid
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 1,515: Line 1,515:
 
<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.
 
* '''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.
*
+
* '''chip8swemu''' Simple GUI with, easy to navigate.
 +
* '''CowChip''' Sensitive to illegal function calls and crashes due to them.
 
<font size="3"><b>Mobile / ARM</b></font><br>
 
<font size="3"><b>Mobile / ARM</b></font><br>
 +
<font size="3"><b>Web browsers</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.
 
* '''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>Consoles</b></font><br>
 
<font size="3"><b>Consoles</b></font><br>
 +
* '''NES-CHIP-8''' has limited controls.
 
<font size="3"><b>Handhelds</b></font><br>
 
<font size="3"><b>Handhelds</b></font><br>
 
<font size="3"><b>Calculators</b></font><br>
 
<font size="3"><b>Calculators</b></font><br>
Line 1,538: Line 1,540:
 
==References==
 
==References==
 
<references/>
 
<references/>
 +
;Notes
 +
<references group=N />
  
 
;Notes
 
;Notes
 
<references group="N"/>
 
<references group="N"/>
 
[[Category:Historic emulation software]]
 
[[Category:Historic emulation software]]

Revision as of 23:56, 20 April 2024

CHIP-8
PONG CHIP8.png
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 Windows Linux macOS 1.1.8 Cycle
chip8swemu Windows Linux git Mid
DSP Windows Linux macOS git Mid ?
JAXE Windows Linux [N 1] git
libretro core
Mid ?
Vision-8 Windows MS-DOS UNIX 1.0 Mid NC ?
CowChip Windows 9x
Windows 3.1
0.2 Low-Mid ? ?
OmniChip-8 Windows Linux git ? ?
Pin8 Haiku git ? NC ?
CHIP-8 Emulator KolibriOS git ? ?
CHIP-8 ZealOS git ? ?
Mobile / ARM
ChipChip Android 1.8.0 Mid
Chip8 Java Android ? Low ~
iPhone-Chip-8-Emulator iOS git ? ~
PalmChip8 PalmOS 1.0 ? ? ?
DALE-8 KaiOS git ? [N 2] ?
Pico-CHIP8 Linux ARM git ? ?
MeltChip BlackBerry PlayBook git ? ?
Web browsers
Octo Web Website
git
Cycle
Cadmium Web Website
git
Cycle
Silicon8 Web Website
git
High
Chip8.js Web Website
git
?
Flip8 Redux Web NewGrounds ? ? ?
Consoles
CHIP Emulator Xbox One 1 Mid ?
Chip8x Xbox v5 ? ? ?
CHIP8 Emulator Wii U 2.2 Mid
Chippy Wii 1.0 ?
Chip 8 Emulator GameCube 1.0a ? ?
Chip8-n64 Nintendo 64 git Mid
PsChip8 PlayStation git Mid
Super-Chip8x Super Nintendo git Mid
CHIP8 TO SMD Genesis 2.0 Mid
NES-CHIP-8 NES git
ROM
High[N 3] ?
Chip8-NX Switch git Mid ~
Chip8 Emulator PlayStation 4 POC Low ? ~
CHIP8 PlayStation 3
PlayStation 2
v1 Mid ? ?
Chip8-3DO 3DO git Low-Mid ~
Whack-a-Mole Dreamcast 0.900 ? ? ?
CrabEmu Dreamcast 0.2.0 ? ?
CHIP-8 emulator Saturn ? ? ? !
chipce8 PC Engine / TurboGrafx-16 git ? !
CHIP-F8 Channel F git ? ?
Handhelds
Chip8me Nintendo DS 1.0 ?
DrChip 8 GameBoy Advance 09/20/02 ?
Chip-3DS Nintendo 3DS 1.0 Mid ? ~
GB-8 Game Boy git Mid
Vision-8 for Gameboy Game Boy 1.0 Mid NC ?
OmniChip-8 Game Boy git ? ?
PSPChip8 PSP 1.0 Low ~
Chip8 Emulator PSP 1.0 Beta Low
DreamChip PSP V4 Low
Chips1 WonderSwan git ? ?
Chip8Pd Playdate git ? ? ?
C8 GP32 0.2 ? ? ?
Chip8 Atari Lynx ? ? ? ?
Chip-8-Pokitto Pokitto git ? ? ?
CHIP-8 mini Pokemon Mini git ? ?
Calculators
Chip8Emu TI-Nspire 1.2.2 Mid
Schip8fx Casio AFX
Fx-9860
1.11.0 Mid ?
C8SALT TI-84 series git ?
Chip-84 TI84+CE git ? ?
Chip84CE TI84+CE git ? ?
Chip8-TI68k TI-68k git ? ?
Vinegar TI-83
TI-83 Plus
1.1 ? ?
Microcontrollers
8boy Arduino 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 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 AmigaOS
ColecoVision
Coleco ADAM
1.0 Mid NC ?
CHIP-OTTO ZX Spectrum
ZX Spectrum Next
Cambridge Z88
? ? ?
Chip8 AmigaOS ? ? ? ?
C64 Chip-8 Commodore 64 git ? ?
OmniChip-8 Commodore 64 git ? ?
Chip-8 Emulator Commodore 64 ? ? ?
Vic-20 Chip-8 Emulator VIC-20 1.11 ? ?
CHIP-8 Simulator BBC/Master BBC Micro
BBC Master
? ? ? ?
Chip-8 RiscOS 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 High-Mid ?
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.
  • chip8swemu Simple GUI with, easy to navigate.
  • CowChip Sensitive to illegal function calls and crashes due to them.

Mobile / ARM
Web browsers

  • Octo IDE and interpreter, allows for sprite, audio and supports multiple multiple extensions and custom compatibility options and compatibility profile for specific extensions.

Consoles

  • NES-CHIP-8 has limited controls.

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

References

Notes
  1. Only available outside of Windows and Linux as a libretro core (e.g., RetroArch).
  2. DALE-8 is public domain
  3. most accuracy tests show that it is accurate, due to the NES controller having less inputs selection in other tests can't be done
Notes