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.
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.
