Ars Technica is reporting on a recent discovery [arstechnica.com] which may bring new life to an old system:
Fans of the early-2000s era GameCube version of the original Animal Crossing likely remember the game including a handful of emulated NES titles [technobuffalo.com] that could be played by obtaining in-game items for your house. What players back then didn't know is that the NES emulator in Animal Crossing can also be used be used to play any generic NES ROM stored on a GameCube memory card.
Security researcher James Chambers [twitter.com] discovered the previously unused and undocumented feature buried in the original Animal Crossing game code and detailed his methodology and findings in a technically oriented Medium post [github.io] this week.
The key to opening Animal Crossing's NES emulator is the game's generic "NES console" item. Usually, this item simply tells players who try to use it that "I want to play my NES, but I don't have any software" (separate in-game items are used to play the NES ROMs that are included on the Animal Crossing disc).
While searching the Animal Crossing code for access to hidden developer menus, though, Chambers discovered that activating this in-game NES actually causes the game to mount and search the player's memory card for valid NES ROM files, using functions like "famicom_get_disksystem_titles" and "memcard_game_list." After a good deal of debugging through an emulator, Chambers deciphered the specific file format needed to get Animal Crossing to recognize NES ROM files stored on the memory card, which involves inserting specific checksum, file name, and ROM header values in specific locations before the game data itself.
After a bit of metadata and emulator tweaking, Chambers says he was able to load Mega Man [twitter.com], Pinball [twitter.com] and Battletoads [twitter.com] onto the GameCube through the in-game emulator, as well as a homebrew test ROM [twitter.com] created years after Animal Crossing was made.
[...] And if you want to make use of Nintendo's unused GameCube-to-NES emulation features today, Chambers has released GitHub source code [github.com] that lets you generate your own Animal Crossing-friendly NES ROM files. You can test out those files for yourself using a virtual memory card loaded into the Dolphin emulator [dolphin-emu.org] or on an actual GameCube using special memory card hardware [wiibrew.org].