"CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker made on his 1802 Microprocessor."
This project is a CHIP-8 virtual machine that runs CHIP-8 programs. CHIP-8 is an assembler-like language using 2-byte-long opcodes.
This emulator can be thought of as a processor with its own registers, memory, clock etc, designed for running CHIP-8 programs.
Originally developed in the 1970s to make video games easier to program, CHIP-8 was later used to run video games on graphing calculators, particularly those made by Texas Instruments.
Just install the package, unzip the archive and open a program (any .ch8
-file) by drag-and-dropping it onto the Chip-8.exe
.
This flicker effect you might notice in this example is characteristic of CHIP-8. Pixels that are updated are actually XORed, which causes them to be constantly turned on and off.
- Move your player with the
arrow-keys
or1 (up)
andQ (down)
- restart:
C
- start:
X
- player 1: moves with
arrow-keys
- player 2: moves with
i, j, k , l
- left/right:
Q
/E
- shoot:
W
- rotate:
Q
- left/right:
W
/E
- faster:
A
more can be found at https://github.com/kripod/chip8-roms. The keypad for this emulator has the following layout:
1 2 3 4
Q W E R
A S D F
Y X C V
so it has 16 keys in total.
The up-arrow
-key is mapped to 1
, left-arrow
-key to 3
, right-arrow
-key to 4
, down-arrow
-key to Q
.
Each game uses its own key-bindings which have to be figured out individually.
- Cowgod's Chip-8 Technical Reference v1.0 by Thomas P. Greene
- https://en.wikipedia.org/wiki/CHIP-8
- https://github.com/kripod/chip8-roms - Games in ROMs folder
- https://github.com/Timendus/chip8-test-suite - Test ROMs in ./roms/test folder