The GBA Classic NES Series: Why waste the time?


Let's answer the question first. TL;DR, archival relevance.

Image: Classic NES Series - Super Mario Bros.

Today was the 21st anniversary of the Game Boy Advance's Classic NES Series. Basically, these were nothing more than Nintendo doing a 1:1 port of several high-selling NES games to the Game Boy Advance. The series got a new title added to it over the course of the rest of the year, ultimately ending with 12 games. Unlike what had been done with Super Mario Bros. Deluxe in 1999, having the game actually re-made to suit the smaller screen better, the games were just squashed down to fit the GBA screen, creating graphical anomalies and resulting in poor sales. In general, it was a pretty lukewarm addition to the GBA's library, acting as a stopgap until the Nintendo DS could be released in November. They're not really remembered well by anyone, even kids, and they tend to be ignored by emulationists in favour of their NES originals.

That having been said, Nintendo pulled some rather intriguing punches meant to immunise the Classic NES Series against emulation. Even though the games' content isn't particularly interesting, picking the code apart reveals some very telling information about the mentality of this huge company's leadership. Having lost the war against NES emulation (FCEUX and iNES providing cycle-accurate emulation as far back as the late 1990s), Nintendo seemed determined to prevent this rather inconsequential series of NES rereleases ever playing on an emulator or through a flashcart. As far as anyone can tell, they succeeded in this endeavour, taking until halfway through the Wii U's lifespan for anyone to figure out what was going on.

I won't try to concatenate the entire technical explanation into a single blog post. Suffice to say, the Game Boy Advance is one massive bug report and it's amazing any games worked at all. Rather than working around the problems that R&E built into the GBA, EAD used the problems to detect whether the game was being run on authorised hardware or not. While other games had used dodges like save-type spoofing and were easily detected by emulators, an obscure abuse of the ARM7's pipeline was what caused so many other emulator developers to simply give up on the Classic NES Series. According to endrift, the developer of mGBA, Nintendo's prefetch abuse made the game look from a deep code level like the emulator was doing something horribly wrong. This probably contributed to the trick, in that other developers probably ended the emulation immediately and feverishly began looking for an error in their source code. However, leaving the game to its own devices for a bit, endrift managed to finally open the curtain on Nintendo's impossible emulations and expose all their secrets. I wouldn't even hazard a guess as to how long this took in terms of sheer hours to figure out, but it had the effect of these 12 games being almost completely unemulateable for 10 1/2 years.

Like I said earlier, why waste the time? Obviously, these games were released in a hurry so Nintendo could make a swift quid ahead of launching the DS, and, since they're just emulations of games from the NES, why not just emulate the NES originals? Why waste the time on the GBA Classic NES Series?

Just because we think it's pointless right now, that doesn't mean it'll stay pointless forever. If endrift hadn't worked out how to get these working on mGBA, publishing their findings on Github for all to see, then the other Game Boy Advance emulators wouldn't have been able to incorporate the fixes for these games into their own codebases, and they would still be unemulateable. What happens when all the Game Boy Advance-compatible hardware stops working for all time? What happens when the very last classic Nintendo DS can't hold a battery charge anymore and the Game Boy Advance goes extinct in the wild? Those 12 games would stop being functional for all time. Oh sure, we'd have the ROM backups, but we wouldn't be able to load them into anything. I envision archiving as a giant museum with interactive exhibits, and emulation is the way we interact with the Videogames exhibit. What good is it if we have 12 games in our collection with no way to run them? That's like having a Laserdisc version of the Domesday Book when the only computer that could read it broke down and was thrown away 10 years ago. It's hard to explain the concept of "relevance" in this day and age, where social media is flooded with fast-fashion and AI-generated content, and everything has to be appealing to the largest number of people for the shortest period of time. Just because we probably don't want to load up Classic NES Series Super Mario Bros. and play it all the way through to World 8-4 in a single sitting doesn't mean it's irrelevant. Just because we can load up the NES original Super Mario Bros. with greater ease doesn't make the GBA reissue any less relevant. "Archival relevance" is still relevance, even though it's basically just academic.

Anyway, the Classic NES Series Anti-Emulation Measures is fascinating reading for anyone interested in computer science, plus it's not so technical that it can't be understood even if you don't know the basics of how microprocessors work.
Have a look for yourself.

--2 June 2025--

HOME