$84/B6D3 DW $B18B : DW $AD62 ;MAP STATION INIT/RUN POINTERS (PLM HEADER) $84/B6D7 DW $B1C8 : DW $AD86 ;MAP STATION RIGHT ACCESS CRUMBLE BTS 47 (PLM HEADER) $84/B6DB DW $B1F0 : DW $ADA4 ;MAP STATION LEFT ACCESS CRUMBLE BTS 48 (PLM HEADER) $84/B6DF DW $B21D : DW $ADC2 ;ENERGY STATION INIT/RUN POINTERS (PLM HEADER) $84/B6E3 DW $B26D : DW $ADF1 ;ENERGY STATION RIGHT ACCESS CRUMBLE BTS 49 (PLM HEADER) $84/B6E7 DW $B29D : DW $AE13 ;ENERGY STATION LEFT ACCESS CRUMBLE BTS 4A (PLM HEADER) $84/B6EB DW $B245 : DW $AE4C ;MISSILE STATION INIT/RUN POINTERS (PLM HEADER) $84/B6EF DW $B2D0 : DW $AE7B ;MISSILE STATION RIGHT ACCESS CRUMBLE BTS 4B (PLM HEADER) $84/B6F3 DW $B300 : DW $AE9D ;MISSILE STATION LEFT ACCESS CRUMBLE BTS 4C (PLM HEADER) $84/B76B DW $B590 : DW $AAE3 ;SAVE STATION TOUCH CRUMBLE BTS 4D (PLM HEADER) $84/B76F DW $B5EE : DW $AFE8 ;SAVE STATION (PLM HEADER) $84/AD62 ;MAP STATION MAIN RUNNING AI DW $8A24 : DW MAFLOOP ;SET MAP ANIMATION FAST LOOP TO 7E:DEBC - PLM Goto Instruction Pointer MALOOP: DW $0006 : DW MAPAF1 ;MAP STATION ANIMATION FRAME 1 DW $0006 : DW MAPAF2 ;MAP STATION ANIMATION FRAME 2 DW $0006 : DW MAPAF3 ;MAP STATION ANIMATION FRAME 3 DW $8724 : DW MALOOP ;LOOP BACK TO MAP ANIMATION MAFLOOP: DW $0002 : DW MAPAF1 ;MAP STATION FASTER ANIMATION FRAME 1 DW $0002 : DW MAPAF2 ;MAP STATION FASTER ANIMATION FRAME 2 DW $0002 : DW MAPAF3 ;MAP STATION FASTER ANIMATION FRAME 3 DW $8724 : DW MAFLOOP ;LOOP BACK TO FASTER MAP ANIMATION $84/AD86 ;MAP STATION RIGHT ACCESS CRUMBLE BTS 47 DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW MRCAF1 ;0006 FRAMES, ANIMATION 1 MAP RIGHT CANNON ATTACHMENT DW $0060 : DW MRCAF2 ;0060 FRAMES, ANIMATION 2 MAP RIGHT CANNON ATTACHMENT DW $8C8F ;SET MAP AS COLLECTED AND PLAY MESSAGE BOX DW $0006 : DW MRCAF2 ;0006 FRAMES, ANIMATION 2 MAP RIGHT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW MRCAF2 ;0006 FRAMES, ANIMATION 2 MAP RIGHT CANNON ATTACHMENT DW $0006 : DW MRCAF1 ;0006 FRAMES, ANIMATION 1 MAP RIGHT CANNON ATTACHMENT DW $86BC ;DELETE PLM $84/ADA4 ;MAP STATION LEFT ACCESS CRUMBLE BTS 48 DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW MLCAF1 ;0006 FRAMES, ANIMATION 1 MAP LEFT CANNON ATTACHMENT DW $0060 : DW MLCAF2 ;0060 FRAMES, ANIMATION 2 MAP LEFT CANNON ATTACHMENT DW $8C8F ;SET MAP AS COLLECTED AND PLAY MESSAGE BOX DW $0006 : DW MLCAF2 ;0006 FRAMES, ANIMATION 2 MAP LEFT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW MLCAF2 ;0006 FRAMES, ANIMATION 2 MAP LEFT CANNON ATTACHMENT DW $0006 : DW MLCAF1 ;0006 FRAMES, ANIMATION 1 MAP LEFT CANNON ATTACHMENT DW $86BC ;DELETE PLM $84/ADC2 ;ENERGY STATION MAIN RUNNING AI ESAIRUN: DW $8A24 : DW NEXTADC2 ;STORE "NEXT" TO 7E:DEBC,X FOR USE AS SPECIAL INSTRUCTION POINTER ESLOOP: DW $0006 : DW ESAF1 ;ENERGY STATION ANIMATION FRAME 1 DW $0006 : DW ESAF2 ;ENERGY STATION ANIMATION FRAME 2 DW $0006 : DW ESAF3 ;ENERGY STATION ANIMATION FRAME 3 DW $8724 : DW ESLOOP NEXTADC2: DW $AE35 : DW ENDADC2 ;CHECK IF ENERGY FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $874E : DB $10 ;Set 7E:1D77,X (Variable use PLM value) to the argument ESFLOOP: DW $0002 : DW ESAF1 ;ENERGY STATION FASTER ANIMATION FRAME 1 DW $0002 : DW ESAF2 ;ENERGY STATION FASTER ANIMATION FRAME 2 DW $0002 : DW ESAF3 ;ENERGY STATION FASTER ANIMATION FRAME 3 DW $873F : DW ESFLOOP ;Decrement 7E:1D77,X. If not 0, use the address given by the argument as the next instruction ENDADC2: DW $8724 : DW ESAIRUN ;LOOP BACK TO START OF ENERGY STATION MAIN RUNNING AI $84/ADF1 ;ENERGY STATION RIGHT ACCESS CRUMBLE BTS 49 DW $AE35 : DW ENDADF1 ;CHECK IF ENERGY FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW RCAF1 ;0006 FRAMES, ANIMATION 1 RIGHT CANNON ATTACHMENT DW $0060 : DW RCAF2 ;0060 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $8CAF ;SET ENERGY TO MAX, PLAY BOX, RESTORE MOVEMENT DW $0006 : DW RCAF2 ;0006 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW RCAF2 ;0006 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $0006 : DW RCAF1 ;0006 FRAMES, ANIMATION 1 RIGHT CANNON ATTACHMENT ENDADF1: DW $86BC ;DELETE PLM $84/AE13 ;ENERGY STATION LEFT ACCESS CRUMBLE BTS 4A DW $AE35 : DW ENDAE13 ;CHECK IF ENERGY FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW LCAF1 ;0006 FRAMES, ANIMATION 1 LEFT CANNON ATTACHMENT DW $0060 : DW LCAF2 ;0060 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $8CAF ;SET ENERGY TO MAX, PLAY BOX, RESTORE MOVEMENT DW $0006 : DW LCAF2 ;0006 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW LCAF2 ;0006 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $0006 : DW LCAF1 ;0006 FRAMES, ANIMATION 1 LEFT CANNON ATTACHMENT ENDAE13: DW $86BC ;DELETE PLM $84/AE35 AD C4 09 LDA $09C4 [$88:09C4] A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE38 CD C2 09 CMP $09C2 [$88:09C2] A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE3B F0 03 BEQ $03 [$AE40] A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE3D C8 INY A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE3E C8 INY A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE3F 60 RTS A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE40 A9 01 00 LDA #$0001 A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE43 22 84 F0 90 JSL $90F084[$90:F084] A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE47 B9 00 00 LDA $0000,y[$88:00B0] A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE4A A8 TAY A:0000 X:0000 Y:00B0 P:envmXdiZC $84/AE4B 60 RTS $84/AE4C ;MISSILE STATION MAIN RUNNING AI MSAIRUN: DW $8A24 : DW NEXTAE4C ;STORE "NEXT" TO 7E:DEBC,X FOR USE AS SPECIAL INSTRUCTION POINTER MSLOOP: DW $0006 : DW MSAF1 ;MISSILE STATION ANIMATION FRAME 1 DW $0006 : DW MSAF2 ;MISSILE STATION ANIMATION FRAME 2 DW $0006 : DW MSAF3 ;MISSILE STATION ANIMATION FRAME 3 DW $8724 : DW MSLOOP NEXTAE4C: DW $AEBF : DW ENDAE4C ;CHECK IF MISSILES FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $874E : DB $10 ;Set 7E:1D77,X (Variable use PLM value) to the argument MSFLOOP: DW $0003 : DW MSAF1 ;MISSILE STATION FASTER ANIMATION FRAME 1 DW $0003 : DW MSAF2 ;MISSILE STATION FASTER ANIMATION FRAME 2 DW $0003 : DW MSAF3 ;MISSILE STATION FASTER ANIMATION FRAME 3 DW $873F : DW MSFLOOP ;Decrement 7E:1D77,X. If not 0, use the address given by the argument as the next instruction ENDAE4C: DW $8724 : DW MSAIRUN ;LOOP BACK TO START OF MISSILE STATION MAIN RUNNING AI $84/AE7B ;MISSILE STATION RIGHT ACCESS CRUMBLE BTS 4B DW $AEBF : DW ENDAE7B ;CHECK IF MISSILES FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW RCAF1 ;0006 FRAMES, ANIMATION 1 RIGHT CANNON ATTACHMENT DW $0060 : DW RCAF2 ;0060 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $8CD0 ;SET MISSILES TO MAX, PLAY BOX, RESTORE MOVEMENT DW $0006 : DW RCAF2 ;0006 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW RCAF2 ;0006 FRAMES, ANIMATION 2 RIGHT CANNON ATTACHMENT DW $0006 : DW RCAF1 ;0006 FRAMES, ANIMATION 1 RIGHT CANNON ATTACHMENT ENDAE7B: DW $86BC ;DELETE PLM $84/AE9D ;MISSILE STATION LEFT ACCESS CRUMBLE BTS 4C DW $AEBF : DW ENDAE9D ;CHECK IF MISSILES FULL, IF SO USE NEXT INSTRUCTION AS POINTER (END) DW $8C10 : DB $37 ;PLAY A SOUND DW $0006 : DW LCAF1 ;0006 FRAMES, ANIMATION 1 LEFT CANNON ATTACHMENT DW $0060 : DW LCAF2 ;0060 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $8CD0 ;SET MISSILES TO MAX, PLAY BOX, RESTORE MOVEMENT DW $0006 : DW LCAF2 ;0006 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $8C10 : DB $38 ;PLAY A SOUND DW $0006 : DW LCAF2 ;0006 FRAMES, ANIMATION 2 LEFT CANNON ATTACHMENT DW $0006 : DW LCAF1 ;0006 FRAMES, ANIMATION 1 LEFT CANNON ATTACHMENT ENDAE9D: DW $86BC ;DELETE PLM $84/AEBF AD C8 09 LDA $09C8 [$88:09C8] max missiles $84/AEC2 CD C6 09 CMP $09C6 [$88:09C6] current missiles $84/AEC5 F0 03 BEQ $03 [$AECA] $84/AEC7 C8 INY $84/AEC8 C8 INY $84/AEC9 60 RTS $84/AECA A9 01 00 LDA #$0001 $84/AECD 22 84 F0 90 JSL $90F084[$90:F084] general use routine, resets a bunch of stuff $84/AED1 B9 00 00 LDA $0000,y[$88:00B0] $84/AED4 A8 TAY $84/AED5 60 RTS $84/AAE3 ;SAVE STATION TOUCH CRUMBLE BTS 4D DW $86BC ;DELETE PLM... WTF? SERIOUSLY??? $84/AFE8 ;SAVE STATION DW $0001 : DW $9A3F ;ONE FRAME, FULL SAVE STATION GFX TILEMAP DW $86B4 ;DO NOTHING (WAIT FOR PRE-PLM INSTRUCTION FOR CHANGES) DW $8CF1 ;PLAY MESSAGEBOX, SPAWN PROJECTILE, SET SOME BITS (AND OTHER STUFFS) DW $B008 ;SPECIAL BRANCH, ALLOW MOVEMENT AND SET SAVE PLM AS USED, LOOP BACK TO START OF PLM DW $B00E ;ADJUST SAMUS X POSITION (PROBABLY CENTER OF SAVE PLM) DW $8C07 : DB $2E ;PLAY A SOUND DW $874E : DB $15 ;Set 7E:1D77,X (variable use plm value) to 15 SALOOP: DW $0004 : DW $9A9F ;4 FRAMES, DW $0004 : DW $9A6F ;4 FRAMES, DW $873F : DW SALOOP ;Decrement 7E:1D77,X. If not 0, LOOP BACK DW $B024 : DW $B030 ;PLAY MESSAGE BOX, ALLOW SAMUS TO MOVE AGAIN, SET SAVE STATION USED BIT DW $8724 : DW $AFE8 ;LOOP BACK TO START OF SAVE PLM $848A24 B9 00 00 LDA $0000,y[$84:C1A2] $848A27 9F BC DE 7E STA $7EDEBC,x[$7E:DF08] $848A2B C8 INY $848A2C C8 INY $848A2D 60 RTS $848C8F DA PHX $848C90 5A PHY $848C91 AE 9F 07 LDX $079F [$7E:079F] REGION NUMBER $848C94 BF 08 D9 7E LDA $7ED908,x[$7E:D908] MAP STATION BYTE ARRAY $848C98 09 FF 00 ORA #$00FF SET BYTE $848C9B 9F 08 D9 7E STA $7ED908,x[$7E:D908] AND STORE BACK $848C9F A9 14 00 LDA #$0014 $848CA2 22 80 80 85 JSL $858080[$85:8080] PLAY MESSAGE BOX $848CA6 A9 01 00 LDA #$0001 $848CA9 8D 89 07 STA $0789 [$7E:0789] Flag. Current area's map has been collected, display boss and blue rooms $848CAC 7A PLY $848CAD FA PLX $848CAE 60 RTS $848CAF DA PHX $848CB0 5A PHY $848CB1 AD C4 09 LDA $09C4 [$7E:09C4] ENERGY CHECK $848CB4 CD C2 09 CMP $09C2 [$7E:09C2] $848CB7 F0 0D BEQ $0D [$8CC6] $848CB9 A9 15 00 LDA #$0015 $848CBC 22 80 80 85 JSL $858080[$85:8080] PLAY MESSAGE BOX $848CC0 AD C4 09 LDA $09C4 [$7E:09C4] $848CC3 8D C2 09 STA $09C2 [$7E:09C2] SET ENERGY TO MAX $848CC6 A9 01 00 LDA #$0001 $848CC9 22 84 F0 90 JSL $90F084[$90:F084] RESTORE MOVEMENT $848CCD 7A PLY $848CCE FA PLX $848CCF 60 RTS $848CD0 DA PHX $848CD1 5A PHY $848CD2 AD C8 09 LDA $09C8 [$7E:09C8] MISSILE CHECK $848CD5 CD C6 09 CMP $09C6 [$7E:09C6] $848CD8 F0 0D BEQ $0D [$8CE7] $848CDA A9 16 00 LDA #$0016 $848CDD 22 80 80 85 JSL $858080[$85:8080] PLAY MESSAGE BOX $848CE1 AD C8 09 LDA $09C8 [$7E:09C8] $848CE4 8D C6 09 STA $09C6 [$7E:09C6] SET MISSILES TO MAX $848CE7 A9 01 00 LDA #$0001 $848CEA 22 84 F0 90 JSL $90F084[$90:F084] RESTORE MOVEMENT $848CEE 7A PLY $848CEF FA PLX $848CF0 60 RTS $848CF1 DA PHX $848CF2 5A PHY $848CF3 A9 17 00 LDA #$0017 $848CF6 22 80 80 85 JSL $858080[$85:8080] PLAY MESSAGE BOX $848CFA C9 02 00 CMP #$0002 $848CFD F0 33 BEQ $33 [$8D32] $848CFF AE 27 1C LDX $1C27 [$7E:1C27] $848D02 A0 D2 E6 LDY #$E6D2 $848D05 22 97 80 86 JSL $868097[$86:8097] SPAWN PROJECTILE? $848D09 BD C7 1D LDA $1DC7,x[$7E:1E15] $848D0C 29 07 00 AND #$0007 $848D0F 8D 8B 07 STA $078B [$7E:078B] $848D12 22 8E 81 80 JSL $80818E[$80:818E] USED FOR SETTING BITS $848D16 AD 9F 07 LDA $079F [$7E:079F] $848D19 0A ASL A $848D1A AA TAX $848D1B BF F8 D8 7E LDA $7ED8F8,x[$7E:D8F8] $848D1F 0D E7 05 ORA $05E7 [$7E:05E7] $848D22 9F F8 D8 7E STA $7ED8F8,x[$7E:D8F8] $848D26 AD 52 09 LDA $0952 [$7E:0952] $848D29 22 00 80 81 JSL $818000[$81:8000] $848D2D 7A PLY $848D2E FA PLX $848D2F C8 INY $848D30 C8 INY $848D31 60 RTS ;tilemaps for station animations $84/9A3F 02 00 59 B8 59 8C 00 FF 02 00 5B 00 5B 04 00 FE 02 00 5B 00 5B 04 00 FD 02 00 5B 00 5B 04 00 FC 02 00 5B 00 5B 04 00 FB 02 00 59 80 59 84 00 00 $84/9A6F 02 00 59 88 59 8C 00 FF 02 00 5B 00 5B 04 00 FE 02 00 5B 00 5B 04 00 FD 02 00 5B 00 5B 04 00 FC 02 00 5B 00 5B 04 00 FB 02 00 59 80 59 84 00 00 $84/9A9F 02 00 5A 88 5A 8C 00 FF 02 00 5C 00 5C 04 00 FE 02 00 5C 00 5C 04 00 FD 02 00 5C 00 5C 04 00 FC 02 00 5C 00 5C 04 00 FB 02 00 5A 80 5A 84 00 00 $84/9F25 MAPAF1: 01 00 0C 81 FF 00 01 00 0B 81 00 00 $84/9F31 MAPAF2: 01 00 2C 81 FF 00 01 00 2B 81 00 00 $84/9F3D MAPAF3: 01 00 4C 81 FF 00 01 00 4B 81 00 00 $84/9F49 MRCAF1: 01 00 28 81 FD 00 01 00 28 85 00 00 $84/9F55 MRCAF2: 01 00 29 81 00 00 $84/9F5B MLCAF1: 01 00 28 85 03 00 01 00 28 81 00 00 $84/9F67 MLCAF2: 01 00 29 85 00 00 $84/9F6D ESAF1: 01 00 C4 80 00 FF 01 00 A4 10 00 00 $84/9F79 ESAF2: 01 00 C5 80 00 FF 01 00 A5 10 00 00 $84/9F85 ESAF3: 01 00 C6 80 00 FF 01 00 A6 10 00 00 $84/9F91 MSAF1: 01 00 C7 80 00 FF 01 00 A7 10 00 00 $84/9F9D MSAF2: 01 00 C8 80 00 FF 01 00 A8 10 00 00 $84/9FA9 MSAF3: 01 00 C9 80 00 FF 01 00 A9 10 00 00 $84/9FB5 RCAF1: 01 00 C3 B4 00 00 $84/9FBB RCAF2: 01 00 C1 84 00 00 $84/9FC1 LCAF1: 01 00 C3 B0 00 00 $84/9FC7 LCAF2: 01 00 C1 80 00 00 $84/B008 ;SPECIAL BRANCH OF SAVE PLM DW $B030 ;ALLOW SAMUS TO MOVE AGAIN, SET SAVE STATION USED BIT DW $8724 : DW $AFE8 ;LOOP BACK TO START OF SAVE PLM $84B00E AD F6 0A LDA $0AF6 [$7E:0AF6] $84B011 18 CLC $84B012 69 08 00 ADC #$0008 $84B015 29 F0 FF AND #$FFF0 $84B018 8D F6 0A STA $0AF6 [$7E:0AF6] $84B01B DA PHX $84B01C 5A PHY $84B01D 22 F6 E3 91 JSL $91E3F6[$91:E3F6] $84B021 7A PLY $84B022 FA PLX $84B023 60 RTS $84B024 DA PHX $84B025 5A PHY $84B026 A9 18 00 LDA #$0018 $84B029 22 80 80 85 JSL $858080[$85:8080] $84B02D 7A PLY $84B02E FA PLX $84B02F 60 RTS $84B030 A9 01 00 LDA #$0001 $84B033 22 84 F0 90 JSL $90F084[$90:F084] $84B037 A9 01 00 LDA #$0001 $84B03A 8D 75 1E STA $1E75 [$7E:1E75] $84B03D 60 RTS $84B146 A2 4E 00 LDX #$004E $84B149 DD 87 1C CMP $1C87,x[$7E:1CD5] $84B14C F0 06 BEQ $06 [$B154] $84B14E CA DEX $84B14F CA DEX $84B150 10 F7 BPL $F7 [$B149] $84B154 DA PHX $84B155 AE 27 1C LDX $1C27 [$7E:1C27] $84B158 22 90 82 84 JSL $848290[$84:8290] $84B15C FA PLX $84B15D AD 2B 1C LDA $1C2B [$7E:1C2B] $84B160 0A ASL A $84B161 0A ASL A $84B162 0A ASL A $84B163 0A ASL A $84B164 09 0B 00 ORA #$000B $84B167 CD FA 0A CMP $0AFA [$7E:0AFA] $84B16A D0 17 BNE $17 [$B183] $84B16C BF BC DE 7E LDA $7EDEBC,x[$7E:DF0A] $84B170 9D 27 1D STA $1D27,x[$7E:1D75] $84B173 A9 01 00 LDA #$0001 $84B176 9F 1C DE 7E STA $7EDE1C,x[$7E:DE6A] $84B17A A9 06 00 LDA #$0006 $84B17D 22 84 F0 90 JSL $90F084[$90:F084] $84B181 38 SEC $84B182 60 RTS $84/B183 A9 00 00 LDA #$0000 A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B186 99 37 1C STA $1C37,y[$88:1CE7] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B189 38 SEC A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B18A 60 RTS $84/B6D3 DW $B18B : DW $AD62 ;MAP STATION INIT/RUN POINTERS (PLM HEADER) $84B18B BE 87 1C LDX $1C87,y[$7E:1CD5] $84B18E BF 02 00 7F LDA $7F0002,x[$7F:0158] $84B192 29 FF 0F AND #$0FFF $84B195 09 00 80 ORA #$8000 $84B198 9F 02 00 7F STA $7F0002,x[$7F:0158] $84B19C AE 9F 07 LDX $079F [$7E:079F] $84B19F BF 08 D9 7E LDA $7ED908,x[$7E:D908] $84B1A3 29 FF 00 AND #$00FF $84B1A6 D0 19 BNE $19 [$B1C1] $84B1A8 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B1AB E8 INX $84B1AC E8 INX $84B1AD A9 47 B0 LDA #$B047 $84B1B0 20 B4 82 JSR $82B4 [$84:82B4] $84B1B3 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B1B6 CA DEX $84B1B7 CA DEX $84B1B8 CA DEX $84B1B9 CA DEX $84B1BA A9 48 B0 LDA #$B048 $84B1BD 20 B4 82 JSR $82B4 [$84:82B4] $84B1C0 60 RTS $84/B6D7 DW $B1C8 : DW $AD86 ;MAP STATION RIGHT ACCESS CRUMBLE BTS 47 (PLM HEADER) $84B1C8 AD 02 0B LDA $0B02 [$7E:0B02] $84B1CB 29 0F 00 AND #$000F $84B1CE D0 18 BNE $18 [$B1E8] $84B1D0 AD 1C 0A LDA $0A1C [$7E:0A1C] $84B1D3 C9 8A 00 CMP #$008A $84B1D6 D0 10 BNE $10 [$B1E8] $84B1D8 AD 1E 0A LDA $0A1E [$7E:0A1E] $84B1DB 29 04 00 AND #$0004 $84B1DE F0 08 BEQ $08 [$B1E8] $84B1E0 B9 87 1C LDA $1C87,y[$7E:1CD3] $84B1E3 3A DEC A $84B1E4 3A DEC A $84B1E5 4C 46 B1 JMP $B146 [$84:B146] $84B1E8 A9 00 00 LDA #$0000 $84B1EB 99 37 1C STA $1C37,y[$7E:1C83] $84B1EE 38 SEC $84B1EF 60 RTS $84/B6DB DW $B1F0 : DW $ADA4 ;MAP STATION LEFT ACCESS CRUMBLE BTS 48 (PLM HEADER) $84B1F0 AD 02 0B LDA $0B02 [$7E:0B02] $84B1F3 29 0F 00 AND #$000F $84B1F6 C9 01 00 CMP #$0001 $84B1F9 D0 1A BNE $1A [$B215] $84B1FB AD 1C 0A LDA $0A1C [$7E:0A1C] $84B1FE C9 89 00 CMP #$0089 $84B201 D0 12 BNE $12 [$B215] $84B203 AD 1E 0A LDA $0A1E [$7E:0A1E] $84B206 29 08 00 AND #$0008 $84B209 F0 0A BEQ $0A [$B215] $84B20B B9 87 1C LDA $1C87,y[$7E:1CD3] $84B20E 1A INC A $84B20F 1A INC A $84B210 1A INC A $84B211 1A INC A $84B212 4C 46 B1 JMP $B146 [$84:B146] $84B215 A9 00 00 LDA #$0000 $84B218 99 37 1C STA $1C37,y[$7E:1C83] $84B21B 38 SEC $84B21C 60 RTS $84/B6DF DW $B21D : DW $ADC2 ;ENERGY STATION INIT/RUN POINTERS (PLM HEADER) $84B21D BE 87 1C LDX $1C87,y[$7E:1CD5] $84B220 BF 02 00 7F LDA $7F0002,x[$7F:014A] $84B224 29 FF 0F AND #$0FFF $84B227 09 00 80 ORA #$8000 $84B22A 9F 02 00 7F STA $7F0002,x[$7F:014A] $84B22E BE 87 1C LDX $1C87,y[$7E:1CD5] $84B231 E8 INX $84B232 E8 INX $84B233 A9 49 B0 LDA #$B049 $84B236 20 B4 82 JSR $82B4 [$84:82B4] $84B239 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B23C CA DEX $84B23D CA DEX $84B23E A9 4A B0 LDA #$B04A $84B241 20 B4 82 JSR $82B4 [$84:82B4] $84B244 60 RTS $84/B6EB DW $B245 : DW $AE4C ;MISSILE STATION INIT/RUN POINTERS (PLM HEADER) $84B245 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B248 BF 02 00 7F LDA $7F0002,x[$7F:014A] $84B24C 29 FF 0F AND #$0FFF $84B24F 09 00 80 ORA #$8000 $84B252 9F 02 00 7F STA $7F0002,x[$7F:014A] $84B256 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B259 E8 INX $84B25A E8 INX $84B25B A9 4B B0 LDA #$B04B $84B25E 20 B4 82 JSR $82B4 [$84:82B4] $84B261 BE 87 1C LDX $1C87,y[$7E:1CD5] $84B264 CA DEX $84B265 CA DEX $84B266 A9 4C B0 LDA #$B04C $84B269 20 B4 82 JSR $82B4 [$84:82B4] $84B26C 60 RTS $84/B6E3 DW $B26D : DW $ADF1 ;ENERGY STATION RIGHT ACCESS CRUMBLE BTS 49 (PLM HEADER) $84B26D AD 02 0B LDA $0B02 [$7E:0B02] $84B270 29 0F 00 AND #$000F $84B273 D0 20 BNE $20 [$B295] $84B275 AD 1C 0A LDA $0A1C [$7E:0A1C] $84B278 C9 8A 00 CMP #$008A $84B27B D0 18 BNE $18 [$B295] $84B27D AD 1E 0A LDA $0A1E [$7E:0A1E] $84B280 29 04 00 AND #$0004 $84B283 F0 10 BEQ $10 [$B295] $84B285 AD C2 09 LDA $09C2 [$7E:09C2] $84B288 CD C4 09 CMP $09C4 [$7E:09C4] $84B28B F0 08 BEQ $08 [$B295] $84B28D B9 87 1C LDA $1C87,y[$7E:1CD3] $84B290 3A DEC A $84B291 3A DEC A $84B292 4C 46 B1 JMP $B146 [$84:B146] $84B295 A9 00 00 LDA #$0000 $84B298 99 37 1C STA $1C37,y[$7E:1C83] $84B29B 38 SEC $84B29C 60 RTS $84/B6E7 DW $B29D : DW $AE13 ;ENERGY STATION LEFT ACCESS CRUMBLE BTS 4A (PLM HEADER) $84B29D AD 02 0B LDA $0B02 [$7E:0B02] $84B2A0 29 0F 00 AND #$000F $84B2A3 C9 01 00 CMP #$0001 $84B2A6 D0 20 BNE $20 [$B2C8] $84B2A8 AD 1C 0A LDA $0A1C [$7E:0A1C] $84B2AB C9 89 00 CMP #$0089 $84B2AE D0 18 BNE $18 [$B2C8] $84B2B0 AD 1E 0A LDA $0A1E [$7E:0A1E] $84B2B3 29 08 00 AND #$0008 $84B2B6 F0 10 BEQ $10 [$B2C8] $84B2B8 AD C2 09 LDA $09C2 [$7E:09C2] $84B2BB CD C4 09 CMP $09C4 [$7E:09C4] $84B2BE F0 08 BEQ $08 [$B2C8] $84B2C0 B9 87 1C LDA $1C87,y[$7E:1CD1] $84B2C3 1A INC A $84B2C4 1A INC A $84B2C5 4C 46 B1 JMP $B146 [$84:B146] $84B2C8 A9 00 00 LDA #$0000 $84B2CB 99 37 1C STA $1C37,y[$7E:1C81] $84B2CE 38 SEC $84B2CF 60 RTS $84/B6EF DW $B2D0 : DW $AE7B ;MISSILE STATION RIGHT ACCESS CRUMBLE BTS 4B (PLM HEADER) $84B2D0 AD 02 0B LDA $0B02 [$7E:0B02] $84B2D3 29 0F 00 AND #$000F $84B2D6 D0 20 BNE $20 [$B2F8] $84B2D8 AD 1C 0A LDA $0A1C [$7E:0A1C] $84B2DB C9 8A 00 CMP #$008A $84B2DE D0 18 BNE $18 [$B2F8] $84B2E0 AD 1E 0A LDA $0A1E [$7E:0A1E] $84B2E3 29 04 00 AND #$0004 $84B2E6 F0 10 BEQ $10 [$B2F8] $84B2E8 AD C6 09 LDA $09C6 [$7E:09C6] $84B2EB CD C8 09 CMP $09C8 [$7E:09C8] $84B2EE F0 08 BEQ $08 [$B2F8] $84B2F0 B9 87 1C LDA $1C87,y[$7E:1CD3] $84B2F3 3A DEC A $84B2F4 3A DEC A $84B2F5 4C 46 B1 JMP $B146 [$84:B146] $84B2F8 A9 00 00 LDA #$0000 $84B2FB 99 37 1C STA $1C37,y[$7E:1C83] $84B2FE 38 SEC $84B2FF 60 RTS $84/B6F3 DW $B300 : DW $AE9D ;MISSILE STATION LEFT ACCESS CRUMBLE BTS 4C (PLM HEADER) $84B300 AD 02 0B LDA $0B02 [$7E:0B02] $84B303 29 0F 00 AND #$000F $84B306 C9 01 00 CMP #$0001 $84B309 D0 20 BNE $20 [$B32B] $84/B30B AD 1C 0A LDA $0A1C [$88:0A1C] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B30E C9 89 00 CMP #$0089 A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B311 D0 18 BNE $18 [$B32B] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B313 AD 1E 0A LDA $0A1E [$88:0A1E] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B316 29 08 00 AND #$0008 A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B319 F0 10 BEQ $10 [$B32B] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B31B AD C6 09 LDA $09C6 [$88:09C6] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B31E CD C8 09 CMP $09C8 [$88:09C8] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B321 F0 08 BEQ $08 [$B32B] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B323 B9 87 1C LDA $1C87,y[$88:1D37] A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B326 1A INC A A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B327 1A INC A A:0000 X:0000 Y:00B0 P:envmxdiZC $84/B328 4C 46 B1 JMP $B146 [$88:B146] A:0000 X:0000 Y:00B0 P:envmxdiZC $84B32B A9 00 00 LDA #$0000 $84B32E 99 37 1C STA $1C37,y[$7E:1C81] $84B331 38 SEC $84B332 60 RTS $84/B76B DW $B590 : DW $AAE3 ;SAVE STATION TOUCH CRUMBLE BTS 4D (PLM HEADER) $84B590 AD 92 05 LDA $0592 [$7E:0592] $84B593 D0 57 BNE $57 [$B5EC] $84B595 AD 1C 0A LDA $0A1C [$7E:0A1C] $84B598 C9 01 00 CMP #$0001 $84B59B F0 05 BEQ $05 [$B5A2] $84B59D C9 02 00 CMP #$0002 $84B5A0 D0 4A BNE $4A [$B5EC] $84B5A2 AD 75 1E LDA $1E75 [$7E:1E75] $84B5A5 D0 45 BNE $45 [$B5EC] $84B5A7 AD 02 0B LDA $0B02 [$7E:0B02] $84B5AA 29 0F 00 AND #$000F $84B5AD C9 03 00 CMP #$0003 $84B5B0 D0 3A BNE $3A [$B5EC] $84B5B2 BB TYX $84B5B3 22 90 82 84 JSL $848290[$84:8290] $84B5B7 AD F6 0A LDA $0AF6 [$7E:0AF6] $84B5BA 38 SEC $84B5BB E9 08 00 SBC #$0008 $84B5BE 4A LSR A $84B5BF 4A LSR A $84B5C0 4A LSR A $84B5C1 4A LSR A $84B5C2 CD 29 1C CMP $1C29 [$7E:1C29] $84B5C5 D0 25 BNE $25 [$B5EC] $84B5C7 BB TYX $84B5C8 BD 87 1C LDA $1C87,x[$7E:1CD3] $84B5CB 9E 87 1C STZ $1C87,x[$7E:1CD3] $84B5CE 9E 37 1C STZ $1C37,x[$7E:1C83] $84B5D1 A2 4E 00 LDX #$004E $84B5D4 DD 87 1C CMP $1C87,x[$7E:1CD5] $84B5D7 F0 06 BEQ $06 [$B5DF] $84B5DF FE 27 1D INC $1D27,x[$7E:1D75] $84B5E2 FE 27 1D INC $1D27,x[$7E:1D75] $84B5E5 A9 01 00 LDA #$0001 $84B5E8 9F 1C DE 7E STA $7EDE1C,x[$7E:DE6A] $84B5EC 38 SEC $84B5ED 60 RTS $84/B76F DW $B5EE : DW $AFE8 ;SAVE STATION $84B5EE BE 87 1C LDX $1C87,y[$7E:1CD5] $84B5F1 A9 4D B0 LDA #$B04D $84B5F4 20 B4 82 JSR $82B4 [$84:82B4] $84B5F7 60 RTS