User Tools

Site Tools


return_of_samus:data_locations:bank4

Bank 4

This is the contents of Bank 4 in a ROM map form.

Bank     :4
Contents :Audio Data
Range    :0x10000-0x13FFF

0x4000: Handle audio
0x4003: Clear sound effects and song
0x4006: Initialise sound
0x4009: Size of $CF2F..37
0x400A: Size of $CF2F..5B
0x400B: Size of $CF00..60
0x400C: Music notes
0x42B3: Handle audio
0x42C7: Handle audio - handle [$CEDE]
0x42EA: Handle audio - [$CEDE] == 0
0x42FA: Handle audio - [$CEDE] == 0 - [$CEDF] != 2 != 8 (handle song / sound effects, clear song / sound effects to play)
0x4323: $CEDE = $CEDF = 0 (clear isolated sound effect)
0x432B: Handle audio - [$CEDE] == 1 (play item-get music)
0x4335: Handle audio - [$CEDE] == 5 (play missile pickup music)
0x433F: Handle audio - [$CEDE] == Eh (play earthquake)
0x4345: Handle audio - epilogue - [$CEDE] == 1, [$CEDE] == 5 and [$CEDE] == Eh (backs up some audio state)
0x4390: Handle audio - [$CEDE] == 3 (restores some audio state)
0x43C4: Handle audio - [$CEDE] == 0 - [$CEDF] == 2 (restore some audio state)
0x43FB: Handle audio - [$CEDE] == 8
0x4418: Handle audio - [$CEDE] == 0 - [$CEDF] == 8
0x446B: Handle tone/sweep channel sound effect
0x448F: Handle tone/sweep channel sound effect playing
0x44A4: Handle tone channel sound effect
0x44CF: Handle noise channel sound effect
0x4512: Handle wave channel sound effect
0x457C: Handle song
0x45B4: Disable sound channels
0x45CD: Clear song playing
0x45D2: Handle song - song to play = 0
0x45D2: Handle song - song to play = 0 - tone/sweep channel
0x461D: Handle song - song to play = 0 - tone channel
0x465F: Handle song - song to play = 0 - wave channel
0x46A3: Handle song - song to play = 0 - noise channel
0x46DE: hl = [[hl] + ([a] - 1) * 2]
0x46EA: Decrement tone/sweep channel sound effect timer or clear tone/sweep channel sound effect
0x46F5: Clear tone/sweep channel sound effect
0x46F7: Decrement tone channel sound effect timer or clear tone channel sound effect
0x4702: Clear tone channel sound effect;;;
0x4704: Decrement noise channel sound effect timer or clear noise channel sound effect
0x470F: Clear noise channel sound effect
0x4711: Decrement a or clear sound effects and song
0x4716: Clear tone/sweep channel sound effect
0x471D: Disable tone/sweep channel
0x4727: Clear tone channel sound effect
0x472E: Disable tone channel
0x4738: Clear low health beep
0x473C: Disable wave channel
0x4741: Clear noise channel sound effect
0x4748: Disable noise channel
0x4752: Initialise sound
0x476A: Clear sound effects to play
0x477B: Clear sound effects and song
0x479D: Clear some sound effects and song
0x47B3: Disable sound FX
0x47C9: Write [[de]..[de]+Fh] to wave pattern RAM
0x47D9: Set tone/sweep channel registers to [[de]..[de]+4]
0x47E1: Set tone channel registers to [[de]..[de]+3]
0x47E9: Set wave channel registers to [[de]..[de]+4]
0x47F1: Set noise channel registers to [[de]..[de]+3]
0x47F9: Copy [b] bytes from [de] to [hl] and pop hl
0x4801: Handle - [$CFC7] = 1
0x4819: Set noise channel registers to [[de]..[de]+3] and clear sound effects to play
0x481F: Set noise channel registers to [$4880..83] and clear sound effects to play
0x4824: Set noise channel registers to [$488E..91] and clear sound effects to play
0x4829: Set noise channel registers to [$4897..9A] and clear sound effects to play
0x482E: Set tone/sweep channel registers to [$4884..88] and clear sound effects to play
0x4831: Set tone/sweep channel registers to [[de]..[de]+4] and clear sound effects to play
0x4837: Set tone/sweep channel registers to [$4889..8D] and clear sound effects to play
0x483C: Set tone/sweep channel registers to [$4892..96] and clear sound effects to play
0x4841: Set tone/sweep channel registers to [$489B..9F] and clear sound effects to play
0x4846: Handle audio - [$CFC7] = 2
0x4852: Handle audio - [$CFC8] != 0
0x487C: Channel registers
0x48A0: Load song header
0x497A: Handle song - tone/sweep channel
0x49F3: Handle song - tone channel
0x4A81: Handle song - wave channel
0x4AF6: Handle song - noise channel
0x4B47: Load next sound
0x4CB7: Song instruction - F1h: Set working sound channel options
0x4CE2: $CF37 = [a], a = [[++hl]]
0x4CE9: a = [[++hl]]
0x4CEA: a = [[hl]]
0x4CEC: Song instruction - F1h - wave channel: Set wave channel options
0x4D25: Song instruction - F2h: set $CF01
0x4D30: Song instruction - F3h: set music note offset
0x4D37: hl = $CF2F = [[hl] + 2]
0x4D45: Song instruction - F4h: repeat point
0x4D54: Song instruction - F5h: repeat
0x4D68: Copy 9 bytes from [de] to [hl]
0x4D75: Handle $CF37
0x4DC4: Handle $CF37 - [$CF37] == 2
0x4DC9: Handle $CF37 - [$CF37] == 3
0x4DCE: Handle $CF37 - [$CF37] == 4
0x4DD3: Handle $CF37 - [$CF37] == 9
0x4DD8: Handle $CF37 - [$CF37] == Ah
0x4DDD: Handle $CF37 - [$CF37] == 6: working sound channel's frequency += 1
0x4DEA: Set working channel's frequency
0x4E21: Handle $CF37 - [$CF37] == 7: working sound channel's frequency += 4
0x4E33: Handle $CF37 - [$CF37] == 8: working sound channel's frequency -= 3
0x4E44: Reset tone/sweep channel options
0x4E59: Reset tone channel options
0x4E6E: Reset wave channel options
0x4E7B: Reset noise channel options
0x4E8E: Reset song options
0x4EC4: Jump table for tone/sweep channel sound effect to play
0x4F00: Jump table for tone/sweep channel sound effect playing
0x4F3C: Play short jump sound
0x4F44: Playing short jump sound
0x4F4C: Tone/sweep sound effect to play - 1: jumping
0x4F6C: Tone/sweep sound effect playing - 1: jumping
0x4FB9: Tone/sweep sound effect to play - 2: hi-jumping
0x4FD9: Tone/sweep sound effect playing - 2: hi-jumping
0x5030: Tone/sweep sound effect to play - 3: screw attacking
0x5038: Tone/sweep sound effect playing - 3: screw attacking
0x50D5: Tone/sweep sound effect to play - 4: uncrouching / turning around / landing
0x50E5: Tone/sweep sound effect playing - 4: uncourching / turning around / landing
0x50FD: Tone/sweep sound effect to play - 5: courching / unmorphing
0x5105: Tone/sweep sound effect playing - 5: courching / unmorphing
0x511D: Tone/sweep sound effect to play - 6: morphing
0x5125: Tone/sweep sound effect playing - 6: morphing
0x5147: Tone/sweep sound effect to play - 7: shooting beam
0x514F: Tone/sweep sound effect playing - 7: shooting beam
0x5187: Tone/sweep sound effect to play - 8: shooting missile
0x518F: Tone/sweep sound effect playing - 8: shooting missile
0x51ED: Tone/sweep sound effect to play - 9: shooting ice beam
0x51FA: Tone/sweep sound effect playing - 9: shooting ice beam
0x5206: Tone/sweep sound effect to play - Ah: shooting plasma beam
0x5213: Tone/sweep sound effect playing - Ah: shooting plasma beam
0x521F: Tone/sweep sound effect to play - Bh: shooting spazer beam
0x522C: Tone/sweep sound effect playing - Bh: shooting spazer beam
0x5238: Tone/sweep sound effect to play - Ch: picking up missile drop
0x5240: Tone/sweep sound effect playing - Ch: picking up missile drop
0x5270: Tone/sweep sound effect to play - Dh: spider ball
0x5278: Tone/sweep sound effect playing - Dh: spider ball
0x5284: Tone/sweep sound effect to play - Eh: picked up energy drop
0x528F: Tone/sweep sound effect playing - Eh: picked up energy drop
0x52B6: Tone/sweep sound effect to play - Fh: shot missile door with beam
0x52BE: Tone/sweep sound effect playing - Fh: shot missile door with beam
0x52CC: Tone/sweep sound effect to play - 10h: 
0x52D4: Tone/sweep sound effect playing - 10h: 
0x533C: Tone/sweep sound effect to play - 12h: 
0x5343: Tone/sweep sound effect to play - 13h: bomb laid
0x534B: Tone/sweep sound effect to play - 14h: 
0x5353: Tone/sweep sound effect playing - 14h: 
0x5361: Tone/sweep sound effect to play - 15h: option select / missile select
0x5369: Tone/sweep sound effect playing - 15h: option select / missile select
0x5377: Tone/sweep sound effect to play - 16h: shooting wave beam
0x537F: Tone/sweep sound effect playing - 16h: shooting wave beam
0x53B7: Tone/sweep sound effect to play - 17h: 
0x53C2: Tone/sweep sound effect playing - 17h: 
0x53F7: Tone/sweep sound effect to play - 18h: Samus' health changed
0x5429: Tone/sweep sound effect to play - 19h: no missile dud shot
0x5431: Tone/sweep sound effect playing - 19h: no missile dud shot
0x543F: Tone/sweep sound effect to play - 1Ah: 
0x5447: Tone/sweep sound effect playing - 1Ah: 
0x5497: Tone/sweep sound effect to play - 1Bh: metroid cry
0x54AE: Tone/sweep sound effect playing - 1Bh: metroid cry
0x54CE: Tone/sweep sound effect to play - 1Ch: saved
0x54D6: Tone/sweep sound effect playing - 1Ch: saved
0x54EE: Tone/sweep sound effect to play - 1Dh: 
0x54F6: Tone/sweep sound effect playing - 1Dh: 
0x551C: Tone/sweep sound effect to play - 1Eh: unpaused
0x5524: Tone/sweep sound effect playing - 1Eh: unpaused
0x55E3: Set tone/sweep sound effect to play as playing with timer [a] and channel registers [[de]..[de]+4]
0x55F2: Jump table for tone channel sound effect to play
0x5600: Jump table for tone channel sound effect playing
0x560E: Tone channel sound effect to play - 3: Metroid Queen cry
0x5623: Tone channel sound effect playing - 3: Metroid Queen cry / 5: Baby Metroid cry / 6: Metroid Queen hurt cry
0x5658: Tone channel sound effect to play - 4: Baby Metroid hatched / clearing blocks
0x5669: Tone channel sound effect playing - 4: Baby Metroid hatched / clearing blocks
0x568B: Tone channel sound effect to play - 5: Baby Metroid cry
0x56A2: Tone channel sound effect to play - 6: Metroid Queen hurt cry
0x56B5: Tone channel sound effect to play - 7: 
0x56BD: Set tone sound effect to play as playing with timer [a] and channel registers [[de]..[de]+3]
0x56CC: Jump table for environmental sound effect to play
0x5700: Jump table for environmental sound effect playing
0x5734: Environmental sound effect to play - 1: enemy shot
0x573C: Environmental sound effect to play - 2: enemy killed
0x5744: Environmental sound effect playing - 2: enemy killed
0x5752: Environmental sound effect to play - 3: 
0x575A: Environmental sound effect to play - 4: shot block destroyed
0x5762: Environmental sound effect to play - 5: metroid hurt
0x576F: Environmental sound effect playing - 6: metroid hurt
0x577D: Environmental sound effect to play - 6: Samus hurt
0x5785: Environmental sound effect playing - 6: Samus hurt
0x57A1: Environmental sound effect to play - 7: acid damage
0x57A9: Environmental sound effect playing - 7: acid damage
0x57B1: Environmental sound effect to play - 8: shot missile door with missile
0x57B9: Environmental sound effect playing - 8: shot missile door with missile
0x57C7: Environmental sound effect to play - 9: Queen Metroid cry
0x57D4: Environmental sound effect playing - 9: Queen Metroid cry
0x57E2: Environmental sound effect to play - Ah: Queen Metroid hurt cry
0x57EF: Environmental sound effect playing - Ah: Queen Metroid hurt cry
0x57FD: Environmental sound effect to play - Bh: Samus killed
0x5805: Environmental sound effect playing - Bh: Samus killed
0x5881: Environmental sound effect to play - Ch: bomb detonated
0x5889: Environmental sound effect playing - Ch: bomb detonated
0x5897: Environmental sound effect to play - Dh: metroid killed
0x589F: Environmental sound effect playing - Dh: metroid killed
0x58C5: Environmental sound effect to play - Eh: 
0x58CD: Environmental sound effect playing - Eh: 
0x590C: Environmental sound effect to play - Fh: 
0x5914: Environmental sound effect playing - Fh: 
0x5954: Environmental sound effect to play - 10h: footsteps
0x596A: Environmental sound effect playing - 10h: footsteps
0x5979: Environmental sound effect to play - 11h: 
0x5981: Environmental sound effect playing - 11h:  / 12h:  / 13h: 
0x598F: Environmental sound effect to play - 12h: 
0x5997: Environmental sound effect to play - 13h: 
0x599F: Environmental sound effect to play - 14h: 
0x59A7: Environmental sound effect playing - 14h: 
0x59C3: Environmental sound effect to play - 15h: 
0x59CB: Environmental sound effect playing - 15h: 
0x59D9: Environmental sound effect to play - 16h: Baby Metroid hatched / clearing blocks
0x59E6: Environmental sound effect to play - 17h: Baby Metroid cry
0x59F3: Environmental sound effect to play - 18h: 
0x59FB: Environmental sound effect playing - 18h: 
0x5A09: Environmental sound effect to play - 19h: 
0x5A11: Environmental sound effect to play - 1Ah: 
0x5A19: Set noise sound effect to play as playing with timer [a] and channel registers [[de]..[de]+3]
0x5A28: Tone/sweep channel registers
0x5C7B: Noise channel registers
0x5D2B: Tone channel registers
0x5D3F: Wave channel sound effect to play jump table
0x5D49: Wave channel sound effect playing jump table
0x5D53: Wave channel sound effect to play - 1/2: Samus' health < 30
0x5D69: Wave channel sound effect playing - 1/2: Samus' health < 30
0x5DBE: Wave channel sound effect to play - 3: Samus' health < 40
0x5DD4: Wave channel sound effect playing - 3: Samus' health < 40
0x5E29: Wave channel sound effect to play - 4: Samus' health < 50
0x5E3F: Wave channel sound effect playing - 4: Samus' health < 50
0x5E94: Wave channel sound effect to play - 5: 
0x5EAA: Wave channel sound effect playing - 5: 
0x5EFF: Wave channel registers
0x5F27: $CFE8 = $CFE9 = [a] and set wave channel registers to [[de]..[de]+4]
0x5F30: Song data table
0x5F70: Audio channel output stereo flags for song to play
0x5F90: Song data: 1 - Baby Metroid
0x5F90: Song data header: 1 - Baby Metroid
0x5F9B: Song data: 1 - Baby Metroid: tone/sweep channel instruction pointer list
0x5FB3: Song data: 1 - Baby Metroid: tone channel instruction pointer list
0x5FCB: Song data: 1 - Baby Metroid: wave channel instruction pointer list
0x5FDB: Song data: 1 - Baby Metroid: noise channel instruction pointer list
0x608A: Song data: 2 - Metroid Queen battle
0x61D4: Song data: 3 - Chozo ruins
0x64ED: Song data: 4 - Main caves
0x685F: Song data: 5 - Sub caves 1
0x68EE: Song data: 6 - Sub caves 2
0x6988: Song data: 7 - Sub caves 3
0x6AE2: Song data: 8 - Final caves
0x6BC3: Song data: 9 - Metroid hive
0x6C8E: Song data: Ah - Item-get
0x6D51: Song data: Bh - Metroid Queen hallway
0x6D8B: Song data: Ch - Metroid battle
0x6ED5: Song data: Dh - Sub caves 4
0x6F50: Song data: Eh - Earthquake
0x6FA4: Song data: Fh - Killed Metroid
0x4769: Song data: 10h - Nothing
0x703C: Song data: 11h - Title
0x7427: Song data: 12h - Samus fanfare
0x748A: Song data: 13h - Reach the gunship
0x61D4: Song data: 14h - Chozo ruins, same as 3
0x7C3A: Song data: 15h - Main caves, no intro
0x7C45: Song data: 16h - Sub caves 1, no intro
0x7C50: Song data: 17h - Sub caves 2, no intro
0x7C5B: Song data: 18h - Sub caves 3, no intro
0x6AE2: Song data: 19h - Final caves, same as 8
0x6BC3: Song data: 1Ah - Metroid hive, same as 9
0x6C8E: Song data: 1Bh - Item-get, same as Ah
0x6D51: Song data: 1Ch - Metroid Queen hallway, same as Bh
0x6D8B: Song data: 1Dh - Metroid battle, same as Ch
0x7C66: Song data: 1Eh - Sub caves 4, no intro
0x7C71: Song data: 1Fh - Metroid hive with intro
0x7D09: Song data: 20h -  Missile pickup
0x7D09: Song data header: 20h -  Missile pickup
0x7D14: Song data: 20h -  Missile pickup: tone/sweep channel instruction pointer list
0x7D18: Song data: 20h -  Missile pickup: tone channel instruction pointer list
0x7D1C: Song data: 20h -  Missile pickup: wave channel instruction pointer list
0x7E2B: Free space
return_of_samus/data_locations/bank4.txt · Last modified: 2017/02/26 17:26 by p.jboy