Reverse Bottle Adventure

Discovered by Kazooie

Bottle Values

Introduction

Reverse Bottle Adventure (RBA) is a glitch where by placing a bottle item on B allows us to write the internal item value of a set of bottles outside the space reserved for the inventory.

† Item values are the internal values used to represent the collectable items in the game. A full chart may be found here.

How it works

Internally, the game stores our item buttons with the following structure. The given addresses are for V1.0

Button ItemsInventory Screen Offsets
B item
11A638
C-left
11A639
C-down
11A63A
C-right
11A63B
C-left
11A63C
C-down
11A63D
C-right
11A63E

The item button addresses store what item is equipped to a particular button, while the item slot addresses are used to highlight which inventory slot an item belongs to.

However, the inventory slot values are also used to determine which bottle is currently equipped and what inventory slot to update when the contents change, as otherwise there would be no difference between bottles.

Normally when the contents of a bottle changes, the bottle is set to a C button, so to determine which inventory slot to update the game will simply check three addresses over from the button that is storing the bottle.

But when you change the B item to a bottle item, the game will still perform the same process of checking three addresses over to find the corresponding inventory slot (which in this case is the address storing the item on C-Right), and updating the inventory slot with the new contents of the bottle.

Since the range of item values that can be equipped to a C Button (57) is greater than the number of inventory slots (24), it's possible to write a the item value of bottle item outside the normal bounds of the inventory, and into addresses used for storing the equipment screen, quest items, and other things.

In other words...

  • The "inventory slot" (memory address) that is written to is determined by the item on C-Right.
  • The value that is written to that memory address is determined by the internal value for the item on the B button.
  • The address is written to only when the B button is changed to a bottle item (ex. filling, emptying, catching things, etc.).

Starting RBA

The only requirement to start RBA is to change the B button item into a bottle item. This is done in two main ways. The first is by using some method to change the B button into a Deku Stick, then using a bottle duplication trick to change the B button from a stick to a bottle. The second is duplicated a bottle over a stolen fishing rod using shield swipe.

However there are a few issues that need to be addressed first:

  • Bottle dupe only works while you have no Deku Sticks. On the N64 version, wielding a Deku Stick as an Adult results in a crash so extra sticks should be disposed of as a Child, but if you forget you can just do the shield swipe method over the fishing rod instead.
  • Performing the Bottle dupe will activate RBA, so to avoid accidentally overwriting something, it's best to put the bottle you are duplicating on C-Right.

Check out the Bottle on B page on how to put a bottle on B.

Modifiers

The following is a list of all items which can be used for triggering RBA.

RBA modifiers
modifierdecimalbinary
Empty bottle 20 0001 0100
Fairy 24 0001 1000
Fish 25 0001 1001
Blue fire † 28 0001 1100
Bug 29 0001 1101
Half-milk †† 31 0001 1111

† - Blue fire, though difficult to reach as a Child, is possible by entering the Ice Cavern via hovering.
†† - See Halfmilk RBA.

The other bottle items DO NOT WORK, because of the following reasons:

  • Red, Green, Blue potions can only be bought, and the game will not recognize B button bottle.
  • Full milk: When you play the song for the cows, the game doesn't recognize B button bottle.
  • Ruto's letter: This is a show item and does not act like other bottles.
  • Poe, Big Poe: Can't capture Poes without talking to them. The game doesn't recognize B button bottle.

This means we can only write back 6 values to memory with RBA: 20, 24, 25, 28, 29, or 31.

Item Screen

The Item Screen is the subscreen which holds your C-button equippable items. The first 24 slots are used to store C-Items. The first item, Deku Sticks (item value 0) is stored at Slot 0. So RBAing with Deku Sticks on C-Right results in a bottle being written over your Deku Stick slot in the inventory. Not very exciting. However, since some slots can hold hold upgraded version of an item (the first being the Ocarina Slot), it's possible to overwrite an inventory slot without owning said item. For example, RBAing with the Ocarina of Time (item value 08) on C-Right will put a bottle over the Bombchu slot (slot 9).

It's worth noting if you replace an item that can't be used by one form of Link (like the hookshot) with a bottle, that bottle can not be equipped by that Link.

