Reverse Bottle Adventure (RBA) is a glitch which, 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.
Internally, the game stores our item buttons with the following structure. The given addresses are for V1.0
Button Items | Inventory 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 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:
Check out the Bottle on B page on how to put a bottle on B.
The following is a list of all items which can be used for triggering RBA.
RBA modifiers | ||
modifier | decimal | binary |
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:
This means we can only write back 6 values to memory with RBA: 20, 24, 25, 28, 29, or 31.
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-right | item slot replaced | memory address |
Deku Stick | Deku Stick | 11A644 |
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 |
† - 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 one of the two methods below:
Following the Child Trade Item slot is Item ammunition. Most inventory slots have their own ammo amount, but some are unused.
Item Amounts | ||
item on c-right | item amount updated | memory 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 |
Chicken | 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.
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 item | binary value | decimal 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 item | binary value | decimal 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 fish or bugs are duplicated over an item slot 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.
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 capacity | binary value | decimal value | effect |
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 capacity | binary value | decimal value | effect |
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 Slot | binary value | decimal value | effect |
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 image | effect |
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 Upgrades | binary value | decimal value | effect |
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 Slot | binary value | decimal value | effect |
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 Slot | binary value | decimal value | effect |
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 3 | effect |
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 Slot | binary value | decimal value | effect |
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 Slot | binary value | decimal value | effect |
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 is simple. Each bit represents something you either have or do not have.
Odd Mushroom on c-right 11A674 | ||
what item | binary value | decimal 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 item | binary value | decimal 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 item | binary value | decimal 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 item | binary value | decimal 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 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 item | binary value | decimal 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-right | what dungeon | memory 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 Tower | 11A682 |
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-right | what 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 | Thieve's Hideout † | |
Giant's Knife (broken) | Ganon's Castle |
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.
Using Get Item Manipulation, it is possible to obtain item #200 on your deku stick slot by falling out of bounds as you collect it. RBA'ing this item modifies an unused byte within the Forest Temple Rooms Visited flags.
RBA'ing a blank C-button (item #255, the default value for c-buttons), modifies an unused byte within the Water Temple Scene Data flags.