;;; $8000: Set up PPU for title sequence ;;;
;;; $80DA: Set up PPU for intro ;;;
;;; $819B: Set up PPU for Ceres cutscene ;;;
;;; $8230: Set up PPU for Samus goes to Zebes cutscene ;;;
;;; $8293: Set up PPU for Zebes destruction ;;;
;;; $833A: Unused. Set up PPU for Zebes destruction space view ;;;
;;; $83D3: Set up PPU for credits ;;;
;;; $8488: Unused. Modify mode 7 transformation with controller ;;;
;;; $8518: Handle mode 7 transformation matrix - no rotation ;;;
;;; $8532: Handle mode 7 transformation matrix ;;;
;;; $858F: $2A.$2C = ±[$26] * ±[$28] / 10000h (16-bit signed multiplication) ;;;
;;; $85EE: $2A.$2C = [$26] * [$28] / 10000h (16-bit unsigned multiplication) ;;;
;;; $8666: Handle fading in ;;;
;;; $866B:  ;;;
;;; $8682:  ;;;
;;; $8697: Debug. Display version info ;;;
;;; $87A0: Update cinematic BG tilemap ;;;
;;; $87D3: Update Samus eyes tilemap ;;;
;;; $8806:  ;;;
;;; $8839: Process cinematic BG object indirect instruction ;;;
;;; $8849: Indirect instruction function - nothing ;;;
;;; $884D: Indirect instruction function - draw text character [[Y] + 4] ;;;
;;; $88B7: Indirect instruction function - draw the [[Y] + 3] x [[Y] + 2] region with tilemap values at [Y] + 4 to text tilemap ;;;
;;; $88FD: Indirect instruction function - draw the [[Y] + 3] x [[Y] + 2] region with tilemap values at [Y] + 4 to BG2 ;;;
;;; $8943: X = $16 = tilemap offset for tile ([$12], [$13]) ;;;
;;; $896B:  ;;;
;;; $89CF:  ;;;
;;; $8A2C:  ;;;
;;; $8A52: Calculate position of Samus in rotating elevator room ;;;
;;; $8AD9: Calculate position of projectile explosion in rotating elevator room ;;;
;;; $8B66: Calculate position of Ceres steam in rotating elevator room ;;;
;;; $8BE9: Copy current palettes to fading palettes ;;;
;;; $8C09: Decompose palette data for fading ;;;
;;; $8C5E: Clear [Y] colours starting from colour index [X] ;;;
;;; $8C83: Fade out [Y] colours starting from colour index [X] ;;;
;;; $8CB2: Fade in [Y] colours starting from colour index [X] ;;;
;;; $8CEA: Compose fading palettes ;;;
;;; $8D23: Load Japanese intro text tiles ;;;
;;; $8DE6: Transfer Japanese text tiles to VRAM ;;;
;;; $8E0D: Handle Samus during intro ;;;
;;; $8E2D: Draw intro sprites ;;;
;;; $8E52: Unused. Calculate X/Y components of radius [A] angle [Y] ;;;
;;; $8EA3: A = [$18] * sin([X] / 2 * pi / 80h) ;;;
;;; $8ED9: Move unused sprites off-screen ;;;
;;; $90B8: Advance fast screen fade out ;;;
;;; $90D5: Advance slow screen fade out ;;;
;;; $9100: Advance fast screen fade in ;;;
;;; $911B: Advance slow screen fade in ;;;
;;; $9146: Initialise IO registers and display Nintendo logo ;;;
;;; $936B: Add Nintendo boot logo spritemap to OAM ;;;
;;; $938A: Spawn cinematic sprite object [Y] ;;;
;;; $93A2: Spawn cinematic sprite object [Y] to index [$12] ;;;
;;; $93AC: Spawn cinematic sprite object [X] to index [Y] ;;;
;;; $93D9: RTS ;;;
;;; $93DA: Clear cinematic sprite objects ;;;
;;; $93EF: Handle cinematic sprite objects ;;;
;;; $9409: Process cinematic sprite object instruction list ;;;
;;; $9438..94E0: Cinematic sprite object instructions ;;;
    ;;; $9438: Instruction - delete ;;;
    ;;; $9442: Unused. Instruction - sleep ;;;
    ;;; $944C: Instruction - pre-instruction = [[Y]] ;;;
    ;;; $9457: Unused. Instruction - clear pre-instruction ;;;
    ;;; $9460: Unused. Instruction - call external function [[Y]] ;;;
    ;;; $947E: Unused. Instruction - call external function [[Y]] with A = [[Y] + 3] ;;;
    ;;; $94A2: Unused. Instruction - go to [Y] + ±[[Y]] ;;;
    ;;; $94BC: Instruction - go to [[Y]] ;;;
    ;;; $94C3: Instruction - decrement timer and go to [[Y]] if non-zero ;;;
    ;;; $94CD: Unused. Instruction - decrement timer and go to [Y] + ±[[Y]] if non-zero ;;;
    ;;; $94D6: Instruction - timer = [[Y]] ;;;
;;; $94E1: RTS ;;;
;;; $94E4: Spawn mode 7 object ;;;
;;; $951D: Handle mode 7 objects ;;;
;;; $9537: Process mode 7 object instruction list ;;;
;;; $956B..95A1: Mode 7 object instructions ;;;
    ;;; $956B: Instruction - delete ;;;
    ;;; $9572: Instruction - pre-instruction = [[Y]] ;;;
    ;;; $957D: Instruction - clear pre-instruction ;;;
    ;;; $9586: Instruction - go to [[Y]] ;;;
    ;;; $958D: Instruction - decrement timer and go to [[Y]] if non-zero ;;;
    ;;; $9597: Instruction - timer = [[Y]] ;;;
