I once created a CHIP-8 console emulator

From JavaScript to C, I dove into the past, creating a CHIP-8 emulator to unlock vintage gaming magic!

Published 08/06/2023 · Lucas Bortoli

The Chip-8 console is a vintage gaming system designed as a simple platform for running video games.

The console featured a 64x32-pixel monochrome display, a hexadecimal keypad, and built-in sound capabilities.

Suffice to say, it was modest in its hardware capabilities.

In September 2020, after a year of interest in emulators, virtual machines, and fantasy consoles (such as PICO-8), I finally decided to jump head-first into the project. The incentive for the project came from curiosity about how a computer fundamentally works at a low level. I used it to learn C in a more in-depth way -- until then, I only had knowledge in JavaScript/TypeScript.

So here it is!

CHIP-8 emulator screenshot

The emulator passes all the test ROMs for the instruction set and runs all the games tested for CHIP-8.

This is a video I recorded back then, where I was running Pong, Snake and Breakout.

As always, the source code is available in my GitHub page.