Item Slots
item on c-rightitem slot replacedmemory address
Deku Stick Deku Stick11A644
Deku Nut Deku Nut 11A645
Bombs Bombs 11A646
Fairy Bow Fairy Bow 11A647
Fire Arrow † Fire Arrow 11A648
Din's Fire Din's Fire 11A649
Fairy Slingshot Fairy Slingshot 11A64A
Fairy Ocarina Fairy Ocarina/Ocarina of Time 11A64B
Ocarina of Time Bombchus 11A64C
Bombchus Hookshot/Longshot 11A64D
Hookshot Ice Arrow 11A64E
Longshot Farore's Wind 11A64F
Ice Arrow †† Boomerang 11A650
Farore's Wind Lens of Truth 11A651
Boomerang Magic Beans 11A652
Lens of Truth Megaton Hammer 11A653
Magic Beans Light Arrow 11A654
Megaton Hammer Nayru's Love 11A655
Light Arrow †† Bottle #1 11A656
Nayru's Love Bottle #2 11A657
Empty Bottle Bottle #3 11A658
Red Potion Bottle #4 11A659
Green Potion Adult Trade Items 11A65A
Blue Potion Child Trade Items 11A65B

† - Unequipable to C-Right
†† - These are different from the item that is normally equipped to C when you equip a magic arrow and can only be equipped to c-right if you perform the following steps before obtaining the magic arrow item:

  1. Duplicate a bottle over the slot of the Magic Arrow with Reverse Bottle Adventure.
  2. Equip this Bottle on any c-button. You must be Adult.
  3. Obtain the Magic Arrow that matches the slot.
  4. Travel through time twice. The Magic arrow item without the fairy bow should be on your c-button instead of the bottle. You can now RBA it like any other item.

Following the Child Trade Item slot is Item ammunition. All 24 inventory slots have their own ammo slot, but most are unused.

Item Amounts
item on c-rightitem amount updatedmemory address
Fairy Deku Stick amount 11A65C
Fish Deku Nut amount 11A65D
Lonlon Milk (full) Bomb amount 11A65E
Bottled Letter Arrow amount 11A65F
Blue Fire Fire Arrow amount † 11A660
Bug Din's Fire amount † 11A661
Big Poe Deku Seed amount 11A662
Lonlon Milk (half) Ocarina amount † 11A663
Poe Bombchu amount 11A664
Weird Egg Hookshot/Longshot amount † 11A665
Cucco Ice Arrow amount † 11A666
Zelda's Letter Farore's Wind amount † 11A667
Keaton Mask Boomerang amount † 11A668
Skull Mask Lens of Truth amount † 11A669
Spooky Mask Magic Beans amount 11A66A
Bunny Hood Magic Beans popularity †† 11A66B

† - Unused value.
†† - This is how many Magic Beans you've ever bought from the Bean seller in Zora's River. For example, if the value is set to 6, he will charge you 70 rupees for a bean. Any values higher than 9 cause him to stop selling beans. Video.

Using RBA with these items on C-Right will simply write the value of your bottled item on B as the new amount of the item on the right column. Example - catch a fairy in your B bottle while a bottled Poe is on C-right and you will have 24 bombchus.

Equipment Subscreen

The equipment is handled differently. Several items are stored within the same byte of data, using on/off switches (also called flags) to store whether you have an item or not. This way the game can save space by storing information like which tunics and boots you have in one 8-digit binary value.

An example: Lets say the value of the Tunics & Boots byte is 0011 0111. What does that mean? Well, if you convert it into decimal, you get 32+16+4+2+1, which is 55. If you look at the chart below, you will see that this means you have all the tunics and boots except Hover Boots. By using RBA, you can rewrite this value to the value of one of the modifiers above.

Goron Mask on C-right (child-only)
11A66C
what itembinary valuedecimal value
Kokiri Tunic xxxx xxx1 1
Goron Tunic xxxx xx1x 2
Zora Tunic xxxx x1xx 4
Kokiri Boots xxx1 xxxx 16
Iron Boots xx1x xxxx 32
Hover Boots x1xx xxxx 64

If you delete your Kokiri Tunic, then have a Like-Like eat your remaining Tunic, the game puts the Kokiri Tunic back on you, despite you not having it. In your inventory the empty slot where the Kokiri Tunic would go will be selected, sort of like how if you skip the Kokiri Sword, become an adult, then go back in time, you will be wielding the Kokiri Sword, despite having never gotten it, and it not being in your inventory.