;;; $95A2: Enable cinematic BG objects ;;;
;;; $95AD: Disable cinematic BG objects ;;;
;;; $95B8: Enable cinematic BG tilemap updates ;;;
;;; $95C3: Disable cinematic BG tilemap updates ;;;
;;; $95CE: Clear cinematic BG objects, cinematic BG tilemap = [A] ;;;
;;; $95F0: Spawn cinematic BG object ;;;
;;; $962F: Handle cinematic BG objects ;;;
;;; $9659: Process cinematic BG object instruction list ;;;
;;; $9698..9742: Cinematic BG object instructions ;;;
    ;;; $9698: Instruction - delete ;;;
    ;;; $96A3: Unused. Instruction - sleep ;;;
    ;;; $96AE: Unused. Instruction - pre-instruction = [[Y]] ;;;
    ;;; $96B9: Unused. Instruction - clear pre-instruction ;;;
    ;;; $96C2: Unused. Instruction - call external function [[Y]] ;;;
    ;;; $96E0: Unused. Instruction - call external function [[Y]] with A = [[Y] + 3] ;;;
    ;;; $9704: Unused. Instruction - go to [Y] + ±[[Y]] ;;;
    ;;; $971E: Instruction - go to [[Y]] ;;;
    ;;; $9725: Unused. Instruction - decrement timer and go to [[Y]] if non-zero ;;;
    ;;; $972F: Unused. Instruction - decrement timer and go to [Y] + ±[[Y]] if non-zero ;;;
    ;;; $9738: Unused. Instruction - timer = [[Y]] ;;;
;;; $9743: RTS ;;;
;;; $9746: Draw cinematic sprite objects - intro/opening ;;;
;;; $9799: Draw cinematic sprite objects - ending/credits ;;;
;;; $97F7: Spawn text glow object ;;;
;;; $9828: Handle text glow objects ;;;
;;; $9849: Process text glow object ;;;
;;; $98E3: Enable credits object ;;;
;;; $98EE: Disable credits object ;;;
;;; $98F9:  ;;;
;;; $9932:  ;;;
;;; $9955: Handle credits object ;;;
;;; $996A:  ;;;
;;; $99C1:  ;;;
;;; $99FE: Instruction - delete ;;;
;;; $9A06: Instruction - go to [[Y]] ;;;
;;; $9A0D: Instruction - decrement timer and go to [[Y]] if non-zero ;;;
;;; $9A17: Instruction - timer = [[Y]] ;;;
;;; $9A22: Game state 1 - opening ;;;
;;; $9A47: RTS ;;;
;;; $9A48:  ;;;
;;; $9A6C:  ;;;
;;; $9A83:  ;;;
;;; $9A9C:  ;;;
;;; $9B1A: Initialisation function - cinematic sprite object $A119 (Super Metroid title logo - immediate) ;;;
;;; $9B2D: Initialisation function - cinematic sprite object $A11F (unused. Nintendo boot logo - immediate) ;;;
;;; $9B40: Initialisation function - cinematic sprite object $A125 (Nintendo copyright - immediate) ;;;
;;; $9B53:  ;;;
;;; $9B68: Cinematic function - load title sequence ;;;
;;; $9B87: Load title sequence graphics ;;;
;;; $9CBC: Initialisation function - cinematic sprite object $A0EF ('1994' scrolling text) ;;;
;;; $9CCF: Pre-instruction - cinematic sprite object $A0EF ('1994' scrolling text) ;;;
;;; $9CDE: Unused. REP #$20 ;;;
;;; $9CE1: Instruction - trigger title sequence scene 0 ;;;
;;; $9D17: Cinematic function - title sequence scene 0 - panning left - lower ;;;
;;; $9D4A: Initialisation function - cinematic sprite object $A0F5 ('NINTENDO' scrolling text) ;;;
;;; $9D5D: Instruction - trigger title sequence scene 1 ;;;
;;; $9D90: Cinematic function - title sequence scene 1 - panning left - upper ;;;
;;; $9DC3: Initialisation function - cinematic sprite object $A0FB ('PRESENTS' scrolling text) ;;;
;;; $9DD6: Instruction - trigger title sequence scene 2 ;;;
;;; $9E12: Cinematic function - title sequence scene 2 - panning down ;;;
;;; $9E45: Initialisation function - cinematic sprite object $A101 ('METROID 3' scrolling text) ;;;
;;; $9E58: Instruction - trigger title sequence scene 3 ;;;
;;; $9E8B: Cinematic function - title sequence scene 3 - zooming out ;;;
;;; $9EB3: Initialisation function - cinematic sprite object $A107 (Super Metroid title logo - fade in) ;;;
;;; $9ECD: Instruction - fade in Nintendo copyright ;;;
;;; $9ED6: Initialisation function - cinematic sprite object $A10D (unused. Nintendo boot logo - fade in) ;;;
;;; $9EF0: Instruction - use palette 0 and fade in Nintendo copyright ;;;
;;; $9EFF: Initialisation function - cinematic sprite object $A113 (Nintendo copyright - fade in) ;;;
;;; $9F19: Instruction - start demo countdown ;;;
;;; $9F28: RTS ;;;
;;; $9F29: Cinematic function - title screen ;;;
;;; $9F52: Cinematic function - transition to file select menu ;;;
;;; $9FAE: Cinematic function - transition to demos ;;;
;;; $A00A: Configure title screen gradient HDMA table ;;;
;;; $A03B: RTL ;;;
;;; $A03C: RTL ;;;
;;; $A03D..A0EE: Cinematic sprite object instruction lists - title sequence ;;;
    ;;; $A03D: Instruction list - cinematic sprite object $A0EF ('1994' scrolling text) ;;;
    ;;; $A055: Instruction list - cinematic sprite object $A0F5 ('NINTENDO' scrolling text) ;;;
    ;;; $A079: Instruction list - cinematic sprite object $A0FB ('PRESENTS' scrolling text) ;;;
    ;;; $A09D: Instruction list - cinematic sprite object $A101 ('METROID 3' scrolling text) ;;;
    ;;; $A0C5: Instruction list - cinematic sprite object $A107 (Super Metroid title logo - fade in) ;;;
    ;;; $A0CB: Instruction list - cinematic sprite object $A119 (Super Metroid title logo - immediate) ;;;
    ;;; $A0D3: Instruction list - cinematic sprite object $A10D (unused. Nintendo boot logo - fade in) ;;;
    ;;; $A0D9: Instruction list - cinematic sprite object $A11F (unused. Nintendo boot logo - immediate) ;;;
    ;;; $A0E1: Instruction list - cinematic sprite object $A113 (Nintendo copyright - fade in) ;;;
    ;;; $A0E7: Instruction list - cinematic sprite object $A125 (Nintendo copyright - immediate) ;;;
