Matt Greer, an independent developer, has achieved something quite remarkable—he managed to fit an entire game of Solitaire onto a single custom Nintendo e-Reader card. This card, equipped with just two “dotstrips,” contains a mere 2,192 bytes each, summing up to a modest 4.3 kilobytes of data. Greer shared this accomplishment in a detailed blog post and an engaging YouTube video.
The Nintendo e-Reader, a quirky peripheral for the Game Boy Advance, made its debut in Japan in December 2001 and in the U.S. by September 2002. It allowed users to scan cards to access full games or add-ons for Game Boy Advance titles. This peripheral boasted a comparatively large 8MB storage capability for its time. Some NES titles required up to 10 cards, while the system could handle as many as 12. Certain extras, like additional levels for Super Mario Advance 4, only needed a single card.
The blog post that accompanies Greer’s Solitaire project dives deeply into the development process, detailing how he crafted this unique homebrew game within the tough confines of existing Game Boy Advance hardware. Crafting homebrew titles for the Game Boy Advance is already a specialized endeavor, but doing so with a solitary e-Reader card elevates it to a level of exclusivity that borders on the extraordinary.
According to his blog, the e-Reader can load NES games, raw binaries, and Zilog Z80 binaries. Utilizing Z80 assembly, known for its minimal space requirements, proved advantageous here. Additionally, the e-Reader API (ERAPI) allowed Greer to execute common functions directly from the device rather than embedding them in dotstrip code, saving precious space.
Greer acknowledges a key challenge: the Z80 emulator inside the Nintendo e-Reader isn’t entirely accurate, and it has a limited range of opcodes and registers. This means certain operations typical for a Z80 environment aren’t feasible with this restricted setup. Despite these constraints, Greer successfully developed a fully functioning Solitaire game, complete with customizable music, within the 4,384 bytes available across two dotstrips. It’s astounding how much he achieved within these confines. It’s somewhat a shame that Nintendo e-Reader cards were only in production for a brief time, rendering the e-Reader a largely forgotten piece of gaming history.