All right, I've been thinking, when life gives you lemons, don't make lemonade! Make life take the lemons back! Get mad! I don't want your damn lemons! What am I supposed to do with these? Demand to see life's manager! Make life rue the day it thought it could give Cave Johnson lemons! Do you know who I am? I'm the man whose gonna burn your house down - with the lemons!

— Cave Johnson Portal 2

Rusty Chip

Mar 2024

Concept

A CHIP-8 emulator made with a focus on matching quirks in the specification for accuracy and maximum compatibility. Used as a learning project to start developing in Rust. The best way to learn a language is to actually use is, and this was fantastic for that purpose.

Screenshots

Given the old nature of the system, there are a bunch of public domain games for it which you can try out (included in the repository) so you can get immediate visual feedback and have something kind of enjoyable to try out to see the fruits of your labour.

Space Invaders is probably the most classic game. Space Invaders

Pong is another easy-to-recognize game, but not exactly as visually impactful. Pong

Tic-Tac-Toe gives more to look at, but also can be played on paper so it’s not the best video game example. Tic-Tac-Toe

There’s also a maze generator which is fun to look at, if not a little trippy. Maze

Big thank you to the creator of the quirk ROM as well, which helps identify which quirks you have active and which you don’t. I added command line options to toggle them on or off for the highest possible compatibility with the greatest number of ROMs, so it was nice having a handy guide to check that I had them implemented correctly. The test ROMs for this emulator in general are fantastic and highly recommended. Huge shout-outs to Timendus’ chip8-test-suite. Quirks