Screenshot : Animal Crossing ( YouTube A deleted feature from Animal Crossing for the GameCube would have let you play a library of 8-bit Nintendo Entertainment System games off of your memory card, a passionate and talented fan of the game found out this week. Advertisement The original Animal Crossing had so many memorable moments. . There was the dog that performed concerts at night, the mole who yelled at you for resetting the game too much or turning it off without saving, and the cruel, loathsome raccoon banker who remains one of Nintendo’s all-time great villains. But even better than all of these things was the fact that you could find tiny NES consoles to put inside your virtual house, which would let you play a handful of classics like Donkey Kong or Balloon Fight. In the days before Virtual Console on the Wii, this was a rare opportunity to revisit the classics on modern hardware. Over a decade later, software security researcher James Chambers has discovered that not only can the emulator in Animal Crossing play pretty much any NES game you throw at it, it seems that the game itself actually supports that as a feature, although Nintendo never ended up releasing any ROMs that work with it. Screenshot : James Chambers ( Gitbhub This week, Chambers shared his discovery in a lengthy, and at points very technical, blog post. What he found using Dolphin, a GameCube emulator, was that in addition to playing the pre-loaded games, the NES emulator in Animal Crossing was also designed to search whatever memory card was plugged into the system for other ROMs. As a result, not only could it be used to play almost any other NES game by pre-loading it onto the memory card, but the memory card could also be used to run custom code in the game. “It has been verified to work on a real GameCube, although I don’t think there are any videos of it online yet,” Chambers told Kotaku in an email. “I need to set up the ability to copy files from my computer to a GameCube memory card before I can try it myself.” To play NES games normally in Animal Crossing, you need to own the corresponding pieces of furniture, little NES consoles with a particular game cartridge sitting on top. However, there’s one NES console item that’s generic. It doesn’t have a game sitting on top, and when you try to interact with it a dialogue box pops up saying you don’t have any software for it. It turns out that when you do this, the generic NES console is actually scanning the memory card for ROMs. Nintendo never actually introduced a way to obtain extra games for the NES, but Chambers figured out how to put them onto a memory card in a format the game recognizes. If it finds them, you’ll actually get a different dialogue option that reads “Would you like to play [name of the game]?” The bulk of Chambers’ post goes into how he reverse-engineered the file format that the games needed to be in so Animal Crossing would recognize them. After pinning that down, he managed to get the NES game Mega Man running as well as some other games. Battletoads didn’t immediately work, but after finessing the file a bit, he was able to get it to run beyond the title screen. While the emulator can theoretically read any NES ROM, Chambers said that some games like Battletoads shipped with unique cartridge setups that would require some fine-tuning to get them functioning properly. Advertisement Beyond just being able to use Animal Crossing as a full-on NES emulator, the interesting part for Chambers is how the memory card could be used to hack the game and add new content to the physical version. “My personal goal for using a finding like this was to be able to create a modification of the game, like adding in some new holidays or mini games, and be able to play it on a real GameCube,” he said. “That’s possible now that code and data can be loaded into a regular copy of the game with just a memory card.” Advertisement Having examined the inner workings of the game, Chambers thinks Nintendo planned to add more classic NES games to Animal Crossing than the 19 existing ones. “They already put a fully working NES emulator into the game, so adding the capability to load more games in with a memory card wasn’t much more work, and would’ve allowed them to possibly sell or give out promotional copies of these memory-card based NES games,” he said. Nintendo did end up doing something similar with the Nintendo e-Reader add-on for the Game Boy Advance. It allowed you to scan cards to add new items or levels to games like the not at all confusingly titled Super Mario Advance 4: Super Mario Bros. 3. Of course, there were also e-Reader cards specific to Animal Crossing, some of which would unlock particular NES games like Ice Climber that couldn’t be gotten any other way. Advertisement It’s possible that Animal Crossing’s previously unknown ability to read executable code from the memory card might have been a similar attempt at a workaround for adding content to already shipped games prior to consoles being connected to the internet. Fortunately, even if Nintendo never ended up exploring the feature in more depth, there’s little doubt homebrew programmers and hackers will now use Chambers’ discovery to do just that.<doc-sep>The GameCube version of Animal Crossing contains a basic Nintendo Entertainment System emulator capable of running a selection of included games, such as Balloon Fight and Donkey Kong, but it appears the software Nintendo used is quite a bit more versatile than previously believed. A security researcher has managed to use an exploit that allows users to play additional NES games on the GameCube via memory cards. Security researcher James Chambers found that the generic NES Console item available in Animal Crossing — thought to just be for decorating your house — actually attempts to scan your GameCube’s memory card for relevant ROM files. Chambers discovered that the function responsible for handling furniture items was actually also responsible for handling a screen transition to the NES emulator in the game. By exploiting the way the game responds when a certain function is listed as zero — the plain NES console appears to give this function — and then tricking it into loading a ROM as a save file, Chambers was eventually able to get Animal Crossing to run additional games, such as Mega Man. There were several crashes along the way, but his solution appears to work for nearly every NES game and he uploaded his memory card file creator code to GitHub for other users to access. Nintendo fans have been attempting to exploit the company’s consoles and games for decades, beginning back with cheating tools like the Game Genie and GameShark. After the GameCube came and went, the emulator software Dolphin was created to run the console’s games on a PC, eventually supporting Wii games, as well. Through the use of an exploit on Nintendo Switch, hackers were even able to get the emulator running on Nintendo’s latest console. This was due to an unpatchable exploit with the system’s Tegra processor, though it appears that latest batch of Switch systems have made this exploit impossible. If you want a more elegant way to play old NES games, the NES Classic Edition recently went into production again. The plug-and-play system contains 30 classic games, including Super Mario Bros., The Legend of Zelda, Castlevania, Super C, Final Fantasy, and Metroid. Editors' Recommendations<doc-sep>
Fans of the early-2000s era GameCube version of the original Animal Crossing likely remember the game including a handful of emulated NES titles 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 to play any generic NES ROM stored on a GameCube memory card. Security researcher James Chambers 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 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, Pinball and Battletoads onto the GameCube through the in-game emulator, as well as a homebrew test ROM created years after Animal Crossing was made. Interestingly enough, Animal Crossing's memory card access hole also leads to a buffer overflow error that can let users execute arbitrary, user-defined code on the GameCube itself. One Animal Crossing hacker has already demoed how this method can be used to generate infinite items in a stock copy of Animal Crossing, but the same general method could load homebrew code onto the GameCube without the need for hardware mods or external cheat devices like the GameShark. The best laid plans... While being able to load NES games onto a GameCube is fun, the most interesting part of this discovery is probably what it suggests about an unexplored branch of potential Nintendo history. Remember that the code to load NES games from a memory card was put into Animal Crossing by Nintendo decades ago, not by some modern-day modification of the original game code. That strongly suggests Nintendo was at some point planning an official way to load additional NES files into Animal Crossing through the memory card. It's hard to say how this distribution might have worked. Maybe special ROM-packed memory cards would have been included with new editions of the game (Nintendo actually did sell versions of the game packaged with memory cards that unlocked special presents for players). Maybe Nintendo would have given such memory cards away in contests. Or maybe, in an alternate timeline, a machine akin to Japan's Japanese Famicom disk-writer kiosk could have let players load NES games onto their own memory cards. Regardless, it seems that Nintendo may have been planning ahead for some form of retro-game distribution long before the Wii Virtual Console became a thing in 2006. And if you want to make use of Nintendo's unused GameCube-to-NES emulation features today, Chambers has released GitHub source code 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 or on an actual GameCube using special memory card hardware