"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-keysor1 (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