;;; $8000: Enable enemy projectiles ;;;
;;; $800B: Disable enemy projectiles ;;;
;;; $8016: Clear enemy projectiles ;;;
;;; $8027: Spawn enemy projectile [Y] with parameter [A] using enemy [X] graphics ;;;
;;; $8097: Spawn enemy projectile [Y] with parameter [A] using room graphics ;;;
;;; $8104: Enemy projectile handler ;;;
;;; $8125: Process enemy projectile ;;;
;;; $8154..838F: Generic instructions ;;;
    ;;; $8154: Instruction - delete ;;;
    ;;; $8159: Instruction - sleep ;;;
    ;;; $8161: Instruction - pre-instruction = [[Y]] ;;;
    ;;; $816A: Instruction - clear pre-instruction ;;;
    ;;; $8171: Instruction - call external function [[Y]] ;;;
    ;;; $818B: Unused. Instruction - call external function [[Y]] with 2 byte parameter [[Y] + 3] ;;;
    ;;; $81AB: Instruction - go to [[Y]] ;;;
    ;;; $81B0: Instruction - go to [Y] + ±[[Y]] ;;;
    ;;; $81C6: Instruction - decrement timer and go to [[Y]] if non-zero ;;;
    ;;; $81CE: Unused. Instruction - decrement timer and go to [Y] + ±[[Y]] if non-zero ;;;
    ;;; $81D5: Instruction - timer = [[Y]] ;;;
    ;;; $81DE: RTS. Instruction - NOP ;;;
    ;;; $81DF: Instruction - move randomly within X radius [[Y]] - [[Y] - 1] and Y radius [[Y] - 2] - [[Y] - 3] ;;;
    ;;; $8230: Instruction - enemy projectile properties |= [[Y]] ;;;
    ;;; $823C: Instruction - enemy projectile properties &= [[Y]] ;;;
    ;;; $8248: Unused. Instruction - enable collision with Samus projectiles ;;;
    ;;; $8252: Instruction - disable collision with Samus projectiles ;;;
    ;;; $825C: Instruction - disable collision with Samus ;;;
    ;;; $8266: Unused. Instruction - enable collision with Samus ;;;
    ;;; $8270: Unused. Instruction - set to not die on contact ;;;
    ;;; $827A: Unused. Instruction - set to die on contact ;;;
    ;;; $8284: Instruction - set high priority ;;;
    ;;; $828E: Unused. Instruction - set low priority ;;;
    ;;; $8298: Instruction - X radius = [[Y]], Y radius = [[Y] + 1] ;;;
    ;;; $82A1: Unused. Instruction - X radius = 0, Y radius = 0 ;;;
    ;;; $82A5: Instruction - calculate direction towards Samus ;;;
    ;;; $82D5: Unused. Instruction - write [[Y] + 4] colours from [[Y]] to colour index [[Y] + 2] ;;;
    ;;; $82FD: Unused. Instruction - queue music track [[Y]] ;;;
    ;;; $8309: Unused. Instruction - queue sound [[Y]], sound library 1, max queued sounds allowed = 6 ;;;
    ;;; $8312: Instruction - queue sound [[Y]], sound library 2, max queued sounds allowed = 6 ;;;
    ;;; $831B: Instruction - queue sound [[Y]], sound library 3, max queued sounds allowed = 6 ;;;
    ;;; $8324: Instruction - queue sound [[Y]], sound library 1, max queued sounds allowed = 15 ;;;
    ;;; $832D: Unused. Instruction - queue sound [[Y]], sound library 2, max queued sounds allowed = 15 ;;;
    ;;; $8336: Unused. Instruction - queue sound [[Y]], sound library 3, max queued sounds allowed = 15 ;;;
    ;;; $833F: Unused. Instruction - queue sound [[Y]], sound library 1, max queued sounds allowed = 3 ;;;
    ;;; $8348: Unused. Instruction - queue sound [[Y]], sound library 2, max queued sounds allowed = 3 ;;;
    ;;; $8351: Unused. Instruction - queue sound [[Y]], sound library 3, max queued sounds allowed = 3 ;;;
    ;;; $835A: Unused. Instruction - queue sound [[Y]], sound library 1, max queued sounds allowed = 9 ;;;
    ;;; $8363: Unused. Instruction - queue sound [[Y]], sound library 2, max queued sounds allowed = 9 ;;;
    ;;; $836C: Unused. Instruction - queue sound [[Y]], sound library 3, max queued sounds allowed = 9 ;;;
    ;;; $8375: Unused. Instruction - queue sound [[Y]], sound library 1, max queued sounds allowed = 1 ;;;
    ;;; $837E: Instruction - queue sound [[Y]], sound library 2, max queued sounds allowed = 1 ;;;
    ;;; $8387: Instruction - queue sound [[Y]], sound library 3, max queued sounds allowed = 1 ;;;
;;; $8390: Draw high priority enemy projectiles ;;;
;;; $83B2: Draw low priority enemy projectiles ;;;
;;; $83D6: Draw enemy projectile ;;;
;;; $8427: Get values for screen shaking ;;;
;;; $84FB: RTS ;;;
;;; $84FC: Instruction list - delete ;;;
;;; $84FE: Unused. Instruction list - blank spritemap ;;;
;;; $8506..8A38: Enemy projectile block collision detection ;;;
    ;;; $8506: Enemy projectile block collision - horizontal extension ;;;
    ;;; $853C: Enemy projectile block collision - vertical extension ;;;
    ;;; $858A: Clear carry ;;;
    ;;; $858C: Set carry ;;;
    ;;; $858E: Enemy projectile block collision - horizontal - slope ;;;
    ;;; $85AD: Enemy projectile block collision - vertical - slope ;;;
    ;;; $85C2: Enemy projectile block collision reaction - horizontal - slope - square ;;;
    ;;; $8676: Enemy projectile block collision reaction - vertical - slope - square ;;;
    ;;; $8729: Square slope definitions ;;;
    ;;; $873D: Clear carry. Enemy projectile block collision reaction - horizontal - slope - non-square ;;;
    ;;; $874E: Enemy projectile block collision reaction - vertical - slope - non-square ;;;
    ;;; $8846: Enemy projectile block collision reaction pointers - horizontal ;;;
    ;;; $8866: Enemy projectile block collision reaction pointers - vertical ;;;
    ;;; $8886: Enemy projectile horizontal block reaction ;;;
    ;;; $889E: Enemy projectile vertical block reaction ;;;
    ;;; $88B6: Move enemy projectile horizontally ;;;
    ;;; $897B: Move enemy projectile vertically ;;;
;;; $8A39..BC: Enemy projectile $8AAF (unused, incomplete) ;;;
    ;;; $8A39: Initialisation AI - enemy projectile $8AAF ;;;
    ;;; $8A7D: Pre-instruction - enemy projectile $8AAF ;;;
    ;;; $8AAF: Unused. Enemy projectile ;;;
;;; $8ABD..8C31: Skree particles ;;;
    ;;; $8ABD: Instruction list - enemy projectile $8BC2/$8BD0/$8BDE/$8BEC (skree particle) ;;;
    ;;; $8AC5: Instruction list - enemy projectile $8BFA/$8C08/$8C16/$8C24 (metaree particle) ;;;
    ;;; $8ACD: Initialisation AI - enemy projectile $8BC2/$8BFA ((metal) skree - down-right) ;;;
    ;;; $8AF1: Initialisation AI - enemy projectile $8BD0/$8C08 ((metal) skree - up-right) ;;;
    ;;; $8B15: Initialisation AI - enemy projectile $8BDE/$8C16 ((metal) skree - down-left) ;;;
    ;;; $8B39: Initialisation AI - enemy projectile $8BEC/$8C24 ((metal) skree - up-left) ;;;
    ;;; $8B5D: Pre-instruction - enemy projectile $8BC2/$8BD0/$8BDE/$8BEC/$8BFA/$8C08/$8C16/$8C24 ((metal) skree particle) ;;;
    ;;; $8BC2: Enemy projectiles - skree particles ;;;
