Recording Battle Data with the “PokeMonStadium3CarrierCartridge”
If you’ve found this page, you probably know that the Japanese version of Pokémon Stadium Gold & Silver (released as Pokémon Stadium 2 in other countries) had a feature called Mobile Stadium that let players watch replays of battles from tournaments held throughout Japan. It’s well documented that Battle Data was downloaded to Pokémon Crystal Version from the Mobile System GB, then transferred to the Nintendo 64 using the Transfer Pak. But there’s a part of this process that hasn’t been documented: how were those battles recorded at those tournaments? I think I’ve found an answer to that.
It turns out that every time you play a two-player Event Battle in Pokémon Stadium Gold & Silver, it’s secretly recorded in the same format that is used for Battle Data downloads. This recording is not visible in-game, but it can be extracted using a special “carrier cartridge”. A carrier cartridge is a normal Pokémon game cartridge—Red, Green, Blue, Yellow, Gold, Silver, or Crystal Version—that has been initialized by writing the string “PokeMonStadium3CarrierCartridge
” to offset 0x20
of its save file. When you start Pokémon Stadium Gold & Silver with such a cartridge inserted in the Transfer Pak in controller 1, it will automatically copy the last recorded battle to the carrier cartridge at offset 0x1000
. The copying happens during the Nintendo 64 logo splash screen—in fact, you can hear an extra sound effect play when the copy is made:
At this point, the carrier cartridge has done its job and the system can be powered off. But if you do proceed to the Game Pak Check Screen, you’ll be greeted with this sight:
The carrier cartridge is shown as a gray-label (non-Pokémon) game, but at the same time, it says that its Trainer ID is 00000 and it hasn’t been saved at a Pokémon Center. (This happens no matter what Pokémon save data is on the carrier cartridge.) Attempting to enter any game mode that interacts with the Game Boy game will result in a Transfer Pak error.
This recording process can be done with ordinary retail hardware. But initializing the carrier cartridge, and turning its recording into finished Battle Data, requires access to a debug menu. The code for this menu is present in the ROM of Pokémon Stadium Gold & Silver, but it’s inaccessible. Fortunately, someone by the name of jrra has released a patch that makes it accessible. The “Making VS” (たいせんふつくーる) menu reads the data recorded on the carrier cartridge and gives four options:
- Save (ほぞん): This option cannot be used before assigning a name to the battle and a “long name” and “AI number” to each Trainer. (The “AI number” does not affect the replay, but is used when the player chooses to battle against one of these Trainers.) Once that’s done, choosing “Save” will save the Battle Data to the debug cartridge’s ROM image at offset
0x3FEF000
. It will also save it to the first slot of Mobile Stadium so that the final product can be viewed. - Initialize (しょきか): Initializes the cartridge in the Transfer Pak in controller 1 as a carrier cartridge by writing the string “
PokeMonStadium3CarrierCartridge
” at offset0x20
. Also erases the area where Battle Data is stored (0x1000–147F
). - Suck up (すいあげ): Reads Battle Data from the debug cartridge’s ROM image at offset
0x3FEF000
. Because this region of the retail ROM is filled with0xFF
, using this option in the patched ROM loads invalid Battle Data that displays as twelve Eggs. - Done (おわる): Exits the menu.
Here’s a demonstration of my using this menu to edit a battle that I had recorded to a carrier cartridge: