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

From TLoZ: ALTTP Hacking Resources
Jump to: navigation, search
m
Line 213: Line 213:
 
* {{$|0133}}[{{0x|01}}] -  Something to do with SPC, exact usage is not clear.
 
* {{$|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.
 
* {{$|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.
+
* {{$|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
+
* {{$|0137}}[{{0x|C9}}] -  Normal (Non-IRQ) Stack
  
 
{{toc}}
 
{{toc}}

Revision as of 04:00, 21 December 2016

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[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[0x01] - 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[0xC9] - Normal (Non-IRQ) Stack

Navigate

Table of Contents
SpritesDungeonsOverworldUnderworldSRAM MapRAM MapROM MapMusicMonologueCreditsDumpsMiscellaneousTo-Do/Suggestions