;;; $A0EF: Cinematic sprite object definitions - title sequence ;;;
;;; $A12B: Mode 7 object instruction list ;;;
;;; $A25B: Play Baby Metroid cry 1 ;;;
;;; $A263: Play Baby Metroid cry 2 ;;;
;;; $A26B: Play Baby Metroid cry 3 ;;;
;;; $A273:  ;;;
;;; $A284:  ;;;
;;; $A295:  ;;;
;;; $A2A6:  ;;;
;;; $A2B7: Palettes ;;;
;;; $A337: Mode 7 transfer data ;;;
;;; $A355: Mode 7 object - baby metroid in title sequence ;;;
;;; $A35B: Game state 1Eh/22h/25h (intro / Ceres goes boom, Samus goes to Zebes / Ceres goes boom with Samus) ;;;
;;; $A38F: RTS ;;;
;;; $A390: RTS ;;;
;;; $A391: Cinematic function - nothing ;;;
;;; $A395: Cinematic function - intro - initial ;;;
;;; $A5A7: Cinematic function - intro - wait for music queue and fade in ;;;
;;; $A5BD: Cinematic function - intro - handle drawing initial Japanese text and wait 60 frames ;;;
;;; $A5F8: Cinematic function - intro - play "the last Metroid is in captivity" music for 200 frames ;;;
;;; $A613: Cinematic function - intro - queue "the galaxy is at peace" music ;;;
;;; $A639: Cinematic function - intro - wait for music queue and wait 240 frames ;;;
;;; $A64C: Cinematic function - intro - fade out ;;;
;;; $A663: Cinematic function - intro - wait for fade out ;;;
;;; $A66F: Cinematic function - intro - set up intro text page 1 ;;;
;;; $A82B: Cinematic function - intro - wait for music queue, fade in and spawn intro text page 1 ;;;
;;; $A84A: Cinematic function - intro - wait for fade in and sleep ;;;
;;; $A856: Clear English text tilemap ;;;
;;; $A86A: Blank out Japanese text tiles ;;;
;;; $A8C1:  ;;;
;;; $A8D4: RTS ;;;
;;; $A8D5:  ;;;
;;; $A8E8:  ;;;
;;; $A903: Pre-instruction ;;;
;;; $A918: Instruction - spawn metroid egg particles ;;;
;;; $A958:  ;;;
;;; $A994:  ;;;
;;; $AA9A:  ;;;
;;; $AAB3:  ;;;
;;; $AD55:  ;;;
;;; $AD68:  ;;;
;;; $AD93:  ;;;
;;; $ADA6:  ;;;
;;; $ADD4: Instruction - set caret to blink ;;;
;;; $ADE1:  ;;;
;;; $ADEE:  ;;;
;;; $AE07:  ;;;
;;; $AE1A:  ;;;
;;; $AE43: Instruction - handle creating Japanese text - page 1 ;;;
;;; $AE5B: Instruction - spawn blinking markers and wait for input - page 1 ;;;
;;; $AE79: Instruction - handle creating Japanese text - page 2 ;;;
;;; $AE91: Instruction - spawn blinking markers and wait for input - page 2 ;;;
;;; $AEB8: Cinematic function - intro - wait for input and set up old Mother Brain fight ;;;
;;; $AF6B: RTS ;;;
;;; $AF6C: Cinematic function - intro - wait for input and set up baby metroid discovery ;;;
;;; $B018: Set up intro cross-fade into Samus gameplay ;;;
;;; $B074: Instruction - handle creating Japanese text - page 3 ;;;
;;; $B08C: Instruction - spawn blinking markers and wait for input - page 3 ;;;
;;; $B0B3: Instruction - handle creating Japanese text - page 4 ;;;
;;; $B0CB: Instruction - spawn blinking markers and wait for input - page 4 ;;;
;;; $B0F2: Cinematic function - intro -  ;;;
;;; $B123: Cinematic function - intro -  ;;;
;;; $B151:  ;;;
;;; $B19B: Instruction - handle creating Japanese text - page 5 ;;;
;;; $B1B3: Instruction - spawn blinking markers and wait for input - page 5 ;;;
;;; $B1DA: Cinematic function - intro -  ;;;
;;; $B207: Cinematic function - intro -  ;;;
;;; $B228: Instruction - handle creating Japanese text - page 6 ;;;
;;; $B240:  ;;;
;;; $B250: Cinematic function - intro - cross-fade to Samus gameplay and sleep ;;;
;;; $B2D2: Cinematic function - intro - cross-fade to scientist cutscene and sleep ;;;
;;; $B336: Instruction - start intro page 2 ;;;
;;; $B33E: Instruction - start intro page 3 ;;;
;;; $B346: Instruction - start intro page 4 ;;;
;;; $B34E: Instruction - start intro page 5 ;;;
;;; $B354: Clear Japanese text tiles and disable cinematic BG tilemap updates ;;;
;;; $B35F: Cinematic function - intro - page 2 ;;;
;;; $B370: Cinematic function - intro - page 3 ;;;
;;; $B381: Cinematic function - intro - page 4 ;;;
;;; $B392: Cinematic function - intro - page 5 ;;;
;;; $B3A1:  ;;;
;;; $B3F4: Cinematic function - intro -  ;;;
;;; $B458: Cinematic function - intro -  ;;;
;;; $B4BC: Pre-instruction - Samus blinking cinematic BG object ;;;
;;; $B4DC:  ;;;
;;; $B4EB:  ;;;
;;; $B519:  ;;;
;;; $B51E:  ;;;
;;; $B54F:  ;;;
;;; $B554:  ;;;
;;; $B585:  ;;;
;;; $B5B8:  ;;;
;;; $B5C3:  ;;;
;;; $B5EE:  ;;;
;;; $B61B:  ;;;
;;; $B626:  ;;;
;;; $B657:  ;;;
;;; $B68A:  ;;;
;;; $B695:  ;;;
;;; $B6C0:  ;;;
;;; $B6ED:  ;;;
;;; $B6F8:  ;;;
;;; $B70B:  ;;;
;;; $B710: RTS ;;;
;;; $B711:  ;;;
;;; $B72F: Cinematic function - intro -  ;;;
;;; $B773:  ;;;
;;; $B786:  ;;;
;;; $B80F:  ;;;
;;; $B82E: Pre-instruction ;;;
;;; $B846:  ;;;
;;; $B877:  ;;;
;;; $B896:  ;;;
;;; $B8C5: Instruction -  ;;;
;;; $B8D8:  ;;;
;;; $B93B:  ;;;
;;; $B98D:  ;;;
;;; $B9D4:  ;;;
;;; $BA0F:  ;;;
;;; $BA21: Instruction - spawn intro rinkas 0/1 ;;;
;;; $BA36: Instruction - spawn intro rinkas 2/3 ;;;
;;; $BA4B:  ;;;
;;; $BA5E:  ;;;
;;; $BA73:  ;;;
;;; $BB0D:  ;;;
;;; $BB24:  ;;;
;;; $BC08: Reset button assignments to default ;;;
;;; $BC75: Recover previous button assignments ;;;
;;; $BCA0:  ;;;
;;; $BDE4:  ;;;
;;; $BDF9:  ;;;
;;; $BE7E:  ;;;
;;; $BEB5:  ;;;
;;; $BF22:  ;;;
;;; $BF35:  ;;;
;;; $BF4C:  ;;;
;;; $BF5F:  ;;;
;;; $BF76:  ;;;
;;; $BF89:  ;;;
;;; $BFA0:  ;;;
;;; $BFC6:  ;;;
;;; $BFDA:  ;;;
;;; $C083:  ;;;
;;; $C096: Instruction - skip next instruction if English text ;;;
;;; $C0A2: Instruction - finish intro ;;;
;;; $C0B2:  ;;;
;;; $C0C5:  ;;;
;;; $C100:  ;;;
;;; $C11B: Cinematic function - escaping Ceres ;;;
;;; $C2E4:  ;;;
;;; $C2F1:  ;;;
;;; $C345:  ;;;
;;; $C404: Instruction - spawn Ceres explosions 1 ;;;
;;; $C434:  ;;;
;;; $C489: Pre-instruction ;;;
;;; $C4B9:  ;;;
;;; $C50B: RTS ;;;
;;; $C50C: Instruction - spawn Ceres explosions 3 ;;;
;;; $C533:  ;;;
;;; $C582:  ;;;
;;; $C5A9:  ;;;
;;; $C5CA:  ;;;
;;; $C610:  ;;;
;;; $C627:  ;;;
;;; $C699:  ;;;
;;; $C79C:  ;;;
;;; $C7CA:  ;;;
;;; $C83B:  ;;;
;;; $C84E:  ;;;
;;; $C85D:  ;;;
;;; $C897:  ;;;
;;; $C8AA:  ;;;
;;; $C8B9:  ;;;
;;; $C8F9:  ;;;
;;; $C908:  ;;;
;;; $C942:  ;;;
;;; $C956:  ;;;
;;; $C96A:  ;;;
;;; $C97E:  ;;;
;;; $C992:  ;;;
;;; $C9A5: Instruction -  ;;;
;;; $C9AF: Instruction -  ;;;
;;; $C9BD: Instruction -  ;;;
;;; $C9C7: Instruction -  ;;;
;;; $C9E6:  ;;;
;;; $C9F9:  ;;;
;;; $CA36:  ;;;
;;; $CA85:  ;;;
;;; $CAD0:  ;;;
;;; $CADE: RTS ;;;
;;; $CADF: Cinematic function - load game data ;;;
;;; $CB05..CE54: Cinematic sprite object instruction lists ;;;
    ;;; $CB05: Instruction list - cinematic sprite object $CE55 (intro Mother Brain) ;;;
    ;;; $CB19: Instruction list - intro Mother Brain - start page 2 ;;;
    ;;; $CB33: Instruction list - cinematic sprite object $CE5B (metroid egg) ;;;
    ;;; $CB3B: Instruction list - metroid egg hatching ;;;
    ;;; $CB9F: Instruction list - cinematic sprite object $CE61 (baby metroid being delivered) ;;;
    ;;; $CBCD: Instruction list - cinematic sprite object $CE67 (baby metroid being examined) ;;;
    ;;; $CBFB: Instruction list - cinematic sprite object $CE6D (intro text caret) ;;;
    ;;; $CC03: Instruction list - intro text caret - blink ;;;
    ;;; $CC0F: Instruction list - cinematic sprite object $CE73 (intro Japanese text next-page arrow) ;;;
    ;;; $CC23: Instruction list - intro Japanese text next-page arrow - blink ;;;
    ;;; $CC2B: Instruction list - cinematic sprite object $CE79 (confused baby metroid) ;;;
    ;;; $CC3F: Instruction list - cinematic sprite object $CE7F (Ceres under attack large asteroids) ;;;
    ;;; $CC47: Instruction list - cinematic sprite object $CE85 (Ceres under attack) ;;;
    ;;; $CC4F: Instruction list - cinematic sprite object $CE8B (Ceres small asteroids) ;;;
    ;;; $CC57: Instruction list - cinematic sprite object $CE91 (Ceres purple space vortex) ;;;
    ;;; $CC63: Unused. Instruction list - cinematic sprite object $CE97 (space colony text) ;;;
    ;;; $CCA3: Unused. Instruction list - cinematic sprite object $CE9D (space colony Japanese text) ;;;
    ;;; $CCAB: Instruction list - cinematic sprite object $CEA3 (Zebes) ;;;
    ;;; $CCB3: Instruction list - cinematic sprite object $CEA9 (Zebes stars 1) ;;;
    ;;; $CCBB: Instruction list - cinematic sprite object $CEAF (planet Zebes text) ;;;
    ;;; $CCD5: Instruction list - cinematic sprite object $CEB5 (planet Zebes Japanese text) ;;;
    ;;; $CCDB: Instruction list - cinematic sprite object $CEBB (Ceres explosion 1) ;;;
    ;;; $CCF5: Instruction list - cinematic sprite object $CEC1 (Ceres explosion 2) ;;;
    ;;; $CD1B: Instruction list - cinematic sprite object $CEC7 (Ceres explosion 3) ;;;
    ;;; $CD39: Instruction list - cinematic sprite object $CECD (metroid egg particle 1) ;;;
    ;;; $CD41: Instruction list - cinematic sprite object $CED3 (metroid egg particle 2) ;;;
    ;;; $CD49: Instruction list - cinematic sprite object $CED9 (metroid egg particle 3) ;;;
    ;;; $CD51: Instruction list - cinematic sprite object $CEDF (metroid egg particle 4) ;;;
    ;;; $CD59: Instruction list - cinematic sprite object $CEE5 (metroid egg particle 5) ;;;
    ;;; $CD61: Instruction list - cinematic sprite object $CEEB (metroid egg particle 6) ;;;
    ;;; $CD69: Instruction list - cinematic sprite object $CEF1 (metroid egg slime drops) ;;;
    ;;; $CD71: Instruction list - metroid egg slime drops ;;;
    ;;; $CD83: Instruction list - cinematic sprite object $CEF7 (Zebes stars 2) ;;;
    ;;; $CD8B: Instruction list - cinematic sprite object $CEFD (Zebes stars 3) ;;;
    ;;; $CD93: Instruction list - cinematic sprite object $CF03 (Zebes stars 4) ;;;
    ;;; $CD9B: Instruction list - cinematic sprite object $CF09 (Zebes stars 5) ;;;
    ;;; $CDA3: Instruction list - cinematic sprite object $CF0F (Ceres stars) ;;;
    ;;; $CDAB: Instruction list - cinematic sprite object $CF15 (intro Mother Brain explosion - big) ;;;
    ;;; $CDCB: Instruction list - cinematic sprite object $CF1B (intro Mother Brain explosion - small) ;;;
    ;;; $CDEB: Instruction list - cinematic sprite object $CF21 (intro rinka) ;;;
    ;;; $CE0D: Instruction list - cinematic sprite object $CF27 (rinka spawner) ;;;
    ;;; $CE1B: Instruction list - cinematic sprite object $CF2D (Ceres final explosion) ;;;
    ;;; $CE35: Instruction list - cinematic sprite object $CF33 (Ceres explosion spawner) ;;;
    ;;; $CE4B: Instruction list - cinematic sprite object $CF39 (Ceres explosion large asteroids) ;;;
    ;;; $CE53: Instruction list - nothing ;;;
