This shows you the differences between two versions of the page.
— | return_of_samus:data_locations:bank4 [2017/02/26 17:26] (current) – Not sure if this is too verbose for the purposes of this page p.jboy | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Bank 4 ====== | ||
+ | This is the contents of Bank 4 in a ROM map form. | ||
+ | < | ||
+ | Bank :4 | ||
+ | Contents :Audio Data | ||
+ | Range : | ||
+ | |||
+ | 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' | ||
+ | 0x4DEA: Set working channel' | ||
+ | 0x4E21: Handle $CF37 - [$CF37] == 7: working sound channel' | ||
+ | 0x4E33: Handle $CF37 - [$CF37] == 8: working sound channel' | ||
+ | 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 | ||
+ | </ | ||