Ocarina of Time RAM Notes

  • CloudMax's NTSC 1.0 RAM Notes

    • ASM

      • Global

        • 0x80071A28 ADDIU V0, R0, 0x0001 #Egg Hatch Start Button Index.

          • Set it to 0x0 to include the B Button in the loop, allowing Eggs to hatch on the B Button.

        • 0x80079B1C BNEZ T0, 0x80079B2C #Used to determine if you have access to silver & gold gauntlet strength

          • T0 = Age

        • 0x80079240 BEQL T0, R0, 0x80079288 #Used to determine if you should use Child or Adult Movement Speed

          • T0 = Age

      • While NOT Pausing

        • 0x80395B00 BEQL T6, R0, 0x80395D68 #Used to determine if you can enter a crawlspace

          • T6 = Age

        • 0x8038BDA4 BEQL T8, R0, 0x8038BDB8 #Used to disable hookshot/longshot in midair

          • T8 = Is Standing State

          • Remove the branch to make hookshot/longshot usable in midair.

    • Data

      • 0x8011A5D0 [Save] #This is the Save Data

        • 0x8011A5D0 [Word] #Entrance Index

        • 0x8011A5D4 [Word] #Age Modifier

          • 0x0 Adult

          • 0x1 Child

        • 0x8011A5DC [Half] #Time of Day

        • 0x8011A5E0 [Word] #Day/Night Modifier

          • 0x0 Day

          • 0x1 Night

        • 0x8011A5F2 [Half] #Death Counter

        • 0x8011A5F4 [Dble] #Name

        • 0x8011A5FE [Half] #Heart Containers

          • 0x10 is 1 heart containers

        • 0x8011A600 [Half] #Health

          • 0x10 is 1 full heart

        • 0x8011A603 [Byte] #Magic

          • 0x30 is a filled normal bar

          • 0x60 is a filled double bar

        • 0x8011A604 [Half] #Rupees

        • 0x8011A638 [Word] #Equipped Items ID

          • Offset 0x0 B Button

          • Offset 0x1 C-Left

          • Offset 0x2 C-Down

          • Offset 0x3 C-Right

        • 0x8011A63C [Word] #Equipped Items Slot

          • Offset 0x0 C-Left

          • Offset 0x1 C-Down

          • Offset 0x2 C-Right

          • Offset 0x3 Unused

        • 0x8011A640 [Byte] #Equipped Tunic & Boots

          • 0x01 Kokiri Tunic

          • 0x02 Goron Tunic

          • 0x03 Zora Tunic

          • 0x10 Kokiri Boots

          • 0x20 Iron Boots

          • 0x30 Hover Boots

        • 0x8011A641 [Byte] #Equipped Sword & Shield

          • 0x01 Kokiri Sword

          • 0x02 Master Sword

          • 0x03 Biggoron's Sword

          • 0x10 Kokiri Shield

          • 0x20 Hylian Shield

          • 0x30 Mirror Shield

        • 0x8011A644 [Tble] #Item Slot Item IDs

          • Entries

            • 0x00 Deku Stick

            • 0x01 Deku Nut

            • 0x02 Bomb

            • 0x03 Fairy Bow

            • 0x04 Fire Arrow

            • 0x05 Din's Fire

            • 0x06 Slingshot

            • 0x07 Ocarina

            • 0x08 Bombchu

            • 0x09 Hookshot/Longshot

            • 0x0A Ice Arrow

            • 0x0B Farore's Wind

            • 0x0C Boomerang

            • 0x0D Lens of Truth

            • 0x0E Magical Beans

            • 0x0F Megaton Hammer

            • 0x10 Light Arrow

            • 0x11 Nayru's Love

            • 0x12 Bottle 1

            • 0x13 Bottle 2

            • 0x14 Bottle 3

            • 0x15 Bottle 4

            • 0x16 Adult Trade Item

            • 0x17 Child Trade Item

        • 0x8011A65C [Tble] #Item Slot Amount

          • Entries

            • 0x00 Deku Stick

            • 0x01 Deku Nut

            • 0x02 Bomb

            • 0x03 Fairy Bow

            • 0x04 Fire Arrow

            • 0x05 Din's Fire

            • 0x06 Slingshot

            • 0x07 Ocarina

            • 0x08 Bombchu

            • 0x09 Hookshot/Longshot

            • 0x0A Ice Arrow

            • 0x0B Farore's Wind

            • 0x0C Boomerang

            • 0x0D Lens of Truth

            • 0x0E Magical Beans

        • 0x8011A66B [Byte] #Magical Beans Available

          • Stores how many beans you've purchased. This byte decides the item cost & how many additional beans you're able to purchase.

        • 0x8011A66C [Byte] #Tunic & Boots

          • 0x01 Kokiri Tunic

          • 0x02 Goron Tunic

          • 0x04 Zora Tunic

          • 0x10 Kokiri Boots

          • 0x20 Iron Boots

          • 0x40 Hover Boots

        • 0x8011A66C [Byte] #Sword & Shield

          • 0x01 Kokiri Sword

          • 0x02 Master Sword

          • 0x04 Biggoron's Sword / Giant's Knife

          • 0x08 Broken Giant's Knife Icon Flag

            • This will cause the 3rd Sword Slot to be displayed as the Broken Giant's Knife

          • 0x10 Kokiri Shield

          • 0x20 Hylian Shield

          • 0x40 Mirror Shield

        • 0x8011A671 [Byte] #Deku Stick & Deku Nut Capacity

          • 0x02 Deku Stick 10

          • 0x04 Deku Stick 20

          • 0x08 Deku Stick 30

          • 0x10 Deku Nut 20

          • 0x20 Deku Nut 30

          • 0x30 Deku Nut 40

        • 0x8011A672 [Byte] #Bullet Bag, Dive Meter & Wallet

          • 0x02 Silver Scale

          • 0x04 Golden Scale

          • 0x10 Adult's Wallet

          • 0x20 Giant's Wallet

          • 0x40 Bullet Bag 30

          • 0x80 Bullet Bag 40

          • 0xC0 Bullet Bag 50

        • 0x8011A673 [Byte] #Quiver, Bomb Bag, Strength Upgrade

          • 0x01 Quiver 30

          • 0x02 Quiver 40

          • 0x03 Quiver 50

          • 0x08 Bomb Bag 20

          • 0x10 Bomb Bag 30

          • 0x18 Bomb Bag 40

          • 0x40 Goron's Bracelet

          • 0x80 Silver Gauntlets

          • 0xC0 Golden Gauntlets

        • 0x8011A6A0 [Half] #Gold Skulltula Tokens

        • 0x8011B46C [Tble] #Golden Skulltula Flag Table

          • Stores which skulltulas you've killed each each area.

          • Each area entry is 1 byte long.

          • Entries

            • 0x00 Forest Temple

            • 0x01 Jabu Jabu's Belly

            • 0x02 Dodongo's Cavern

            • 0x03 Deku Tree

            • 0x04 Shadow Temple

            • 0x05 Spirit Temple

            • 0x06 Water Temple

            • 0x07 Fire Temple

            • 0x08 Lon Lon Ranch

            • 0x09 Hyrule Field

            • 0x0A Ice Cavern

            • 0x0B Bottom of the Well

            • 0x0C Death Mountain

            • 0x0D Market

            • 0x0E Lost Woods

            • 0x0F Kokiri Forest

            • 0x10 Gerudo Valley

            • 0x11 Lake Hylia

            • 0x12 Zora's Domain

            • 0x13 Kakariko Village

            • 0x14 Unused

            • 0x15 Unused

            • 0x16 Haunted Wasteland

            • 0x17 Gerudo Fortess

        • 0x8011B492 [Half] #Record Fish Size

          • 0x7F is the highest value

        • 0x8011B500 [Word] #Sword Flag

          • 0x0 You have a sword equipped

          • 0x1 You don't have a sword equipped

          • The game will treat the B Button differently when this Flag isn't set.

          • When the flag is set, you will not retrieve the item stored in Temporary B when dying and saving, instead the B Button will become blank.

      • 0x800F7618 [Tble] #Wallet Digits Table

        • This table specifies how many digits each wallet size uses for the rupee counter.

        • Setting it to a value higher than 0x4 will cause visual errors.

        • When the counter is 4 digits long, the 4th digit will always be 0, and only the first 3 are used.

        • Each entry is a halfword.

        • Entries

          • 0x0 Default Wallet (0002)

          • 0x2 Adult's Wallet (0003)

          • 0x4 Giant's Wallet (0003)

          • 0x6 Unused Wallet (0000)

      • 0x800F8CCC [Tble] #Capacity Table

        • Each entry is a halfword.

        • Entries

          • 0x00 No Quiver (00)

          • 0x02 Quiver (30)

          • 0x04 Big Quiver (40)

          • 0x06 Biggest Quiver (50)

          • 0x08 No Bomb Bag (00)

          • 0x0A Bomb Bag (20)

          • 0x0C Big Bomb Bag (30)

          • 0x0E Biggest Bomb Bag (40)

          • 0x10 - 0x1E Unused (00)

          • 0x20 Default Wallet (099)

          • 0x22 Adult's Wallet (200)

          • 0x24 Giant's Wallet(500)

          • 0x26 Unused Wallet (500)

          • 0x28 No Bullet Bag (00)

          • 0x2A Bullet Bag (30)

          • 0x2C Big Bullet Bag (40)

          • 0x2E Biggest Bullet Bag (50)

          • 0x30 Deku Stick (00)

          • 0x32 Deku Stick (10)

          • 0x34 Deku Stick (20)

          • 0x36 Deku Stick (30)

          • 0x38 Deku Nut (00)

          • 0x3A Deku Nut (20)

          • 0x3C Deku Nut (30)

          • 0x3E Deku Nut (40)

      • 0x801DAB72 [Byte] #Item in Hand (Item ID)

      • 0x801DB263 [Byte] #Is Attacking

        • 0x0 Is not attacking #This will deactivate ISG

        • 0x1 Is attacking #This will activate ISG

      • 0x8011B9B2 [Byte] #Temp B (Stores your B item when on a horse, fishing, shooting gallery, etc.)

      • 0x803A54F0 [Byte] #Pause Temp B (Temp B is moved here while pausing)

      • 0x801DAB70 [Byte] #Last Pressed Item Button

        • 0x0 B Button

        • 0x1 C-Left

        • 0x2 C-Down

        • 0x3 C-Right

      • 0x801DAB7F [Byte] #Currently Equipped Mask

        • 0x0 No Mask

        • 0x1 Keaton Mask

        • 0x2 Skull Mask

        • 0x3 Spooky Mask

        • 0x4 Bunny Hood

        • 0x5 Goron Mask

        • 0x6 Zora Mask

        • 0x7 Gerudo Mask

        • 0x8 Mask of Truth

      • 0x801D8DD5 [Byte] #Menu State

        • This byte is used to determine which state the Pause Menu & Game Over screen is in.

        • By setting the byte to different values, we're able to navigate the menues.

        • States

          • Open Pause Menu

            • 0x01 Load and Open Pause Menu #Only run when a menu isn't loaded.

              • This will load the Menu, causing a crash if a menu is already loaded.

              • The Pause Menu will get stuck in the opening process, you have to manually set it to 0x6 to end it.

            • 0x02 Open Pause Menu #Only run when a menu is loaded.

              • This will not load the Menu, causing a crash if a menu isn't loaded.

              • The Pause Menu will get stuck in the opening process, you have to manually set it to 0x6 to end it.

            • 0x06 End Pause Menu Opening #Only run when a menu is loaded.

              • This can be used to return to the Pause Menu from other panels, and end the opening process.

          • Pause Menu Save Panel

            • 0x07 Open Pause Menu Save Panel #Only run when pause menu is loaded.

              • This Panel is part of the Pause Menu, so the game will crash if it isn't loaded.

          • Close Pause Menu

            • 0x12 Close Pause Menu #Only run when pause menu is loaded.

              • The game will crash if the pause menu isn't loaded.

            • 0x13 End Pause Menu Closing #Only run when a menu isn't loaded.

              • This is used at the end of the closing process, after the menu has been unloaded, the game will crash if ran when it is still loaded.

          • Open Game Over Panel

            • 0x08 Load and Open GO Panel #Only run when a menu isn't loaded.

              • This will load the Menu, causing a crash if a menu is already loaded.

            • 0x09 Open GO Panel #Only run when a menu is loaded.

              • This will not load the Menu, causing a crash if a menu isn't loaded.

            • 0x0E Finish Opening GO Panel #Only run when a menu is loaded.

              • This will instantly open up the Game Over Save Panel, causing a crash if a menu isn't loaded.

          • Game Over Panel

            • 0x0F Saved #Only run when a menu is loaded.

              • This is used after saving in the game over panel, brings up "Game Saved." screen. Will crash if a menu isn't loaded.

            • 0x10 Open Continue / Quit Panel #Only run when a menu is loaded.

              • This will bring up the Continue / Quit Panel, causing a crash if a menu isn't loaded.

            • 0x11 Run Continue / Quit #Does not require a menu.

              • Uses the Selected Menu Option byte to determine option.

              • 0x0 Continue

              • 0x4 Quit

      • 0x801D8E60 [Byte] #Selected Menu Option

        • 0x0 1st Menu Option

        • 0x4 2nd Menu Option

      • 0x800F7350 [Tble] #Scene Item Restriction Table

        • Each scene entry is 1 word long.

        • Table Entry Format

          • IDXXYYZZ

          • ID = Scene ID

          • XX = Restriction Flags

            • 0x01, 0x02, 0x03 Bottles

            • 0x04, 0x08, 0x0C Unused?

            • 0x10, 0x20, 0x30 B Button

            • 0x40, 0x80, 0xC0 Unused?

          • YY = Restriction Flags

            • 0x01, 0x02, 0x03 Warp Songs

            • 0x04, 0x08, 0x0C Ocarina

            • 0x10, 0x20, 0x30 Hookshot & Longshot

            • 0x40, 0x80, 0xC0 Trade Items

          • ZZ = Restriction Flags

            • 0x01, 0x02, 0x03 Global

            • 0x04, 0x08, 0x0C Din's Fire & Nayru's Love

            • 0x10, 0x20, 0x30 Farore's Wind

            • 0x40, 0x80, 0xC0 Sun's Song

      • 0x8039F194 [Tble] #Area Required Golden Skulltula Table

        • Each area entry is 1 byte long.

        • Entries

          • 0x00 Deku Tree

          • 0x01 Dodongo's Cavern

          • 0x02 Jabu Jabu's Belly

          • 0x03 Forest Temple

          • 0x04 Fire Temple

          • 0x05 Water Temple

          • 0x06 Spirit Temple

          • 0x07 Shadow Temple

          • 0x08 Bottom of the Well

          • 0x09 Ice Cavern

          • 0x0A Hyrule Field

          • 0x0B Lon Lon Ranch

          • 0x0C Kokiri Forest

          • 0x0D Lost Woods

          • 0x0E Market

          • 0x0F Death Mountain

          • 0x10 Kakariko Village

          • 0x11 Zora's Domain

          • 0x12 Lake Hylia

          • 0x13 Gerudo Valley

          • 0x14 Gerudo Fortess

          • 0x15 Haunted Wasteland

    • Functions

      • 0x8000085C dma Transfer

        • A0 = ram address

        • A1 = rom address

        • A2 = size

      • 0x80000B0C Get File

        • A0 = pointer to instance of structure with format:

          • ${vv vv vv vv dd dd dd dd ss ss ss}

            • d = destination in ram (must be allocated!!!)

            • s = size of file

            • v = rom virtual address

      • 0x80025110 Spawn Actor

        • A0 = $801CA0C4

        • A1 = $801C84A0

        • A2 = Actor Number

          • Actor List: http://wiki.spinout182.com/w/Complete_Actor_Listing

        • SP = floating point x, y, z position; Half-float (s10.5) x, y, z rotation; actor variable

      • 0x800721F4 Modify Item Amount

        • A0 = Item ID

        • A1 = Amount to add

      • 0x80079200 Update Physics

        • This function runs whenever links physics is altered, when changing boots, entering water, exiting water, etc.

        • A1 = 0x801DAA30

      • 0x800646F0 Play Sound Effect

        • The actual function for calling sound effects seem to be located at 0x800C806C but calling it from the address above has proven to be safer for me.

        • A0 = Sound Effect

          • 0x482F Gain Rupee Repeater (This is the sound that repeats while gaining or losing rupees)

          • 0x4803 Gain Rupee (The main sound that plays when gaining a rupee)

          • 0x4806 Disabled Item

          • 0x4807 Success (Played the correct song at a location, etc.)

          • 0x4808 Change Menu Screen

          • 0x4809 Move Menu Cursor

          • 0x480A Emulator Crash

          • 0x480C Enter Z-Target

          • 0x4824 Pick Up Ammo / Magic

          • 0x0835 Pull out Item

      • 0x800C6B54 Play Sequence

        • A0 = $00000000

        • A1 = sequence number

          • Sequences: http://wiki.spinout182.com/w/Zelda_64:_OoT_Music_Values

      • 0x800CAA70 Set Background Music

        • A0 = sequence number

          • Sequences: http://wiki.spinout182.com/w/Zelda_64:_OoT_Music_Values

      • 0x800721CC Rupee Modifier

        • The amount of rupees to increase/decrease, it'll be added to the current amount of rupees you're currently getting/loosing

        • A0 = Amount

      • 0x8006FB50 Update Item Icon

        • This will update the item icon of the specified item button. (useful when changing a button Item ID directly)

        • A0 = 0x801C84A0

        • A1 = Button ID

          • 0x0 B Button

          • 0x1 C-Left

          • 0x2 C-Down

          • 0x3 C-Right

      • 0x8006FDCC Receive Item #Using Item Index as Argument

        • The game will give you the item specified, and place it in it's correct slot. This will not update items that are equipped.

        • A0 = 0x801C84A0

        • A1 = Item ID

      • 0x80071B7C Set Item #Using Button Index as Argument

        • This will change an item using a button index as the argument.

        • A0 = 0x801C84A0

        • A1 = Item ID

        • A2 = Button Index

          • 0x0 B Button

          • 0x1 C-Left

          • 0x2 C-Down

          • 0x3 C-Right

      • String Functions

        • The Stack Pointer must be set up in a specific way or the game may crash.

        • 0x800CBE58 Set String RGB

          • A0 = Stack Pointer

          • A1 = Red

          • A2 = Green

          • A3 = Blue

        • 0x800CBEC8 Set String XY

          • A0 = Stack Pointer

          • A1 = X Pos

          • A2 = Y Pos

        • 0x800CC588 Set String

          • A0 = Stack Pointer

          • A1 = Text

          • A2 = Text Variable

  • Download

  • CloudMax's NTSC 1.0 Nemu64 Bookmarks

    • A lot of things here makes no sense whatsoever, but there may be some useful stuff in here.

    • Many things are probably incorrect in these lists, if you want reliable information, use my RAM notes.

    • CPU

      • a strength stuff

        • 0x80074C30 4

        • 0x80075B18 2

        • 0x80075C84 3

        • 0x80079B08 5

        • 0x8007A120 1 (Used to get strength upgrade)

        • 0x801FCF30 6

      • Age stuff

        • 0x8002162C 2

        • 0x8007948C 1

        • 0x80079B0C Strength Usability

        • 0x8007A110 Strength Upgrade

        • 0x8007A350 5

        • 0x8007A3B8 6

        • 0x8007A3FC 7

        • 0x8007A774 3

        • 0x8007ACB8 Shield Related?

        • 0x8007ACF4 8

        • 0x8007C050 4

        • 0x80395AFC Crawlspace

      • bow slingshot stuff

        • bow/sling

          • Display

            • 0x8007ABD0

            • Model

              • 0x8007AE98 V0 = Save RAM (Upper bytes)

              • 0x8007AE9C V0 = Age

              • 0x8007AEA0 T9 = 800F0000

              • 0x8007AEA4 T8 = Age shift left 2 (This will result in Child Link reading the next display list)

              • 0x8007AEA8 T9 = T9 + T8 (Display Offset)

              • 0x8007AEAC Load bow/sling Display List

                • 06018048 Slingshot

                • 0602A248 Bow

                • 0602FE80 Bow (According to the-gcn)

                • 0x800F7A08 Bow

                • 0x800F7A0C Sling

                • 0x801DAB72 Item in Hand

            • String

              • 0x8007BD68 Load bow/sling String Display List

                • 060221A8 Slingshot

                • 06030490 Bow

          • equip

            • 0x8038C9AC 0x0030(SP) = A2 (Item ID)

            • 0x8038CDEC V0 = Item Equipping

            • 0x8038CDF0 T9 = Current Item

            • 0x8038CE3C Set item in hand?

          • use

            • 0x80072304 If (A0 == AT), reduce bombchus

            • 0x80072358 If (A0 == AT), reduce arrows

            • 0x80072384 Set Ammo

            • 0x800723D4 If (A0 == AT), reduce deku seeds

            • 0x8038AD7C T0 =Save RAM offset

            • 0x8038AD80 T0 = Save RAM offset

            • 0x8038AD84 T6 = Age

            • 0x8038AD88 T7 = 0x3 (Bow)

            • 0x8038AD8C T4 = 0x6 (Slingshot)

            • 0x8038AD90 If (T6 != 0) Branch 0x8038ADC8

            • 0x8038AD98 Store which item you're using in RAM

            • 0x8038ADC8

            • 0x8038ADF8 If (V1 == 0) Branch Likely 0x8038AE0C

            • 0x8038ADFC T7 = 0x0000(A2) (Item Offset?)

            • 0x8038AE0C T8 = 0x80100000

            • 0x8038AE10 T8 = T8 + T7

            • 0x8038AE14 T8 = 0x8F34(T8) (Item Slot ID)

            • 0x8038AE18 T9 = 8011A5D0 + T8 (Item Slot ID)

            • 0x8038AE1C V0 = 0x008C(T9) (Ammo)

            • 0x8038BB54 Set Ammo Amount

        • 0x8038AEDC Jump to use bow/sling

        • 0x8038BAF4 Jump to use bow/sling

        • 0x800F8F30 Items

      • 0x800787AC Rupee Increaser

      • 0x8007886C Rupee Decreaser

      • 0x80079668 Set Item Model

      • 0x8007ABD0 Get Item Model

      • 0x80099FAC Generate Pause Image

      • 0x8038A514 Change Sword State

      • Egg Hatcher

        • 0x80061BF8 A1 = 0x21

        • 0x80061C00 A2 = 0x22

        • 0x80061C0C A1 = 0x2D

        • 0x80061C14 A2 = 0x2E

        • 0x800719E4 0x8011F0C4 = A1 (Store which item to override)

        • 0x800719E8 0x8011F0C8 = A2 (Store which item to replace it)

        • 0x80071A00 A0 = 0x8011A5D0 (Save RAM offset)

        • 0x80071A08 A3 = A1 (Item to replace)

        • 0x80071A0C V1 = A0+V0

        • 0x80071A10 T6 = Current Item ID

        • 0x80071A1C If (A3==T6)

          • 0x80071A20

          • 0x80071A24 Current Item Slot Item = A2 (Item to replace with)

          • 0x80071A28 V0 = 0x1 (Initial C Item Offset, set to 0x1 to skip B button)

          • 0x80071A2C V1 = A0 + V0

          • 0x80071A30 T7 = Current C Item ID (C Item Loop Start)

          • 0x80071A34 If (A3==T7)

            • 0x80071A38 V0 = V0+0x1

            • 0x80071A3C Current C Item = A2 (0x22 (Chicken))

            • 0x80071A40

            • 0x80071A44

            • 0x80071A48

            • 0x80071A4C

            • 0x80071A50

            • 0x80071A54

          • 0x80071A58

          • 0x80071A5C

          • 0x80071A60 AT = (V0<4?1:0)

          • 0x80071A64 If (AT!=0) Jump to 0x80071A30 (C Item Loop End)

          • 0x80071A68

          • 0x80071A6C

          • 0x80071A70

        • 0x80071A74

      • Equip Tunic & Boots

        • 0x80081130

        • 0x8008116C Set Tunic

        • 0x8008117C Set Boots

      • Health Modifier Function

        • 0x800720BC Health Function Start?

        • 0x80072138 S0 = S0 >> 0x10

        • 0x8007213C T8 = Current Health

        • 0x80072140 V0 = Max Health

        • 0x80072144 T9 = T8 + S0

        • 0x80072148 Current Health = T9

        • 0x8007214C A0 = Current Health

        • 0x80072150 If (Max Health (V0) < Current Health (A0)) AT = True

        • 0x80072154 If (AT == True)

          • 0x80072158 NOP

          • 0x8007215C Current Health = Max Health (V0)

          • 0x80072160 A0 = Current Health

        • 0x80072164 If (A0 >= 0) Skip to 0x80072178

          • 0x80072170 NOP

        • 0x80072178 If (A0 > 0) Skip to 0x80072188

        • 0x80072188 V0 = R0 + 0x0001

      • Item Button Usability

        • indoor (very restricted)

          • 0x8006ECA0 Enter House Disable

          • 0x8006EDD8 If (V0 < 21) AT = 1 (1 = Not trade item)

          • 0x8006EDDC Branch if AT != 0

          • 0x8006EDE4 If (V0 < 38) AT = 1 (1 = Trade item)

          • 0x8006EDE8 Branch Likely if AT = 0

          • 0x8006EDF4 Enter House Enable

          • 0x8006EE2C V0 = Item

          • 0x8006EE38 Branch if Item is hookshot

          • 0x8006EE44 Branch if Item isn't Longshot

          • 0x8006EE50 Branch if button is already disabled

          • 0x8006EE5C Disable Button (Indoor)

          • 0x8006F154 Disable Button (T1 is disabler)

        • water

          • 0x8006D9E0 OPACITY

          • 0x8006E390 not

          • 0x8006E888 Branch if not in water

          • 0x8006E8A0 ADDIU A1, R0, 0x0001 (Skips checking B button for items under water)

          • 0x8006E8A8 Disable B

          • 0x8006E8B0 Button Loop Start

          • 0x8006E8C0 AT = 0x2 (Standing under water state)

          • 0x8006E8D8 BNE V0, AT, 0x8006E92C (Branch If you're not standing under water)

          • 0x8006E8DC Allow hookshot under water

          • 0x8006E8E8 Allow longshot under water

          • 0x8006E8FC Disables

          • 0x8006E928 Enable Button under water

          • 0x8006ECA8 Disable

      • Pause Menu

        • 0x8038ECC8

        • 0x8038ECCC

        • 0x8038ECE0

        • 0x8038FA94 Y

        • 0x8038FDA4 U

        • Equipment Screen

          • 0x8038DF8C S0 = S0+0x3B

          • Move Cursor

            • Left

              • 0x8038D7A4 Set Cursor X Position

            • Right

              • 0x8038D8E0 V0 = Cursor Y Position

              • 0x8038D8E4 AT = (V0<0x3?1:0)

              • 0x8038D8E8 If (AT==R0) Jump to 0x8038D96C

              • 0x8038D8EC T6 = V0 + 1

              • 0x8038D8F4 Cursor Y Position = T6

        • Generate Item Usability

          • 0x8000118C Set Usability

          • 0x800011EC Set Usability

          • 0x80001204 Set Usability

          • 0x80001210 Set Usability

          • 0x80001218 Set Usability

          • 0x80001224 Set Usability

        • Inventory Screen

          • 0x8038EB10

          • 0x8038FCF4 T4 = T3+0x0074 (Item ID)

          • 0x80394CC8

          • Equip

            • 0x8038F690 V0 = S1 (Item Usability)

            • 0x8038F694 AT = 0x9

            • 0x8038F698 If (V0==AT) Branch Likely 0x8038F6AC

          • Loop

            • 0x8038F588 S1 = 0x1

            • 0x8038F58C S0+0x022C = T0

            • 0x8038F590 S0+0x0218 = A3 (Selected Item)

            • 0x8038F594 S1 = 0x2

            • 0x8038F598 If (S1==R0) Branch Likley 0x8038F4F8

            • 0x8038F59C V0 = S0+0x216

            • 0x8038F5A0 A0 = S0+0x218 (Selected Item)

            • 0x8038F5A4 SP+0x0098 = A0 (Selected Item)

            • 0x8038F5A8 T5 = 0x4

            • 0x8038F5AC AT = 0x1

            • 0x8038F5B0 If (S1!=AT) Branch 0x8038F5CC

            • 0x8038F5B4 S0+0x0260 = T5

            • 0x8038F5B8 T6 = S3+A0

            • 0x8038F5BC T7 = T6+0x0074

            • 0x8038F5C0 SP+0x009A = T7

            • 0x8038F5C4 If (R0==R0) Branch 0x8038F5E4

              • 0x8038F5C8 T1 = T7&0xFFFF

              • 0x8038F5CC AT = 0x2

              • 0x8038F5D0 if (S1==AT) Branch 0x8038F5E4

                • 0x8038F5D4 T8 = S3+A0

                • 0x8038F5D8 T9 = T8+0x0074 (Item ID)

                • 0x8038F5DC SP+0x009A = T9 (Item ID)

                • 0x8038F5E0 T1 = T9&0xFFFF

            • 0x8038F5E4 T4 = SP+0x009A (Item ID)

            • 0x8038F5E8 T7 = 0x803A0000

            • 0x8038F5EC T7 = T7 + 0xF114 = 0x8039F114

              • _Info

                • 1. T7 is the Offset for the Item Usability values

                • 2. The Item Usability values are set when loading the Pause Menu

              • 0x8039F114

            • 0x8038F5F0 S0+0x023E = T4 (Item ID)

            • 0x8038F5F4 T5 = SP+0x0098

            • 0x8038F5F8 AT = 0x9

            • 0x8038F5FC A0 = S0 |= R0

            • 0x8038F600 S0+0x0246 = T5

            • 0x8038F604 T6 = SP+0x0098 (Selected Item)

            • 0x8038F608 S1 = T6 + T7 (Item Usability)

            • 0x8038F60C V0 = S1 (Item Usability)

            • 0x8038F610 If (V0==AT) Branch Likely 0x8038F630

              • _Info

                • 1. AT is always 0x9 at this point

                • 2. V0 is the item usability (0x9 = Child & Adult)

                • 3. As a result, the game skips the usability checks if it is 0x9

              • 0x8038F614 AT = 0x03E7

              • 0x8038F618 T8 = Age

              • 0x8038F61C T9 = 0x1

              • 0x8038F620 If (V0==T8) Branch Likley 0x8038F630

                • 0x8038F624 AT = 0x03E7

                • 0x8038F628 S0+0x025E = T9 (Grey out Item Name)

            • 0x8038F630

          • Loop 3

            • 0x8038FACC V0 = V0+0xF114 (Item Usability)

            • 0x8038FAD0 AT = 0x9

            • 0x8038FAD8 If (V0==AT) Branch 0x8038FAEC

              • 0x8038FAE0 T7 = Age

              • 0x8038FAE4 If (V0!=T7) Branch Likely 0x8038FCCC

                • _Info

                  • 1. If this is true, it means the item isn't usable

          • New Loop

            • 0x8038EA24 T2 = 0x9

            • 0x8038EA40 V1 = T9+0x008C (Item Amount)

            • 0x8038EA64 T4 = T4+0xF114 (Item Usability)

            • 0x8038EA68 If (T2==T4) Branch Likely 0x8038EAB8

            • 0x8038EAE0 If (V1!=0) Branch 0x8038EB1C

            • 0x8038EAE4 T8 = SP+0x000A

            • 0x8038EB1C AT = 0x2

            • 0x8038EB20 If (T8!=AT) Branch 0x8038EB70

            • 0x8038EC28 T6 = T7+0x008C (Item Amount)

            • 0x8038EC44 If (T6==T7) Branch Likely 0x8038ECC0

              • _Info

                • 1. This is where they check if you've maxed your Ammo

      • Time of Day Modifier

        • 0x8005BF98 Day/Night Transition

        • 0x8005D600 Time of Day Increaser

        • 0x8005D60C Time of Day Tick

        • 0x8005D614 Time of Day Tick

        • 0x8005D61C Time of Day Tick

        • 0x8005D660 AT = (V0<0x4555?1:0)

        • 0x8005D668 Day

        • 0x8005D670 Night

      • Transition

        • 0x8009A97C Day/Night

    • Functions

      • Button Activators

        • 0x8005B860 Button Activators Start

        • 0x8005B8E8 Run 0x8009CB08 it will return V0 = 1 if you don't have control over link

        • 0x8005B900 Branch past buttons if you don't have control over link

        • 0x8005B968 T5 = Buttons Pressed

        • 0x8005B970

        • 0x8005B974 If L Button isn't Pressed Branch Likely 0x8005B994

          • 0x8005B978 ???Get if you're opening Menu

            • 0x801C84C0 0x1000 = Opening Menu

        • 0x8005B9A0 If Start Button isn't Pressed Branch 0x8005BA74

        • 0x8005B9DC If T7 != R0 Branch Likely 0x8005BA28

        • 0x8005BA64 Set State Menu Flag to 1

          • 0x801D8DD4 Menu State Flag

      • Control over Link

        • 0x8007938C

        • 0x800793AC Remove control when Disable Flag is set

        • 0x800793FC Remove control when hookshoting

        • 0x8007941C Remove control when using Magic

        • 0x80079464 Remove control when Using Item in Air

          • 0x8011B9C0

      • 0x8000085C dma Transfer

        • _Info

        • A0 = ram address

        • A1 = rom address

        • A2 = size

      • 0x80000B0C Get File

        • _Info

        • A0 = pointer to instance of structure with format:

          • ${vv vv vv vv dd dd dd dd ss ss ss}

            • d = destination in ram (must be allocated!!!)

            • s = size of file

            • v = rom virtual address

      • 0x80025110 Spawn Actor

        • _Info

          • Actor List: http://wiki.spinout182.com/w/Complete_Actor_Listing

          • Actors

            • Minuet of Forest 0x008C

        • A0 = $801CA0C4

        • A1 = $801C84A0 (global context)

        • A2 = Actor Number

        • SP = floating point x, y, z position; Half-float (s10.5) x, y, z rotation; actor variable

      • 0x800646F0 Play Sound Effect

        • A0 = Sound Effect

          • 4801 = Exit Menu

          • 4823 = Saving

      • 0x8006FB50 Update Item Icon

        • A0 = 0x801C84A0

        • A1 = Button ID

      • 0x8006FDCC Set Item (Using Item ID)

        • A0 = 801C84A0

        • A1 = Item ID

        • 0x8006FDCC start?

        • 0x8006FEAC bnez cucco bottle

        • 0x8006FF64 bnez cucco bottle

        • 0x80070040 bnez cucco bottle

        • 0x800700D0 bnez cucco bottle

        • 0x80070114 addiu cucco bottle

        • 0x80070128 bne cucco bottle

        • 0x800701AC bne cucco bottle

        • 0x80070268 bne cucco bottle

        • 0x80070424 bne cucco bottle

        • 0x800704F8 bne cucco bottle

        • 0x800705D0 bne cucco bottle

        • 0x800706A4 bne cucco bottle

        • 0x80070784 bnez cucco bottle

        • 0x80070848 bne cucco bottle

        • 0x80070B50 bnez cucco bottle

        • 0x80070C4C addiu cucco bottle

        • 0x80070C5C bne cucco bottle

        • 0x80070CE8 slti cucco bottle

        • 0x80070D74 addiu cucco bottle

        • 0x80070D78 bne cucco bottle

        • 0x80070DBC bnel cucco bottle

        • 0x80070E48 bnel cucco bottle

        • 0x80070ED4 bne cucco bottle

        • 0x80070EF8 addiu cucco bottle

        • 0x80070EFC bnel cucco bottle

        • 0x80070F78 bne cucco bottle

        • 0x80070FF0 addiu cucco bottle

        • 0x80070FF4 beq cucco bottle

        • 0x80071000 bne cucco bottle

        • 0x80071020 addiu cucco bottle

        • 0x80071024 bne cucco bottle

        • 0x80071054 bnel cucco bottle

        • 0x80071074 bnel cucco bottle

        • 0x800710C4 bnel cucco bottle

        • 0x80071114 bnez cucco bottle

        • 0x80071140 bne cucco bottle

        • 0x80071170 bnel cucco bottle

        • 0x80071188 cucco bottle prev

        • 0x8007119C Gain cucco bottle jump

      • 0x80071B7C Set Item (Using Button ID)

        • A0 = 0x801C84A0

        • A1 = Item ID

        • A2 = Button ID (B, C-L, C-D, C-R)

        • 0x80071BD0 Set Item

      • 0x800721F4 Modify Item Amount

        • A0 = Item ID

        • A1 = Amount

      • 0x80079200 Boots Behaviour

        • _Info

          • A1 0x801DAA30

        • 0x80079228 V0 = Boots

        • 0x8007922C T8 = 0x800F

        • 0x80079230 T8 = 0x800F7648

        • 0x80079234 If (Boots != Kokiri Boots) Branch 0x80079250

        • 0x80079250 If (Boots != Iron Boots) Branch Likely 0x80079288

        • 0x80079288 Hover Boots

        • 0x80079384 End

        • 0x80393428 Boots Behaviour Jump Point Unknown

        • 0x80393B60 Boots Behaviour Jump Point Exit Water

        • 0x80393F74 Boots Behaviour Jump Point Enter Water

      • 0x800905D4 Save

      • 0x800C6B54 Play Sequence

        • _Info

          • Sequences: http://wiki.spinout182.com/w/Zelda_64:_OoT_Music_Values

        • A0 = $00000000

        • A1 = sequence number

      • 0x800CAA70 Set Background Music

        • _Info

          • Sequences: http://wiki.spinout182.com/w/Zelda_64:_OoT_Music_Values

        • A0 = sequence number

      • 0x8038A3A4 Pull out Item

        • _Info

          • Action List: http://wiki.spinout182.com/w/Zelda_64:_OoT_Action_Parameters

        • A0 = $801C8A4A0

        • A1 = $801DAA30

        • A2 = Action to perform

        • Calls

          • 0x80388D88 Call 1

          • 0x80395404 Call 2

      • Create File

        • 0x80090C18 Prepare Create File

        • 0x80090EB0 End Prepare Create File

        • 0x803AB0A4 Get File Name

          • 0x801E4E9C File Name

        • 0x803AB0B0 Branch if Name begins with a space

        • 0x803AB128 JAL to Prepare Create File

        • 0x803AB1B0 save?

        • 0x803AB1F4 save?

        • 0x803AB248 save?

        • 0x803AB2C4 save?

        • 0x803AB314 save?

      • Enter Water

        • _Calls

          • _Call Calls

            • 0x803A030C Jump to When jumping into water start

          • 0x80393F90 When jumping into water start

          • 0x803940C0 When jumping into water

        • 0x80393DBC Enter Water Start

      • Hookshot/longshot Launch

        • 0x8021FB30 Branch if it shouldn't shoot

        • 0x8021FB44 Longshot Range (0x1A)

        • 0x8021FB54 Hookshot Range (0x0D)

        • 0x8038AACC Launch Action

          • 0x8038A804 Launch Action Start

            • 0x8038AC9C Check if Action can be Launched

              • 0x8038D0D4 Check if Action can be Launched Start

                • 0x8038DDFC Jump

        • Hookshot Action

          • 0x8038BDA4 Branch 0x8038BDB8 if you can't shoot

          • 0x8038BDAC Jump to Hookshot Shoot Action

          • 0x8038BDD4 Add loaded state

        • Hookshot Shoot Action

          • 0x8038BAB0 Start

          • 0x8038BAE0 Branch to Hook Start

          • 0x8038BB9C Use Hook Start

          • 0x8038BBBC Set Hook Var

      • Load File

        • 0x800903E4 Change Entrance to Link's House as Child if not in specific scenes

      • Move Link

        • _Calls

          • 0x803A00A8 Standing

            • 0x803A0020 Jump

        • 0x80021124 Start

        • 0x80021190 Set Z Coord

          • 0x80021134 Game Speed

          • 0x803A0084 Z Modifier

            • 0x8039FFFC a jump here

            • 0x803A0000 F6

      • Movement

        • Control Stick

          • 0x803A0AF8 SW T8, 0x0014(T6) (Store Control Stick Coords to 0x8011F0A0)

        • 0x80389B20 Jump to Move

        • Move

          • 0x8006385C start move

          • 0x800638A0 Set Movement Speed (Walk?)

          • 0x800638C4 Set Movement Speed (Stop?)

          • 0x80063ACC Set Maximum/Minimum Speed Var

          • 0x80063B28 Set Movement Speed (Run?)

          • 0x80063B4C Set Movement Speed (Maximum/Minimum)

          • 0x80063B74 Start

          • 0x80063B7C Move Word to Floating-Point (AT -> F14) (F14 is maximum tilt)

          • 0x80063B88 T6 Load Left/Right CS Coords from 0x8011F0A0

          • 0x80063B8C T7 Load Up/Down CS Coords from 0x8011F0A0

          • 0x80063B90 Move Word to Floating-Point (T6 -> F4)

          • 0x80063B94 Move Word to Floating-Point (T7 -> F6)

          • 0x80063B98 Convert FP to Single FP (F4 -> F2)

          • 0x80063B9C Convert FP to Single FP (F6 -> F12)

          • 0x80063BA0 Multiply FP (F8 = F2*F2)

          • 0x80063BA4 NOP

          • 0x80063BA8 Multiply FP (F10 = F12*F12)

          • 0x80063BAC F0 = F8 + F10

          • 0x80063BB0 F0 = sqrt(F0)

          • 0x80063BB4 If (F14 < F0) cond = 1; else cond=0

          • 0x80063BB8 Store Word from FP (0x0000(A0) = F0) (Tilt)

          • 0x80063BBC If (cond == 0) Branch 0x80063BCC (Branch if link isn't running at full speed)

          • 0x80063BC0 NOP

          • 0x80063BC4 Branch to 0x80063BD4

          • 0x80063BCC Load Word to FP (F16 = 0x0000(A0))

          • 0x80063BD0 Store Word from FP (0x0000(A0) = F16)

          • 0x80063BD4 JAL 0x800AA4F8 (Turn function)

            • 0x800AA524 Branch 25

            • 0x800AA534 Branch 11

            • 0x800AA544 Branch 7

            • 0x800AA584 Branch 7

            • 0x800AA5C0 Branch 14

            • 0x800AA5D8 Branch 8

            • 0x8039FA5C Rotate Start

              • 0x803A0004 Rotate

            • 0x803A0B2C Start Rotate

      • Open Menu

        • A set if you're opening menu

          • 0x800A2818 Get if you're opening menu

            • 0x8011D730 get from here

              • 0x800A24A0 get from here

                • 0x800A23FC start

                  • 0x800A2660 JAL to start

                    • 0x800A25DC start

                      • 0x800A29A0 JAL to start

                        • 0x800A2918 start

                          • 0x800A296C test

              • 0x800A24AC not

          • 0x800A2820 Set if you're opening menu

          • 0x800A2824 not

        • 0x800051B4 A jump

        • 0x80099F48 Opening Process

        • 0x80099F68 Very Early

        • 0x80099F90 Open Menu?!

        • 0x80099FC4 Set Opening Menu Flag to 2

        • 0x8009A020 Step Opening Menu Flag

        • 0x8009A050 Clear RAM Space

        • 0x8009A06C Set Up RAM Space (Free to inject custom item usability after it)

          • 0x80099C8C Set Up RAM Space

        • 0x8009A074 Custom Menu Setup Injection Point

        • 0x8009A084 Pausing Process seems to end here

        • 0x8009A0A0 Jump to 0x8039B760

        • 0x8009BEB0 Check if you're opening Menu

        • 0x8009BEC4 Jump to Open Menu Process

        • 0x8009C5C8 Set Pause Image State to 3

        • 0x800A279C Function used to set if you're opening menu

        • 0x8039B204 Set Menu state flag to 6

        • 0x8039B8A4 Jump to 0x8039B8AC

        • 0x8039B94C Jump to 0x8007C09C

        • Load Inventory

          • 0x8039B988 Function Start

          • 0x8039B990 T1 = Save RAM Offset (Upper Bytes)

          • 0x8039B99C T1 = Save RAM Offset

          • 0x8039B9A8 Loop Start

          • 0x8039B9B0 V0 = Item Usability

          • 0x8039B9B4 AT = 0x9

          • 0x8039B9B8 V0 == AT BL 0x8039BA24 (Both can use item)

          • 0x8039B9BC V0 = V0 + 0x1 (0xA as V0 always is 0x9 at this point)

          • 0x8039B9C4 T7 = Age

          • 0x8039B9CC V0 == T7 B 0x8039BA20 (Can Use Item)

          • 0x8039BA24 Start Point for usable items

          • 0x8039BE34 Get item

          • Usability

            • 0x8039F114 Inventory Slots

            • 0x8039F12C Equipment Slots

            • 0x8039F13C Items

      • Perform Action

        • 0x8038A000 ???

        • 0x8038AAE4 Perform Action Start

        • 0x8038AB0C JAL to Action Function

        • 0x8038AB6C Branch if empty bottle

        • 0x8038AB98 Branch if action is not 0

        • 0x8038ABBC

        • 0x8038AC88 Remove Attack Flag

        • 0x8038AD58 Check for attack flag

        • 0x8038B098 ???

        • 0x8038C790 ????

      • Running of ledges

        • 0x803915E0 Check for hover boots

      • Set C-Button

        • 0x800713C8 Set C-Button to 0xFF (Trade Sequence)

        • 0x80390510 Set C-Button to A2 (Equip)

        • 0x80390528 JAL 0x8006FB50

        • 0x8039052C Set C-Button Linked Slot to T5

      • Set Item (Using Item Slot ID)

        • A1 = Item Slot ID

        • A3 = Item ID

        • 0x8007140C Set Item

      • State Jump

        • 0x800DDBB8 Jump to Ocarina & Text Box State

          • 0x801135E4 Stores where to jump

      • Text Box

        • Loop

          • 0x800DDBC0 Start

          • 0x800DDC70 T9 = Language

            • 9339B9D9

          • 0x800DDC88 JAL 0x800D7B00 (Print Dialog Text)

            • Function RAM: 0C035EC0

        • Print

          • 0x800D7B00 Print Start

      • Update Gear

        • 0x800796C0 Start?

        • 0x80079704 T9 = Shield

        • 0x800797B0 Set Shield

        • 0x800797CC Set Tunic

        • 0x800797EC Set Boots

        • 0x8007981C Set Sword

        • 0x8007983C Update Boots Behaviour

      • Use Item

        • _JAL to Launch

          • _Not Used: Ocarina, Lens, Nut, Bean

          • 0x8038A4D8 Jump Back (Use Melee Weapons)

            • Items: Swords, Deku Stick, Megaton Hammer

          • 0x8038AFC8 Jump Back (Put Away Swords)

            • Items: Swords

          • 0x8038AFD8 Jump Back (Put Away Items)

            • Items: Deku Stick, Slingshot, Boomerang, Bottle, Megaton Hammer

          • 0x8038B004 Jump Back (Pull Out Swords & Deku Stick)

            • Items: Swords, Deku Stick

          • 0x8038B024 Jump Back (Pull Out Items)

            • Items: Bomb, Bombchu, Boomerang, Slingshot, Hookshot, Longshot, Empty Bottle, Megaton Hammer

          • 0x8038CCC8 Jump Back (Use Masks & Custom Items)

        • _Magic

          • 0x800725D0

          • 0x80072734

          • 0x80072CF8

        • 0x80079D4C V0 = A1 - 0x12

        • 0x80079D50 BLTZ V0, 0x80079D68 (Branch if action is below 12)

        • 0x8038CA14 V1, 0x8038CE98 (Some items jump here)

        • 0x8038CA3C BEQ A2, R0, 0x8038CA74 (Branch if action is 0)

        • 0x8038CA4C BGEZL T0, 0x8038CA78 (Branch if not in water)

        • 0x8038CA54 Get swim state

        • 0x8038CA58 AT, R0, 0x0010 (10 = Hookshot)

        • 0x8038CA68 BEQ A2, AT, 0x8038CA74 (Branch if action is 10 (Hookshot))

        • 0x8038CA6C AT, R0, 0x0011 (11 = Longshot)

        • 0x8038CA70 BNE A2, AT, 0x8038CE98 (Branch if action isn't 0x11 (Longshot))

        • 0x8038CA78 some place

        • 0x8038CA84 BNEZ T4, 0x8038CB48

        • 0x8038CA88 NOP

        • 0x8038CA8C BNE A2, AT, 0x8038CAAC (Branch if action isn't 6 (Deku Stick))

        • 0x8038CAA8 BEQ T7, R0, 0x8038CB38 (Branch if out of Ammo)

        • 0x8038CAB4 BNE A2, AT, 0x8038CAD0 (Branch if action isn't 2E (Magic Bean))

        • 0x8038CAD8 SB A2, 0x0027 (SP) (Store Action)

        • 0x8038CADC Jump to 0x80079D48

        • 0x8038CAE4 Return Here

        • 0x8038CAEC LB A2, 0x0027 (SP) (Restore Action)

        • 0x8038CAF0 BLTZ V0, 0x8038CB48

        • 0x8038CB1C T5 = Ammunition

        • 0x8038CB20 BEQ T5, R0, 0x8038CB38 (Branch if out of Ammo)

        • 0x8038CB48 Some place

        • 0x8038CB50 BNE A2, AT, 0x8038CBCC (Branch if action is not 42 (Lens of Truth))

        • 0x8038CBD0 BNE A2, AT, 0x8038CC14 (Branch if action isn't 1B (Deku Nut))

        • 0x8038CC14 Some place

        • 0x8038CC30 BLTZ V0, 0x8038CCA0

        • 0x8038CC3C BNEL A2, AT, 0x8038CC54 (Branch if action isn't 18 (Farore's Wind))

        • 0x8038CC70 T7 = Current Magic

        • 0x8038CC7C BNEZ AT, 0x8038CC90 (Branch if you have enough magic)

        • 0x8038CCA4 BNEZ AT, 0x8038CCD8 (Branch if action is below 3A (Mask))

        • 0x8038CCDC BNEZ AT, 0x8038CCE8 (Branch if action is below 1C)

        • 0x8038CCE4 BNEZ AT, 0x8038CCF0 (Branch if action is below 1E (Ocarina))

        • 0x8038CCEC BNEZ AT, 0x8038CD4C (Branch if action is below 1F (Empty Bottle))

        • 0x8038CCF8 Call Dialog Trade Item???

        • 0x8038CD10 BNEZ AT, 0x8038CE98 (Branch if action is below 25 (Use Bottle))

        • 0x8038CD18 BEQL (Branch if action is action is above 2B (Dialog Items))

        • 0x8038CD40 Set Perform Action on landing flag

        • 0x8038CD44 Jump Back

        • 0x8038CD48 Store Action to use when landing

        • 0x8038CD50 BNEL A2, T4, 0x8038CBD88 (Branch if action isn't current action)

        • 0x8038CD6C Store Action

        • 0x8038CDD4 Jump

        • 0x8038CDE4 BGEZ V0, 0x8038CE4C

        • 0x8038CE70 Call pre Pull out Item

          • 0x8038A038 Pull out Item Call Function

            • 0x8038A0A4 Pull out Item Call

        • 0x8038D1B0 Jump here to use bottle?

        • Injection Point

          • 0x8038CCAC

        • 0x803AA6FC Item Action Table

      • Use item Delay

        • 0x8007A340 5

        • 0x8007B798 6

        • 0x8038A678 1

        • 0x8038A8F4 2

        • 0x8038ACB4 3

        • 0x8038B190 4

        • 0x8038C718 7

        • 0x8038C83C 12

        • 0x8038C868 13

        • 0x80391B14 8

        • 0x80391BAC 9

        • 0x80391BDC 10

        • 0x80391E58 11

      • Use Item Launch

        • 0x80389284 Jumps hack here in the end

        • 0x8038C9B8 JAL 0x8038A0F8

        • 0x8038C9C0 V0 is the action at this point

        • 0x8038C9CC V1 = Active Action (This is set whenever you use an item)

        • 0x8038C9D0 T6 = Current Action (if you have item in hand, etc)

        • 0x8038C9D4 BNE V1, T6, 0x8038CA14

        • 0x8038C9E8 BGEZ T8, 0x8038CA3C

      • Warp

        • 0x803A065C BNEL T2, R0, 0x803A067C (Check if you're playing a ocarina)

        • 0x803A0670 Jump to Is Playing Ocarina

        • 0x803A4E34 Playing Ocarina

        • 0x803A4F80 Check if you've clicked on the dialog

        • 0x803A4F88 Warp Start

        • 0x803A5034 Jump to create actor

        • test

          • 1. 801DB094 = 803A4E34

          • 2. 801DB270 = 0001

          • 3. 801D8966 = 0004

    • Hooks

      • 0x80003BCC Called continously throughout the entire game

      • 0x80020108 playing

      • 0x800240E0 playing

      • 0x8009BC18 Branch if in a menu

      • 0x8009BC58 Branch if in a menu

      • 0x8009BD64 playing early

      • 0x8009CB34 When playing & not pausing

    • Memory

      • Link

        • Link State

        • 0x801D8BF0 Disabled Item Groups

          • 00000001 B Button

        • 0x801D8BF4 Disabled Item Groups

          • 00000001 Hookshot & Longshot (Global must be unset)

          • 00000100 Trade Items

          • 00010000 Bottles

          • 01000000 Unused?

        • 0x801D8BF8 Disabled Item Groups

          • 00000001 Farore's Wind (Global must be unset)

          • 00000300 Sun's Song

          • 00030000 Warp Songs

          • 01000000 Ocarina

        • 0x801D8BFC Disabled Item Groups

          • 00010000 Global

          • 01000000 Din's Fire & Nayru's Love (Global must be unset)

        • 0x801DAAB8 Ground Water State

        • 0x801DAB70 Last Used Button Index

        • 0x801DAB72 Item in hand

        • 0x801DAB74 Action to Perform when landing

        • 0x801DAB7F Current Mask Equipped

        • 0x801DB09C Link State (Word)

          • 00000001 Disable control

          • 00000002 Swiping Bottle

          • 00000004 Connect Hookshot?

          • 00000008 FPS Item in hand

          • 00000010 Reset action icon

          • 00000080 Freeze all object animations

          • 00000100 Swing Sword

          • 00000400 Navi will run away

          • 00000800 Carrying

          • 00001000 Loading Spinattack

          • 00002000 Camera Side View (Ledge)

          • 00004000 Camera overhead View

          • 00010000 Z-Target Focusing

          • 00018000 Z-Targeting Focus Target

          • 00028000 Z-Targeting No Focus

          • 00040000 Is set when exiting water with Z-Target

          • 00100000 First Person Mode

          • 00200000 Is Climbing

          • 003C7080 If any of these are enabled, delay

          • 00400000 Shielding

          • 00800000 Is on Epona

          • 02000000 Lock Camera

          • 08000000 Focus camera in direction (In Water)

          • 20000000 Talking

            • 0x80390DFC Enter Talking State

            • 0x803A9C1C Enter Talking State

          • 30000000 Ocarina/Trade Item

          • 80000000 Enter Grotto

          • 0x8038D698

          • 0x8038D9A0

          • 0x8038D9CC

        • 0x801DB0CE State

        • Position

          • 0x801DAA54 X

          • 0x801DAA5C Y

      • 0x8011A5D0 Save RAM

        • Entrance

          • 0x8011A5D0 Entrance Index

          • 0x8011B964 Grotto Return Entrance Index (halfword)

        • Items

          • Buttons

            • 0x8011A638 B, C-Left, C-Down, C-Right Items

            • 0x8011A63C C-Left, C-Down, C-Right Item Slots

              • 0x8007847C This JAL here ruins buttons under water if there's more than 2!

          • Capacity

            • 0x800F8CCE Quiver Capacity

            • 0x800F8CD0 Big Quiver Capacity

            • 0x800F8CD2 Biggest Quiver Capacity

            • 0x800F8CD6 Bomb Bag Capacity

            • 0x800F8CD8 Big Bomb Bag Capacity

            • 0x800F8CDA Biggest Bomb Capacity

            • 0x800F8CF6 Bullet Bag Capacity

            • 0x800F8CF8 Big Bullet Bag Capacity

            • 0x800F8CFA Biggest Bullet Bag Capacity

            • 0x800F8D06 Deku Stick (20) Capacity

            • 0x800F8D08 Deku Stick (30) Capacity

            • 0x800F8D0A Deku Stick (40) Capacity

            • 0x800F8D0C Deku Nut Capacity

            • 0x800F8D10 Deku Nut Capacity (255)

          • Equipment

            • Left Side

              • 0x??6EE4DB Everything

              • 0x8011A670 Unused

              • 0x8011A671 Deku Stick & Nut Capacity

                • 0x02 Deku Stick 10

                • 0x04 Deku Stick 20

                • 0x08 Deku Stick 30

                • 0x10 Deku Nut 20

                • 0x20 Deku Nut 30

                • 0x30 Deku Nut 40

                • 0x6E Everything

              • 0x8011A672 Bullet Bag, Dive Meter & Wallet

                • 0x02 Silver Scale

                • 0x04 Gold Scale

                • 0x10 Adult's Wallet

                • 0x20 Giant's Wallet

                • 0x40 Bullet Bag 30

                • 0x80 Bullet Bag 40

                • 0xC0 Bullet Bag 50

                • 0xE4 Everything

              • 0x8011A673 Quiver, Bomb Bag, Strength Upgrade

                • 0x01 Quiver 30

                • 0x02 Quiver 40

                • 0x03 Quiver 50

                • 0x08 Bomb Bag 20

                • 0x10 Bomb Bag 30

                • 0x18 Bomb Bag 40

                • 0x40 Goron Bracelet

                • 0x80 Silver Gauntlets

                • 0xC0 Golden Gauntlets

                • 0xDB Everything

            • 0x8011A640 Selected Tunic&Boots, Sword&Shield

            • Right Side

              • 0x7777???? Everything

              • 0x8011A66C Tunic & Boots

                • 0x01 Kokiri Tunic

                • 0x02 Goron Tunic

                • 0x04 Zora Tunic

                • 0x10 Kokiri Boots

                • 0x20 Iron Boots

                • 0x40 Hover Boots

                • 0x77 Everything

              • 0x8011A66D Sword & Shield

                • 0x01 Kokiri Sword

                • 0x02 Master Sword

                • 0x04 Biggorons Sword

                • 0x08 Broken Giant's Knife Picture

                • 0x0D Broken Giant's Knife

                • 0x10 Kokiri Shield

                • 0x20 Hylian Shield

                • 0x40 Mirror Shield

                • 0x77 Everything

          • Gear

            • 0x001DAB6C Tunic, Sword, Shield, Boots

              • 0x8039E538 Get Boots (used for hover)

                • 0x8039E554 Hover

                  • 0x80391618 This JAL causes you to fall

                  • 0x801DB2B0 Hover Time Remaining

                    • 0x803A0DB4

                • 0x8039E558 End Hover

              • 0x8039FC48 Get Boots

              • 0x8039FC4C Branch if hoverboots

              • 0x8039FE4C Get Boots

              • 0x803A0C1C Get Boots

              • 0x803A0C64 Get Boots

              • 0x803A0D88 Branch if not hoverboots (hover effect)

          • Inventory

            • Item Amount

              • 0x8011A65C Stick, Nut, Bomb, Bow

              • 0x8011A660 Fire Arrow, Din's Fire, Slingshot, Ocarina

              • 0x8011A664 Bombchu, Hookshot, Ice Arrow, Farore's Wind

              • 0x8011A668 Boomerang, Lens of Truth, Beans, Beans Available

            • Items

              • 0x8011A644 Stick, Nut, Bomb, Bow

              • 0x8011A648 Fire Arrow, Din's Fire, Slingshot, Ocarina

              • 0x8011A64C Bombchu, Hookshot, Ice Arrow, Farore's Wind

              • 0x8011A650 Boomerang, Lens of Truth, Beans, Hammer

              • 0x8011A654 Ice Arrow, Nayru's Love, Bottle 1, Bottle 2

              • 0x8011A658 Bottle 3, Bottle 4, Adult Trade, Child Trade

          • Other

          • Status

            • 0x8011A674 Heart Pieces

            • 0x8011A675 Spiritual Stones, Gear, Song of Time, Song of Storm

            • 0x8011A676 Songs

            • 0x8011A677 Minuet, Boloero, Medallions

        • Link

          • 0x8011A5D4 Age

          • 0x8011A600 Current Health (Halfword)

          • 0x8011A602 Magic Meter Size (Byte)

          • 0x8011A603 Current Magic (Byte)

          • 0x8011A60A Can Use Magic (Byte)

        • Records

          • 0x8011B490 Fish Size

        • Skulltulas

          • Changing Max Amount

            • 0x8038AC94 Set to Max Skulltula Amount

            • 0x8038ACA8 Set to 0x0000

            • 0x8038ACB0 Prefix to be used

            • 0x8038ACB8 Set to 0x00FF (This should always be higher than skulltula count)

            • 0x8038AD8C Set to Max Skulltula Amount

          • 0x8011A6A0 Skulltula Tokens

            • 0x8038AC94 64

            • 0x8038ACA8 -64 (Reduces skulltula display amount to 0 so that it displays 00)

            • 0x8038ACB8 64

          • 0x8011B46C Forest Temple, Jabu Jabu, Dodong's Cavern, Deku Tree

          • 0x8039F194 Skulltula Table

        • Time of Day

          • 0x8011A5DC Time of Day

          • 0x8011A5E0 Day/Night

      • 0x8011B9A0 Global Timer (Halfword)

        • 0x176F = 99:59 (Highest without visual errors)

        • 0x800775E0 Tick

        • 0x800775E4 V0 = Time

        • 0x800775E8 Branch if time isn't 0

        • 0x80077644 If (Time < 60) {AT = 1} else {AT = 0}

        • 0x80077648 Branch if AT = 1 (Timer < 60)

        • 0x800776DC Play Tick Sound

        • 0x80078004 unknown

      • 0x8011B9D9 Language (Byte)

        • 0x80074574 T8 = Language

        • 0x800758BC text stuff?

        • 0x800764D0 T7 = Language

        • 0x80076504 Update Language

      • 0x801C6FA0 Game Speed/State (Halfword)

        • 0x1 = File Menu

        • 0x2 = Pause Menu

        • 0x3 = Default

      • 0x801C84B4 Button Activators

        • 0000 No Button

        • 0001 C-Right

        • 0002 C-Left

        • 0004 C-Down

        • 0008 C-Up

        • 0010 R

        • 0020 L

        • 0100 D-Pad Right

        • 0200 D-Pad Left

        • 0400 D-Pad Down

        • 0800 D-Pad Up

        • 1000 Start

        • 2000 Z

        • 4000 B

        • 8000 A

      • 0x801C84C8 Control Stick Activators

        • 0x003C Up

        • 0x00C4 Down

        • 0x3C00 Right

        • 0xC400 Left

      • 0x801D8870 Conversation (English)

        • Coloring

          • Color Addresses

            • 0x801132C0 White Text

            • 0x801132C4 Red Text

            • 0x801132C8 Green Text

            • 0x801132CC Blue Text

            • 0x801132D0 Light Blue Text

            • 0x801132D4 Purple Text

            • 0x801132D8 Yellow Text

            • 0x801132DC Black Text

          • Color RGBA

            • Black

              • 0x800D6DF8 Red, Green & Blue (Black)

            • Blue

              • 0x800D6CAC Blue (Blue)

              • 0x800D6CB0 Red (Blue)

              • 0x800D6CB4 Green (Blue)

            • Green

              • 0x801C7DEC Red (Green)

              • 0x801C7DEE Green (Green)

              • 0x801C7DF0 Blue (Green)

            • Light Blue

              • 0x800D6D18 Blue (Light Blue)

              • 0x800D6D40 Red (Light Blue)

              • 0x800D6D44 Green (Light Blue)

            • Purple

              • 0x800D6D74 Blue (Purple)

              • 0x800D6D78 Red (Purple)

              • 0x800D6D7C Green (Purple)

            • Red

              • 0x800D6BDC Green & Blue (Red)

              • 0x800D6BE4 Red (Red)

            • White

              • 0x800D6E20 Red, Green & Blue (White)

            • Yellow

              • 0x800D6DB4 Green (Yellow)

              • 0x800D6DBC Red (Yellow)

              • 0x800D6DE0 Blue (Yellow)

          • 0x800D90EC Jump To Set Color

          • 0x801D8954 Current Text Color

        • 0x800D8F9C Branch if not 05 Command (Color)

        • 0x800D9018 Branch if not Less than 20 Command

        • 0x800DBD74 Branch if not 1E Command (Records)

        • Cursor Color

          • 0x800D7030 Calculate Blue

          • 0x800D70A0 Set Blue

          • 0x800D70A8 Set Green

          • 0x800D70B0 Set Red

          • 0x80112F20 Red (Word)

          • 0x80112F24 Green (Word)

          • 0x80112F28 Blue (Word)

        • Records

          • 0x800DBDCC Branch if not 02 Command (Fish)

          • 0x800DBEE8 Branch if not Less than 07 Command

        • Text

          • 0x800D6D80 Set Colors

          • 0x800D900C Read Letter

          • 0x800DB55C Set Letter

          • 0x800DCA9C Set Convo

      • 0x801D8DD4 Menu State

        • 0x01 Open Menu (Only run when a menu isn't open)

        • 0x06 Finish Opening Menu (Only run when a menu is open)

        • 0x07 Open Save Panel (Only run when pause menu is open)

        • 0x08 Open Game Over (Only run when a menu isn't open)

        • 0x09 Open Game Over (Only run when a menu is open)

        • 0x0F Save (Only run when a menu is open)

        • 0x10 Open Continue / Quit (Only run when a menu is open)

        • 0x11 Continue/Quit (Result Depends on Selected Option: 0x0 continue, 0x4 quit)

        • 0x12 Close Menu (Only run when pause menu is open)

        • 0x8039C574 Begin Opening Save Panel

        • 0x801D8E60 Selected Menu Option

          • 0x8039CA1C Get Option (Save - Pause Menu)

            • 0x8039CAA0 Select Save

              • 0x8039CAB8 Jump to save? 0x800C806C

              • 0x8039CAC0 Jump to save? 0x8009D894

              • 0x8039CAD8 Jump to save? 0x800905D4

              • 0x8039CB10 Jump to save? 0x8039CB10

              • 0x8039CB48 Jump to save? 0x800C7200

              • 0x8039CB6C Jump to save? 0x8006D8E0

          • 0x8039D7F0 Get Option (Save - Game Over Screen)

            • 0x800905D4 Save?

              • 0x80090614 Get Save RAM

    • Patches

      • Bottle Dupe & Ocarina Items (Jump Methods)

        • _Info

          • The reason why these glitches work is because a flag telling you to use an action when you land isn't cleared properly. I clear this flag whenever you press & use an item

        • 0x8038CA88 NOP, You can inject here (only when not pausing)

          • 0x8038CA88

            • Set to 0xA0E0069D to remove Bottle Dupe & Ocarina Items

      • Bottle Dupe (Pause Method)

        • _Info

          • The game has various checks to decide if you're allowed to pause. I add the flag that is set during a bottle swipe (0x2) to the ones that are not allowed

          • Warning: This didn't patch the glitch entirely. You can still pause the first frame of the swipe as the flag is set after the swipe start

        • 0x800793A0 Lower Bytes of bitflags that aren't allowed

          • 0x800793A0

            • Set to 0x34210082 to prevent pausing while swiping a bottle

        • 0x803A05A0 get state

        • 0x803A5738 Swipe Start

        • 0x803A5860 Branch on first swipe frame

        • 0x803A5958 Set Swipe State

        • 0x801DABDE 2648 = Bottle Swiping

      • Dive

        • 0x803A02F0 This Branch skips past water detection when you don't have control

      • Fishes

        • _Info

          • Converter: http://www.h-schmidt.net/FloatConverter/

          • 0x8011B490 This is the location in the SRAM where they store the size of your biggest fish, stored as a 32bit fixed point rounded down

            • First 7 bits, maximum value is 0x7F

          • 0x801F2950 This is where the game stores the size of the fish you are currently holding, stored as a floating point

        • 0x801E3228 Get Fish Size from SRAM

        • 0x801E325C Load Fish Size

        • 0x801E9B4C Get Fish Size

        • 0x801F01C8 F6 = 0x0000(V0)

        • 0x801F01D8 0x0000(A3) = F6

        • 0x801F01F4 F0 = 0x0000(A3) (0x801F5DE8)

        • 0x801F0200 F10 = F0

        • 0x801F020C Store (have won the price?)

        • 0x801F0210 V0 = F10

        • 0x801F0240 Store new fish size

      • Golden Scale

        • _Info

          • 0x00040000 is for swimming

          • 0x80022BE8 This is where the game checks for various states you can't collect items in, we change it to make it so that you can collect items after exiting water with Z-Target

            • 3C010038 set it to this to remove the flag

        • bad collection

          • 0x80022BD4 Start

          • 0x80022C04 Store

            • 38 (Wrong)

            • 4C (Correct)

          • 0x80022CD0 Store Recieve

          • 0x803A4A6C LB V1, 0x0424(A2)

            • 0x801DAE54 (byte)

              • 0x38 (Incorrect)

              • 0x4C (Correct)

          • 0x803A4A70 BNEL

            • V1 = 38 (Incorrect)

            • V1 = 4C (Correct)

          • 0x803A4A94 SLL 0x1

            • T6 = A8 (Wrong)

            • T7 = E4 (Correct)

          • 0x803A4AA0 ADDIU

            • T7 = 150 (Wrong)

            • T7 = 1C8 (Correct)

          • 0x803A4AA8 ADDU

            • T8 = 14A (Wrong)

            • T8 = 1C2 (Normal)

          • 0x803A4ABC Store wrong collection

            • 803A9FCE (Wrong)

            • 803AA046 (Normal)

          • 0x803A4AD4 Collection goes wrong

            • 0x803A9FCE Glitched

            • 0x803AA046 Standard

          • 0x8011EF7C Wrong

            • 803A9FCE (Wrong)

            • 803AA046 (Normal)

        • 0x80022BE8 Upper bytes of states not allowed while collecting

        • 0x80022BEC Lower bytes of states not allowd while collecting

        • 0x80022BF0 T6 = 0x066C(A3)

        • 0x80022BFC Branch and skip stuff if z-target thingy is active

        • 0x80022C70 Branch if you're to far away

        • 0x80022CA8 stepping

        • 0x80022CD4 Store to 0x801DAE58

        • 0x801F0534 Clear Var

        • 0x801F0544 Jump to Collection (Correct)

        • 0x801F06AC See if you should get goldscale

        • 0x801F06B4 This branch causes the gold scale

        • 0x801F06E0 Jump to Collecttion (Incorrect)

        • 0x801F0AF4 A Jump

          • 0x801E7538 A Jump

            • 0x801E7564 A Jump

              • 0x801E75A8 A JR

              • 0x801E75CC prog

        • 0x80395088 Set Var

        • 0x803A1F84 Jump Past

        • 0x803A1FAC No Branch

        • 0x803A1FE0 No Jump

        • 0x803A1FF0 No Jump

        • 0x803A2000 No Jump

        • 0x803A2008 T5 = 0x0428(S0)

          • 0x801DAE58

            • Correct: 801FCEF0

            • Incorrect: 0

        • 0x803A2014 BNEL

          • Correct: Do not Branch (T5 = 801FCEF0)

          • Incorrect: Branch (T5 = 0)

        • 0x803A201C Jump to Set Var

        • 0x801F2950 Current Fish (Floating Point)

        • 0x801FD008 When This is set, you do not receive gold scale

      • ISG (Regular Method)

        • _Info

          • I fix ISG by clearing the Attacking flag at a specific function that runs when doing a bunch of things (unpausing, putting away items, interacting, etc.)

        • 0x80079714 Runs when changing item in hand unpausing, putting away ocarina, interacting, etc.

          • 0x80079718 NOP

            • Set to 0xA0800833 to remove ISG

      • Prevent Opening Chests Under Water

        • _Info

          • 1. Normally you can't open chests under water because of a flag that is set when you're swimming in water.

          • 2. However, when using hookshot/longshot, that flag is unset.

          • 3. As a result, by hooking and landing directly at the bottom, you won't have entered the swimming/sinking state, leaving the flag unset, allowing you to open chests.

          • 4. This patch will make it so that using hookshot/longshot doesn't unset the flag.

        • 0x803A73B0 Unsets the Flag preventing you from opening chests

          • 0x803A73B0

            • Set to 0x2401FFFF to stop it from unsetting the flag

        • Research

          • 0x800798B8 not

          • 0x8038C7C4 not

          • 0x80393F64 Apply Flag That Disables Chests from being opened when entering water

          • 0x803A059C not

          • 0x803A05CC not

          • 0x803A0760 not

          • 0x803A1B2C Apply Flag That Disables Chests form being opened while swimming

          • 0x803A72E8 not

          • 0x803A73B0 This AND command removes the flag when usign hookshot/longshot

          • 0x803A73C0 removes

      • Shield Swipe

        • 0x8038AA40 Check if a button has been pressed

        • 0x8038AAB8 This is where it jumps past to Use Item

        • 0x8038AABC Set Stored Action

        • 0x8038AAC4 Set Last Used Button Index

        • 0x8038AAD4 Here

        • 0x8038B6A0 Check if an action is stored

        • 0x8038C9A0 Use Item

        • 0x8038CE98 Back

      • Super Slide & Ground Jump

        • _Info

          • In the pickup function, set flag 100 if you're shielding

        • Injection Method

          • 0x80003BCC Use this as the hook

        • Testing

          • 0x80392DEC Add Shielding State

          • 0x80395490 Add Is Carrying State

          • 0x8039DF74 Check if you're carrying stuff

          • 0x8039DFAC Branch if not carrying

          • MEM 0x801dae4c: ?

    • W Hacks

      • Color Engine

        • 0x800D6BD0 Color Table

          • Default Colors

            • 0x800D6CD0 White

            • 0x800D6CD4 Red

            • 0x800D6CD8 Green

            • 0x800D6CDC Blue

            • 0x800D6CE0 Light Blue

            • 0x800D6CE4 Pink

            • 0x800D6CE8 Yellow

            • 0x800D6CEC Black

        • 0x801D8954 Current Text Color

      • 0x803B2DC4 JAL to Zelda Map Select

        • 0x803B32C4 JAL to Zelda Map Select

      • Custom Item Usability

        • 0x8006F344 Disables Sun's Song

        • 0x800F7350 Scene Table

        • 0x800F7355 Kakariko Village

        • 0x801D8BF0 Restriction Flags

      • Use Sword under water

        • 0x8006E8A0 Change to 0x24050000 (This will include the B button in the water usability loop)

        • 0x8006E8DC Change to 0x241F003C (Will make Master Sword usable under water, replacing Hookshot)

        • 0x80388E6C Remove climbing

        • 0x80388EE4 Jump to remove climing

          • 0x80393DF4 Jump to jump to remove climbing

        • 0x8038CA58 Change to 0x24010003 (This will make the Sword function usable under water, replacing Hookshot)

        • 0x80394038 Climb under water check?

    • W Tests

      • Use Hookshot in air

        • Aiming

          • 0x803A05C8 Remove loaded state???

        • test

          • 0x800216E8 00000008 (Hookshot in hand)

          • 0x80021710 Branch if not hookshot in hand

          • 0x80023E50 00000040

          • 0x80023EA0 Varies

          • 0x80079398 20000080

          • 0x80079478 00000010

          • 0x800798D8 BFF07FFF

          • 0x8007A32C 00000080

          • 0x801DFFA8 00000400

          • 0x8021AD04 100004C0

          • 0x80389C44 08000000

          • 0x8038A524 40030000

          • 0x8038A584 00000010

          • 0x8038A8CC 20008000

          • 0x8038AD54 00000100

          • 0x8038D688 BFFFFFFF

          • 0x8038D6B4 20000080

          • 0x8038D794 02001000

          • 0x8038FB0C 00000080

          • 0x803914F8 2800000

          • 0x8039DF04

          • 0x8039E6BC A0000000

          • 0x8039FD08

          • 0x803A05A0 FFBFFDFD (Remove Loaded State)

          • 0x803A0714 00000800

          • 0x803A083C 00806080

          • 0x803A0868 04000080

          • 0x803A08E0 30000080

          • 0x803A0A64 20000020

          • 0x803A0A74 20000020

        • Use

          • 0x803A0670 Jump to Hook functions

          • 0x803A72F4 Branch when entering flying state?

          • During Hook

            • 0x803A1BE8 During FPS Mode

          • During Hook (shooting flying)

            • _Call

              • 0x800230B0 Store soundeffect

                • 0x800230A0 Sound repeater

                  • 0x8021FCE8 Start

                    • 0x80220364 Jump to Start

                      • 0x801E49A4 Stores where to jump

                        • 0x8021FA50 Store where to jump

                          • 0x8021FB48 Branch if longshot?

                          • 0x8021FB5C Jump to store where to jump

                  • 0x8021FD38 Hookshot Jump to Sound Repeater

              • 0x80024B34 Branch if soundeffect isn't set

              • 0x80024B3C JAL to function

            • 0x80024540 Start hook function

            • 0x80024580 Play Shoot Sound Effect

          • Hook Connect

            • 0x803A72C8 Hook Connect Start

          • Hook End

            • 0x803A1D50 Exit FPS

            • 0x803A73B0 Remove Disable Chest Flag When Ending Hook

          • Reach Destination

            • 0x8039AB68 Reach Destination Start

  • Download