Zora Mask on C-right (child-only)
11A66D
what itembinary valuedecimal value
Kokiri Sword xxxx xxx1 1
Master Sword xxxx xx1x 2
Biggoron Sword xxxx 01xx 4
Giant's Knife † xxxx 01xx 4
Giant's Knife (broken) xxxx 11xx 12
"Broken" †† xxxx 10xx 8
Deku shield xxx1 xxxx 16
Hylian shield xx1x xxxx 32
Mirror shield x1xx xxxx 64

† - The Giant's Knife and Biggoron Sword are internally the same item. There is a flag stored elsewhere that determines what sword it is.
†† - "Broken" is flag used to determine whether to display a broken Giant's Knife in the inventory screen. Using RBA you can set the "Broken" flag on without having the third sword. This causes there to be the image of the broken sword in your inventory, but the cursor moves right past it when you try to select it.

Following the Zora Mask are the Gerudo Mask (11A66E), Mask of Truth (11A66F), and SOLD OUT (11A670). However these addresses are always zeroed, and are never used for anything in the game.

However, Gerudo Mask does affect the fake Deku Stick amount that shows up in the inventory when a bottled item is duplicated over an item with ammo. For example, duplicating a bottle over Deku Nuts will cause the Deku Stick on the inventory to say zero, even if you have some. RBAing the Gerudo Mask will change this value from 0 to the value of the modifier on B.

Left-Side Equipment

The left-side equipment includes capacity upgrades and some hidden stuff like wallet upgrades. The way the values here work is somewhat unintuitive. Also, some of the items you can put on these slots are very strange. There are 4 visible slots where items can go (5 if you consider that the Bullet Bag slot and the Quiver slot are in the same location on the menu), in addition to Deku Stick capacity, Deku Nut capacity, and the wallet upgrades.

Each left-side equipment slot tends to take up three bits. The Bomb Bag slot and the Dive Meter slot have all of their three bits in a single byte, while the Bullet Bag slot and the Strength Upgrade slot are a mixture of two separate bytes. Due to this, there will be two additional charts after the regular charts to show what a mixture of two bytes can do.

In the tables below, bits marked with an "x" instead of 0 or 1 are not used to determine that particular equipment slot.

Pocket Egg on C-right (adult-only)
11A671
deku nut capacitybinary valuedecimal valueeffect
Nut Capacity (0) x000 xxxx 0 cannot hold nuts (default)
Nut Capacity (20) x001 xxxx 16 works normally, see footnote †
Nut Capacity (30) x010 xxxx 32 works normally
Nut Capacity (40) x011 xxxx 48 works normally
Nut Capacity (0) x100 xxxx 64 can't pick up/buy nuts
Nut Capacity (128) x101 xxxx 80 see footnote ††
Nut Capacity (0) x110 xxxx 96 can't pick up/buy nuts
Nut Capacity (128) x111 xxxx 112 see footnote ††
deku stick capacitybinary valuedecimal valueeffect
Stick Capacity (0) xxxx 000x 0 cannot hold sticks (default)
Stick Capacity (10) xxxx 001x 2 works normally, see footnote †
Stick Capacity (20) xxxx 010x 4 works normally
Stick Capacity (30) xxxx 011x 6 works normally
Stick Capacity (0) xxxx 100x 8 can't pick up/buy sticks
Stick Capacity (20) xxxx 101x 10 works normally
Stick Capacity (30) xxxx 110x 12 works normally
Stick Capacity (40)††† xxxx 111x 14 works normally
Bullet Bag Slotbinary valuedecimal valueeffect
Various items †††† xxxx xxx1 1 see footnote ††††

† This upgrade is obtained when obtaining the item for the first time.
†† You can hold up to 255 Deku Nuts (if you buy more it wraps around to 0), but if you have over 128 and try to use one, it changes to 0. Also, the icons become screwed up once you get over 99. This upgrade is impossible to get.
††† Just to save you the time, yes this upgrade is impossible -- the only way would be Halfmilk RBA with the Pocket Egg, but that means the value must be set to 26, and there is no way to do that to this value.
†††† This works in conjunction with your Bullet Bag. See the chart further down to see what you can do with this.

Bullet Bag Slot - Mix Chart
pocket egg on c-right
11A671
pocket cucco on c-right
11A672
item imageeffect
xxxx xxx0 01xx xxxx Bullet Bag (30) works normally
xxxx xxx0 10xx xxxx Bullet Bag (40) works normally
xxxx xxx0 11xx xxxx Bullet Bag (50) works normally
xxxx xxx1 00xx xxxx Quiver (30) holds 0 seeds
xxxx xxx1 01xx xxxx Quiver (40) holds 10 seeds
xxxx xxx1 10xx xxxx Quiver (50) holds 20 seeds
xxxx xxx1 11xx xxxx Bomb Bag (20) holds 30 seeds