;;; $CE55: Cinematic sprite object definitions - intro, Ceres, Zebes ;;;
;;; $CF3F: Cinematic BG object definitions - intro ;;;
;;; $CF75..D400: Japanese intro text data ;;;
    ;;; $CF75: Page 1 - top line ;;;
    ;;; $CFBD: Page 1 - bottom line ;;;
    ;;; $CFFD: Page 2 - subpage 1 - top line ;;;
    ;;; $D055: Page 2 - subpage 1 - bottom line ;;;
    ;;; $D085: Page 2 - subpage 2 - top line ;;;
    ;;; $D0E1: Page 2 - subpage 2 - bottom line ;;;
    ;;; $D0F9: Page 3 - subpage 1 ;;;
    ;;; $D15D: Page 3 - subpage 2 ;;;
    ;;; $D1B9: Page 4 - subpage 1 - top line ;;;
    ;;; $D215: Page 4 - subpage 1 - bottom line ;;;
    ;;; $D259: Page 4 - subpage 2 - top line ;;;
    ;;; $D2A5: Page 4 - subpage 2 - bottom line ;;;
    ;;; $D2D5: Page 5 - subpage 1 ;;;
    ;;; $D30D: Page 5 - subpage 2 ;;;
    ;;; $D371: Page 6 ;;;
    ;;; $D389..D400: Mode 7 object instruction lists - Japanese intro text ;;;
        ;;; $D389: Instruction list - mode 7 object $D401 (yyyy) ;;;
        ;;; $D393: Instruction list - mode 7 object $D407 (yyyy) ;;;
        ;;; $D39D: Instruction list - mode 7 object $D40D (yyyy) ;;;
        ;;; $D3A9: Instruction list - mode 7 object $D413 (yyyy) ;;;
        ;;; $D3B3: Instruction list - mode 7 object $D419 (yyyy) ;;;
        ;;; $D3BF: Instruction list - mode 7 object $D41F (yyyy) ;;;
        ;;; $D3C9: Instruction list - mode 7 object $D425 (yyyy) ;;;
        ;;; $D3D5: Instruction list - mode 7 object $D42B (yyyy) ;;;
        ;;; $D3DF: Instruction list - mode 7 object $D431 (yyyy) ;;;
        ;;; $D3EB: Instruction list - mode 7 object $D437 (yyyy) ;;;
        ;;; $D3F5: Instruction list - mode 7 object $D43D (yyyy) ;;;
        ;;; $D3FF: Mode 7 transfer data - dummy ;;;
