RAM: Bank 0x7E: Page 0x01

From TLoZ: ALTTP Hacking Resources
Jump to: navigation, search
This is a subpage of RAM

This is beyond direct page and you can assume that all addresses here are $7EXXXX until you reach bank $7F.

  • $0100 (02) = Numerical index that controls the graphics that are blitted for Link during VRAM. See DMA variables for additional info.
  • $0102 (02) = See DMA Variables
  • $0104 (02) = See DMA Variables
  • $0106 (01) = free ram?
  • $0107 (02) = See DMA Variables
  • $0109 (01) = See DMA Variables
  • $010A (01) = Set to nonzero when Link incurs death. Used if the player saved and continued (or just continued) after dying, indicating that the loading process will be slightly different.
  • $010B (01) = free ram?
  • $010C (02) = Temporary storage for a module number. Example: If we're in Overworld mode (0x09) and have to display a textbox (module 0x0E), 0x09 gets saved to this location on a temporary basis. Once the textbox disappears this module will be resumed.
  • $010E (02) = (Dungeon) gives the entrance index of the current dungeon
  • $0110 (02) = In the context of loading dungeon rooms, contains the index of the room (see $A0) multiplied by 3. Allows for indexing into 24bit pointer address tables.
  • $0112 (02) = Apparently a flag indicating the bombos medallion is falling. Stops the Menu from being dropped down too. It seems to work as a flag for any general extended animation that is currently in progress.
  • $0114 (02) = Value of the type of tile Link is currently standing on. Only the lower byte is used.
  • $0116 (02) = Used with routine $008CB0 to transfer 0x0800 bytes from $7E1000 to a variable location (determined by this memory location)
  • $0118 (02) = Local portion of an address used to transfer data from $7FXXXX to vram whenever variable $19 is nonzero.
  • $011A (02) = BG1 Y Offset. Gets applied to $0124. Can be used in quakes/shaking
  • $011C (02) = BG1 X Offset. Gets applied to $0120