This one isn't very interesting, besides the very low capacity slingshot.

Pocket Cucco on C-right (adult-only)
11A672
Wallet Upgradesbinary valuedecimal valueeffect
Default Wallet xx00 xxxx 0 holds 99 rupees (default)
Adult's Wallet xx01 xxxx 16 holds 200 rupees
Giant's Wallet xx10 xxxx 32 holds 500 rupees
No Rupees Shown xx11 xxxx 48 see footnote ††
Dive Meter Slotbinary valuedecimal valueeffect
Empty xxxx 000x 0 dive distance 3 (default)
Silver Scale xxxx 001x 2 works normally
Gold Scale xxxx 010x 4 works normally
Giant's Knife (broken) xxxx 011x 6 dive distance 1
Adult's Wallet † xxxx 100x 8 dive distance 1
Giant's Wallet † xxxx 101x 10 dive distance 1
Deku Seeds † xxxx 110x 12 dive distance 1
Fishing Rod † xxxx 111x 14 dive distance 1
Strength Upgrade Slotbinary valuedecimal valueeffect
Various items ††† xxxx xxx1 1 colored gauntlets †††

† Shows Japanese text.
†† You can still hold 500, but the amount will not be displayed on screen.
††† You can get special colored gauntlets using this and the regular strength upgrades combined! Check further down on this page for the colored gauntlets chart.

Something more interesting are the special colored gauntlets. This uses Pocket Cucco RBA mixed with the strength upgrades.

Colored Gauntlets Chart
pocket cucco on c-right
11A672
cojiro on c-right
11A673
item image in slot 3effect
xxxx xxx0 01xx xxxx Goron Bracelet works normally
xxxx xxx0 10xx xxxx Silver Gauntlets works normally
xxxx xxx0 11xx xxxx Golden Gauntlets works normally
xxxx xxx1 00xx xxxx Silver Scale Black Gauntlets
xxxx xxx1 01xx xxxx Gold Scale Green Gauntlets
xxxx xxx1 10xx xxxx Giant's Knife (broken) Blue Gauntlets
xxxx xxx1 11xx xxxx Adult's Wallet † Bronze Gauntlets

† Shows Japanese text

All colored gauntlets have the strength of Golden Gauntlets (can lift all objects).

This is pretty simple to do, just update the Pocket Cucco RBA value with any odd number (something that will end in a 1 in binary). If you never got any strength upgrades, this gives you the Black Gauntlets, but you can get different colors if you have different upgrades.

Cojiro on C-right
11A673
Bomb Bag Slotbinary valuedecimal valueeffect
Empty xx00 0xxx 0 holds 0 bombs (default)
Bomb Bag (holds 20) xx00 1xxx 8 works normally
Bomb Bag (holds 30) xx01 0xxx 16 works normally
Bomb Bag (holds 40) xx01 1xxx 24 works normally
Goron Bracelet xx10 0xxx 32 holds 0 bombs
Silver Gauntlets xx10 1xxx 40 holds 20 bombs
Golden Gauntlets xx11 0xxx 48 holds 30 bombs
Silver Scale xx11 1xxx 56 holds 40 bombs
Quiver Slotbinary valuedecimal valueeffect
Empty xxxx x000 0 holds 0 arrows (default)
Quiver (holds 30) xxxx x001 1 works normally
Quiver (holds 40) xxxx x010 2 works normally
Quiver (holds 50) xxxx x011 3 works normally †
Bomb Bag (holds 20) xxxx x100 4 holds 0 arrows †
Bomb Bag (holds 30) xxxx x101 5 holds 20 arrows †
Bomb Bag (holds 40) xxxx x110 6 holds 30 arrows †
Goron Bracelet xxxx x111 7 holds 40 arrows †

† - If you get one of these BEFORE winning the Quiver upgrades, you can perform Lift the Archery Guy and Ass Chest

Quest Status Items

Quest status is simple. Each bit represents something you either have or do not have.

Odd Mushroom on c-right
11A674
what itembinary valuedecimal value
0 heart pieces 0000 xxxx 0
1 heart piece 0001 xxxx 16
2 heart pieces 0010 xxxx 32
3 heart pieces 0011 xxxx 48

Picking up a heart piece adds 16 to the previous value. The last 4 binary digits do nothing. Using this in a clever manner you can get a total of 23 and a half hearts.