;;; $D401: Mode 7 objects. Japanese intro text ;;;
;;; $D443: Game state 27h (ending and credits) ;;;
;;; $D474: Handle final screen cinematic BG objects ;;;
;;; $D480: Cinematic function - ending - setup ;;;
;;; $D6D7: Cinematic function - ending - wait for music to change ;;;
;;; $D6F2: Cinematic function - ending - Zebes destruction scene 0 - zooming out, clouds on left/right - fading in ;;;
;;; $D701: Cinematic function - ending - Zebes destruction scene 0 - zooming out, clouds on left/right ;;;
;;; $D731: Cinematic function - ending - Zebes destruction scene 1 - zooming out, clouds on top/bottom - setup ;;;
;;; $D7F8: Cinematic function - ending - Zebes destruction scene 1 - zooming out, clouds on top/bottom - fading in ;;;
;;; $D807: Cinematic function - ending - Zebes destruction scene 1 - zooming out, clouds on top/bottom ;;;
;;; $D837: Cinematic function - ending - Zebes destruction scene 2 - cross-fade to space view - setup ;;;
;;; $DA02: Cinematic function - ending - Zebes destruction scene 2 - cross-fade to space view - fading in ;;;
;;; $DA1A: Cinematic function - ending - Zebes destruction scene 2 - cross-fade to space view ;;;
;;; $DAD3: Cinematic function - ending - space view - load gunship BG ;;;
;;; $DB9D: RTS ;;;
;;; $DB9E: Cinematic function - ending - space view - change music ;;;
;;; $DBC4: Cinematic function - ending - space view - gunship emergence - setup ;;;
;;; $DC4C:  ;;;
;;; $DCA5: Cinematic function - ending - space view - gunship emergence -  ;;;
;;; $DD42: Cinematic function - ending - space view - gunship emergence -  ;;;
;;; $DDCD: Cinematic function - ending - space view - gunship emergence -  ;;;
;;; $DE63: RTS ;;;
;;; $DE64: Cinematic function - ending - space view - transition to credits ;;;
;;; $DE80: Cinematic function - credits - setup ;;;
;;; $E0F4:  ;;;
;;; $E110:  ;;;
;;; $E158:  ;;;
;;; $E190:  ;;;
;;; $E1D2:  ;;;
;;; $E265:  ;;;
;;; $E2DD:  ;;;
;;; $E314:  ;;;
;;; $E3AE:  ;;;
;;; $E409:  ;;;
;;; $E41F:  ;;;
;;; $E48A:  ;;;
;;; $E504:  ;;;
;;; $E58A:  ;;;
;;; $E627: Item percentage count ;;;
;;; $E769:  ;;;
;;; $E780:  ;;;
;;; $E797:  ;;;
;;; $E7BA: RTS ;;;
;;; $E7BB: Initialise shooting stars ;;;
;;; $E812: Handle shooting stars ;;;
;;; $E9CF: Shooting star table ;;;
;;; $EB0F..EE9C: Cinematic sprite object instruction lists - ending ;;;
    ;;; $EB0F: Instruction list - cinematic sprite object $EE9D (exploding Zebes - Zebes) ;;;
    ;;; $EB3D: Instruction list - cinematic sprite object $EEA3 (exploding Zebes - purple glow) ;;;
    ;;; $EB51: Instruction list - cinematic sprite object $EEA9 (exploding Zebes - stars) ;;;
    ;;; $EB59: Instruction list - cinematic sprite object $EEAF (exploding Zebes - lava) ;;;
    ;;; $EB69: Instruction list - cinematic sprite object $EEB5 (Zebes explosion - silhouette) ;;;
    ;;; $EB71: Instruction list - cinematic sprite object $EEBB (Zebes explosion - stars - right) ;;;
    ;;; $EB81: Instruction list - cinematic sprite object $EEF7 (Zebes explosion - stars - left) ;;;
    ;;; $EB89: Instruction list - cinematic sprite object $EEC1 (Zebes explosion - afterglow) ;;;
    ;;; $EB91: Instruction list - cinematic sprite object $EEC7 ('THE OPERATION WAS') ;;;
    ;;; $EBD7: Instruction list - cinematic sprite object $EECD ('COMPLETED SUCCESSFULLY') ;;;
    ;;; $EC35: Instruction list - cinematic sprite object $EEFD (clear time) ;;;
    ;;; $EC81: Instruction list - clear time digit ;;;
    ;;; $ECD1: Instruction list - cinematic sprite object $EF0F (clear time - colon) ;;;
    ;;; $ECD9: Instruction list - cinematic sprite object $EF21 (critters escape) ;;;
    ;;; $ECED: Instruction list - cinematic sprite object $EED3 (yellow clouds - top - top half) ;;;
    ;;; $ECF5: Instruction list - cinematic sprite object $EED9 (yellow clouds - top - bottom half) ;;;
    ;;; $ECFD: Instruction list - cinematic sprite object $EEDF (yellow clouds - bottom - top half) ;;;
    ;;; $ED05: Instruction list - cinematic sprite object $EEE5 (yellow clouds - bottom - bottom half) ;;;
    ;;; $ED0D: Instruction list - cinematic sprite object $EEEB (yellow clouds - right) ;;;
    ;;; $ED15: Instruction list - cinematic sprite object $EEF1 (yellow clouds - left) ;;;
    ;;; $ED1D: Instruction list - cinematic sprite object $EF27 (suitless Samus - idle) ;;;
    ;;; $ED25: Instruction list - cinematic sprite object $EF2D (suitless Samus - idle - legs) ;;;
    ;;; $ED2D: Instruction list - cinematic sprite object $EF33 (suitless Samus - letting hair down) ;;;
    ;;; $ED59: Instruction list - cinematic sprite object $EF39 (suitless Samus - letting hair down - legs) ;;;
    ;;; $ED7F: Instruction list - cinematic sprite object $EF3F (suitless Samus - jump) ;;;
    ;;; $ED95: Instruction list ;;;
    ;;; $ED9D: Instruction list ;;;
    ;;; $EDB1: Instruction list - cinematic sprite object $EF45 (suited Samus - idle - body) ;;;
    ;;; $EDB9: Instruction list - cinematic sprite object $EF4B (suited Samus - idle - head - with helmet) ;;;
    ;;; $EDC1: Instruction list - cinematic sprite object $EF51 (suited Samus - idle - head - without helmet) ;;;
    ;;; $EDC9: Instruction list - cinematic sprite object $EF57 (suited Samus - thumbs up - body) ;;;
    ;;; $EDD3: Instruction list - cinematic sprite object $EF5D (suited Samus - thumbs up - arm) ;;;
    ;;; $EE0F: Instruction list - cinematic sprite object $EF63 (suited Samus - thumbs up - head - with helmet) ;;;
    ;;; $EE15: Instruction list - cinematic sprite object $EF69 (suited Samus - thumbs up - head - without helmet) ;;;
    ;;; $EE27: Instruction list - cinematic sprite object $EF6F (suited Samus - jump - body) ;;;
    ;;; $EE3D: Instruction list - cinematic sprite object $EF75 (suited Samus - jump - head - with helmet) ;;;
    ;;; $EE4D: Instruction list - cinematic sprite object $EF7B (suited Samus - jump - head - without helmet) ;;;
    ;;; $EE5D: Instruction list - cinematic sprite object $EF81 (Super Metroid icon - S - top half) ;;;
    ;;; $EE65: Instruction list - cinematic sprite object $EF87 (Super Metroid icon - S - bottom half) ;;;
    ;;; $EE6D: Instruction list - cinematic sprite object $EF8D (Super Metroid icon - circle - top half) ;;;
    ;;; $EE87: Instruction list - cinematic sprite object $EF93 (Super Metroid icon - circle - bottom half) ;;;
    ;;; $EE9B: Instruction list - delete ;;;
