Matt Greer, an independent developer, recently shared an achievement that has caught the attention of gaming enthusiasts everywhere—he successfully crammed an entire game of Solitaire onto a single custom Nintendo e-Reader card. In a blog post and accompanying YouTube video, Greer showcased how he managed to fit the game on just two “dotstrips” of data, with each strip packing 2,192 bytes, making for a little over 4.3 kilobytes in total.
To provide some context, the Nintendo e-Reader is an accessory for the Game Boy Advance that hit the Japanese market in December 2001, followed by a U.S. debut in September 2002. This peripheral allowed players to scan cards that could store full games or offer additional content for existing Game Boy Advance games, all saved on its comparatively generous 8MB of onboard memory. Popular titles, especially NES ports, often required up to 10 cards—with the e-Reader being able to handle as many as 12 cards. Some add-ons, like extra levels in Super Mario Advance 4, interestingly needed only one.
In his detailed blog post on the Solitaire project, Greer delves into the intricate process of developing such a game under the extremely tight technical constraints of the Game Boy Advance system. While homebrew projects for the GBA are a niche in their own right, the creation of a Solitaire game for a single e-Reader card takes niche to a whole new level, bordering on the absurd in terms of its precise and skillful execution.
The original blog post explains that the e-Reader is capable of running NES games, raw binaries, and Zilog Z80 binaries, with Z80 assembly notably offering a smaller footprint, making it an ideal choice for this endeavor. The Nintendo e-Reader also utilizes an API, known as ERAPI, which optimizes storage by providing pre-coded solutions for many standard tasks, sparing developers from having to repeatedly encode them in dotstrip form.
Another fascinating point raised in Greer’s blog is the fact that the Z80 emulator within the e-Reader isn’t perfectly accurate. It works with a reduced set of opcodes and registers, which means some routines commonplace on a standard Z80 processor aren’t feasible on the e-Reader. Despite these restrictions, Greer crafted a fully functional version of Solitaire, even incorporating music that players can change, all while working within the confines of 4,384 bytes. Using just two dotstrips on a single custom card showcases the remarkable skills and creativity that homebrew developers bring to the table.
It’s somewhat bittersweet that e-Reader cards were only produced for a limited time, and unfortunately, the Nintendo e-Reader itself has largely faded into obscurity. Nonetheless, projects like Greer’s bring a renewed appreciation for this unique piece of gaming history.