Designed by Joseph Weisbecker, CHIP-8 is a low level interpreted programming language, which looks like machine code. Because of its simplicity, it makes a very good starting point for emulation programming. While writing my own emulator I noticed that CHIP-8 resources were a bit scattered, so I decided to create this page to gather everything relevant. Not only about emulation, but about CHIP-8 in general. I hope you'll find it useful. If you spot errors or omissions (data, links, credits), please let me know.

Why CHIP-8 emulation?

CHIP-8 is extremely simple, but for a first try at emulation programming, it still offers an enjoyable challenge. CHIP-8 has only 35 opcodes, 16 8-bit registers, 2 8-bit counters, and one 16-bit address pointer. Games are never bigger than 4 kilobytes, and sometimes as small as a few hundred bytes. But most of all, CHIP-8 is well documented and there is a handful of freely available games and emulators for various platforms.

Please keep in mind that writing an emulator usually results in messy code, and that's not a good way to learn programming. You should better not try writing a CHIP-8 emulator before you feel comfortable with the language you intend to use.



The RCA CDP1802 (COSMAC) processor

COSMAC (COmplementary Silicon MetAl-oxide Conductor) is the name of the first CMOS (COS/MOS - Complementary Symmetry Metal Oxide Semiconductor) microprocessor architecture by RCA (Radio Corporation of America).

Produced in 1976, the RCA CDP1802 is a single-chip version of the RCA CDP1801 (two chips, CDP1801R + CDP1801U, check link below). CDP stands for Central Data Processor.


There seem to be two COSMAC VIP (Video Interface Processor) models, the RCA VP-111 and the RCA VP-711. The later one is the one with the blue plastic cover.


You can reach me by email :

CSS derived from BlueRoot.com