Matt Greer, an independent developer, recently shared an exciting achievement: he’s successfully packed an entire game of Solitaire onto a single custom Nintendo e-Reader card. In a blog post and a YouTube video, he detailed how this card, which boasts two “dotstrips,” manages to hold just over 4.3 kilobytes of data, with each strip carrying 2,192 bytes.
For those unfamiliar, the Nintendo e-Reader is a unique peripheral that was originally launched for the Game Boy Advance in Japan in December 2001 and in the United States by September 2002. This nifty device could read scannable cards capable of holding full games or expansions for existing Game Boy Advance titles, which were then stored in the e-Reader’s surprisingly spacious 8MB memory. Some titles, like NES ports, required as many as 10 cards, although the e-Reader could technically handle up to 12 cards. However, smaller additions, like extra levels for Super Mario Advance 4, needed only one card.
In his comprehensive blog post related to this Solitaire project, Greer delved into the challenging development process involved in creating a game under the most stringent technical constraints presented by Game Boy Advance capabilities. While homebrew games for the GBA are already quite rare, crafting one that functions on a single e-Reader card elevates it to a level of almost unheard-of niche expertise.
As Greer explains, the e-Reader is equipped to load various types of software, including NES games, raw binaries, and Zilog Z80 binaries. The Z80 assembly, known for its minimal demands on resources, was particularly suited to this project. The e-Reader includes an API known as ERAPI, which offers libraries of common tasks, eliminating the need to incorporate these elements directly into dotstrip code and saving valuable space.
One notable caveat from the blog is that the Z80 emulator within the e-Reader isn’t fully accurate. It uses a restricted set of opcodes and registers, which means that some functions possible on a standard Z80 setup aren’t feasible here. Nonetheless, Greer ingeniously navigated these constraints and succeeded in crafting a fully functional game of Solitaire that even features changeable music, all within a compact 4,384-byte space across two dotstrips on a single card. It’s remarkable what he achieved given the minimal resources. It’s a shame, though, that actual e-Reader cards had such a brief production run, leading the Nintendo e-Reader itself to become a largely forgotten piece of tech history.