These are extra buffers for the scroll variables in addition to the $E0,...,$EA registers earlier

  • $011E (02) = BG2 Horizontal Scroll Register ($210F)
  • $0120 (02) = BG1 Horizontal Scroll Register ($210D)
  • $0122 (02) = BG2 Vertical Scroll Register ($2110)
  • $0124 (02) = BG1 Vertical Scroll Register ($210E)
  • $0126 (01) = Seems to be used during dungeon screen transitions as some sort of counter.
  • $0127 (01) = free ram
  • $0128 (01) = ???? Seen as 0xFF during the history sequence. When set to 0xFF, the IRQ routine will disable the IRQ routine the next time it executes by writing 0x81 to $4200.
  • $0129 (01) = free ram
  • $012A (01) = Seems to be a flag for the crystal sequence scripting. As long as this flag is set, the sequence progresses. Also used for the Triforce sequences. Triggers a subsection of the NMI routine.
  • $012B (01) = free ram
  • $012C (01) = Music control
    • 0x01 = Triforce opening
    • 0x02 = light world
    • 0x03 = legend theme
    • 0x04 = bunny link
    • 0x05 = lost woods
    • 0x06 = legend theme
    • 0x07 = kakariko village
    • 0x08 = mirror warp
    • 0x09 = dark world
    • 0x0A = restoring the master sword
    • 0x0B = faerie theme
    • 0x0C = chase theme
    • 0x0D = dark world (skull woods)
    • 0x0E = game theme (Overworld only?)
    • 0x10 = hyrule castle
    • 0x13 = fanfare
    • 0x15 = boss theme
    • 0x16 = dark world dungeon
    • 0x17 = fortune teller
    • 0x18 = caves
    • 0x19 = sentiment of hope
    • 0x1A = crystal theme
    • 0x1B = faerie theme w/ arpeggio
    • 0x1C = fear & anxiety
    • 0x1D = Agahnim unleashed
    • 0x1E = surprise!
    • 0x1F = Ganondorf the Thief
    • 0x20 = nothing
    • 0x21 = Agahnim unleashed
    • 0x22 = surprise!
    • 0x23 = Ganondorf the Thief
    • 0xF1 = fade out
    • 0xF2 = half volume
    • 0xF3 = full volume
    • 0xFF = Load a new set of music.
  • $012D (01) = (Sound) Ambient Sound effects
    • 0x05 - Silence
    • 0x07 - Rumbling Sound? (Seems fairly certain)
    • 0x11 - Prayer in the Desert (Sounds a bit like Sanctuary theme)
    • 0x12 - Alternate "Prayer in the desert", or maybe one part of the harmony.
    • 0x15 - Door to Triforce room opens
  • $012E (01) = (Sound) Sound Effects 1
    • 0x00 = none (no change)
    • 0x01 = small sword swing 1 (Fighter Sword)
    • 0x02 = small sword swing 2 (Fighter Sword)
    • 0x03 = medium sword swing 1 (Master Sword and up)
    • 0x04 = fierce sword swing 2 (Master Sword and up)
    • 0x05 = object clinking against the wall
    • 0x06 = object clinking Link's shield or a hollow door when poked
    • 0x07 = shooting arrow (or red Goriyas shooting fireballs)
    • 0x08 = arrow hitting wall
    • 0x09 = really quiet sound
    • 0x0A = hookshot cranking
    • 0x0B = door shutting
    • 0x0C = loud thud / heavy door shutting
    • 0x0D = magic powder noise
    • 0x0E = fire rod being fired
    • 0x0F = ice rod being fired
    • 0x10 = hammer being used?
    • 0x11 = hammer pounding down stake
    • 0x12 = really familiar but can't place it exactly
    • 0x13 = playing the flute
    • 0x14 = Link picking something small up?
    • 0x15 = Weird zapping noise
    • 0x16 = Link walking up staircase 1
    • 0x17 = Link walking up staircase 2 (finishing on next floor)
    • 0x18 = Link walking down staircase 1
    • 0x19 = Link walking down staircase 2 (finishing on next floor)
    • 0x1A = Link walking through grass?
    • 0x1B = sounds like a faint splash or thud
    • 0x1C = Link walking in shallow water
    • 0x1D = picking an object up
    • 0x1E = some sort of hissing (walking through grass maybe?)
    • 0x1F = object smashing to bits
    • 0x20 = item falling into a pit
    • 0x21 = sounds like a plop on wood, can't remember where it gets used
    • 0x22 = loud thunderous noise
    • 0x23 = pegasus boots slippy sound
    • 0x24 = Link making a splash in deep water (but having to come back out)
    • 0x25 = Link walking through swampy water
    • 0x26 = Link taking damage
    • 0x27 = Link passing out
    • 0x28 = item falling onto shallow water
    • 0x29 = rupees refill sound
    • 0x2A = whiffy sound
    • 0x2B = low life warning beep
    • 0x2C = pulling master sword out
    • 0x2D = taking magic power damage from enemy
    • 0x2E = Seems like a sound related to Ganon's Tower opening
    • 0x2F = Seems like a sound related to Ganon's Tower opening
    • 0x30 = chicken getting owned
    • 0x31 = big faerie healing your wounds
    • 0x32 = sounds familiar but can't place it. Whooshing noise
    • 0x33 = cheesy noise that happens when Agahnim makes chicks disappear
    • 0x34 = cheesy noise that happens when Agahnim makes chicks disappear
    • 0x35 = faint rumbling noise
    • 0x36 = faint rumbling noise
    • 0x37 = spin attack has powered up
    • 0x38 = swimming noise
    • 0x39 = thunderous noise while Ganon's tower opens
    • 0x3A = some kind of clinky hit
    • 0x3B = sounds like magic powder but unfamiliar
    • 0x3C = Error noise
    • 0x3D = something big falling into water? (Argghus?)
    • 0x3E = playing the flute (quieter)
    • 0x3F = magic powder
  • $012F (01) = (Sound) Sound Effects 2
    • 0x00 = none (no change)
    • 0x01 = master sword beam
    • 0x02 = unintelligble switch noise
    • 0x03 = ????? yet another loud thud
    • 0x04 = Nutcase soldier getting pissed off
    • 0x05 = shooting a fireball (Lynel)
    • 0x06 = ?????
    • 0x07 = giant metal balls coming out of nodes
    • 0x08 = normal enemy taking a big hit
    • 0x09 = normal enemy dying
    • 0x0A = collecting rupee
    • 0x0B = collecting single heart
    • 0x0C = text scrolling flute noise
    • 0x0D = single heart filling in on HUD
    • 0x0E = sound of a chest being opened
    • 0x0F = you got an item sound 1
    • 0x10 = switching to map sound effect
    • 0x11 = menu screen going down
    • 0x12 = menu screen going up
    • 0x13 = throwing an item
    • 0x14 = clink (not sure what it's used for)
    • 0x15 = loud thud 1
    • 0x16 = loud thud 2
    • 0x17 = rats
    • 0x18 = dragging something
    • 0x19 = zora shooting fireball
    • 0x1A = minor puzzle solved
    • 0x1B = major puzzle solved
    • 0x1C = doing minor damage to enemy
    • 0x1D = taking magic power damage from enemy
    • 0x1E = keese flitting around
    • 0x1F = Link squealing like a bitch when he falls into a hole
    • 0x20 = switch menu item
    • 0x21 = boss taking damage
    • 0x22 = boss dying
    • 0x23 = spin attack sound
    • 0x24 = switching between different mode 7 map perspectives
    • 0x25 = triggering a switch
    • 0x26 = Agahnim's lightning
    • 0x27 = Agahnim powering up an attack
    • 0x28 = Agahnim / Ganon teleporting
    • 0x29 = Agahnim shooting a beam
    • 0x2A = tougher enemy taking damage.
    • 0x2B = Link getting electromucuted
    • 0x2C = bees buzzing
    • 0x2D = Major achievement completed (e.g. getting a piece of heart)
    • 0x2E = Major item obtained (e.g. Pendant or Heart Container)
    • 0x2F = obtained small key
    • 0x30 = blob popping out of ground
    • 0x31 = Moldorm's weird track like noise
    • 0x32 = bouncing off a bungie
    • 0x33 = short unknown jingle
    • 0x34 = Sounds like defunct version of sound 0x35 below. Seems to be unused.
    • 0x35 = Sound that plays in response to picking up a heart container during a boss fight.
    • 0x36 = Sound of a beam being fired (Mothula, Wizzrobes, etc).
    • 0x37 = Neat sound... consider using as a confirmation (though make sure it's not buggy)
    • 0x38 = ...
    • 0x39 = ...
    • 0x3C = Obtained mid level item (e.g. bombs from a chest)
    • 0x3D = ...
    • 0x3F = More minor fanfares
  • $0130 (01) = Something to do with SPC, exact usage is not clear.
  • $0131 (01) = Something to do with SPC, exact usage is not clear.
  • $0132 (01) = Buffer for playing songs. Put a value here to try to play a song. (Will try to write to $012C)
  • $0133 (01) = Something to do with SPC, exact usage is not clear.
  • $0134 (02) = VRAM target address for animated tiles. Usually $3B00 or $3C00. Remember that if you were to look this stuff up in Geiger's debugger the byte addresses would actually be $7600 and $7800. SNES VRAM addresses are expressed as words addresses internally, you just have to deal with it unfortunately.
  • $0136 (01) = Flag that toggles when different sets of musical tracks are loaded. I think the two track sets are normal outdoor and the ending tracks.
  • $0137 (C9) = Normal (Non-IRQ) Stack

Navigate

Table of Contents
SpritesDungeonsOverworldUnderworldSRAM MapRAM MapROM MapMusicMonologueCreditsDumpsMiscellaneousTo-Do/Suggestions