A Rather Perpendicular View

CHIP-8

A CHIP-8 and SUPER-CHIP emulator, with two dozen freely licensed games from the community archive to play. Pick a game, click the screen, and play with the keys around W A S D.

Press Share live for a link to this page that anyone can open to watch you play, as it happens. The keyboard only reaches the game once it has been clicked; if it doesn’t, open it on its own.

How it works

The emulator started as a C++ program for relearning C++, and was later ported to Rust and Go, all three sharing the same tests. What runs here is the Rust one, compiled to WebAssembly: the game runs in your browser, so it reacts to the keys as quickly as the native versions do. The page around it only draws the screen, reads the keys and plays the beeper.

Sharing goes through a small Rust server. While you share, your page sends it each new picture of the screen — a kilobyte, and only when something changed — and the server passes it on to everyone watching your link, keeping the latest one for anyone who joins late. It never runs a game itself.

CHIP-8 interpreters never quite agreed on what a few instructions do, so each game comes with the quirks and speed it was made for. The source, the games and notes on all of that are on GitHub.

Ignatius Reza

This is my personal blog/playground.

© 2013 - 2026 Ignatius Reza
Learn something about everything and everything about something.
RSS