;;; $8C32..8F8E: Draygon ;;;
    ;;; $8C32: Unused. Instruction list ;;;
    ;;; $8C38: Touch instruction list - enemy projectile $8E50 (Draygon goop) ;;;
    ;;; $8C3A: Instruction list - enemy projectile $8E50 (Draygon goop) ;;;
    ;;; $8C58: Shot instruction list - enemy projectile $8E50 (Draygon goop) ;;;
    ;;; $8C68: Instruction - spawn enemy drops with Draygon eye's drop chances ;;;
    ;;; $8C7E: Unused. Instruction list ;;;
    ;;; $8CA4: Instruction list - enemy projectile $8E5E (Draygon's wall turret projectile) ;;;
    ;;; $8CF6: Instruction - pre-instruction = $8DFF (Draygon's wall turret projectile - fired) ;;;
    ;;; $8CFD: Unused. Pre-instruction = $8DCA (Draygon goop - stuck to Samus) ;;;
    ;;; $8D04: Initialisation AI - enemy projectile $8E50 (Draygon goop) ;;;
    ;;; $8D40: Initialisation AI - enemy projectile $8E5E (Draygon's wall turret projectile) ;;;
    ;;; $8D54: RTS ;;;
    ;;; $8D55: Unused. Delete enemy projectile [Y] ;;;
    ;;; $8D5C: Delete enemy projectile if power bombed ;;;
    ;;; $8D99: Instruction - Draygon goop / Samus collision ;;;
    ;;; $8DCA: Pre-instruction - Draygon goop - stuck to Samus ;;;
    ;;; $8DFF: Pre-instruction - Draygon's wall turret projectile - fired ;;;
    ;;; $8E0F: Pre-instruction - enemy projectile $8E50 (Draygon goop) ;;;
    ;;; $8E50: Enemy projectiles - Draygon ;;;
    ;;; $8E7A: Initialisation AI - enemy projectile $8E6C ;;;
    ;;; $8E99: Pre-instruction - enemy projectile $8E6C ;;;
    ;;; $8EDF: Instruction list - enemy projectile $8E6C ;;;
    ;;; $8EF3: Unused. Instruction list ;;;
    ;;; $8F07: Unused. Instruction list ;;;
    ;;; $8F1B: Unused. Instruction list ;;;
    ;;; $8F2F: Unused. Instruction list ;;;
    ;;; $8F43: Unused. Instruction list ;;;
    ;;; $8F57: Unused. Instruction list ;;;
    ;;; $8F6B: Unused. Instruction list ;;;
    ;;; $8F7F: Unused. Instruction list pointers ;;;
;;; $8F8F..92D5: Crocomire ;;;
    ;;; $8F8F: Enemy projectiles - Crocomire ;;;
    ;;; $8FAB: Unused. Instruction list - Crocomire's projectile - part 1/3 ;;;
    ;;; $8FB7: Unused. Instruction list - Crocomire's projectile - part 2/3 ;;;
    ;;; $8FC3: Unused. Instruction list ;;;
    ;;; $8FCF: Instruction list - enemy projectile $8F8F (Crocomire's projectile) ;;;
    ;;; $8FEB: Instruction list - enemy projectile $8F9D (Crocomire bridge crumbling) ;;;
    ;;; $8FF3: Instruction list - enemy projectile $90C1 (Crocomire spike wall pieces) ;;;
    ;;; $8FFB: Unused. Instruction list ;;;
    ;;; $9007: Shot instruction list - enemy projectile $8F8F (Crocomire's projectile) ;;;
    ;;; $9023: Initialisation AI - enemy projectile $8F8F (Crocomire's projectile) ;;;
    ;;; $9059: Crocomire's projectile gradients ;;;
    ;;; $906B: Pre-instruction - Crocomire's projectile - setup ;;;
    ;;; $90B3: Pre-instruction - Crocomire's projectile - fired ;;;
    ;;; $90C1: Enemy projectile - Crocomire spike wall pieces ;;;
    ;;; $90CF: Initialisation AI - enemy projectile $90C1 (Crocomire spike wall pieces) ;;;
    ;;; $9115: Pre-instruction - enemy projectile $90C1 (Crocomire spike wall pieces) ;;;
    ;;; $922F: Unused. Move enemy projectile up for 6 frames and then delete ;;;
    ;;; $9259: Unused. Pre-instruction - moving up ;;;
    ;;; $9270: Instruction - spawn enemy drops with Crocomire's drop chances ;;;
    ;;; $9286: Initialisation AI - enemy projectile $8F9D (Crocomire bridge crumbling) ;;;
    ;;; $92BA: Pre-instruction - enemy projectile $8F9D (Crocomire bridge crumbling) ;;;
;;; $92D6: Move enemy projectile according to enemy projectile velocity ;;;
;;; $92F3: Move enemy projectile according to enemy projectile Y velocity ;;;
;;; $9311: Move enemy projectile according to enemy projectile X velocity ;;;
;;; $932F..96DB: Ridley's fireball / afterburn ;;;
    ;;; $932F: Set Ridley's fireball / afterburn damage ;;;
    ;;; $934D: Initialisation AI - enemy projectile $9634 (unused) ;;;
    ;;; $9392: Pre-instruction - enemy projectile $9634 (unused) ;;;
    ;;; $93CA: Initialisation AI - enemy projectile $9642 (Ridley's fireball) ;;;
    ;;; $9402: Set Ridley's fireball / afterburn properties ;;;
    ;;; $940E: Pre-instruction - enemy projectile $9642 (Ridley's fireball) ;;;
    ;;; $9442: Unused. Do fireball damage to Samus and turn into smoke ;;;
    ;;; $945F: Unused. Instruction list - smoke ;;;
    ;;; $9475: Unused. Instruction - disable collisions with Samus ;;;
    ;;; $947F: Initialisation AI - enemy projectile $9650/$965E (afterburn - centre) ;;;
    ;;; $94A0: Initialisation AI - enemy projectile $9688/$96C0 (vertical afterburn - up) ;;;
    ;;; $94B4: Initialisation AI - enemy projectile $9696/$96CE (vertical afterburn - down) ;;;
    ;;; $94C8: Initialisation AI - enemy projectile $966C/$96A4 (horizontal afterburn - right) ;;;
    ;;; $94DC: Initialisation AI - enemy projectile $967A/$96B2 (horizontal afterburn - left) ;;;
    ;;; $94EE: Common afterburn initialisation - right/left/up/down ;;;
    ;;; $950C: RTS. Pre-instruction - enemy projectile $9650/$965E (afterburn - centre) ;;;
    ;;; $950D: Pre-instruction - enemy projectile $966C/$967A (horizontal afterburn - right/left) ;;;
    ;;; $9522: Pre-instruction - enemy projectile $9688/$9696 (vertical afterburn - up/down) ;;;
    ;;; $9537: Pre-instruction - enemy projectile $96A4/$96B2 (unused. Proto horizontal afterburn - right/left) ;;;
    ;;; $9540: Pre-instruction - enemy projectile $96C0 (unused. Proto vertical afterburn - up) ;;;
    ;;; $9549: Pre-instruction - enemy projectile $96CE (unused. Proto vertical afterburn - down) ;;;
    ;;; $9552: Instruction list - enemy projectile $9634/$9642 (Ridley's fireball) ;;;
    ;;; $9574: Instruction list - afterburn - final ;;;
    ;;; $958C: Unused. Instruction list ;;;
    ;;; $95A0: Instruction list - enemy projectile $9650 (horizontal afterburn - centre) ;;;
    ;;; $95BA: Instruction - spawn horizontal afterburn enemy projectiles ;;;
    ;;; $95D3: Instruction list - enemy projectile $965E (vertical afterburn - centre) ;;;
    ;;; $95ED: Instruction - spawn vertical afterburn enemy projectiles ;;;
    ;;; $9606: Instruction list - enemy projectile $966C/$967A/$9688/$9696/$96A4/$96B2/$96C0/$96CE (afterburn - right/left/up/down) ;;;
    ;;; $9620: Instruction - spawn next afterburn enemy projectile ;;;
    ;;; $9634: Enemy projectiles - Ridley / afterburn ;;;
;;; $96DC..975B: Ceres falling debris ;;;
    ;;; $96DC: Initialisation AI - enemy projectile $9734/$9742 (Ceres falling debris) ;;;
    ;;; $9701: Pre-instruction - enemy projectile $9734/$9742 (Ceres falling debris) ;;;
    ;;; $9734: Enemy projectiles - Ceres falling debris ;;;
    ;;; $9750: Instruction list - enemy projectile $9734 (Ceres falling debris - light coloured) ;;;
    ;;; $9756: Instruction list - enemy projectile $9742 (Ceres falling debris - dark coloured) ;;;
;;; $975C..9C44: Phantoon flames ;;;
    ;;; $975C: Instruction list - Phantoon destroyable flame - idle ;;;
    ;;; $976C: Instruction list - Phantoon destroyable flame - casual flame - hit ground ;;;
    ;;; $9772: Instruction list - Phantoon destroyable flame - casual flame - bouncing ;;;
    ;;; $9782: Instruction list - Phantoon destroyable flame - casual flame - resting ;;;
    ;;; $979A: Instruction list - Phantoon destroyable flame - dying ;;;
    ;;; $97AC: Instruction list - Phantoon destroyable flame - flame rain - falling ;;;
    ;;; $97B4: Instruction list - Phantoon destroyable flame - casual flame - falling ;;;
    ;;; $97E8: Instruction list - enemy projectile $9C37 (Phantoon starting flames) ;;;
    ;;; $97F8: Instruction list - delete ;;;
    ;;; $97FA: Shot instruction list - enemy projectile $9C29 (Phantoon destroyable flames) ;;;
    ;;; $980E: Instruction - spawn Phantoon drop ;;;
    ;;; $9824: Initialisation AI - enemy projectile $9C29 (Phantoon destroyable flames) ;;;
    ;;; $983A: Phantoon destroyable flame initialisation - type 0 (casual flame) ;;;
    ;;; $986D: Phantoon destroyable flame initialisation - type 2 (enraged flame) ;;;
    ;;; $98C4: Phantoon destroyable flame initialisation - type 4 (flame rain) ;;;
    ;;; $9900: Phantoon destroyable flame initialisation - type 6 (flame spiral) ;;;
    ;;; $993A: Initialisation AI - enemy projectile $9C37 (Phantoon starting flames) ;;;
    ;;; $9979: Phantoon flame angles ;;;
    ;;; $9981: Pre-instruction - Phantoon destroyable flame - casual flame - falling ;;;
    ;;; $99BF: Pre-instruction - Phantoon destroyable flame - casual flame - hit ground ;;;
    ;;; $9A01: Pre-instruction - Phantoon destroyable flame - casual flame - bouncing ;;;
    ;;; $9A44: RTS ;;;
    ;;; $9A45: Pre-instruction - Phantoon destroyable flame - enraged flame ;;;
    ;;; $9A94: Pre-instruction - Phantoon destroyable flame - flame rain ;;;
    ;;; $9ADA: Pre-instruction - Phantoon destroyable flame - flame spiral ;;;
    ;;; $9B29: Pre-instruction - enemy projectile $9C37 (Phantoon starting flames) ;;;
    ;;; $9B41: Pre-instruction - Phantoon starting flames - activated ;;;
    ;;; $9BA2: Calculate X/Y components of radius [A], angle [Y] ;;;
    ;;; $9BF3: A = [$18] * sin([X] / 2 * pi / 80h) ;;;
    ;;; $9C29: Phantoon flame enemy projectiles ;;;
;;; $9C45..9DAF: Kraid rock enemy projectiles ;;;
    ;;; $9C45: Kraid rock enemy projectiles ;;;
    ;;; $9C7D: Instruction list - enemy projectile $9C45/$9C53/$9C61/$D02E (Kraid rocks / kago bug) ;;;
    ;;; $9C83: Instruction list - enemy projectile $9C6F (rocks when Kraid rises - right) ;;;
    ;;; $9C89: Shot instruction list - enemy projectile $9C45 (rocks Kraid spits at you) ;;;
    ;;; $9CA3: Initialisation AI - enemy projectile $9C45 (rocks Kraid spits at you) ;;;
    ;;; $9CD8: Initialisation AI - enemy projectile $9C53 (rocks that fall when Kraid's ceiling crumbles) ;;;
    ;;; $9D0C: Initialisation AI - enemy projectile $9C61/$9C6F (rocks when Kraid rises) ;;;
    ;;; $9D56: Pre-instruction - enemy projectile $9C45/$9C61/$9C6F (Kraid rocks) ;;;
    ;;; $9D89: Pre-instruction - enemy projectile $9C53 (rocks that fall when Kraid's ceiling crumbles) ;;;
    ;;; $9DA5: Pre-instruction - rocks Kraid spits at you - use palette 0 ;;;
;;; $9DB0..9E8F: Fake Kraid ;;;
    ;;; $9DB0: Enemy projectiles - fake Kraid ;;;
    ;;; $9DDA: Instruction list - enemy projectile $9DB0 (fake Kraid spit) ;;;
    ;;; $9DE0: Instruction list - enemy projectile $9DBE (fake Kraid spikes - left) ;;;
    ;;; $9DE6: Instruction list - enemy projectile $9DCC (fake Kraid spikes - right) ;;;
    ;;; $9DEC: Initialisation AI - enemy projectile $9DB0 (fake Kraid spit) ;;;
    ;;; $9E1E: Pre-instruction - enemy projectile $9DB0 (fake Kraid spit) ;;;
    ;;; $9E46: Initialisation AI - enemy projectile $9DBE (fake Kraid spikes - left) ;;;
    ;;; $9E4B: Initialisation AI - enemy projectile $9DCC (fake Kraid spikes - right) ;;;
    ;;; $9E4E: Fake Kraid spikes common initialisation ;;;
    ;;; $9E83: Pre-instruction - enemy projectile $9DBE/$9DCC (fake Kraid spikes) ;;;
;;; $9E90..9F40: Alcoon fireball ;;;
    ;;; $9E90: Enemy projectile - alcoon fireball ;;;
    ;;; $9E9E: Instruction list - enemy projectile $9E90 (alcoon fireball) ;;;
    ;;; $9EB2: Initialisation AI - enemy projectile $9E90 (alcoon fireball) ;;;
    ;;; $9EFF: Pre-instruction - enemy projectile $9E90 (alcoon fireball) ;;;
;;; $9F41..A196: Pirate ;;;
    ;;; $9F41: Instruction list - pirate / Mother Brain laser - moving left ;;;
    ;;; $9F7D: Instruction list - pirate / Mother Brain laser - moving right ;;;
    ;;; $9FB9: Instruction list - pirate claw - thrown left ;;;
    ;;; $9FE1: Instruction list - pirate claw - thrown right ;;;
    ;;; $A009: Initialisation AI - enemy projectile $A17B (pirate / Mother Brain laser) ;;;
    ;;; $A050: Instruction - pre-instruction = [[Y]], execute [[Y]] ;;;
    ;;; $A05B: RTS ;;;
    ;;; $A05C: Pre-instruction - pirate / Mother Brain laser - move left ;;;
    ;;; $A07A: Pre-instruction - pirate / Mother Brain laser - move right ;;;
    ;;; $A098: Initialisation AI - enemy projectile $A189 (pirate claw) ;;;
    ;;; $A0D1: Pre-instruction - pirate claw - thrown left ;;;
    ;;; $A124: Pre-instruction - pirate claw - thrown right ;;;
    ;;; $A17B: Enemy projectiles - pirate ;;;
;;; $A197..A3A2: Gunship liftoff dust clouds / Ceres elevator ;;;
    ;;; $A197: Instruction list - gunship liftoff dust clouds - index = 0 ;;;
    ;;; $A1C1: Instruction list - gunship liftoff dust clouds - index = 2 ;;;
    ;;; $A1EB: Instruction list - gunship liftoff dust clouds - index = 4 ;;;
    ;;; $A211: Instruction list - gunship liftoff dust clouds - index = 6 ;;;
    ;;; $A23B: Instruction list - gunship liftoff dust clouds - index = 8 ;;;
    ;;; $A265: Instruction list - gunship liftoff dust clouds - index = Ah ;;;
    ;;; $A28B: Instruction list - delete ;;;
    ;;; $A28D: Instruction list / shot instruction list - enemy projectile $A387 (Ceres elevator pad) ;;;
    ;;; $A299: Instruction list / shot instruction list - enemy projectile $A395 (Ceres elevator pad level data concealer) ;;;
    ;;; $A2A1: Initialisation AI - enemy projectile $A379 (gunship liftoff dust clouds) ;;;
    ;;; $A2EE: Initialisation AI - enemy projectile $A387 (Ceres elevator pad) ;;;
    ;;; $A301: Ceres elevator common initialisation ;;;
    ;;; $A31B: Initialisation AI - enemy projectile $A395 (Ceres elevator pad level data concealer) ;;;
    ;;; $A327: RTS. Pre-instruction - enemy projectile $A379 (gunship liftoff dust clouds) ;;;
    ;;; $A328: Pre-instruction - enemy projectile $A387 (Ceres elevator pad) ;;;
    ;;; $A364: Pre-instruction - enemy projectile $A395 (Ceres elevator pad level data concealer) ;;;
    ;;; $A379: Enemy projectiles - gunship liftoff dust clouds / Ceres elevator ;;;
;;; $A3A3..BD: Pre-Phantoon room ;;;
    ;;; $A3A3: Initialisation AI / pre-instruction - enemy projectile $A3B0 (pre-Phantoon room) ;;;
    ;;; $A3AA: Instruction list - enemy projectile $A3B0 (pre-Phantoon room) ;;;
    ;;; $A3B0: Enemy projectile - pre-Phantoon room ;;;
;;; $A3BE..A9BC: Torizo ;;;
    ;;; $A3BE..A5D2: Instruction lists ;;;
        ;;; $A3BE: Instruction - reset position ;;;
        ;;; $A3CB: Instruction list - enemy projectile $A9A1 (Bomb Torizo low-health explosion) ;;;
        ;;; $A3FA: Instruction list - enemy projectile $A9AF (Torizo death explosion) ;;;
        ;;; $A456: Instruction - go to [[Y]] with probability 1/4 ;;;
        ;;; $A46A: Instruction list - Bomb Torizo low-health drool - 4 frame delay ;;;
        ;;; $A46E: Instruction list - Bomb Torizo low-health drool - 2 frame delay ;;;
        ;;; $A472: Instruction list - Bomb Torizo low-health drool - no delay ;;;
        ;;; $A48A: Instruction list - Bomb Torizo low-health drool - hit wall ;;;
        ;;; $A48E: Instruction list - Bomb Torizo low-health drool - hit floor ;;;
        ;;; $A49E: Instruction list - enemy projectile $A977 ;;;
        ;;; $A4AA: Instruction list - enemy projectile $A985 (Bomb Torizo explosive swipe) ;;;
        ;;; $A4C3: Instruction list - Bomb Torizo statue breaking - index = 0 ;;;
        ;;; $A4D4: Instruction list - Bomb Torizo statue breaking - index = 2 ;;;
        ;;; $A4E5: Instruction list - Bomb Torizo statue breaking - index = 4 ;;;
        ;;; $A4F6: Instruction list - Bomb Torizo statue breaking - index = 6 ;;;
        ;;; $A507: Instruction list - Bomb Torizo statue breaking - index = 8 ;;;
        ;;; $A518: Instruction list - Bomb Torizo statue breaking - index = Ah ;;;
        ;;; $A529: Instruction list - Bomb Torizo statue breaking - index = Ch ;;;
        ;;; $A53A: Instruction list - Bomb Torizo statue breaking - index = Eh ;;;
        ;;; $A54B: Instruction list - Bomb Torizo statue breaking - index = 10h ;;;
        ;;; $A55C: Instruction list - Bomb Torizo statue breaking - index = 12h ;;;
        ;;; $A56D: Instruction list - Bomb Torizo statue breaking - index = 14h ;;;
        ;;; $A57E: Instruction list - Bomb Torizo statue breaking - index = 16h ;;;
        ;;; $A58F: Instruction list - Bomb Torizo statue breaking - index = 18h ;;;
        ;;; $A5A0: Instruction list - Bomb Torizo statue breaking - index = 1Ah ;;;
        ;;; $A5B1: Instruction list - Bomb Torizo statue breaking - index = 1Ch ;;;
        ;;; $A5C2: Instruction list - Bomb Torizo statue breaking - index = 1Eh ;;;
    ;;; $A5D3: Initialisation AI - enemy projectile $A95B (Bomb Torizo low-health continuous drool) ;;;
    ;;; $A65D: Initialisation AI - enemy projectile $A969 (Bomb Torizo low-health initial drool) ;;;
    ;;; $A6C7: Initialisation AI - enemy projectile $A977 ;;;
    ;;; $A6F6: Initialisation AI - enemy projectile $A985 (Bomb Torizo explosive swipe) ;;;
    ;;; $A764: Initialisation AI - enemy projectile $A993 (Bomb Torizo statue breaking) ;;;
    ;;; $A81B: Initialisation AI - enemy projectile $A9A1 (Bomb Torizo low-health explosion) ;;;
    ;;; $A871: Initialisation AI - enemy projectile $A9AF (torizo death explosion) ;;;
    ;;; $A887: Pre-instruction - Bomb Torizo low-health drool - falling ;;;
    ;;; $A8EF: Pre-instruction - Bomb Torizo statue breaking - falling / enemy projectile $A977 ;;;
    ;;; $A919: RTS. Pre-instruction - enemy projectile $A985 (Bomb Torizo explosive swipe) ;;;
    ;;; $A91A: Unused. Debug. Move enemy projectile with controller 2 ;;;
    ;;; $A95B: Enemy projectiles - torizo ;;;
;;; $A9BD..AB14: Enemy projectile $AB07 (question mark) ;;;
    ;;; $A9BD: Tiles ;;;
    ;;; $AA3D: Initialisation AI - enemy projectile $AB07 ;;;
    ;;; $AA8C: Pre-instruction - enemy projectile $AB07 ;;;
    ;;; $AADB: Instruction list - enemy projectile $AB07 ;;;
    ;;; $AAF2: Shot instruction list - enemy projectile $AB07 ;;;
    ;;; $AB07: Unused. Enemy projectile $AB07 ;;;
;;; $AB15..AD87: Torizo chozo orbs ;;;
    ;;; $AB15: Instruction list - torizo chozo orbs - leftwards ;;;
    ;;; $AB1D: Instruction list - torizo chozo orbs - rightwards ;;;
    ;;; $AB25: Instruction list - torizo chozo orbs - break on wall / shot instruction list - enemy projectile $B1C0 (Golden Torizo egg) ;;;
    ;;; $AB41: Instruction list - torizo chozo orbs - break on floor ;;;
    ;;; $AB68: Shot instruction list - enemy projectile $AD5E/$AD6C/$AD7A (torizo chozo orbs) ;;;
    ;;; $AB8A: Instruction - spawn enemy drops with enemy [[Y]] or enemy [[Y] + 2]'s drop chances ;;;
    ;;; $ABAE: Torizo chozo orbs / egg / eye beam common initialisation ;;;
    ;;; $ABEB: Initialisation AI - enemy projectile $AD5E/$AD6C (Bomb Torizo's chozo orbs) ;;;
    ;;; $AC1C: Unused. Initialise torizo chozo orb to target Samus ;;;
    ;;; $AC7C: Initialisation AI - enemy projectile $AD7A (Golden Torizo's chozo orbs) ;;;
    ;;; $ACAD: Pre-instruction - enemy projectile $AD5E/$AD6C (Bomb Torizo's chozo orbs) ;;;
    ;;; $ACFA: Pre-instruction - enemy projectile $AD7A (Golden Torizo's chozo orbs) ;;;
    ;;; $AD5E: Enemy projectiles - torizo chozo orbs ;;;
;;; $AD88..AEC3: Torizo sonic boom ;;;
    ;;; $AD88: Unused. Instruction list ;;;
    ;;; $AD92: Instruction - move horizontally and go to [[Y]] or [[Y] + 2] ;;;
    ;;; $ADBF: Instruction list - torizo sonic boom - fired leftwards ;;;
    ;;; $ADCA: Instruction list - torizo sonic boom - moving leftwards ;;;
    ;;; $ADD2: Instruction list - torizo sonic boom - fired rightwards ;;;
    ;;; $ADDD: Instruction list - torizo sonic boom - moving rightwards ;;;
    ;;; $ADE5: Instruction list - torizo sonic boom - hit wall ;;;
    ;;; $AE15: Initialisation AI - enemy projectile $AEA8/$AEB6 (torizo sonic boom) ;;;
    ;;; $AE6C: Pre-instruction - enemy projectile $AEA8/$AEB6 (torizo sonic boom) ;;;
    ;;; $AEA8: Enemy projectiles - torizo sonic boom ;;;
;;; $AEC4..AF91: Dust clouds ;;;
    ;;; $AEC4: Instruction list - enemy projectile $AF68 (Wrecked Ship chozo spike clearing footsteps) ;;;
    ;;; $AEDC: Instruction list - enemy projectile $AF76 (unused. Spike clearing explosions) ;;;
    ;;; $AEFC: Initialisation AI - enemy projectile $AF68/$AF76 (Wrecked Ship chozo spike clearing footsteps / spike clearing explosions) ;;;
    ;;; $AF14: Instruction list - enemy projectile $AF84 (Tourian statue dust clouds) ;;;
    ;;; $AF36: Instruction - reset position ;;;
    ;;; $AF43: Initialisation AI - enemy projectile $AF84 (Tourian statue dust clouds) ;;;
    ;;; $AF50: Initialisation AI - enemy projectile $AFE5 (Torizo landing dust cloud - right foot) ;;;
    ;;; $AF68: Enemy projectiles ;;;
;;; $AF92..B000: Torizo landing dust cloud ;;;
    ;;; $AF92: Instruction - enemy projectile Y position -= 4 ;;;
    ;;; $AF9D: Instruction list - enemy projectile $AFE5 (Torizo landing dust cloud - right foot) ;;;
    ;;; $AFB5: Instruction list - enemy projectile $AFF3 (Torizo landing dust cloud - left foot) ;;;
    ;;; $AFCD: Initialisation AI - enemy projectile $AFF3 (Torizo landing dust cloud - left foot) ;;;
    ;;; $AFE5: Enemy projectiles - torizo landing dust cloud ;;;
;;; $B001..B1CD: Golden Torizo egg ;;;
    ;;; $B001: Initialisation AI - enemy projectile $B1C0 (Golden Torizo egg) ;;;
    ;;; $B043: Pre-instruction - Golden Torizo egg - bouncing ;;;
    ;;; $B0B9: Pre-instruction - Golden Torizo egg - hatched ;;;
    ;;; $B0DD: Pre-instruction - Golden Torizo egg - hit wall ;;;
    ;;; $B104: Instruction list - Golden Torizo egg - bouncing - leftwards ;;;
    ;;; $B11C: Instruction list - Golden Torizo egg - bouncing - rightwards ;;;
    ;;; $B134: Instruction list - Golden Torizo egg - hatch ;;;
    ;;; $B13E: Instruction - go to hatched ;;;
    ;;; $B14B: Instruction list - Golden Torizo egg - hatched - leftwards ;;;
    ;;; $B166: Instruction list - Golden Torizo egg - hatched - rightwards ;;;
    ;;; $B181: Unused. Instruction list - break ;;;
    ;;; $B183: Unused. Instruction - go to break ;;;
    ;;; $B190: Instruction list - Golden Torizo egg - break - facing left ;;;
    ;;; $B1A8: Instruction list - Golden Torizo egg - break - facing right ;;;
    ;;; $B1C0: Enemy projectile - Golden Torizo egg ;;;
;;; $B1CE..B327: Golden Torizo super missile ;;;
    ;;; $B1CE: Initialisation AI - enemy projectile $B31A (Golden Torizo super missile) ;;;
    ;;; $B20D: Pre-instruction - Golden Torizo super missile - held ;;;
    ;;; $B237: Pre-instruction - Golden Torizo super missile - thrown ;;;
    ;;; $B269: Instruction - aim super missile - rightwards ;;;
    ;;; $B272: Instruction - aim super missile - leftwards ;;;
    ;;; $B279: Calculate Golden Torizo super missile velocities from angle ;;;
    ;;; $B293: Instruction list - Golden Torizo super missile - rightwards ;;;
    ;;; $B2C1: Instruction list - Golden Torizo super missile - leftwards ;;;
    ;;; $B2EF: Instruction list - Golden Torizo super missile - explode / shot instruction list - enemy projectile $B31A (Golden Torizo super missile) ;;;
    ;;; $B31A: Enemy projectile - Golden Torizo super missile ;;;
;;; $B328..B435: Golden Torizo eye beam ;;;
    ;;; $B328: Initialisation AI - enemy projectile $B428 (Golden Torizo eye beam) ;;;
    ;;; $B38A: Pre-instruction - enemy projectile $B428 (Golden Torizo eye beam) ;;;
    ;;; $B3B8: Instruction - go to [[Y]] if eye beam explosions are disabled ;;;
    ;;; $B3CD: Instruction list - Golden Torizo eye beam - hit wall ;;;
    ;;; $B3E5: Instruction list - Golden Torizo eye beam - hit floor ;;;
    ;;; $B410: Instruction list - Golden Torizo eye beam - normal ;;;
    ;;; $B428: Enemy projectile - Golden Torizo eye beam ;;;
;;; $B436..B4BE: Old Tourian escape shaft fake wall explosion ;;;
    ;;; $B436: Unused. Instruction - reset position ;;;
    ;;; $B443: Instruction list - enemy projectile $B4B1 (old Tourian escape shaft fake wall explosion) ;;;
    ;;; $B470: Unused. Instruction list ;;;
    ;;; $B489: Unused. Instruction - go to [[Y]] with probability 1/4 ;;;
    ;;; $B49D: Initialisation AI - enemy projectile $B4B1 (old Tourian escape shaft fake wall explosion) ;;;
    ;;; $B4B0: RTS. Pre-instruction - enemy projectile $B4B1 (old Tourian escape shaft fake wall explosion) ;;;
    ;;; $B4B1: Enemy projectile - old Tourian escape shaft fake wall explosion ;;;
;;; $B4BF..B5D8: Dragon fireball ;;;
    ;;; $B4BF: Instruction list - dragon fireball - rising - leftwards ;;;
    ;;; $B4CB: Instruction list - dragon fireball - rising - rightwards ;;;
    ;;; $B4D7: Instruction list - dragon fireball - falling - leftwards ;;;
    ;;; $B4E3: Instruction list - dragon fireball - falling - rightwards ;;;
    ;;; $B4EF: Initialisation AI - enemy projectile $B5CB (dragon fireball) ;;;
    ;;; $B535: Pre-instruction - enemy projectile $B5CB (dragon fireball) ;;;
    ;;; $B5B9: Delete enemy projectile if vertically off-screen ;;;
    ;;; $B5CB: Enemy projectile - dragon fireball ;;;
;;; $B5D9..B75E: Eye door ;;;
    ;;; $B5D9: Instruction list - eye door projectile - normal ;;;
    ;;; $B5F3: Instruction list - eye door projectile - explode ;;;
    ;;; $B603: Shot instruction list - enemy projectile $B743 (eye door projectile) ;;;
    ;;; $B615: Instruction list - eye door sweat - falling ;;;
    ;;; $B61D: Instruction list - eye door sweat - hit floor ;;;
    ;;; $B62D: Initialisation AI - enemy projectile $B743 (eye door projectile) ;;;
    ;;; $B683: Initialisation AI - enemy projectile $B751 (eye door sweat) ;;;
    ;;; $B6B9: Pre-instruction - eye door projectile - moving ;;;
    ;;; $B714: Pre-instruction - enemy projectile $B751 (eye door sweat) ;;;
    ;;; $B743: Enemy projectiles - eye door ;;;
;;; $B75F: Unused. Colours ;;;
;;; $B79F..BACB: Tourian statue ;;;
    ;;; $B79F..B879: Instruction lists ;;;
        ;;; $B79F: Instruction list - delete ;;;
        ;;; $B7A1: Instruction list - enemy projectile $BA5C (Tourian statue unlocking particle water splash) ;;;
        ;;; $B7B3: Instruction list - enemy projectile $BA6A (Tourian statue eye glow) ;;;
        ;;; $B7EA: Instruction - spawn Tourian statue unlocking particle enemy projectile ;;;
        ;;; $B7F5: Instruction - Tourian statue unlocking earthquake ;;;
        ;;; $B802: Instruction list - enemy projectile $BA78 (Tourian statue unlocking particle) ;;;
        ;;; $B818: Instruction - spawn Tourian statue unlocking particle tail enemy projectile ;;;
        ;;; $B823: Instruction list - enemy projectile $BA86 (Tourian statue unlocking particle tail) ;;;
        ;;; $B841: Instruction - enemy projectile Y position += [[Y]] ;;;
        ;;; $B84E: Instruction list - enemy projectile $BA94 (Tourian statue's soul) ;;;
        ;;; $B85A: Instruction list - enemy projectile $BABE (Tourian statue - base decoration) ;;;
        ;;; $B86A: Instruction list - enemy projectile $BAA2 (Tourian statue - Ridley) ;;;
        ;;; $B872: Instruction list - enemy projectile $BAB0 (Tourian statue - Phantoon) ;;;
    ;;; $B87A..B976: Initialisation AIs ;;;
        ;;; $B87A: Initialisation AI - enemy projectile $BA5C (Tourian statue unlocking particle water splash) ;;;
        ;;; $B88E: Initialisation AI - enemy projectile $BA6A (Tourian statue eye glow) ;;;
        ;;; $B8B5: Initialisation AI - enemy projectile $BA78 (Tourian statue unlocking particle) ;;;
        ;;; $B8E8: Initialisation AI - enemy projectile $BA86 (Tourian statue unlocking particle tail) ;;;
        ;;; $B8F8: Initialisation AI - enemy projectile $BA94 (Tourian statue's soul) ;;;
        ;;; $B90E: Tourian statue eye data ;;;
        ;;; $B93E: Initialisation AI - enemy projectile $BABE (Tourian statue - base decoration) ;;;
        ;;; $B951: Initialisation AI - enemy projectile $BAA2 (Tourian statue - Ridley) ;;;
        ;;; $B964: Initialisation AI - enemy projectile $BAB0 (Tourian statue - Phantoon) ;;;
    ;;; $B977..BA5B: Pre-instructions ;;;
        ;;; $B977: Pre-instruction - enemy projectile $BA5C (Tourian statue unlocking particle water splash) ;;;
        ;;; $B982: Pre-instruction - enemy projectile $BA78 (Tourian statue unlocking particle) ;;;
        ;;; $B9FD: Pre-instruction - enemy projectile $BA94 (Tourian statue's soul) ;;;
        ;;; $BA37: Pre-instruction - Tourian statue - base decoration - allow processing to finish ;;;
        ;;; $BA42: Pre-instruction - enemy projectile $BAA2/$BAB0/$BABE (Tourian statue - Ridley / Phantoon / base decoration) ;;;
    ;;; $BA5C: Enemy projectiles - Tourian statue ;;;
;;; $BACC..BB5D: Enemy projectile $BB50 (unused) ;;;
    ;;; $BACC: Instruction list - enemy projectile $BB50 - parameter 0 ;;;
    ;;; $BAEA: Instruction list - enemy projectile $BB50 - parameter 1 ;;;
    ;;; $BB08: Instruction list - enemy projectile $BB50 - parameter 2 ;;;
    ;;; $BB1E: Instruction list pointers ;;;
    ;;; $BB24: Unused. Random buggy code ;;;
    ;;; $BB30: Initialisation AI - enemy projectile $BB50 ;;;
    ;;; $BB4F: RTS. Pre-instruction - enemy projectile $BB50 ;;;
    ;;; $BB50: Unused. Enemy projectile $BB50 ;;;
;;; $BB5E..BBD4: Fire arc body ;;;
    ;;; $BB5E: Instruction list - enemy projectile $BBC7 (fire arc body) ;;;
    ;;; $BB92: Initialisation AI - enemy projectile $BBC7 (fire arc body) ;;;
    ;;; $BBC6: RTS. Pre-instruction - enemy projectile $BBC7 (fire arc body) ;;;
    ;;; $BBC7: Enemy projectile - fire arc body ;;;
;;; $BBD5..BD67: Polyp rock ;;;
    ;;; $BBD5: Instruction list - enemy projectile $BD5A (polyp rock) ;;;
    ;;; $BBDB: Initialisation AI - enemy projectile $BD5A (polyp rock) ;;;
    ;;; $BC0F: Pre-instruction - enemy projectile $BD5A (polyp rock) ;;;
    ;;; $BC16: Polyp rock function - rising ;;;
    ;;; $BC8F: Polyp rock function - falling ;;;
    ;;; $BCF4: Move enemy projectile according to X velocity ;;;
    ;;; $BD1E: Delete enemy projectile if off screen ;;;
    ;;; $BD2A: Check if enemy projectile is off screen ;;;
    ;;; $BD5A: Enemy projectile - polyp rock ;;;
;;; $BD68..BE4E: Shaktool's attack ;;;
    ;;; $BD68: Instruction list - enemy projectile $BE25 (Shaktool's attack - front circle) ;;;
    ;;; $BD78: Instruction list - enemy projectile $BE33 (Shaktool's attack - middle circle) ;;;
    ;;; $BD8C: Instruction list - enemy projectile $BE41 (Shaktool's attack - back circle) ;;;
    ;;; $BD9C: Initialisation AI - enemy projectile $BE33/$BE41 (Shaktool's attack - middle/back circle) ;;;
    ;;; $BDA2: Initialisation AI - enemy projectile $BE25 (Shaktool's attack - front circle) ;;;
    ;;; $BE03: Pre-instruction - enemy projectile $BE25 (Shaktool's attack - front circle) ;;;
    ;;; $BE12: Pre-instruction - Shaktool's attack - middle/back circle - moving ;;;
    ;;; $BE25: Enemy projectiles - Shaktool's attack ;;;
;;; $BE4F..C1B7: Mother Brain's room turrets ;;;
    ;;; $BE4F: Initialisation AI - enemy projectile $C17E (Mother Brain's room turrets) ;;;
    ;;; $BEF9: Mother's Brain room turret allowed rotations ;;;
    ;;; $BF59: Initialisation AI - enemy projectile $C18C (Mother Brain's room turret bullets) ;;;
    ;;; $BFDF: Pre-instruction - enemy projectile $C17E (Mother Brain's room turrets) ;;;
    ;;; $C050: Set next turret direction ;;;
    ;;; $C08E: Set rotation timer ;;;
    ;;; $C0A1: Set cooldown timer ;;;
    ;;; $C0B4: Check if turret is on-screen ;;;
    ;;; $C0E0: Pre-instruction - enemy projectile $C18C (Mother Brain's room turret bullets) ;;;
    ;;; $C101..C130: Instruction lists - Mother Brain's room turrets ;;;
        ;;; $C101: Instruction list - pointing left ;;;
        ;;; $C107: Instruction list - pointing down-left ;;;
        ;;; $C10D: Instruction list - pointing down ;;;
        ;;; $C113: Instruction list - pointing down-right ;;;
        ;;; $C119: Instruction list - pointing right ;;;
        ;;; $C11F: Instruction list - pointing up-right ;;;
        ;;; $C125: Instruction list - pointing up ;;;
        ;;; $C12B: Instruction list - pointing up-left ;;;
    ;;; $C131: Instruction list - enemy projectile $C18C (Mother Brain's room turret bullets) ;;;
    ;;; $C173: Instruction - go to [[Y] + [enemy projectile direction index]] ;;;
    ;;; $C17E: Enemy projectiles - Mother Brain's room turrets ;;;
    ;;; $C19A: Shot/touch instruction list - enemy projectile $C18C (Mother Brain's room turret bullets) ;;;
    ;;; $C1B4: Instruction - use palette 0 ;;;
;;; $C1B8: Check for bomb collision with rectangle ;;;
;;; $C209: Check for enemy collision with rectangle ;;;
;;; $C239: Check for collision with Samus ;;;
;;; $C26C: A *= sin([$12] * pi / 80h) ;;;
;;; $C272: A *= cos([$12] * pi / 80h) ;;;
;;; $C27A: A = [$26] * sin([A] * pi / 80h) ;;;
;;; $C29B: $2A = [$26] * [$28] (16-bit unsigned multiplication) ;;;
;;; $C2F3..C481: Mother Brain's blue ring lasers ;;;
    ;;; $C2F3: Initialisation AI - enemy projectile $CB4B (Mother Brain's blue ring lasers) ;;;
    ;;; $C320: Move to blue ring spawn position ;;;
    ;;; $C335: Pre-instruction - enemy projectile $CB4B (Mother Brain's blue ring lasers) ;;;
    ;;; $C356: Handle blue ring collision with Samus ;;;
    ;;; $C35C: Hurt Samus ;;;
    ;;; $C381: Handle blue ring collision with Shitroid ;;;
    ;;; $C3A9: Check for collision with Shitroid ;;;
    ;;; $C3C9: Check for blue ring collision with room ;;;
    ;;; $C3E9: Set up variables for enemy projectile collision detection ;;;
    ;;; $C404: Handle blue ring collision with room ;;;
    ;;; $C410: Blue ring contact explosion ;;;
    ;;; $C42E: Instruction - use palette 0 ;;;
    ;;; $C432: Instruction list - enemy projectile $CB4B (Mother Brain's blue ring lasers) ;;;
    ;;; $C464: Hit instruction list - enemy projectile $CB4B (Mother Brain's blue ring lasers) ;;;
;;; $C482..C604: Mother Brain's bomb ;;;
    ;;; $C482: Initialisation AI - enemy projectile $CB59 (Mother Brain's bomb) ;;;
    ;;; $C4C8: Pre-instruction - enemy projectile $CB59 (Mother Brain's bomb) ;;;
    ;;; $C564: Mother Brain's bomb / bomb collision detection ;;;
    ;;; $C5C2: Move Mother Brain's bomb ;;;
;;; $C605..C76D: Mother Brain's death beam ;;;
    ;;; $C605: Initialisation AI - enemy projectile $CB67 (Mother Brain's death beam - charging) ;;;
    ;;; $C684: Initialisation AI - enemy projectile $CB75 (Mother Brain's death beam - fired) ;;;
    ;;; $C76D: RTS. Pre-instruction - enemy projectile $CB67/$CB75 (Mother Brain's death beam) ;;;
;;; $C76E: Instruction list - enemy projectile $CB59 (Mother Brain's bomb) ;;;
;;; $C796: Instruction list - enemy projectile $CB67/$CB75 (Mother Brain's death beam) ;;;
;;; $C7FB: Spawn Mother Brain's death beam - fired enemy projectile ;;;
;;; $C80A..42: Mother Brain's rainbow beam charging ;;;
    ;;; $C80A: Initialisation AI - enemy projectile $CB83 (Mother Brain's rainbow beam charging) ;;;
    ;;; $C814: Pre-instruction - enemy projectile $CB83 (Mother Brain's rainbow beam charging) ;;;
    ;;; $C829: Instruction list - enemy projectile $CB83 (Mother Brain's rainbow beam charging) ;;;
;;; $C843..F4: Mother Brain's drool ;;;
    ;;; $C843: Initialisation AI - enemy projectile $CB91/$CB9F (Mother Brain's drool) ;;;
    ;;; $C84D: Pre-instruction - Mother Brain's drool - attached to Mother Brain ;;;
    ;;; $C886: Pre-instruction - Mother Brain's drool - falling ;;;
    ;;; $C8B0: Instruction list - enemy projectile $CB91/$CB9F (Mother Brain's drool) ;;;
    ;;; $C8D0: Instruction - move down Ch pixels ;;;
    ;;; $C8DB: Unused. Instruction list ;;;
    ;;; $C8E1: Instruction list - Mother Brain's drool - hit floor ;;;
;;; $C8F5..C92E: Mother Brain's death explosion ;;;
    ;;; $C8F5: Initialisation AI - enemy projectile $CB13 (Mother Brain's death explosion) ;;;
    ;;; $C914: Pre-instruction - enemy projectile $CB13 (Mother Brain's death explosion) ;;;
    ;;; $C929: Mother Brain's death explosion instruction list pointers ;;;
;;; $C92F..60: Mother Brain's rainbow beam explosion ;;;
    ;;; $C92F: Initialisation AI - enemy projectile $CBAD (Mother Brain's rainbow beam explosion) ;;;
    ;;; $C94C: Pre-instruction - enemy projectile $CBAD (Mother Brain's rainbow beam explosion) ;;;
;;; $C961..CA69: Mother Brain's exploded escape door particles ;;;
    ;;; $C961: Initialisation AI - enemy projectile $CB21 (Mother Brain's exploded escape door particles) ;;;
    ;;; $C9D2: Pre-instruction - enemy projectile $CB21 (Mother Brain's exploded escape door particles) ;;;
    ;;; $CA22: Instruction list - enemy projectile $CB21 (Mother Brain's exploded escape door particles) ;;;
    ;;; $CA46: Unused. Instruction list ;;;
;;; $CA6A..F5: Mother Brain's purple breath ;;;
    ;;; $CA6A: Initialisation AI - enemy projectile $CB2F (Mother Brain's purple breath - big) ;;;
    ;;; $CA83: Initialisation AI - enemy projectile $CB3D (Mother Brain's purple breath - small) ;;;
    ;;; $CAA3: RTS. Pre-instruction - enemy projectile $CB2F/$CB3D (Mother Brain's purple breath) ;;;
    ;;; $CAA4: Instruction list - enemy projectile $CB2F (Mother Brain's purple breath - big) ;;;
    ;;; $CAC8: Instruction list - enemy projectile $CB3D (Mother Brain's purple breath - small) ;;;
    ;;; $CAEE: Instruction - Mother Brain's small purple breath is active flag = 0 ;;;
;;; $CAF6..CB12: Enemy projectile $CBBB (time bomb set Japanese text) ;;;
    ;;; $CAF6: Initialisation AI - enemy projectile $CBBB (time bomb set Japanese text) ;;;
    ;;; $CAFA: Pre-instruction - enemy projectile $CBBB (time bomb set Japanese text) ;;;
    ;;; $CB0D: Instruction list - enemy projectile $CBBB (time bomb set Japanese text) ;;;
;;; $CB13: Enemy projectiles - Mother Brain ;;;
;;; $CBC9..CC92: Mother Brain tube falling ;;;
    ;;; $CBC9: Initialisation AI - enemy projectile $CC5B/$CC69/$CC77/$CC85 (Mother Brain tube falling) ;;;
    ;;; $CBE7: Pre-instruction - enemy projectile $CC5B/$CC69/$CC77/$CC85 (Mother Brain tube falling) ;;;
    ;;; $CBEA: Mother Brain tube falling function - generate explosion ;;;
    ;;; $CC08: Mother Brain tube falling function - falling ;;;
    ;;; $CC33: Unused ;;;
    ;;; $CC43: Instruction list - enemy projectile $CC5B (Mother Brain's top-right tube falling) ;;;
    ;;; $CC49: Instruction list - enemy projectile $CC69 (Mother Brain's top-left tube falling) ;;;
    ;;; $CC4F: Instruction list - enemy projectile $CC77 (Mother Brain's top-middle-left tube falling) ;;;
    ;;; $CC55: Instruction list - enemy projectile $CC85 (Mother Brain's top-middle-right tube falling) ;;;
    ;;; $CC5B: Enemy projectiles - Mother Brain's top tube falling ;;;
;;; $CC93..CF17: Mother Brain's glass shattering ;;;
    ;;; $CC93..CDB2: Instruction lists - Mother Brain's glass shattering - shard ;;;
        ;;; $CC93: Instruction list - Mother Brain's glass shattering 0 ;;;
        ;;; $CCB7: Instruction list - Mother Brain's glass shattering 1/2 ;;;
        ;;; $CCDB: Instruction list - Mother Brain's glass shattering 3..5 ;;;
        ;;; $CCFF: Instruction list - Mother Brain's glass shattering 6/7 ;;;
        ;;; $CD23: Instruction list - Mother Brain's glass shattering 8 ;;;
        ;;; $CD47: Instruction list - Mother Brain's glass shattering 9/Ah ;;;
        ;;; $CD6B: Instruction list - Mother Brain's glass shattering Bh..Dh ;;;
        ;;; $CD8F: Instruction list - Mother Brain's glass shattering Eh/Fh ;;;
    ;;; $CDB3: Instruction list - enemy projectile $CF0A (Mother Brain's glass shattering - sparkle) ;;;
    ;;; $CDC5: Initialisation AI - enemy projectile $CEFC (Mother Brain's glass shattering - shard) ;;;
    ;;; $CE6D: Initialisation AI - enemy projectile $CF0A (Mother Brain's glass shattering - sparkle) ;;;
    ;;; $CE9B: Pre-instruction - enemy projectile $CEFC (Mother Brain's glass shattering - shard) ;;;
    ;;; $CEFC: Enemy projectiles - Mother Brain's glass shattering ;;;
;;; $CF18..D02D: Ki hunter acid spit ;;;
    ;;; $CF18: Enemy projectiles - ki hunter acid spit ;;;
    ;;; $CF34: Instruction list - enemy projectile $CF18 (ki hunter acid spit - left) ;;;
    ;;; $CF56: Instruction list - ki hunter acid spit - hit floor ;;;
    ;;; $CF6E: Instruction list - enemy projectile $CF26 (ki hunter acid spit - right) ;;;
    ;;; $CF90: Initialisation AI - enemy projectile $CF18 (ki hunter acid spit - left) ;;;
    ;;; $CFA6: Initialisation AI - enemy projectile $CF26 (ki hunter acid spit - right) ;;;
    ;;; $CFBA: Ki hunter acid spit common initialisation ;;;
    ;;; $CFD5: Pre-instruction - ki hunter acid spit - left - start moving ;;;
    ;;; $CFE6: Pre-instruction - ki hunter acid spit - right - start moving ;;;
    ;;; $CFF7: RTS. Pre-instruction - enemy projectile $CF18/$CF26 (ki hunter acid spit) ;;;
    ;;; $CFF8: Pre-instruction - ki hunter acid spit - moving ;;;
;;; $D02E..D207: Kago bug ;;;
    ;;; $D02E: Enemy projectile - kago bug ;;;
    ;;; $D03C: Instruction list - kago bug - hit floor ;;;
    ;;; $D04A: Instruction list - kago bug - falling ;;;
    ;;; $D052: Instruction list - kago bug - jump ;;;
    ;;; $D064: Shot instruction list - enemy projectile $D02E (kago bug) ;;;
    ;;; $D080: Instruction list - delete ;;;
    ;;; $D082: Kago bug constants ;;;
    ;;; $D088: Initialisation AI - enemy projectile $D02E (kago bug) ;;;
    ;;; $D0B3: Handle kago bug sound effect ;;;
    ;;; $D0CA: Pre-instruction - kago bug - idling ;;;
    ;;; $D0EC: Pre-instruction - kago bug - jumping ;;;
    ;;; $D128: Pre-instruction - kago bug - falling ;;;
    ;;; $D15C: Instruction - start jumping ;;;
    ;;; $D1B6: Instruction - start idling ;;;
    ;;; $D1C7: Instruction - use palette 0 ;;;
    ;;; $D1CE: Instruction - spawn kago enemy drop ;;;
    ;;; $D1E4: Enable kago bug collision with Samus projectiles if far enough from kago ;;;
;;; $D208..A5: Powamp spike ;;;
    ;;; $D208: Instruction list - enemy projectile $D298 (powamp spike) ;;;
    ;;; $D218: Instruction - delete / shot instruction list - enemy projectile $D298 (powamp spike) ;;;
    ;;; $D21A: Powamp spike velocity table ;;;
    ;;; $D23A: Initialisation AI - enemy projectile $D298 (powamp spike) ;;;
    ;;; $D263: Pre-instruction - enemy projectile $D298 (powamp spike) ;;;
    ;;; $D298: Enemy projectile - powamp spike ;;;
;;; $D2A6..D3D6: Work robot laser ;;;
    ;;; $D2A6: Enemy projectiles - work robot laser ;;;
    ;;; $D2EC: Instruction list - enemy projectile $D2A6/$D2B4/$D2C2/$D2D0/$D2DE (work robot laser) ;;;
    ;;; $D30C: Initialisation AI - enemy projectile $D2C2/$D2DE (work robot laser - down-left/right) ;;;
    ;;; $D32E: Initialisation AI - enemy projectile $D2B4 (work robot laser - horizontal) ;;;
    ;;; $D341: Initialisation AI - enemy projectile $D2A6/$D2D0 (work robot laser - up-left/right) ;;;
    ;;; $D35B: Work robot laser common initialisation ;;;
    ;;; $D3BF: Pre-instruction - enemy projectile $D2A6/$D2B4/$D2C2/$D2D0/$D2DE (work robot laser) ;;;
;;; $D3D7..D92D: n00b tube ;;;
    ;;; $D3D7..D6A4: Instruction lists ;;;
        ;;; $D3D7: Instruction list - enemy projectile $D904 (n00b tube crack) ;;;
        ;;; $D47D: Instruction list - n00b tube shard - parameter = 0 ;;;
        ;;; $D4A1: Instruction list - n00b tube shard - parameter = 2 ;;;
        ;;; $D4C5: Instruction list - n00b tube shard - parameter = 4 ;;;
        ;;; $D4E9: Instruction list - n00b tube shard - parameter = 6 ;;;
        ;;; $D50D: Instruction list - n00b tube shard - parameter = 8 ;;;
        ;;; $D531: Instruction list - n00b tube shard - parameter = Ah ;;;
        ;;; $D555: Instruction list - n00b tube shard - parameter = Ch ;;;
        ;;; $D579: Instruction list - n00b tube shard - parameter = Eh ;;;
        ;;; $D59D: Instruction list - n00b tube shard - parameter = 10h ;;;
        ;;; $D5BD: Instruction list - n00b tube shard - parameter = 12h ;;;
        ;;; $D5E1: Instruction - assign n00b tube shard falling angle ;;;
        ;;; $D5F2: Instruction - reflect-flicker n00b tube shard with left-side spritemap [[Y]] or right-side spritemap [[Y] + 2] ;;;
        ;;; $D62A: Instruction - flicker n00b tube shard with spritemap [[Y]] ;;;
        ;;; $D652: Instruction list - enemy projectile $D920 (n00b tube released air bubbles) ;;;
        ;;; $D69A: Instruction - assign n00b tube released air bubbles falling angle ;;;
    ;;; $D6A5: Initialisation AI - enemy projectile $D904 (n00b tube crack) ;;;
    ;;; $D6C9: Initialisation AI - enemy projectile $D912 (n00b tube shard) ;;;
    ;;; $D774: Initialisation AI - enemy projectile $D920 (n00b tube released air bubbles) ;;;
    ;;; $D7BF: Pre-instruction - n00b tube crack - flickering ;;;
    ;;; $D7DE: Pre-instruction - n00b tube crack - falling ;;;
    ;;; $D7FD: Pre-instruction - n00b tube shard - flying ;;;
    ;;; $D83D: Pre-instruction - n00b tube shard - falling ;;;
    ;;; $D89F: Pre-instruction - n00b tube released air bubbles - falling ;;;
    ;;; $D8DF: Pre-instruction - n00b tube released air bubbles - flying ;;;
    ;;; $D904: Enemy projectiles - n00b tube ;;;
;;; $D92E..DB0B: Cacatac spike ;;;
    ;;; $D92E..69: Instruction lists ;;;
        ;;; $D92E: Instruction list - cacatac spike - left - facing up ;;;
        ;;; $D934: Instruction list - cacatac spike - up-left ;;;
        ;;; $D93A: Instruction list - cacatac spike - up ;;;
        ;;; $D940: Instruction list - cacatac spike - up-right ;;;
        ;;; $D946: Instruction list - cacatac spike - right - facing up ;;;
        ;;; $D94C: Instruction list - cacatac spike - left - facing down ;;;
        ;;; $D952: Instruction list - cacatac spike - down-left ;;;
        ;;; $D958: Instruction list - cacatac spike - down ;;;
        ;;; $D95E: Instruction list - cacatac spike - down-right ;;;
        ;;; $D964: Instruction list - cacatac spike - right - facing down ;;;
    ;;; $D96A: Cacatac instruction list pointers ;;;
    ;;; $D97E: Cacatac function pointers ;;;
    ;;; $D992: Initialisation AI - enemy projectile $DAFE (cacatac spike) ;;;
    ;;; $D9DB: Pre-instruction - enemy projectile $DAFE (cacatac spike) ;;;
    ;;; $D9E6: Move cacatac spike up ;;;
    ;;; $DA10: Move cacatac spike down ;;;
    ;;; $DA3A: Move cacatac spike left ;;;
    ;;; $DA64: Move cacatac spike right ;;;
    ;;; $DA8E: Move cacatac spike left ;;;
    ;;; $DA93: Move cacatac spike right ;;;
    ;;; $DA98: Move cacatac spike up ;;;
    ;;; $DA9D: Move cacatac spike down ;;;
    ;;; $DAA2: Move cacatac spike up-left ;;;
    ;;; $DAAA: Move cacatac spike down-left ;;;
    ;;; $DAB2: Move cacatac spike up-right ;;;
    ;;; $DABA: Move cacatac spike down-right ;;;
    ;;; $DAC2: Delete enemy projectile if off screen ;;;
    ;;; $DACE: Check if enemy projectile is off screen ;;;
    ;;; $DAFE: Enemy projectile - cacatac spike ;;;
;;; $DB0C..FF: Mini-Crocomire projectile ;;;
    ;;; $DB0C: Instruction list - mini-Crocomire projectile ;;;
    ;;; $DB18: Initialisation AI - mini-Crocomire projectile ;;;
    ;;; $DB5B: Pre-instruction - mini-Crocomire projectile ;;;
    ;;; $DB62: Mini-Crocomire projectile function - move left ;;;
    ;;; $DB8C: Mini-Crocomire projectile function - move right ;;;
    ;;; $DBB6: Delete enemy projectile if off screen ;;;
    ;;; $DBC2: Check if enemy projectile is off screen ;;;
    ;;; $DBF2: Enemy projectile - mini-Crocomire projectile ;;;
;;; $DC00..DE95: Spore Spawn ;;;
    ;;; $DC00: (Shot) instruction list - enemy projectile $DE88 (spore spawner) ;;;
    ;;; $DC06: Instruction list - spore spawner - spawn spore ;;;
    ;;; $DC1E: Instruction list - enemy projectile $DE7A (spores) ;;;
    ;;; $DC2E: (Shot) instruction list - enemy projectile $DE6C (Spore Spawn's stalk) ;;;
    ;;; $DC34: Shot instruction list - enemy projectile $DE7A (spores) ;;;
    ;;; $DC5A: Instruction - enemy projectile properties = 3000h ;;;
    ;;; $DC61: Instruction - spawn enemy drops with Spore Spawn's drop chances ;;;
    ;;; $DC77: Instruction - spawn spore enemy projectile ;;;
    ;;; $DC8D: Initialisation AI - enemy projectile $DE7A (spores) ;;;
    ;;; $DCA3: Initialisation AI - enemy projectile $DE6C (Spore Spawn's stalk) ;;;
    ;;; $DCC3: Unused. Alternate Spore Spawn stalk initialisation AI ;;;
    ;;; $DCD4: Initialisation AI - enemy projectile $DE88 (spore spawner) ;;;
    ;;; $DCEE: Pre-instruction - enemy projectile $DE7A (spores) ;;;
    ;;; $DD44: RTS. Pre-instruction - enemy projectile $DE6C (Spore Spawn's stalk) ;;;
    ;;; $DD45: RTS ;;;
    ;;; $DD46: Pre-instruction - enemy projectile $DE88 (spore spawner) ;;;
    ;;; $DD6C: Spore movement data ;;;
    ;;; $DE6C: Enemy projectiles - Spore Spawn ;;;
;;; $DE96..DFD7: Namihe/fune fireball ;;;
    ;;; $DE96: Instruction list - namihe/fune fireball - left ;;;
    ;;; $DEA6: Instruction list - namihe/fune fireball - right ;;;
    ;;; $DEB6: Namihe/fune fireball X velocity table ;;;
    ;;; $DED6: Initialisation AI - enemy projectile $DFBC/$DFCA (namihe/fune fireball) ;;;
    ;;; $DF39: Pre-instruction - enemy projectile $DFBC/$DFCA (namihe/fune fireball) ;;;
    ;;; $DF40: Namihe/fune fireball function - left ;;;
    ;;; $DF6A: Namihe/fune fireball function - right ;;;
    ;;; $DF94: Delete enemy projectile if off screen ;;;
    ;;; $DFA0: Unused. Check if enemy projectile is horizontally off screen ;;;
    ;;; $DFBC: Enemy projectiles - namihe/fune fireball ;;;
;;; $DFD8..E0ED: Lava thrown by magdollite ;;;
    ;;; $DFD8: Instruction list - lava thrown by magdollite - left ;;;
    ;;; $DFDE: Instruction list - lava thrown by magdollite - right ;;;
    ;;; $DFE4: Shot instruction list - enemy projectile $E0E0 (lava thrown by magdollite) ;;;
    ;;; $DFEA: Instruction - spawn enemy drops with magdollite's drop chances ;;;
    ;;; $E000: Initialisation AI - enemy projectile $E0E0 (lava thrown by magdollite) ;;;
    ;;; $E049: Pre-instruction - enemy projectile $E0E0 (lava thrown by magdollite) ;;;
    ;;; $E050: Lava thrown by magdollite function - left ;;;
    ;;; $E07A: Lava thrown by magdollite function - right ;;;
    ;;; $E0A4: Delete enemy projectile if off screen ;;;
    ;;; $E0B0: Check if enemy projectile is off screen ;;;
    ;;; $E0E0: Enemy projectile - lava thrown by magdollite ;;;
;;; $E0EE..E532: Explosion / dust / smoke ;;;
    ;;; $E0EE..E42B: Instruction lists ;;;
        ;;; $E0EE: Instruction list - dust cloud / explosion - index = 0 (unused. Beam charge) ;;;
        ;;; $E100: Instruction list - dust cloud / explosion - index = 1 (Mother Brain elbow charge particles) ;;;
        ;;; $E11A: Instruction list - dust cloud / explosion - index = 2 (Mother Brain elbow charge energy) ;;;
        ;;; $E138: Instruction list - dust cloud / explosion - index = 3 (small explosion) ;;;
        ;;; $E152: Instruction list - dust cloud / explosion - index = 4 (unused. Bomb explosion) / enemy projectile $CBAD (Mother Brain's rainbow beam explosion) ;;;
        ;;; $E168: Instruction list - dust cloud / explosion - index = 5 (unused. Beam trail) ;;;
        ;;; $E17E: Instruction list - dust cloud / explosion - index = 6 (dud shot / tiny explosion) ;;;
        ;;; $E198: Instruction list - dust cloud / explosion - index = 7 (unused. Power bomb) ;;;
        ;;; $E1A6: Instruction list - dust cloud / explosion - index = 8 (unused. Elevator pad) ;;;
        ;;; $E1B0: Instruction list - dust cloud / explosion - index = 9 (small dust cloud) ;;;
        ;;; $E1C6: Instruction list - dust cloud / explosion - index = Ah (corpse dust cloud) ;;;
        ;;; $E1D8: Instruction list - dust cloud / explosion - index = Bh (eye door sweat drop) ;;;
        ;;; $E1EA: Instruction list - dust cloud / explosion - index = Ch (smoke) ;;;
        ;;; $E1FC: Instruction list - dust cloud / explosion - index = 1Ch (unused. Elevator pad) ;;;
        ;;; $E208: Instruction list - dust cloud / explosion - index = 1Dh (big explosion) ;;;
        ;;; $E222: Instruction list - dust cloud / explosion - index = Dh (unused. Small health drop) ;;;
        ;;; $E234: Instruction list - dust cloud / explosion - index = Eh (unused. Big health drop) ;;;
        ;;; $E246: Instruction list - dust cloud / explosion - index = Fh (unused. Bomb) ;;;
        ;;; $E258: Instruction list - dust cloud / explosion - index = 10h (unused. Weird small health drop) ;;;
        ;;; $E266: Instruction list - dust cloud / explosion - index = 11h (rock particles) ;;;
        ;;; $E2A8: Instruction list - dust cloud / explosion - index = 12h (short big dust cloud) ;;;
        ;;; $E2BA: Instruction list - dust cloud / explosion - index = 13h (unused. Short big dust cloud with weird short beam) ;;;
        ;;; $E2D4: Instruction list - dust cloud / explosion - index = 14h (unused. Short big dust cloud with weird medium beam) ;;;
        ;;; $E2F2: Instruction list - dust cloud / explosion - index = 15h (big dust cloud) ;;;
        ;;; $E314: Instruction list - dust cloud / explosion - index = 16h (unused. Weird long beam) ;;;
        ;;; $E392: Instruction list - dust cloud / explosion - index = 17h (unused. Weird long flickering beam) ;;;
        ;;; $E3A0: Instruction list - dust cloud / explosion - index = 18h (long Draygon breath bubbles) ;;;
        ;;; $E3C6: Instruction list - dust cloud / explosion - index = 19h (unused. Save station electricity) ;;;
        ;;; $E3E8: Instruction list - dust cloud / explosion - index = 1Ah (unused. Expanding vertical gate) ;;;
        ;;; $E40A: Instruction list - dust cloud / explosion - index = 1Bh (unused. Contracting vertical gate) ;;;
    ;;; $E42C: Dust cloud / explosion instruction list pointers ;;;
    ;;; $E468: Initialisation AI - enemy projectile $E509/$E525 (dust cloud / explosion) ;;;
    ;;; $E47E: PLM dust cloud / explosion X/Y offset table ;;;
    ;;; $E4A6: Initialisation AI - enemy projectile $E517 (PLM dust cloud / explosion) ;;;
    ;;; $E4FE: Pre-instruction - enemy projectile $E509 (dust cloud / explosion) ;;;
    ;;; $E508: RTS. Pre-instruction - enemy projectile $E517 (PLM dust cloud / explosion) ;;;
    ;;; $E509: Enemy projectiles - dust cloud / explosion ;;;
;;; $E533..E682: Shot gates ;;;
    ;;; $E533: Instruction - enemy projectile Y velocity = [[Y]] ;;;
    ;;; $E53C: Instruction list - enemy projectile $E64B (spawned downwards shot gate) ;;;
    ;;; $E55E: Instruction list - enemy projectile $E659 (initial closed downwards shot gate) ;;;
    ;;; $E586: Instruction list - enemy projectile $E667 (spawned upwards shot gate) ;;;
    ;;; $E5A8: Instruction list - enemy projectile $E675 (initial closed upwards shot gate) ;;;
    ;;; $E5D0: Initialisation AI - enemy projectile $E64B/$E667 (spawned shot gate) ;;;
    ;;; $E5D5: Initialisation AI - enemy projectile $E659 (initial closed downwards shot gate) ;;;
    ;;; $E5DA: Initialisation AI - enemy projectile $E675 (initial closed upwards shot gate) ;;;
    ;;; $E5DD: Shot gate common initialisation ;;;
    ;;; $E604: RTS. Pre-instruction - enemy projectile $E64B/$E659/$E667/$E675 (shot gate) ;;;
    ;;; $E605: Pre-instruction - moving ;;;
    ;;; $E64B: Enemy projectiles - shot gates ;;;
;;; $E683..DF: Save station electricity ;;;
    ;;; $E683: Instruction list - enemy projectile $E6D2 (save station electricity) ;;;
    ;;; $E6AD: Initialisation AI - enemy projectile $E6D2 (save station electricity) ;;;
    ;;; $E6D1: RTS. Pre-instruction - enemy projectile $E6D2 (save station electricity) ;;;
    ;;; $E6D2: Enemy projectile - save station electricity ;;;
;;; $E6E0: Check if enemy projectile is off screen ;;;
;;; $E722: Check if enemy projectile is in Draygon room boundaries ;;;
;;; $E73E: Move enemy projectile according to enemy projectile angle and speed ;;;
;;; $E7AB: Place and aim Draygon's wall turret projectile ;;;
;;; $E7FB..EBAD: Botwoon's body ;;;
    ;;; $E7FB..E8C2: Body segment instruction lists ;;;
        ;;; $E7FB: Unused. Instruction list - body segment - up (facing left) ;;;
        ;;; $E80F: Instruction list - body segment - up-left ;;;
        ;;; $E823: Instruction list - body segment - left ;;;
        ;;; $E837: Instruction list - body segment - down-left ;;;
        ;;; $E84B: Unused. Instruction list - body segment - down (facing left) ;;;
        ;;; $E85F: Instruction list - body segment - down (facing right) ;;;
        ;;; $E873: Instruction list - body segment - down-right ;;;
        ;;; $E887: Instruction list - body segment - right ;;;
        ;;; $E89B: Instruction list - body segment - up-right ;;;
        ;;; $E8AF: Instruction list - body segment - up (facing right) ;;;
    ;;; $E8C3..F2: Tail instruction lists ;;;
        ;;; $E8C3: Instruction list - tail - up (facing right) ;;;
        ;;; $E8C9: Instruction list - tail - up-left ;;;
        ;;; $E8CF: Instruction list - tail - left ;;;
        ;;; $E8D5: Instruction list - tail - down-left ;;;
        ;;; $E8DB: Instruction list - tail - down ;;;
        ;;; $E8E1: Instruction list - tail - down-right ;;;
        ;;; $E8E7: Instruction list - tail - right ;;;
        ;;; $E8ED: Instruction list - tail - up-right ;;;
    ;;; $E8F3: Instruction list - hidden ;;;
    ;;; $E8F9..E9F0: Unused instruction lists ;;;
        ;;; $E8F9: Unused. Instruction list ;;;
        ;;; $E90D: Unused. Instruction list ;;;
        ;;; $E921: Unused. Instruction list ;;;
        ;;; $E935: Unused. Instruction list ;;;
        ;;; $E949: Unused. Instruction list ;;;
        ;;; $E95D: Unused. Instruction list ;;;
        ;;; $E971: Unused. Instruction list ;;;
        ;;; $E985: Unused. Instruction list ;;;
        ;;; $E999: Unused. Instruction list ;;;
        ;;; $E9AD: Unused. Instruction list ;;;
        ;;; $E9C1: Unused. Instruction list ;;;
        ;;; $E9C7: Unused. Instruction list ;;;
        ;;; $E9CD: Unused. Instruction list ;;;
        ;;; $E9D3: Unused. Instruction list ;;;
        ;;; $E9D9: Unused. Instruction list ;;;
        ;;; $E9DF: Unused. Instruction list ;;;
        ;;; $E9E5: Unused. Instruction list ;;;
        ;;; $E9EB: Unused. Instruction list ;;;
    ;;; $E9F1: Botwoon's body instruction list table ;;;
    ;;; $EA31: Initialisation AI - enemy projectile $EBA0 (Botwoon's body) ;;;
    ;;; $EA80: Pre-instruction - enemy projectile $EBA0 (Botwoon's body) ;;;
    ;;; $EA98: Botwoon's body function - main ;;;
    ;;; $EAB4: Botwoon's body hurt flash handling ;;;
    ;;; $EAD4: Botwoon's body hurt flash handling ;;;
    ;;; $EAF4: Botwoon's body function - dying - set delay ;;;
    ;;; $EB04: Botwoon's body function - dying - waiting ;;;
    ;;; $EB1F: Botwoon's body function - dying - falling ;;;
    ;;; $EB93: RTS ;;;
    ;;; $EB94: Queue small explosion sound effect ;;;
    ;;; $EBA0: Enemy projectile - Botwoon's body ;;;
;;; $EBAE..EC55: Botwoon's spit ;;;
    ;;; $EBAE: Instruction list - enemy projectile $EC48 (Botwoon's spit) ;;;
    ;;; $EBC6: Initialisation AI - enemy projectile $EC48 (Botwoon's spit) ;;;
    ;;; $EC05: Pre-instruction - enemy projectile $EC48 (Botwoon's spit) ;;;
    ;;; $EC0C: Delete enemy projectile if off-screen ;;;
    ;;; $EC18: Check if enemy projectile is off-screen ;;;
    ;;; $EC48: Enemy projectile - Botwoon's spit ;;;
;;; $EC56..A2: Yapping maw's body ;;;
    ;;; $EC56: Instruction list - yapping maw's body - facing down ;;;
    ;;; $EC5C: Instruction list - yapping maw's body - facing up ;;;
    ;;; $EC62: Initialisation AI - enemy projectile $EC95 (yapping maw's body) ;;;
    ;;; $EC94: RTS. Pre-instruction - enemy projectile $EC95 (yapping maw's body) ;;;
    ;;; $EC95: Enemy projectile - yapping maw's body ;;;
;;; $ECA3..F352: Enemy death explosion / pickup ;;;
    ;;; $ECA3..EF28: Instruction lists ;;;
        ;;; $ECA3: Instruction list - handle respawning enemy ;;;
        ;;; $ECAB: Instruction list - enemy death explosion - type 4 (big explosion) ;;;
        ;;; $ECC5: Instruction list - enemy death explosion - type 3 (fake Kraid explosion) ;;;
        ;;; $ECE3: Instruction - spawn sprite object [[Y]] randomly within radius 20h ;;;
        ;;; $ED17: Instruction - spawn sprite object [[Y]] randomly within radius 10h ;;;
        ;;; $ED4B: Instruction list - enemy death explosion - type 2 (normal explosion) ;;;
        ;;; $ED69: Instruction list - enemy death explosion - type 0 (small explosion) ;;;
        ;;; $ED87: Unused. Instruction list - delete ;;;
        ;;; $ED8B: Unused. Instruction list - delete ;;;
        ;;; $ED8D: Instruction list - pickup - small health ;;;
        ;;; $EDA3: Instruction list - pickup - big health ;;;
        ;;; $EDB9: Instruction list - pickup - missiles ;;;
        ;;; $EDC7: Unused. Instruction list - pickup - bombs ;;;
        ;;; $EDDD: Instruction list - pickup - super missiles ;;;
        ;;; $EDEB: Instruction list - pickup - power bombs ;;;
        ;;; $EDFF: Instruction list - enemy death explosion - type 1 (killed by Samus contact) ;;;
        ;;; $EE45: Unused. Instruction list - enemy death explosion ;;;
        ;;; $EE8B: Instruction - queue enemy killed sound effect ;;;
        ;;; $EE97: Instruction - queue small explosion sound effect ;;;
        ;;; $EEA3: Instruction - queue enemy killed by contact damage sound effect ;;;
        ;;; $EEAF: Instruction - become pickup ;;;
        ;;; $EF04: Instruction list pointers - pickup ;;;
        ;;; $EF10: Instruction - handle respawning enemy ;;;
    ;;; $EF29: Initialisation AI - enemy projectile $F337 (pickup) ;;;
    ;;; $EF89: Initialisation AI - enemy projectile $F345 (enemy death explosion) ;;;
    ;;; $EFDF: RTS. Pre-instruction - enemy projectile $F345 (enemy death explosion) ;;;
    ;;; $EFE0: Pre-instruction - enemy projectile $F337 (pickup) ;;;
    ;;; $F0BB: Apply pickup to Samus - small health ;;;
    ;;; $F0CA: Apply pickup to Samus - big health ;;;
    ;;; $F0D9: Apply pickup to Samus - power bombs ;;;
    ;;; $F0E8: Apply pickup to Samus - missiles ;;;
    ;;; $F0F7: Apply pickup to Samus - super missiles ;;;
    ;;; $F106: Random drop routine ;;;
    ;;; $F264: Respawn enemy ;;;
    ;;; $F337: Enemy projectiles - enemy death explosion / pickup ;;;
;;; $F353..F4A5: Falling spark ;;;
    ;;; $F353: Instruction list - falling spark - falling ;;;
    ;;; $F363: Instruction list - falling spark - hit floor ;;;
    ;;; $F391: Initialisation AI - enemy projectile $F498 (falling spark) ;;;
    ;;; $F3F0: Pre-instruction - enemy projectile $F498 (falling spark) ;;;
    ;;; $F498: Enemy projectile - falling spark ;;;
;;; $F4A6: Free space ;;;