Odd Potion on C-right
11A675
what itembinary valuedecimal value
Song of Time 0000 0001 1
Song of Storms 0000 0010 2
Kokiri's Emerald 0000 0100 4
Goron's Ruby 0000 1000 8
Zora's Sapphire 0001 0000 16
Stone of Agony 0010 0000 32
Gerudo's Card 0100 0000 64
Gold Skultula † 1000 0000 128

† Gold Skultula count is stored somewhere else; having its bit set to 1 simply shows your count as opposed to not showing it (back when you first start your file, it doesn't show up).

Poacher's Saw on C-right (adult-only)
11A676
what itembinary valuedecimal value
Serenade of Water 0000 0001 1
Requiem of Spirit 0000 0010 2
Nocturne of Shadow 0000 0100 4
Prelude of Light 0000 1000 8
Zelda's Lullaby 0001 0000 16
Epona's Song 0010 0000 32
Saria's Song 0100 0000 64
Sun's Song 1000 0000 128
Broken Goron Sword on C-right
11A677
what itembinary valuedecimal value
Forest Medallion 0000 0001 1
Fire Medallion 0000 0010 2
Water Medallion 0000 0100 4
Spirit Medallion 0000 1000 8
Shadow Medallion 0001 0000 16
Light Medallion 0010 0000 32
Minuet of Forest 0100 0000 64
Bolero of Fire 1000 0000 128

If you ever do Broken Goron Sword RBA your Light Medallion will be permanently deleted, as there's no way to write a value of 32 or higher.

It is worth noting using RBA can get you the Shadow and Spirit Medallions, which lead to Light Arrows and the Rainbow Bridge cutscene. In an old Any% Route, now known as No Wrong Warp, this was used to skip all adult dungeons.

Dungeon Items

Dungeon items are the dungeon-specific items, such as the Compass or the Map. You can use RBA to delete or create them. All of the dungeons hold the data for these items the same way.

Dungeon Item Values
what itembinary valuedecimal value
Big Key 0000 0001 1
Compass 0000 0010 2
Dungeon Map 0000 0100 4

Each dungeon has its own byte for the dungeon items. Here are the items you need to put on C-right:

Dungeon Item RBA (adult-only)
item on c-rightwhat dungeonmemory address
Prescription Great Deku Tree 11A678
Eyeball Frog Dodongo's Cavern 11A679
Eyedrops Jabu-Jabu's Belly 11A67A
Claim Check Forest Temple 11A67B
Fairy Bow+Fire Arrow Fire Temple 11A67C
Fairy Bow+Ice Arrow Water Temple 11A67D
Fairy Bow+Light Arrow Spirit Temple 11A67E
Kokiri Sword † Shadow Temple 11A67F
Master Sword † Bottom of the Well 11A680
Giant's Knife † Ice Cavern 11A681
Deku Shield † Ganon's Tower11A682
Hylian Shield † Gerudo Training Grounds 11A683
Mirror Shield † Thieve's Hideout 11A684
Kokiri Tunic † Inside Ganon's Castle 11A685
Goron Tunic † Tower Collapse Interior 11A686
Zora Tunic † Tower Collapse Interior Exit 11A687
Kokiri Boots † Treasure Chest Shop 11A688
Iron Boots † Deku Tree Boss Room 11A689
Hover Boots † Dodongo's Cavern Boss Room 11A68A
Bullet Bag (Holds 30) † Jabu-Jabu's Belly Boss Room 11A68B

† Unequippable to C-right.

Small Key Amount
item on c-rightwhat dungeon
BulletBag (Holds 40) Deku Tree
BulletBag (Holds 50) Dodongo's Cavern
Quiver (Holds 30) Jabu Jabu's Belly
Quiver (Holds 40) Forest Temple
Quiver (Holds 50) Fire Temple
Bomb Bag (Holds 20) Water Temple
Bomb Bag (Holds 30) Spirit Temple
Bomb Bag (Holds 40) Shadow Temple
Goron's Bracelet Bottom of the Well
Silver Gauntlets Ice Cavern
Golden Gauntlets Ganon's Tower
Silver Scale Gerudo Training Ground
Golden Scale Gerudo Fortress †

Due to an Upgrade Oddity, you can get Bomb Bag (Holds 20) on a C button. This edits the Water Temple small key amount.

† Keys only work on the appropriate cells.

Last updated 08/18/2014 – Exodus