Banjo-Kazooie/Stop N Swop
This is a sub-page of Banjo-Kazooie.
One of the most infamous Rare pieces of media is without a doubt the Stop 'n' Swop, which was a planned pre-DLC method of acquiring bonus content from other games. Due to technological complications (which will be explained later), this idea never quite panned out. Similar ideas from other companies were experimented on, including Sega's lock-on technology and Ubi Soft's "Ubi Key" for the GBC Rayman.
What's Still In The Game
If the player collects all of the Jiggies and then beats Gruntilda, Mumbo will show pictures of two Eggs and one Ice Key during the ending. These and four more Eggs can be obtained by using secret built-in codes: go to the sandcastle in Treasure Trove Cove and type in "CHEAT"; a cow moo will confirm correct entry. Now, enter any of these codes:
Code | Result |
---|---|
NOW YOU CAN SEE A NICE ICE KEY WHICH YOU CAN HAVE FOR FREE | In Wozza's Cave in Freezeezy Peak, the ice wall will disappear, allowing the player to go through into a room containing the Ice Key. Of note is that this was one of the first Stop 'n' Swop items to be obtained, due to the use of the "Press L to Levitate" GameShark code. |
OUT OF THE SEA IT RISES TO REVEAL MORE SECRET PRIZES | Sharkfood Island (also in Treasure Trove Cove) will rise out of the sea and the player will be able to enter it. Inside is a large structure that can be climbed to acquire the Pink Egg. |
A DESERT DOOR OPENS WIDE ANCIENT SECRETS WAIT INSIDE | In Gobi's Valley, the door which is normally always closed will be opened. Inside is a secret room with a sarcophagus which can be opened using a nearby switch. Inside the sarcophagus is the Blue Egg. |
DONT YOU GO AND TELL HER ABOUT THE SECRET IN HER CELLAR | In the wine cellar in Mad Monster Mansion, the keg which normally has an X printed on it will be opened. It leads to a secret room with the Cyan Egg inside. |
AMIDST THE HAUNTED GLOOM A SECRET IN THE BATHROOM | In the bathroom in Mad Monster Mansion, the Green Egg will appear on top of Loggo the toilet. |
THIS SECRET YOULL BE GRABBIN IN THE CAPTAINS CABIN | The Red Egg will appear in the Captain's Cabin in Rusty Bucket Bay. |
NOW BANJO WILL BE ABLE TO SEE IT ON NABNUTS TABLE | In Click Clock Wood, the Yellow Egg will appear on the table in Nabnut's house in Winter. |
As soon as the player collects one of these, a new menu called "Stop 'n' Swop" will appear at the very end of the game totals, which shows all the secret items collected so far. None of these items have an effect in-game; they were intended to be used in various Rare-developed Nintendo 64 games by relying on the fact that the Nintendo 64 console retained Rambus memory for 10 seconds after power-off - enough time to quickly swap cartridges so the contents of memory left behind by the previous game would be available to the next game, hence the feature's name. Each of the Eggs corresponded to a different game, and transferring the Ice Key to every game and back would unlock a final, grand bonus.
For the longest time, the fate of Stop 'n' Swop was completely unknown and subject to many different rumors. It was not until 2020 when Paul Machacek, an ex-Rare employee who worked on this feature, revealed the true story, first on Rare Gamer and later on Twitter. As it turns out, Stop 'n' Swop is in fact implemented and fully functional in Banjo-Kazooie (see below), and Rare was able to transfer items between their next game, Donkey Kong 64, and Banjo-Kazooie during development. However, when Donkey Kong 64 was sent to Nintendo for approval, they requested the feature to be removed from the game, both due to the rare possibility of damage to either the console or the cartridge, and because Nintendo could not guarantee the method of transfer would work on future console models. Indeed, newer Nintendo 64 models starting in 1999 reduced the time the console retained Rambus memory down to just 1 second, completely breaking Stop 'n' Swop as it was implemented. Because Banjo-Kazooie was already released with the original method of transfer in mind, Rare had no choice but to scrap its implementation in future games. Data relating to the Ice Key can still be found in the released version of Donkey Kong 64.
These codes are effectively permanent. New games started after these codes are input will begin with the locations unlocked, and new games started after the items are collected will still have them collected. The only way to erase these items is to use GameShark code 81283400 0000.
Rare reintroduced the concept in the Xbox Live Arcade release of Banjo-Kazooie: although these codes are no longer permanent, getting wiped after exiting the save, having Banjo-Tooie and/or Banjo-Kazooie: Nuts & Bolts save data on the console unveils all the locations permanently. Then, collecting the items both adds them to the player's inventory in Banjo-Tooie (which makes the breakable N64 carts drop different items for a "Stop 'n' Swop II") and unlocks rare parts in Banjo-Kazooie: Nuts & Bolts.
The Mechanism
The original Stop 'n' Swop mechanism is left unused in Banjo-Kazooie, but is still fully functional.
On boot, the game scans all of main memory for a special 128-byte payload left behind by another game.
This payload starts with the magic number 0xC908C52F, contains data in the next 112 bytes (to transfer items between games), has 4 bytes of padding, and ends with two 4-byte checksums. If the magic number is present and the checksums are valid, the contents are transferred to an in-game word array, and then read by the game to make the relevant Stop 'n' Swop items accessible.
Receiving data from other games
The incoming payload should contain some or all of the values 0x108 through 0x10E inclusive:
Value | Purpose |
---|---|
0x108 | Makes the Yellow Egg appear (Click Clock Wood, Winter: Nabnut's Table) |
0x109 | Makes the Red Egg appear (Rusty Bucket Bay: Captain's Cabin) |
0x10A | Makes the Green Egg appear (Mad Monster Mansion: Loggo the Toilet) |
0x10B | Grants access to the Blue Egg (Gobi's Valley: Secret Chamber) |
0x10C | Grants access to the Pink Egg (Treasure Trove Cove: Sharkfood Island) |
0x10D | Grants access to the Cyan Egg (Mad Monster Mansion: Cellar) |
0x10E | Grants access to the Ice Key (Freezeezy Peak: Wozza's Cave) |
Here's a payload that will make all seven Stop 'n' Swop items accessible if placed in RAM before the game boots, and at any 128-byte boundary past the first ~1MB of memory (e.g. at 0x80200000)
To use with latest Project64:
- Enable the debugger (Settings > Options > Advanced > Enable debugger)
- Open Banjo-Kazooie, and hit F2 to freeze the game as early as possible
- Open the memory viewer (Debugger > View Memory)
- Paste the payload at the desired address, e.g. 0x80200000
- Close the viewer and hit F2 to resume the game
Make all Stop 'n' Swop items accessible |
---|
C908C52F 00000108 00000109 0000010A 0000010B 0000010C 0000010D 0000010E 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 638AE93A 22A1C3FD |
Sending data to other games
The game also writes outgoing payloads into memory, meant to be sent to and read by another game. These are the values of one or more of the Stop 'n' Swop items you've collected in the game, represented by the values 0x100 to 0x106 inclusive. It also writes the value 0x1, but its purpose is unclear.
Value | Purpose |
---|---|
0x1 | (unknown) |
0x100 | Sends the Yellow Egg |
0x101 | Sends the Red Egg |
0x102 | Sends the Green Egg |
0x103 | Sends the Blue Egg |
0x104 | Sends the Pink Egg |
0x105 | Sends the Cyan Egg |
0x106 | Sends the Ice Key |
Here's the payload meant to send all seven items to other Rare games:
Send all Stop 'n' Swop items to other games |
---|
C908C52F 00000001 00000100 00000101 00000102 00000103 00000104 00000105 00000106 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 55E7E71F 32815BC5 |
Interestingly, the magic number 0xC908C52F, when shifted right by 2, gives the ASCII string "2B1K". The orderly presence of the letters B and K suggests that this is not a coincidence, but the meaning of the numbers 2 and 1 are unclear.