Matt Greer, an independent game developer, recently shared an exciting project on his blog and YouTube channel. He successfully compressed an entire game of Solitaire onto a single custom Nintendo e-Reader card. Remarkably, this feat involves just two “dotstrips,” each with 2,192 bytes, making up a total of slightly over 4.3 kilobytes of data.
For those who might not be familiar, the Nintendo e-Reader is a unique peripheral that was launched for the Game Boy Advance back in December 2001 in Japan and in September 2002 in the United States. This innovative device allowed gamers to scan cards to play full games or access expansions for existing Game Boy Advance titles, storing everything on an impressive 8MB of onboard memory. While some NES ports required as many as ten cards, the e-Reader had the potential to handle up to twelve. Interestingly, some extra levels for Super Mario Advance 4 only needed one card.
If you’re curious, you can check out the YouTube video linked within his post. It gives an insightful look into the details behind creating this homebrew Solitaire game, which operates within some of the tightest technical limits imaginable for Game Boy Advance games. Projects for this platform are rare, but crafting a solitary e-Reader card game takes niche to a whole new level.
In his blog, Greer explains that the e-Reader is capable of loading NES games, raw binaries, and Zilog Z80 binaries. The Z80’s assembly language, known for its efficiency, turned out to be especially helpful for this project. The e-Reader applications also benefit from an e-Reader API (ERAPI), which saves space by allowing for common tasks to be directly accessed instead of repeatedly coded in the dotstrip format.
However, there’s a catch. The Z80 emulator used in the Nintendo e-Reader isn’t entirely accurate, offering a limited number of opcodes and registers. This means some operations that are typically possible on a Z80 just aren’t feasible given the e-Reader’s constraints. Despite this, Matt pulled it off, crafting a fully operational game of Solitaire—complete with changeable music—all within the mere 4,384 bytes available across the two dotstrips. It’s astounding what a dedicated homebrew developer can accomplish under such conditions. It’s a bit of a shame that the e-Reader cards weren’t around longer, making this piece of gaming history something most have forgotten over time.