Matt Greer, an indie developer with a knack for innovation, recently shared his journey of cramming an entire game of Solitaire onto a uniquely crafted Nintendo e-Reader card. Through a detailed blog post and an informative YouTube video, he revealed that the card uses just two “dotstrips,” each one holding 2,192 bytes, culminating in a total of slightly over 4.3 kilobytes of data.
For those unfamiliar, the Nintendo e-Reader is an intriguing bit of gaming history. Originally rolled out for the Game Boy Advance – first in Japan in December 2001 and then in the U.S. by September 2002 – it had the ability to read complete games or add-ons for existing GBA titles from these scannable cards. This attachment boasted an impressive 8MB of internal storage at the time. While some games, particularly those NES ports, stretched across as many as 10 cards, the e-Reader could technically handle up to 12. A single card was often sufficient for something like additional levels in Super Mario Advance 4.
Greer’s project is particularly fascinating because it operates within the stringent technical constraints of Game Boy Advance titles. Crafting homebrew games for the GBA is already a niche endeavor; however, fitting one on a single e-Reader card is a feat bordering on the unimaginable.
According to Greer’s blog, the e-Reader supports loading various game types, including NES games, raw binaries, and even Zilog Z80 binaries. The Z80 assembly language, known for its minimal resource demands, proved particularly advantageous for this undertaking. Thanks to the e-Reader API (ERAPI), various routine tasks can be executed via calls from the e-Reader rather than being repeatedly hardcoded in the dotstrip, which further minimizes data usage.
However, the task was not without its hurdles. As detailed in the blog, the Z80 emulator within the e-Reader doesn’t perfectly emulate all Z80 capabilities due to a restricted opcode and register set. Yet, Greer ingeniously overcame these barriers to deliver a complete game of Solitaire, complete with changeable music, all packed into just 4,384 bytes and spread across two dot strips on his unique Nintendo e-Reader card. It’s quite remarkable how this creative developer succeeded in breathing new life into technology that’s largely become a relic, given that actual e-Reader cards didn’t have a long production life and the device itself has faded into obscurity.