CHIP-8 was a virtual machine for microcomputers

CHIP-8 was first used for the COSMAC VIP microcomputer and later introduced in the popular HP-48 calculator. A revision named SCHIP was developed later, with extra instructions.

The CHIP-8 VM is one of the most recommended systems to implement to get started with emulators development.


Memory addresses range from 0x000 to 0xFFF, but the first range is reserved for the interpreter itself. CHIP-8 ROMS load from address 0x200.

In addition to the CPU, there's also a 64×32 monochrome display and a synthesizer/buzzer that emits a tone when the ST register is non-zero.


There are 35 opcodes in the standard CHIP-8 set, with extra instruction for SCHIP.

All opcodes are always 2-byte long in big endian.

See a table with all the opcodes and their variations/bugs accross versions of the interpreters.


Added on: