Next: , Previous: , Up: Top   [Contents]

1 Introduction

Welcome to chip8, my implementation of an emulator compatible with the CHIP-8 virtual machine. This software manual will bring you information about the emulator, how to run programs on the CHIP-8, how to use the emulator and some information for those interested on the insides of the CHIP-8 virtual machine and the format used by the ROMs that can be run from CHIP-8.

Next: , Up: Introduction   [Contents]

1.1 Main features

This implementation for the CHIP-8 virtual machine has, at this moment, the following features:

At this stage the emulator has not been finished. There are a few features that have not been implemented yet. There is a particular interest in adding the following features:

Next: , Previous: , Up: Introduction   [Contents]

1.2 Reporting bugs

This tool has not been finished yet, and therefore there might be issues that haven’t been reported or addressed yet. If during the execution of a program you find some bug that would like to report for having it fixed, you can report bugs to our issue tracker, at the canonical repository for our project. The URL is

Please, provide as much information as you can, including the operating system you are using, the version of the emulation software and if you can tell us which ROM were you playing, it would be better.

Previous: , Up: Introduction   [Contents]

1.3 Some history

CHIP-8 is an interpreted programming language and the specification for a virtual machine. As is, CHIP-8 is not a cmoputer, and there are no computers in the wild using this architecture, because it has limited resources. Instead there are computers with their own hardware, that have a virtual machine that allows the computer to decode and execute CHIP-8 programs.

One of the first computers in add support for CHIP-8 as the COSMAC VIP, sold by RCA in the late 70s. This computer had a processor made too by RCA, with a speed of about 1.77 MHz and 2 kB of RAM memory. Inside the ROM, the operating system had the CHIP-8 interpreter that allowed the system to run games using the CHIP-8 language.

However, there are more machines that have added support for CHIP-8, specially during the late 80s and early 90s, with the expansion of small computers such as graphical calculators. In fact, during this period and thanks to the first Internet communities that came around that time, many hobbyists could extend the original CHIP-8 specification, by making some changes that would make them run better on their machines, and sometimes even improving the original CHIP-8 system, with features such as a bigger screen, more memory and even color.

Thanks to being easy to understand, CHIP-8 is one of the greatest platforms for those people who want to start working in the world of emulators development, learning an easy architecture before starting bigger projects.

Previous: , Up: Introduction   [Contents]