;;; $EE9D: Cinematic sprite object definitions - ending ;;;
;;; $EF99: Initialisation function - cinematic sprite object $EF21 (critters escape) ;;;
;;; $EFB2: Pre-instruction - cinematic sprite object $EF21 (critters escape) ;;;
;;; $EFEA..F1E6: Cinematic sprite object initialisation functions - ending ;;;
    ;;; $EFEA: Initialisation function - cinematic sprite object $EE9D/$EEA3/$EEA9/$EEBB (exploding Zebes - palette 7) ;;;
    ;;; $EFF0:  ;;;
    ;;; $EFFD: Initialisation function - cinematic sprite object $EEF7 (Zebes explosion - stars - left) ;;;
    ;;; $F005: Initialisation function - cinematic sprite object $EEAF/$EEB5 (exploding Zebes - palette 5) ;;;
    ;;; $F018: Initialisation function - cinematic sprite object $EEC1 (Zebes explosion - afterglow) ;;;
    ;;; $F02B: Initialisation function - cinematic sprite object $EEC7/$EECD ('THE OPERATION WAS' / 'COMPLETED SUCCESSFULLY') ;;;
    ;;; $F03E: Initialisation function - cinematic sprite object $EEFD (clear time) ;;;
    ;;; $F051:  ;;;
    ;;; $F05E: Initialisation function - cinematic sprite object $EF03 (clear time - hours - tens digit) ;;;
    ;;; $F06D: Initialisation function - cinematic sprite object $EF09 (clear time - hours - units digit) ;;;
    ;;; $F07C: Initialisation function - cinematic sprite object $EF0F (clear time - colon) ;;;
    ;;; $F085: Initialisation function - cinematic sprite object $EF15 (clear time - minutes - tens digit) ;;;
    ;;; $F094: Initialisation function - cinematic sprite object $EF1B (clear time - minutes - units digit) ;;;
    ;;; $F0A3: Cinematic sprite object instruction list pointer += [A] * 8 ;;;
    ;;; $F0B2: Initialisation function - cinematic sprite object $EED3 (yellow clouds - top - top half) ;;;
    ;;; $F0B8:  ;;;
    ;;; $F0E1: Initialisation function - cinematic sprite object $EED9 (yellow clouds - top - bottom half) ;;;
    ;;; $F0E9: Initialisation function - cinematic sprite object $EEDF (yellow clouds - bottom - top half) ;;;
    ;;; $F0F1: Initialisation function - cinematic sprite object $EEE5 (yellow clouds - bottom - bottom half) ;;;
    ;;; $F0F9: Initialisation function - cinematic sprite object $EEEB (yellow clouds - right) ;;;
    ;;; $F11E: Initialisation function - cinematic sprite object $EEF1 (yellow clouds - left) ;;;
    ;;; $F143: Initialisation function - cinematic sprite object $EF27/$EF2D/$EF33/$EF39/$EF3F (suitless Samus) ;;;
    ;;; $F156: Initialisation function - cinematic sprite object $EF45/$EF57/$EF5D/$EF6F (suited Samus body / arm) ;;;
    ;;; $F169: Initialisation function - cinematic sprite object $EF4B/$EF63/$EF75 (suited Samus head - with helmet) ;;;
    ;;; $F17C: Initialisation function - cinematic sprite object $EF51/$EF69/$EF7B (suited Samus head - without helmet) ;;;
    ;;; $F18F: Initialisation function - cinematic sprite object $EF81 (Super Metroid icon - S - top half) ;;;
    ;;; $F1A8: Initialisation function - cinematic sprite object $EF87 (Super Metroid icon - S - bottom half) ;;;
    ;;; $F1C1: Initialisation function - cinematic sprite object $EF8D (Super Metroid icon - circle - top half) ;;;
    ;;; $F1D4: Initialisation function - cinematic sprite object $EF93 (Super Metroid icon - circle - bottom half) ;;;
