Difference between revisions of "RAM: Bank 0x7E: Page 0x01"

From TLoZ: ALTTP Hacking Resources
Jump to: navigation, search
m (Superskuj moved page Rom/Page 0x01 to RAM: Bank 0x7E: Page 0x01)
Line 1: Line 1:
{{subpage|RAM}}
+
This is beyond direct page and you can assume that all addresses here are {{$|7EXXXX}} until you reach bank {{$|7F}}.
  
This is beyond direct page and you can assume that all addresses here are $7EXXXX until you reach bank $7F.
+
* {{$|0100}}[{{0x|02}}] - Numerical index that controls the graphics that are blitted for Link during VRAM. See DMA variables for additional info.
* {{$|0100}}[{{0x|02}}] = Numerical index that controls the graphics that are blitted for Link during VRAM. See DMA Variables for
 
additional info.
 
* {{$|0102}}[{{0x|02]
 
* {{$|0104}}[{{0x|02]
 
* {{$|0106}}[{{0x|01]
 
* {{$|0107}}[{{0x|02]
 
-
 
-
 
-
 
-
 
See DMA Variables
 
See DMA Variables
 
free ram?
 
See DMA Variables
 
* {{$|0109}}[{{0x|01}}] = See DMA Variables
 
* {{$|010A}}[{{0x|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}}[{{0x|01}}] = free ram?
 
* {{$|010C}}[{{0x|02}}] = Temporary storage for a module number. Example: If we're in Overworld mode (0x9) and have to display
 
a textbox (module 0xE), 0x9 gets saved to this location on a temporary basis. Once the textbox
 
disappears this module will be resumed.
 
* {{$|010E}}[{{0x|02}}] = gives the entrance index of the current dungeon
 
* {{$|0110}}[{{0x|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}}[{{0x|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}}[{{0x|01}}] = Value of the type of tile Link is currently standing on.
 
* {{$|0116}}[{{0x|02}}] = Used with routine $008CB0 to transfer 0x800 bytes from $7E1000 to a variable location.
 
(determined by this memory location)
 
* {{$|0118}}[{{0x|02}}] = Local portion of an address used to transfer data from $7FXXXX to vram whenever
 
variable $19 is nonzero.
 
* {{$|011A}}[{{0x|02}}] = BG1 Y Offset. Gets applied to $0124. Can be used in quakes/shaking
 
* {{$|011C}}[{{0x|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}}[{{0x|02}}] = BG1 Horizontal Scroll Register ($210F)
 
* {{$|0120}}[{{0x|02}}] = BG0 Horizontal Scroll Register ($210D)
 
* {{$|0122}}[{{0x|02}}] = BG1 Vertical Scroll Register ($2110)
 
* {{$|0124}}[{{0x|02}}] = BG0 Vertical Scroll Register ($210E)
 
* {{$|0126}}[{{0x|01}}] = Seems to be used during dungeon screen transitions as some sort of counter.
 
543$0128}}[{{0x|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.
 
* {{$|012A}}[{{0x|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.
 
* {{$|012C - Music control
 
0x01 = Triforce opening
 
0x02 = light world
 
0x03 = legend theme
 
0x04 = bunny link
 
0x05 = lost woods
 
0x06 = legend theme
 
0x07 = kakkariko 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}}[{{0x|01}}] = Ambient Sound effects
 
0x05 = Silencio
 
0x15 = Door to Triforce room opens
 
* {{$|012E}}[{{0x|01}}] = Sound Effects 1
 
0x00 = none (no change)
 
0x01 = small sword swing 1 (Fighter Sword)
 
5440x02 = 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 =
 
0x31 =
 
0x32 =
 
0x33 =
 
0x34 =
 
chicken getting owned
 
big faerie healing your wounds
 
sounds familiar but can't place it. Whooshing noise
 
cheesy noise that happens when Agahnim makes chicks disappear
 
cheesy noise that happens when Agahnim makes chicks disappear
 
5450x35 = 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}}[{{0x|01}}] = Sound Effects 2
 
0x00 = none (no change)
 
0x01 = master sword beam
 
0x02 = unintelligible 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
 
5460x26 = Aghanim’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 electrocuted
 
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 = blop popping out of ground
 
0x31 = Moldorm's weird track like noise
 
0x32 = bouncing off a bungie
 
0x33 = short unknown jingle
 
0x34 = ...
 
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 - ????
 
* {{$|0131 - ????
 
* {{$|0132}}[{{0x|01}}] = Buffer for playing songs. Put a value here to try to play a song. (Will try to write to $012C)
 
* {{$|0134}}[{{0x|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}}[{{0x|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}}[{{0x|C9}}] = Normal (Non-IRQ) Stack
 
  
{{toc}}
+
* {{$|0102}}[{{0x|02}}] - See DMA Variables
 +
* {{$|0104}}[{{0x|02}}] - See DMA Variables
 +
* {{$|0106}}[{{0x|01}}] - free ram?
 +
* {{$|0107}}[{{0x|02}}] - See DMA Variables
 +
* {{$|0109}}[{{0x|01}}] - See DMA Variables
 +
* {{$|010A}}[{{0x|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}}[{{0x|01}}] - free ram?
 +
* {{$|010C}}[{{0x|02}}] - Temporary storage for a module number. Example: If we're in Overworld mode ({{0x|09}}) and have to display a textbox (module {{0x|0E}}), {{0x|09}} gets saved to this location on a temporary basis. Once the textbox disappears this module will be resumed.
 +
* {{$|010E}}[{{0x|02}}] - (Dungeon) gives the entrance index of the current dungeon
 +
* {{$|0110}}[{{0x|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}}[{{0x|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}}[{{0x|02}}] - Value of the type of tile Link is currently standing on. Only the lower byte is used.
 +
* {{$|0116}}[{{0x|02}}] - Used with routine {{$|008CB0}} to transfer {{0x|0800}} bytes from {{$|7E1000}} to a variable location (determined by this memory location)
 +
* {{$|0118}}[{{0x|02}}] - Local portion of an address used to transfer data from {{$|7FXXXX}} to vram whenever variable {{$|19}} is nonzero.
 +
* {{$|011A}}[{{0x|02}}] - BG1 Y Offset. Gets applied to {{$|0124}}. Can be used in quakes/shaking
 +
* {{$|011C}}[{{0x|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}}[{{0x|02}}] - BG2 Horizontal Scroll Register ({{$|210F}})
 +
* {{$|0120}}[{{0x|02}}] - BG1 Horizontal Scroll Register ({{$|210D}})
 +
* {{$|0122}}[{{0x|02}}] - BG2 Vertical Scroll Register ({{$|2110}})
 +
* {{$|0124}}[{{0x|02}}] - BG1 Vertical Scroll Register ({{$|210E}})
 +
 
 +
* {{$|0126}}[{{0x|01}}] - Seems to be used during dungeon screen transitions as some sort of counter.
 +
* {{$|0127}}[{{0x|01}}] - free ram
 +
* {{$|0128}}[{{0x|01}}] - ???? Seen as 0xFF during the history sequence. When set to {{0x|FF}}, the IRQ routine will disable the IRQ routine the next time it executes by writing {{0x|81}} to {{$|4200}}.
 +
* {{$|0129}}[{{0x|01}}] - free ram
 +
* {{$|012A}}[{{0x|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}}[{{0x|01}}] -  free ram
 +
 
 +
* {{$|012C}}[{{0x|01}}] -  Music control
 +
**{{0x|01}} = Triforce opening
 +
**{{0x|02}} = light world
 +
**{{0x|03}} = legend theme
 +
**{{0x|04}} = bunny link
 +
**{{0x|05}} = lost woods
 +
**{{0x|06}} = legend theme
 +
**{{0x|07}} = kakariko village
 +
**{{0x|08}} = mirror warp
 +
**{{0x|09}} = dark world
 +
**{{0x|0A}} = restoring the master sword
 +
**{{0x|0B}} = faerie theme
 +
**{{0x|0C}} = chase theme
 +
**{{0x|0D}} = dark world (skull woods)
 +
**{{0x|0E}} = game theme (Overworld only?)
 +
**{{0x|10}} = hyrule castle
 +
**{{0x|13}} = fanfare
 +
**{{0x|15}} = boss theme
 +
**{{0x|16}} = dark world dungeon
 +
**{{0x|17}} = fortune teller
 +
**{{0x|18}} = caves
 +
**{{0x|19}} = sentiment of hope
 +
**{{0x|1A}} = crystal theme
 +
**{{0x|1B}} = faerie theme w/ arpeggio
 +
**{{0x|1C}} = fear & anxiety
 +
**{{0x|1D}} = Agahnim unleashed
 +
**{{0x|1E}} = surprise!
 +
**{{0x|1F}} = Ganondorf the Thief
 +
**{{0x|20}} = nothing
 +
**{{0x|21}} = Agahnim unleashed
 +
**{{0x|22}} = surprise!
 +
**{{0x|23}} = Ganondorf the Thief
 +
**{{0x|F1}} = fade out
 +
**{{0x|F2}} = half volume
 +
**{{0x|F3}} = full volume
 +
**{{0x|FF}} = Load a new set of music.
 +
 
 +
* {{$|012D}}[{{0x|01}}] -  (Sound) Ambient Sound effects
 +
**{{0x|05}} - Silence
 +
**{{0x|07}} - Rumbling Sound? (Seems fairly certain)
 +
**{{0x|11}} - Prayer in the Desert (Sounds a bit like Sanctuary theme)
 +
**{{0x|12}} - Alternate "Prayer in the desert", or maybe one part of the harmony.
 +
**{{0x|15}} - Door to Triforce room opens
 +
 
 +
* {{$|012E}}[{{0x|01}}] -  (Sound) Sound Effects 1
 +
**{{0x|00}}:  none (no change)
 +
**{{0x|01}}:  small sword swing 1 (Fighter Sword)
 +
**{{0x|02}}:  small sword swing 2 (Fighter Sword)
 +
**{{0x|03}}:  medium sword swing 1 (Master Sword and up)
 +
**{{0x|04}}:  fierce sword swing 2 (Master Sword and up)
 +
**{{0x|05}}:  object clinking against the wall
 +
**{{0x|06}}:  object clinking Link's shield or a hollow door when poked
 +
**{{0x|07}}:  shooting arrow (or red Goriyas shooting fireballs)
 +
**{{0x|08}}:  arrow hitting wall
 +
**{{0x|09}}:  really quiet sound
 +
**{{0x|0A}}:  hookshot cranking
 +
**{{0x|0B}}:  door shutting
 +
**{{0x|0C}}:  loud thud / heavy door shutting
 +
**{{0x|0D}}:  magic powder noise
 +
**{{0x|0E}}:  fire rod being fired
 +
**{{0x|0F}}:  ice rod being fired
 +
**{{0x|10}}:  hammer being used?
 +
**{{0x|11}}:  hammer pounding down stake
 +
**{{0x|12}}:  really familiar but can't place it exactly
 +
**{{0x|13}}:  playing the flute
 +
**{{0x|14}}:  Link picking something small up?
 +
**{{0x|15}}:  Weird zapping noise
 +
**{{0x|16}}:  Link walking up staircase 1
 +
**{{0x|17}}:  Link walking up staircase 2 (finishing on next floor)
 +
**{{0x|18}}:  Link walking down staircase 1
 +
**{{0x|19}}:  Link walking down staircase 2 (finishing on next floor)
 +
**{{0x|1A}}:  Link walking through grass?
 +
**{{0x|1B}}:  sounds like a faint splash or thud
 +
**{{0x|1C}}:  Link walking in shallow water
 +
**{{0x|1D}}:  picking an object up
 +
**{{0x|1E}}:  some sort of hissing (walking through grass maybe?)
 +
**{{0x|1F}}:  object smashing to bits
 +
**{{0x|20}}:  item falling into a pit
 +
**{{0x|21}}:  sounds like a plop on wood, can't remember where it gets used
 +
**{{0x|22}}:  loud thunderous noise
 +
**{{0x|23}}:  pegasus boots slippy sound
 +
**{{0x|24}}:  Link making a splash in deep water (but having to come back out)
 +
**{{0x|25}}:  Link walking through swampy water
 +
**{{0x|26}}:  Link taking damage
 +
**{{0x|27}}:  Link passing out
 +
**{{0x|28}}:  item falling onto shallow water
 +
**{{0x|29}}:  rupees refill sound
 +
**{{0x|2A}}:  whiffy sound
 +
**{{0x|2B}}:  low life warning beep
 +
**{{0x|2C}}:  pulling master sword out
 +
**{{0x|2D}}:  taking magic power damage from enemy
 +
**{{0x|2E}}:  Seems like a sound related to Ganon's Tower opening
 +
**{{0x|2F}}:  Seems like a sound related to Ganon's Tower opening
 +
**{{0x|30}}:  chicken getting owned
 +
**{{0x|31}}:  big faerie healing your wounds
 +
**{{0x|32}}:  sounds familiar but can't place it. Whooshing noise
 +
**{{0x|33}}:  cheesy noise that happens when Agahnim makes chicks disappear
 +
**{{0x|34}}:  cheesy noise that happens when Agahnim makes chicks disappear
 +
**{{0x|35}}:  faint rumbling noise
 +
**{{0x|36}}:  faint rumbling noise
 +
**{{0x|37}}:  spin attack has powered up
 +
**{{0x|38}}:  swimming noise
 +
**{{0x|39}}:  thunderous noise while Ganon's tower opens
 +
**{{0x|3A}}:  some kind of clinky hit
 +
**{{0x|3B}}:  sounds like magic powder but unfamiliar
 +
**{{0x|3C}}:  Error noise
 +
**{{0x|3D}}:  something big falling into water? (Argghus?)
 +
**{{0x|3E}}:  playing the flute (quieter)
 +
**{{0x|3F}}:  magic powder
 +
 
 +
* {{$|012F}}[{{0x|01}}] -  (Sound) Sound Effects 2
 +
**{{0x|00}}:  none (no change)
 +
**{{0x|01}}:  master sword beam
 +
**{{0x|02}}:  unintelligble switch noise
 +
**{{0x|03}}:  ????? yet another loud thud
 +
**{{0x|04}}:  Nutcase soldier getting pissed off
 +
**{{0x|05}}:  shooting a fireball (Lynel)
 +
**{{0x|06}}:  ?????
 +
**{{0x|07}}:  giant metal balls coming out of nodes
 +
**{{0x|08}}:  normal enemy taking a big hit
 +
**{{0x|09}}:  normal enemy dying
 +
**{{0x|0A}}:  collecting rupee
 +
**{{0x|0B}}:  collecting single heart
 +
**{{0x|0C}}:  text scrolling flute noise
 +
**{{0x|0D}}:  single heart filling in on HUD
 +
**{{0x|0E}}:  sound of a chest being opened
 +
**{{0x|0F}}:  you got an item sound 1
 +
**{{0x|10}}:  switching to map sound effect
 +
**{{0x|11}}:  menu screen going down
 +
**{{0x|12}}:  menu screen going up
 +
**{{0x|13}}:  throwing an item
 +
**{{0x|14}}:  clink (not sure what it's used for)
 +
**{{0x|15}}:  loud thud 1
 +
**{{0x|16}}:  loud thud 2
 +
**{{0x|17}}:  rats
 +
**{{0x|18}}:  dragging something
 +
**{{0x|19}}:  zora shooting fireball
 +
**{{0x|1A}}:  minor puzzle solved
 +
**{{0x|1B}}:  major puzzle solved
 +
**{{0x|1C}}:  doing minor damage to enemy
 +
**{{0x|1D}}:  taking magic power damage from enemy
 +
**{{0x|1E}}:  keese flitting around
 +
**{{0x|1F}}:  Link squealing like a bitch when he falls into a hole
 +
**{{0x|20}}:  switch menu item
 +
**{{0x|21}}:  boss taking damage
 +
**{{0x|22}}:  boss dying
 +
**{{0x|23}}:  spin attack sound
 +
**{{0x|24}}:  switching between different mode 7 map perspectives
 +
**{{0x|25}}:  triggering a switch
 +
**{{0x|26}}:  Agahnim's lightning
 +
**{{0x|27}}:  Agahnim powering up an attack
 +
**{{0x|28}}:  Agahnim / Ganon teleporting
 +
**{{0x|29}}:  Agahnim shooting a beam
 +
**{{0x|2A}}:  tougher enemy taking damage.
 +
**{{0x|2B}}:  Link getting electromucuted
 +
**{{0x|2C}}:  bees buzzing
 +
**{{0x|2D}}:  Major achievement completed (e.g. getting a piece of heart)
 +
**{{0x|2E}}:  Major item obtained (e.g. Pendant or Heart Container)
 +
**{{0x|2F}}:  obtained small key
 +
**{{0x|30}}:  blob popping out of ground
 +
**{{0x|31}}:  Moldorm's weird track like noise
 +
**{{0x|32}}:  bouncing off a bungie
 +
**{{0x|33}}:  short unknown jingle
 +
**{{0x|34}}:  Sounds like defunct version of sound {{0x|35}} below. Seems to be unused.
 +
**{{0x|35}}:  Sound that plays in response to picking up a heart container during a boss fight.
 +
**{{0x|36}}:  Sound of a beam being fired (Mothula, Wizzrobes, etc).
 +
**{{0x|37}}:  Neat sound... consider using as a confirmation (though make sure it's not buggy)
 +
**{{0x|38}}:  ...
 +
**{{0x|39}}:  ...
 +
**{{0x|3C}}:  Obtained mid level item (e.g. bombs from a chest)
 +
**{{0x|3D}}:  ...
 +
**{{0x|3F}}:  More minor fanfares
 +
 
 +
* {{$|0130}}[{{0x|01}}] -  Something to do with SPC, exact usage is not clear.
 +
* {{$|0131}}[{{0x|01}}] -  Something to do with SPC, exact usage is not clear.
 +
* {{$|0132}}[{{0x|01}}] -  Buffer for playing songs. Put a value here to try to play a song. (Will try to write to {{$|012C}})
 +
* {{$|0133}}[{{0x|01}}] -  Something to do with SPC, exact usage is not clear.
 +
* {{$|0134}}[{{0x|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}}[{{0x|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}}[{{0x|C9] -  Normal (Non-IRQ) Stack

Revision as of 03:56, 21 December 2016

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

  • $0100[0x02] - Numerical index that controls the graphics that are blitted for Link during VRAM. See DMA variables for additional info.
  • $0102[0x02] - See DMA Variables
  • $0104[0x02] - See DMA Variables
  • $0106[0x01] - free ram?
  • $0107[0x02] - See DMA Variables
  • $0109[0x01] - See DMA Variables
  • $010A[0x01] - 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[0x01] - free ram?
  • $010C[0x02] - 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[0x02] - (Dungeon) gives the entrance index of the current dungeon
  • $0110[0x02] - 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[0x02] - 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[0x02] - Value of the type of tile Link is currently standing on. Only the lower byte is used.
  • $0116[0x02] - Used with routine $008CB0 to transfer 0x0800 bytes from $7E1000 to a variable location (determined by this memory location)
  • $0118[0x02] - Local portion of an address used to transfer data from $7FXXXX to vram whenever variable $19 is nonzero.
  • $011A[0x02] - BG1 Y Offset. Gets applied to $0124. Can be used in quakes/shaking
  • $011C[0x02] - BG1 X Offset. Gets applied to $0120

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

  • $011E[0x02] - BG2 Horizontal Scroll Register ($210F)
  • $0120[0x02] - BG1 Horizontal Scroll Register ($210D)
  • $0122[0x02] - BG2 Vertical Scroll Register ($2110)
  • $0124[0x02] - BG1 Vertical Scroll Register ($210E)
  • $0126[0x01] - Seems to be used during dungeon screen transitions as some sort of counter.
  • $0127[0x01] - free ram
  • $0128[0x01] - ???? 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[0x01] - free ram
  • $012A[0x01] - 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[0x01] - free ram
  • $012C[0x01] - 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[0x01] - (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[0x01] - (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[0x01] - (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[0x01] - Something to do with SPC, exact usage is not clear.
  • $0131[0x01] - Something to do with SPC, exact usage is not clear.
  • $0132[0x01] - Buffer for playing songs. Put a value here to try to play a song. (Will try to write to $012C)
  • $0133[0x01] - Something to do with SPC, exact usage is not clear.
  • $0134[0x02] - 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[{{0x|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[{{0x|C9] - Normal (Non-IRQ) Stack