X
Shane
Mouton
Chip-8 Emulator
2

One can launch this app by clicking here or you can keep reading below for documentation on how to run this program and what Chip-8 is.

Chip-8 can be thought of as the precursor to the more modern Java Virtual Machine. While Chip-8 is not a CPU instruction set it has many features that you would find in a CPU instruction set rather than a high-level language similiarly to the Java's bytecode. This allowed progams to be targeted to for the Chip-8 virtual machine and ran on system that had a port of the virtual machine.

Chip-8 had 256 bytes of video memory and could provide access of 4096 bytes of general purpose memory. It also had 16 general purpose registers of 1-byte.

The following on the left shows the original keyboard along with the corresponding bindings in the emulator on the right:

Hex Keyboard
0123
4567
89AB
CDEF
Bindings
1234
QWER
ASDF
ZXCV

This emulator is not complete. There are a few things left to implement and fix. See the following table:

To-do list
Implement undocumented opcodes
Input
Save-states/Load-states