;;; $F1E7..F6F7: Cinematic sprite object pre-instructions and instructions ;;;
    ;;; $F1E7: Pre-instruction - cinematic sprite object $EF81 (Super Metroid icon - S - top half) ;;;
    ;;; $F227: Pre-instruction - cinematic sprite object $EF87 (Super Metroid icon - S - bottom half) ;;;
    ;;; $F25E: Instruction ;;;
    ;;; $F284: Instruction - fade out zoomed out exploding Zebes ;;;
    ;;; $F295: Instruction - spawn Zebes explosion silhouette cinematic sprite object ;;;
    ;;; $F2A5: Pre-instruction - cinematic sprite object $EEA3/$EEA9/$EEAF (exploding Zebes - purple glow / stars / lava) ;;;
    ;;; $F2B7: Instruction - start Zebes explosion ;;;
    ;;; $F2FA: Instruction - Zebes explosion finale ;;;
    ;;; $F32B: Instruction - end Zebes explosion ;;;
    ;;; $F35A: Pre-instruction - cinematic sprite object $EEF7 (Zebes explosion - stars - left) ;;;
    ;;; $F375: Pre-instruction ;;;
    ;;; $F39B: Pre-instruction - cinematic sprite object $EEC1 (Zebes explosion - afterglow) ;;;
    ;;; $F3B0: Instruction - spawn 'COMPLETED SUCCESSFULLY' cinematic sprite object ;;;
    ;;; $F3B9: Pre-instruction - cinematic sprite object $EEC7/$EECD/$EEFD/$EF03/$EF09/$EF0F/$EF15/$EF1B (text) ;;;
    ;;; $F3CE: Instruction - spawn clear time cinematic sprite object ;;;
    ;;; $F41B: Instruction - spawn clear time hours tens digit cinematic sprite object ;;;
    ;;; $F424: Instruction - spawn clear time hours units digit cinematic sprite object ;;;
    ;;; $F42D: Instruction - spawn clear time colon cinematic sprite object ;;;
    ;;; $F436: Instruction - spawn clear time minutes tens digit cinematic sprite object ;;;
    ;;; $F43F: Instruction - spawn clear time minutes units digit cinematic sprite object ;;;
    ;;; $F448: Instruction - transition to credits ;;;
    ;;; $F455: Pre-instruction - cinematic sprite object $EED3/$EED9 (yellow clouds - top) ;;;
    ;;; $F464: Pre-instruction ;;;
    ;;; $F478: Pre-instruction - cinematic sprite object $EEDF/$EEE5 (yellow clouds - bottom) ;;;
    ;;; $F487: Pre-instruction ;;;
    ;;; $F49B: Pre-instruction - cinematic sprite object $EEEB (yellow clouds - right) ;;;
    ;;; $F4AA: Pre-instruction ;;;
    ;;; $F4D1: Pre-instruction - cinematic sprite object $EEF1 (yellow clouds - left) ;;;
    ;;; $F4E0: Pre-instruction ;;;
    ;;; $F507: Pre-instruction - cinematic sprite object $EF27/$EF2D/$EF45/$EF4B/$EF51 (Samus - idle) ;;;
    ;;; $F51C: RTS. Pre-instruction - cinematic sprite object $EF33 (suitless Samus - letting hair down) ;;;
    ;;; $F51D: Instruction - spawn suitless Samus jump cinematic sprite object ;;;
    ;;; $F528: Pre-instruction ;;;
    ;;; $F554: Instruction ;;;
    ;;; $F57F: Pre-instruction ;;;
    ;;; $F597: Instruction ;;;
    ;;; $F5BA: Instruction ;;;
    ;;; $F5DD: Pre-instruction ;;;
    ;;; $F604: Instruction - Samus shoots screen ;;;
    ;;; $F651: Instruction - make ending Samus jump ;;;
    ;;; $F65B: Make ending Samus fall ;;;
    ;;; $F682:  ;;;
;;; $F6F8: Credits object definition ;;;
;;; $F6FE: Instruction - end credits ;;;
;;; $F748: Cinematic BG object definitions - ending ;;;
;;; $F754: Debug. Version string ;;;
;;; $F760: Free space ;;;