Independent developer Matt Greer recently shared an intriguing accomplishment in both a blog post and a YouTube video: he managed to fit an entire game of Solitaire onto a single custom Nintendo e-Reader card. This remarkable feat involved squeezing everything into just two “dotstrips,” each holding 2,192 bytes, bringing the total to slightly over 4.3 kilobytes of data.
For those not familiar, the Nintendo e-Reader is a peripheral that debuted for the Game Boy Advance in December 2001 in Japan and in September 2002 in the US. It allowed users to scan cards to play full games or expansions on the Game Boy Advance, with the device boasting up to 8MB of onboard storage, which was considered massive at the time. Although some NES ports required as many as 10 cards, the system could handle up to 12. Interestingly, expansions like the additional levels for “Super Mario Advance 4” fit onto a single card.
Greer’s full blog post delves deeply into the creation process of his homebrew Solitaire game, crafted under some of the strictest tech limitations you can imagine for Game Boy Advance games. Homebrew projects for the Game Boy Advance are a niche pursuit, but this takes it to another level, making it an impressively unique endeavor.
In his post, Greer explains that the e-Reader is capable of loading NES games as well as raw binaries, including those for the Zilog Z80 processor. The Z80’s assembly language, known for its low resource usage, was particularly beneficial for his project. Moreover, e-Reader applications can utilize the e-Reader API (ERAPI), which offers a collection of predefined functions that can be called directly from the e-Reader, saving valuable space that would otherwise be consumed if developers had to code these functions from scratch.
Greer also highlighted some limitations, noting that the Z80 emulator in the e-Reader isn’t entirely accurate and supports only a restricted set of opcodes and registers, which restricts some otherwise possible functions on a standard Z80 setup. Despite these challenges, Greer successfully developed a fully functional Solitaire game, complete with switchable music. He accomplished all this within the stringent limit of 4,384 bytes spread over two dotstrips on a single e-Reader card. It’s quite something to behold what a determined developer can achieve with such constraints. It’s a bit of a shame, though, that e-Reader cards were only available for a brief time, making the e-Reader somewhat of a forgotten relic today.