;;; PLM-esque instructions ;;; $A3E9CF dw 0010,F10D, 0010,F137, 0006,F157, 000A,F181, 0010,F137, 0010,F10D, 0010,F137, 0006,F157, 000A,F181, 0010,F137, 0010,F10D, 0010,F137, 0006,F157, 000A,F181, 0010,F137, 0010,F10D, 0010,F137, 0006,F157, 000A,F181, 0010,F137, EAB1, 80ED,E9CF $A3EA25 dw 0010,F10D, 0010,F137, 0006,F157, 000A,F181, 0010,F137, EAA5, 80ED,EA25 ;;; Speeds ;;; $A3EA3F dw 0002, 0000, FFFE, 0000 $A3EA47 dw 0000, FFFE, 0000, 0002 ;;; Initiation AI - Metroid ;;; $A3EA4F AE 54 0E LDX $0E54 [$7E:0E54] ; X = enemy index $A3EA52 A9 CF E9 LDA #$E9CF ;\ $A3EA55 9D 92 0F STA $0F92,x[$7E:0F92] ;} Enemy PLM-esque instruction = $E9CF $A3EA58 BD 96 0F LDA $0F96,x[$7E:0F96] ;\ $A3EA5B 1D 98 0F ORA $0F98,x[$7E:0F98] ;} $18 = enemy palette slot | VRAM index $A3EA5E 85 18 STA $18 [$7E:0018] ;/ $A3EA60 BD 7A 0F LDA $0F7A,x[$7E:0F7A] ;\ $A3EA63 85 12 STA $12 [$7E:0012] ;} $12 = enemy X position $A3EA65 BD 7E 0F LDA $0F7E,x[$7E:0F7E] ;\ $A3EA68 85 14 STA $14 [$7E:0014] ;} $14 = enemy Y position $A3EA6A A9 32 00 LDA #$0032 ;\ $A3EA6D 85 16 STA $16 [$7E:0016] ;} $16 = 32h $A3EA6F 22 26 BC B4 JSL $B4BC26[$B4:BC26] ; Create misc. enemy sprite $A3EA73 A5 12 LDA $12 [$7E:0012] ;\ $A3EA75 9F 00 78 7E STA $7E7800,x[$7E:7800] ;} $7E7800+X = [$12] $A3EA79 AE 54 0E LDX $0E54 [$7E:0E54] ; X = enemy index $A3EA7C BD 96 0F LDA $0F96,x[$7E:0F96] ;\ $A3EA7F 1D 98 0F ORA $0F98,x[$7E:0F98] ;} $18 = enemy palette slot | VRAM index $A3EA82 85 18 STA $18 [$7E:0018] ;/ $A3EA84 BD 7A 0F LDA $0F7A,x[$7E:0F7A] ;\ $A3EA87 85 12 STA $12 [$7E:0012] ;} $12 = enemy X position $A3EA89 BD 7E 0F LDA $0F7E,x[$7E:0F7E] ;\ $A3EA8C 85 14 STA $14 [$7E:0014] ;} $14 = enemy Y position $A3EA8E A9 34 00 LDA #$0034 ;\ $A3EA91 85 16 STA $16 [$7E:0016] ;} $16 = 34h $A3EA93 22 26 BC B4 JSL $B4BC26[$B4:BC26] ; Create misc. enemy sprite $A3EA97 A5 12 LDA $12 [$7E:0012] ;\ $A3EA99 9F 02 78 7E STA $7E7802,x[$7E:7802] ;} $7E7802+X = [$12] $A3EA9D A9 00 00 LDA #$0000 ;\ $A3EAA0 9F 04 78 7E STA $7E7804,x[$7E:7804] ;} $7E7804+X = 0000 $A3EAA4 6B RTL ;;; ;;; $A3EAA5 DA PHX $A3EAA6 5A PHY $A3EAA7 A9 50 00 LDA #$0050 $A3EAAA 22 CB 90 80 JSL $8090CB[$80:90CB] $A3EAAE 7A PLY $A3EAAF FA PLX $A3EAB0 6B RTL ;;; ;;; $A3EAB1 DA PHX $A3EAB2 5A PHY $A3EAB3 22 11 81 80 JSL $808111[$80:8111] $A3EAB7 29 07 00 AND #$0007 $A3EABA 0A ASL A $A3EABB AA TAX $A3EABC BD D6 EA LDA $EAD6,x[$A3:EAE4] $A3EABF 22 CB 90 80 JSL $8090CB[$80:90CB] $A3EAC3 7A PLY $A3EAC4 FA PLX $A3EAC5 6B RTL ;;; Frozen AI - Metroid ;;; $A3EAE6 22 41 80 A3 JSL $A38041[$A3:8041] ; Normal frozen AI $A3EAEA AE 54 0E LDX $0E54 [$7E:0E54] $A3EAED BD B0 0F LDA $0FB0,x[$7E:1070] $A3EAF0 F0 09 BEQ $09 [$EAFB] $A3EAF2 DE B0 0F DEC $0FB0,x $A3EAF5 A9 02 00 LDA #$0002 $A3EAF8 9D 9C 0F STA $0F9C,x $A3EAFB BF 00 78 7E LDA $7E7800,x[$7E:78C0] $A3EAFF AA TAX $A3EB00 A9 00 0C LDA #$0C00 $A3EB03 9F 78 F0 7E STA $7EF078,x[$7E:F0AA] $A3EB07 A9 01 00 LDA #$0001 $A3EB0A 9F F8 F2 7E STA $7EF2F8,x[$7E:F32A] $A3EB0E A9 BA C3 LDA #$C3BA $A3EB11 9F 78 EF 7E STA $7EEF78,x[$7E:EFAA] $A3EB15 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB18 BF 02 78 7E LDA $7E7802,x[$7E:78C2] $A3EB1C AA TAX $A3EB1D A9 00 0C LDA #$0C00 $A3EB20 9F 78 F0 7E STA $7EF078,x[$7E:F0A8] $A3EB24 A9 01 00 LDA #$0001 $A3EB27 9F F8 F2 7E STA $7EF2F8,x[$7E:F328] $A3EB2B A9 B6 C4 LDA #$C4B6 $A3EB2E 9F 78 EF 7E STA $7EEF78,x[$7E:EFA8] $A3EB32 6B RTL ;;; Special enemy shot - Metroid ;;; $A3EB33 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB36 A0 FF F1 LDY #$F1FF $A3EB39 BD 9C 0F LDA $0F9C,x[$7E:105C] $A3EB3C 89 02 00 BIT #$0002 $A3EB3F F0 30 BEQ $30 [$EB71] $A3EB41 BD 96 0F LDA $0F96,x[$7E:1056] $A3EB44 85 12 STA $12 [$7E:0012] $A3EB46 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB49 BF 00 78 7E LDA $7E7800,x[$7E:78C0] $A3EB4D AA TAX $A3EB4E BF 78 F0 7E LDA $7EF078,x[$7E:F0AA] $A3EB52 29 FF F1 AND #$F1FF $A3EB55 05 12 ORA $12 [$7E:0012] $A3EB57 9F 78 F0 7E STA $7EF078,x[$7E:F0AA] $A3EB5B AE 54 0E LDX $0E54 [$7E:0E54] $A3EB5E BF 02 78 7E LDA $7E7802,x[$7E:78C2] $A3EB62 AA TAX $A3EB63 BF 78 F0 7E LDA $7EF078,x[$7E:F0A8] $A3EB67 29 FF F1 AND #$F1FF $A3EB6A 05 12 ORA $12 [$7E:0012] $A3EB6C 9F 78 F0 7E STA $7EF078,x[$7E:F0A8] $A3EB70 6B RTL $A3EB71 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB74 BF 00 78 7E LDA $7E7800,x[$7E:78C0] $A3EB78 AA TAX $A3EB79 BF 78 F0 7E LDA $7EF078,x[$7E:F0AA] $A3EB7D 29 FF F1 AND #$F1FF $A3EB80 9F 78 F0 7E STA $7EF078,x[$7E:F0AA] $A3EB84 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB87 BF 02 78 7E LDA $7E7802,x[$7E:78C2] $A3EB8B AA TAX $A3EB8C BF 78 F0 7E LDA $7EF078,x[$7E:F0A8] $A3EB90 29 FF F1 AND #$F1FF $A3EB93 9F 78 F0 7E STA $7EF078,x[$7E:F0A8] $A3EB97 6B RTL ;;; Graph AI - Metroid ;;; $A3EB98 AE 54 0E LDX $0E54 [$7E:0E54] $A3EB9B AD FA 0A LDA $0AFA [$7E:0AFA] $A3EB9E 38 SEC $A3EB9F E9 08 00 SBC #$0008 $A3EBA2 8D 32 0E STA $0E32 [$7E:0E32] $A3EBA5 BD B2 0F LDA $0FB2,x[$7E:1072] $A3EBA8 0A ASL A $A3EBA9 AA TAX $A3EBAA FC 09 EC JSR ($EC09,x)[$A3:EC11] $A3EBAD BD 96 0F LDA $0F96,x[$7E:1056] $A3EBB0 1D 98 0F ORA $0F98,x[$7E:1058] $A3EBB3 85 18 STA $18 [$7E:0018] $A3EBB5 BD 7A 0F LDA $0F7A,x[$7E:103A] $A3EBB8 85 12 STA $12 [$7E:0012] $A3EBBA BD 7E 0F LDA $0F7E,x[$7E:103E] $A3EBBD 85 14 STA $14 [$7E:0014] $A3EBBF BF 00 78 7E LDA $7E7800,x[$7E:78C0] $A3EBC3 AA TAX $A3EBC4 A5 12 LDA $12 [$7E:0012] $A3EBC6 9F F8 F0 7E STA $7EF0F8,x[$7E:F12A] $A3EBCA A5 14 LDA $14 [$7E:0014] $A3EBCC 9F F8 F1 7E STA $7EF1F8,x[$7E:F22A] $A3EBD0 A5 18 LDA $18 [$7E:0018] $A3EBD2 9F 78 F0 7E STA $7EF078,x[$7E:F0AA] $A3EBD6 A9 00 00 LDA #$0000 $A3EBD9 9F F8 F2 7E STA $7EF2F8,x[$7E:F32A] $A3EBDD AE 54 0E LDX $0E54 [$7E:0E54] $A3EBE0 BD 7A 0F LDA $0F7A,x[$7E:103A] $A3EBE3 85 12 STA $12 [$7E:0012] $A3EBE5 BD 7E 0F LDA $0F7E,x[$7E:103E] $A3EBE8 85 14 STA $14 [$7E:0014] $A3EBEA BF 02 78 7E LDA $7E7802,x[$7E:78C2] $A3EBEE AA TAX $A3EBEF A5 12 LDA $12 [$7E:0012] $A3EBF1 9F F8 F0 7E STA $7EF0F8,x[$7E:F128] $A3EBF5 A5 14 LDA $14 [$7E:0014] $A3EBF7 9F F8 F1 7E STA $7EF1F8,x[$7E:F228] $A3EBFB A5 18 LDA $18 [$7E:0018] $A3EBFD 9F 78 F0 7E STA $7EF078,x[$7E:F0A8] $A3EC01 A9 00 00 LDA #$0000 $A3EC04 9F F8 F2 7E STA $7EF2F8,x[$7E:F328] $A3EC08 6B RTL $A3EC09 dw EC11, ECDC, ED8F, EDAB ;;; ;;; $A3EC11 AE 54 0E LDX $0E54 [$7E:0E54] $A3EC14 64 12 STZ $12 [$7E:0012] $A3EC16 64 14 STZ $14 [$7E:0014] $A3EC18 BD 7E 0F LDA $0F7E,x[$7E:103E] $A3EC1B 38 SEC $A3EC1C ED 32 0E SBC $0E32 [$7E:0E32] $A3EC1F 4A LSR A $A3EC20 4A LSR A $A3EC21 85 13 STA $13 [$7E:0013] $A3EC23 29 00 20 AND #$2000 $A3EC26 F0 07 BEQ $07 [$EC2F] $A3EC28 A5 14 LDA $14 [$7E:0014] $A3EC2A 09 C0 FF ORA #$FFC0 $A3EC2D 85 14 STA $14 [$7E:0014] $A3EC2F BD AC 0F LDA $0FAC,x[$7E:106C] $A3EC32 38 SEC $A3EC33 E5 12 SBC $12 [$7E:0012] $A3EC35 9D AC 0F STA $0FAC,x[$7E:106C] $A3EC38 BD AE 0F LDA $0FAE,x[$7E:106E] $A3EC3B E5 14 SBC $14 [$7E:0014] $A3EC3D 9D AE 0F STA $0FAE,x[$7E:106E] $A3EC40 30 0A BMI $0A [$EC4C] $A3EC42 C9 03 00 CMP #$0003 $A3EC45 90 13 BCC $13 [$EC5A] $A3EC4C C9 FD FF CMP #$FFFD $A3EC4F B0 09 BCS $09 [$EC5A] $A3EC51 A9 FD FF LDA #$FFFD $A3EC54 9D AE 0F STA $0FAE,x $A3EC57 9E AC 0F STZ $0FAC,x $A3EC5A BD AC 0F LDA $0FAC,x[$7E:106C] $A3EC5D 85 12 STA $12 [$7E:0012] $A3EC5F BD AE 0F LDA $0FAE,x[$7E:106E] $A3EC62 85 14 STA $14 [$7E:0014] $A3EC64 AE 54 0E LDX $0E54 [$7E:0E54] $A3EC67 22 86 C7 A0 JSL $A0C786[$A0:C786] $A3EC6B 90 09 BCC $09 [$EC76] $A3EC6D AE 54 0E LDX $0E54 [$7E:0E54] $A3EC70 9E AC 0F STZ $0FAC,x[$7E:0FAC] $A3EC73 9E AE 0F STZ $0FAE,x[$7E:0FAE] $A3EC76 AE 54 0E LDX $0E54 [$7E:0E54] $A3EC79 64 12 STZ $12 [$7E:0012] $A3EC7B 64 14 STZ $14 [$7E:0014] $A3EC7D BD 7A 0F LDA $0F7A,x[$7E:103A] $A3EC80 38 SEC $A3EC81 ED F6 0A SBC $0AF6 [$7E:0AF6] $A3EC84 4A LSR A $A3EC85 4A LSR A $A3EC86 85 13 STA $13 [$7E:0013] $A3EC88 29 00 20 AND #$2000 $A3EC8B F0 07 BEQ $07 [$EC94] $A3EC8D A5 14 LDA $14 [$7E:0014] $A3EC8F 09 C0 FF ORA #$FFC0 $A3EC92 85 14 STA $14 [$7E:0014] $A3EC94 BD A8 0F LDA $0FA8,x[$7E:1068] $A3EC97 38 SEC $A3EC98 E5 12 SBC $12 [$7E:0012] $A3EC9A 9D A8 0F STA $0FA8,x[$7E:1068] $A3EC9D BD AA 0F LDA $0FAA,x[$7E:106A] $A3ECA0 E5 14 SBC $14 [$7E:0014] $A3ECA2 9D AA 0F STA $0FAA,x[$7E:106A] $A3ECA5 30 0A BMI $0A [$ECB1] $A3ECA7 C9 03 00 CMP #$0003 $A3ECAA 90 13 BCC $13 [$ECBF] $A3ECAC A9 03 00 LDA #$0003 $A3ECAF 80 08 BRA $08 [$ECB9] $A3ECB1 C9 FD FF CMP #$FFFD $A3ECB4 B0 09 BCS $09 [$ECBF] $A3ECB6 A9 FD FF LDA #$FFFD $A3ECB9 9D AA 0F STA $0FAA,x[$7E:106A] $A3ECBC 9E A8 0F STZ $0FA8,x[$7E:1068] $A3ECBF BD A8 0F LDA $0FA8,x[$7E:1068] $A3ECC2 85 12 STA $12 [$7E:0012] $A3ECC4 BD AA 0F LDA $0FAA,x[$7E:106A] $A3ECC7 85 14 STA $14 [$7E:0014] $A3ECC9 AE 54 0E LDX $0E54 [$7E:0E54] $A3ECCC 22 AB C6 A0 JSL $A0C6AB[$A0:C6AB] $A3ECD0 90 09 BCC $09 [$ECDB] $A3ECD2 AE 54 0E LDX $0E54 [$7E:0E54] $A3ECD5 9E A8 0F STZ $0FA8,x $A3ECD8 9E AA 0F STZ $0FAA,x $A3ECDB 60 RTS ;;; ;;; $A3ECDC AE 54 0E LDX $0E54 [$7E:0E54] $A3ECDF 64 12 STZ $12 [$7E:0012] $A3ECE1 64 14 STZ $14 [$7E:0014] $A3ECE3 AD 32 0E LDA $0E32 [$7E:0E32] $A3ECE6 38 SEC $A3ECE7 FD 7E 0F SBC $0F7E,x[$7E:0FBE] $A3ECEA EB XBA $A3ECEB 29 00 FF AND #$FF00 $A3ECEE 4A LSR A $A3ECEF 4A LSR A $A3ECF0 4A LSR A $A3ECF1 85 14 STA $14 [$7E:0014] $A3ECF3 29 00 10 AND #$1000 $A3ECF6 F0 07 BEQ $07 [$ECFF] $A3ECF8 A5 14 LDA $14 [$7E:0014] $A3ECFA 09 00 E0 ORA #$E000 $A3ECFD 85 14 STA $14 [$7E:0014] $A3ECFF A5 14 LDA $14 [$7E:0014] $A3ED01 30 0A BMI $0A [$ED0D] $A3ED03 C9 03 00 CMP #$0003 $A3ED06 90 11 BCC $11 [$ED19] $A3ED08 A9 03 00 LDA #$0003 $A3ED0B 80 08 BRA $08 [$ED15] $A3ED0D C9 FD FF CMP #$FFFD $A3ED10 B0 07 BCS $07 [$ED19] $A3ED12 A9 FD FF LDA #$FFFD $A3ED15 85 14 STA $14 [$7E:0014] $A3ED17 64 12 STZ $12 [$7E:0012] $A3ED19 A5 12 LDA $12 [$7E:0012] $A3ED1B 9D AC 0F STA $0FAC,x[$7E:0FEC] $A3ED1E A5 14 LDA $14 [$7E:0014] $A3ED20 9D AE 0F STA $0FAE,x[$7E:0FEE] $A3ED23 AE 54 0E LDX $0E54 [$7E:0E54] $A3ED26 22 86 C7 A0 JSL $A0C786[$A0:C786] $A3ED2A 90 09 BCC $09 [$ED35] $A3ED2C AE 54 0E LDX $0E54 [$7E:0E54] $A3ED2F 9E AC 0F STZ $0FAC,x $A3ED32 9E AE 0F STZ $0FAE,x $A3ED35 AE 54 0E LDX $0E54 [$7E:0E54] $A3ED38 64 12 STZ $12 [$7E:0012] $A3ED3A 64 14 STZ $14 [$7E:0014] $A3ED3C AD F6 0A LDA $0AF6 [$7E:0AF6] $A3ED3F 38 SEC $A3ED40 FD 7A 0F SBC $0F7A,x[$7E:0FBA] $A3ED43 EB XBA $A3ED44 29 00 FF AND #$FF00 $A3ED47 4A LSR A $A3ED48 4A LSR A $A3ED49 4A LSR A $A3ED4A 85 14 STA $14 [$7E:0014] $A3ED4C 29 00 10 AND #$1000 $A3ED4F F0 07 BEQ $07 [$ED58] $A3ED51 A5 14 LDA $14 [$7E:0014] $A3ED53 09 00 E0 ORA #$E000 $A3ED56 85 14 STA $14 [$7E:0014] $A3ED58 A5 14 LDA $14 [$7E:0014] $A3ED5A 30 0A BMI $0A [$ED66] $A3ED5C C9 03 00 CMP #$0003 $A3ED5F 90 11 BCC $11 [$ED72] $A3ED61 A9 03 00 LDA #$0003 $A3ED64 80 08 BRA $08 [$ED6E] $A3ED66 C9 FD FF CMP #$FFFD $A3ED69 B0 07 BCS $07 [$ED72] $A3ED6B A9 FD FF LDA #$FFFD $A3ED6E 85 14 STA $14 [$7E:0014] $A3ED70 64 12 STZ $12 [$7E:0012] $A3ED72 A5 12 LDA $12 [$7E:0012] $A3ED74 9D A8 0F STA $0FA8,x[$7E:0FE8] $A3ED77 A5 14 LDA $14 [$7E:0014] $A3ED79 9D AA 0F STA $0FAA,x[$7E:0FEA] $A3ED7C AE 54 0E LDX $0E54 [$7E:0E54] $A3ED7F 22 AB C6 A0 JSL $A0C6AB[$A0:C6AB] $A3ED83 90 09 BCC $09 [$ED8E] $A3ED85 AE 54 0E LDX $0E54 [$7E:0E54] $A3ED88 9E A8 0F STZ $0FA8,x $A3ED8B 9E AA 0F STZ $0FAA,x $A3ED8E 60 RTS ;;; ;;; $A3ED8F AE 54 0E LDX $0E54 [$7E:0E54] $A3ED92 AD F6 0A LDA $0AF6 [$7E:0AF6] $A3ED95 9D 7A 0F STA $0F7A,x[$7E:0FBA] $A3ED98 AD 32 0E LDA $0E32 [$7E:0E32] $A3ED9B 9D 7E 0F STA $0F7E,x[$7E:0FBE] $A3ED9E 9E A8 0F STZ $0FA8,x[$7E:0FE8] $A3EDA1 9E AA 0F STZ $0FAA,x[$7E:0FEA] $A3EDA4 9E AC 0F STZ $0FAC,x[$7E:0FEC] $A3EDA7 9E AE 0F STZ $0FAE,x[$7E:0FEE] $A3EDAA 60 RTS ;;; ;;; $A3EDAB AE 54 0E LDX $0E54 [$7E:0E54] $A3EDAE BD B0 0F LDA $0FB0,x[$7E:0FF0] $A3EDB1 29 03 00 AND #$0003 $A3EDB4 0A ASL A $A3EDB5 A8 TAY $A3EDB6 BD 7A 0F LDA $0F7A,x[$7E:0FBA] $A3EDB9 18 CLC $A3EDBA 79 3F EA ADC $EA3F,y[$A3:EA3F] $A3EDBD 9D 7A 0F STA $0F7A,x[$7E:0FBA] $A3EDC0 BD 7E 0F LDA $0F7E,x[$7E:0FBE] $A3EDC3 18 CLC $A3EDC4 79 47 EA ADC $EA47,y[$A3:EA47] $A3EDC7 9D 7E 0F STA $0F7E,x[$7E:0FBE] $A3EDCA 9E A8 0F STZ $0FA8,x[$7E:0FE8] $A3EDCD 9E AA 0F STZ $0FAA,x[$7E:0FEA] $A3EDD0 9E AC 0F STZ $0FAC,x[$7E:0FEC] $A3EDD3 9E AE 0F STZ $0FAE,x[$7E:0FEE] $A3EDD6 DE B0 0F DEC $0FB0,x[$7E:0FF0] $A3EDD9 D0 0F BNE $0F [$EDEA] $A3EDDB 9E B2 0F STZ $0FB2,x[$7E:0FF2] $A3EDDE A9 CF E9 LDA #$E9CF $A3EDE1 9D 92 0F STA $0F92,x[$7E:0FD2] $A3EDE4 A9 01 00 LDA #$0001 $A3EDE7 9D 94 0F STA $0F94,x[$7E:0FD4] $A3EDEA 60 RTS ;;; Enemy touch - Metroid ;;; $A3EDEB AD FA 0A LDA $0AFA [$7E:0AFA] $A3EDEE 38 SEC $A3EDEF E9 08 00 SBC #$0008 $A3EDF2 8D 32 0E STA $0E32 [$7E:0E32] $A3EDF5 AD 6E 0A LDA $0A6E [$7E:0A6E] $A3EDF8 F0 5D BEQ $5D [$EE57] $A3EDFA AE 54 0E LDX $0E54 [$7E:0E54] $A3EDFD BD B2 0F LDA $0FB2,x[$7E:0FF2] $A3EE00 C9 02 00 CMP #$0002 $A3EE03 F0 51 BEQ $51 [$EE56] $A3EE05 9E A8 0F STZ $0FA8,x $A3EE08 9E AC 0F STZ $0FAC,x $A3EE0B A0 00 00 LDY #$0000 $A3EE0E BD 7A 0F LDA $0F7A,x $A3EE11 38 SEC $A3EE12 ED F6 0A SBC $0AF6 [$7E:0AF6] $A3EE15 10 03 BPL $03 [$EE1A] $A3EE17 A0 00 FF LDY #$FF00 $A3EE1A 48 PHA $A3EE1B 98 TYA $A3EE1C 9D AA 0F STA $0FAA,x $A3EE1F 68 PLA $A3EE20 0A ASL A $A3EE21 0A ASL A $A3EE22 0A ASL A $A3EE23 0A ASL A $A3EE24 0A ASL A $A3EE25 0A ASL A $A3EE26 9D A9 0F STA $0FA9,x $A3EE29 A0 00 00 LDY #$0000 $A3EE2C BD 7E 0F LDA $0F7E,x $A3EE2F 38 SEC $A3EE30 ED 32 0E SBC $0E32 [$7E:0E32] $A3EE33 10 03 BPL $03 [$EE38] $A3EE35 A0 00 FF LDY #$FF00 $A3EE38 48 PHA $A3EE39 98 TYA $A3EE3A 9D AE 0F STA $0FAE,x $A3EE3D 68 PLA $A3EE3E 0A ASL A $A3EE3F 0A ASL A $A3EE40 0A ASL A $A3EE41 0A ASL A $A3EE42 0A ASL A $A3EE43 0A ASL A $A3EE44 9D AD 0F STA $0FAD,x $A3EE47 9E B2 0F STZ $0FB2,x $A3EE4A A9 CF E9 LDA #$E9CF $A3EE4D 9D 92 0F STA $0F92,x $A3EE50 A9 01 00 LDA #$0001 $A3EE53 9D 94 0F STA $0F94,x $A3EE56 6B RTL $A3EE57 AE 54 0E LDX $0E54 [$7E:0E54] $A3EE5A BD B2 0F LDA $0FB2,x[$7E:0FF2] $A3EE5D C9 03 00 CMP #$0003 $A3EE60 F0 1D BEQ $1D [$EE7F] $A3EE62 AD 44 0E LDA $0E44 [$7E:0E44] $A3EE65 29 07 00 AND #$0007 $A3EE68 C9 07 00 CMP #$0007 $A3EE6B D0 0F BNE $0F [$EE7C] $A3EE6D AD C2 09 LDA $09C2 [$7E:09C2] $A3EE70 C9 1E 00 CMP #$001E $A3EE73 30 07 BMI $07 [$EE7C] $A3EE75 A9 2D 00 LDA #$002D $A3EE78 22 4D 91 80 JSL $80914D[$80:914D] $A3EE7C 20 CE EE JSR $EECE [$A3:EECE] $A3EE7F BD B2 0F LDA $0FB2,x[$7E:0FF2] $A3EE82 C9 02 00 CMP #$0002 $A3EE85 B0 CF BCS $CF [$EE56] $A3EE87 A0 01 00 LDY #$0001 $A3EE8A BD 7A 0F LDA $0F7A,x[$7E:0FBA] $A3EE8D 38 SEC $A3EE8E ED F6 0A SBC $0AF6 [$7E:0AF6] $A3EE91 10 04 BPL $04 [$EE97] $A3EE93 49 FF FF EOR #$FFFF $A3EE96 1A INC A $A3EE97 C9 08 00 CMP #$0008 $A3EE9A B0 1C BCS $1C [$EEB8] $A3EE9C BD 7E 0F LDA $0F7E,x[$7E:0FBE] $A3EE9F 38 SEC $A3EEA0 ED 32 0E SBC $0E32 [$7E:0E32] $A3EEA3 10 04 BPL $04 [$EEA9] $A3EEA5 49 FF FF EOR #$FFFF $A3EEA8 1A INC A $A3EEA9 C9 08 00 CMP #$0008 $A3EEAC B0 0A BCS $0A [$EEB8] $A3EEAE A0 02 00 LDY #$0002 $A3EEB1 A9 12 00 LDA #$0012 $A3EEB4 22 84 F0 90 JSL $90F084[$90:F084] $A3EEB8 98 TYA $A3EEB9 9D B2 0F STA $0FB2,x[$7E:0FF2] $A3EEBC C9 02 00 CMP #$0002 $A3EEBF D0 95 BNE $95 [$EE56] $A3EEC1 A9 25 EA LDA #$EA25 $A3EEC4 9D 92 0F STA $0F92,x[$7E:0FD2] $A3EEC7 A9 01 00 LDA #$0001 $A3EECA 9D 94 0F STA $0F94,x[$7E:0FD4] $A3EECD 6B RTL ;;; ;;; $A3EECE AD FA 0A LDA $0AFA [$7E:0AFA] $A3EED1 38 SEC $A3EED2 E9 08 00 SBC #$0008 $A3EED5 8D 32 0E STA $0E32 [$7E:0E32] $A3EED8 AD A2 09 LDA $09A2 [$7E:09A2] $A3EEDB 89 20 00 BIT #$0020 $A3EEDE D0 08 BNE $08 [$EEE8] $A3EEE0 4A LSR A $A3EEE1 90 0A BCC $0A [$EEED] $A3EEE3 A9 00 60 LDA #$6000 $A3EEE6 80 08 BRA $08 [$EEF0] $A3EEE8 A9 00 30 LDA #$3000 $A3EEEB 80 03 BRA $03 [$EEF0] $A3EEED A9 00 C0 LDA #$C000 $A3EEF0 85 12 STA $12 [$7E:0012] $A3EEF2 BF 04 78 7E LDA $7E7804,x[$7E:7844] $A3EEF6 38 SEC $A3EEF7 E5 12 SBC $12 [$7E:0012] $A3EEF9 9F 04 78 7E STA $7E7804,x[$7E:7844] $A3EEFD B0 07 BCS $07 [$EF06] $A3EEFF A9 01 00 LDA #$0001 $A3EF02 22 51 DF 91 JSL $91DF51[$91:DF51] $A3EF06 60 RTS ;;; Enemy shot - Metroid ;;; $A3EF07 AD FA 0A LDA $0AFA [$7E:0AFA] $A3EF0A 38 SEC $A3EF0B E9 08 00 SBC #$0008 $A3EF0E 8D 32 0E STA $0E32 [$7E:0E32] $A3EF11 AD A6 18 LDA $18A6 [$7E:18A6] $A3EF14 0A ASL A $A3EF15 A8 TAY $A3EF16 AE 54 0E LDX $0E54 [$7E:0E54] $A3EF19 BD 9E 0F LDA $0F9E,x[$7E:105E] $A3EF1C F0 5B BEQ $5B [$EF79] $A3EF1E B9 18 0C LDA $0C18,y[$7E:0C18] $A3EF21 29 00 0F AND #$0F00 $A3EF24 C9 00 01 CMP #$0100 $A3EF27 F0 05 BEQ $05 [$EF2E] $A3EF29 C9 00 02 CMP #$0200 $A3EF2C D0 4A BNE $4A [$EF78] $A3EF2E BD 7A 0F LDA $0F7A,x[$7E:103A] $A3EF31 8F 34 F4 7E STA $7EF434[$7E:F434] $A3EF35 BD 7E 0F LDA $0F7E,x[$7E:103E] $A3EF38 8F 36 F4 7E STA $7EF436[$7E:F436] $A3EF3C 22 32 80 A3 JSL $A38032[$A3:8032] $A3EF40 BD 8C 0F LDA $0F8C,x[$7E:104C] $A3EF43 D0 33 BNE $33 [$EF78] $A3EF45 9E AA 0F STZ $0FAA,x[$7E:106A] $A3EF48 A9 04 00 LDA #$0004 $A3EF4B 22 AF A3 A0 JSL $A0A3AF[$A0:A3AF] $A3EF4F A9 13 00 LDA #$0013 $A3EF52 22 84 F0 90 JSL $90F084[$90:F084] $A3EF56 AE 54 0E LDX $0E54 [$7E:0E54] $A3EF59 BF 00 78 7E LDA $7E7800,x[$7E:78C0] $A3EF5D AA TAX $A3EF5E A9 00 00 LDA #$0000 $A3EF61 9F 78 EF 7E STA $7EEF78,x[$7E:EFAA] $A3EF65 AE 54 0E LDX $0E54 [$7E:0E54] $A3EF68 BF 02 78 7E LDA $7E7802,x[$7E:78C2] $A3EF6C AA TAX $A3EF6D A9 00 00 LDA #$0000 $A3EF70 9F 78 EF 7E STA $7EEF78,x[$7E:EFA8] $A3EF74 22 68 B9 A0 JSL $A0B968[$A0:B968] $A3EF78 6B RTL $A3EF79 BD B2 0F LDA $0FB2,x[$7E:1072] $A3EF7C C9 02 00 CMP #$0002 $A3EF7F D0 2B BNE $2B [$EFAC] $A3EF81 B9 18 0C LDA $0C18,y[$7E:0C18] $A3EF84 29 00 0F AND #$0F00 $A3EF87 C9 00 05 CMP #$0500 $A3EF8A D0 1F BNE $1F [$EFAB] $A3EF8C A9 04 00 LDA #$0004 $A3EF8F 9D B0 0F STA $0FB0,x[$7E:0FF0] $A3EF92 A9 03 00 LDA #$0003 $A3EF95 9D B2 0F STA $0FB2,x[$7E:0FF2] $A3EF98 A9 CF E9 LDA #$E9CF $A3EF9B 9D 92 0F STA $0F92,x[$7E:0FD2] $A3EF9E A9 01 00 LDA #$0001 $A3EFA1 9D 94 0F STA $0F94,x[$7E:0FD4] $A3EFA4 A9 13 00 LDA #$0013 $A3EFA7 22 84 F0 90 JSL $90F084[$90:F084] $A3EFAB 6B RTL $A3EFAC 9E A8 0F STZ $0FA8,x[$7E:1068] $A3EFAF 9E AC 0F STZ $0FAC,x[$7E:106C] $A3EFB2 A0 00 00 LDY #$0000 $A3EFB5 BD 7A 0F LDA $0F7A,x[$7E:103A] $A3EFB8 38 SEC $A3EFB9 F9 64 0B SBC $0B64,y[$7E:0B64] $A3EFBC 10 03 BPL $03 [$EFC1] $A3EFBE A0 00 FF LDY #$FF00 $A3EFC1 48 PHA $A3EFC2 98 TYA $A3EFC3 9D AA 0F STA $0FAA,x[$7E:106A] $A3EFC6 68 PLA $A3EFC7 0A ASL A $A3EFC8 0A ASL A $A3EFC9 0A ASL A $A3EFCA 0A ASL A $A3EFCB 0A ASL A $A3EFCC 9D A9 0F STA $0FA9,x[$7E:1069] $A3EFCF A0 00 00 LDY #$0000 $A3EFD2 BD 7E 0F LDA $0F7E,x[$7E:103E] $A3EFD5 38 SEC $A3EFD6 F9 78 0B SBC $0B78,y[$7E:0B78] $A3EFD9 10 03 BPL $03 [$EFDE] $A3EFDB A0 00 FF LDY #$FF00 $A3EFDE 48 PHA $A3EFDF 98 TYA $A3EFE0 9D AE 0F STA $0FAE,x[$7E:106E] $A3EFE3 68 PLA $A3EFE4 0A ASL A $A3EFE5 0A ASL A $A3EFE6 0A ASL A $A3EFE7 0A ASL A $A3EFE8 0A ASL A $A3EFE9 9D AD 0F STA $0FAD,x[$7E:106D] $A3EFEC 9E B2 0F STZ $0FB2,x[$7E:1072] $A3EFEF A9 CF E9 LDA #$E9CF $A3EFF2 9D 92 0F STA $0F92,x[$7E:1052] $A3EFF5 A9 01 00 LDA #$0001 $A3EFF8 9D 94 0F STA $0F94,x[$7E:1054] $A3EFFB AD A6 18 LDA $18A6 [$7E:18A6] $A3EFFE 0A ASL A $A3EFFF A8 TAY $A3F000 B9 18 0C LDA $0C18,y[$7E:0C18] $A3F003 29 02 00 AND #$0002 $A3F006 F0 32 BEQ $32 [$F03A] $A3F008 A9 0A 00 LDA #$000A $A3F00B 22 4D 91 80 JSL $80914D[$80:914D] $A3F00F B9 2C 0C LDA $0C2C,y[$7E:0C2C] $A3F012 85 12 STA $12 [$7E:0012] $A3F014 A9 04 00 LDA #$0004 $A3F017 9D 9C 0F STA $0F9C,x[$7E:105C] $A3F01A BD B6 0F LDA $0FB6,x[$7E:1076] $A3F01D 38 SEC $A3F01E E5 12 SBC $12 [$7E:0012] $A3F020 F0 02 BEQ $02 [$F024] $A3F022 B0 13 BCS $13 [$F037] $A3F024 9E B6 0F STZ $0FB6,x[$7E:1076] $A3F027 A9 90 01 LDA #$0190 $A3F02A 9D 9E 0F STA $0F9E,x[$7E:105E] $A3F02D BD 8A 0F LDA $0F8A,x[$7E:104A] $A3F030 09 04 00 ORA #$0004 $A3F033 9D 8A 0F STA $0F8A,x[$7E:104A] $A3F036 6B RTL $A3F037 9D B6 0F STA $0FB6,x $A3F03A A9 5A 00 LDA #$005A $A3F03D 22 CB 90 80 JSL $8090CB[$80:90CB] $A3F041 6B RTL ;;; Power bomb reaction - Metroid ;;; $A3F042 22 97 A5 A0 JSL $A0A597[$A0:A597] $A3F046 BD 8C 0F LDA $0F8C,x[$7E:0FCC] $A3F049 D0 25 BNE $25 [$F070] $A3F04B A9 13 00 LDA #$0013 $A3F04E 22 84 F0 90 JSL $90F084[$90:F084] $A3F052 AE 54 0E LDX $0E54 [$7E:0E54] $A3F055 BF 00 78 7E LDA $7E7800,x[$7E:7840] $A3F059 AA TAX $A3F05A A9 00 00 LDA #$0000 $A3F05D 9F 78 EF 7E STA $7EEF78,x[$7E:EFB2] $A3F061 AE 54 0E LDX $0E54 [$7E:0E54] $A3F064 BF 02 78 7E LDA $7E7802,x[$7E:7842] $A3F068 AA TAX $A3F069 A9 00 00 LDA #$0000 $A3F06C 9F 78 EF 7E STA $7EEF78,x[$7E:EFB0] $A3F070 6B RTL $A3F10D dx 0008, 0010,00,6160, 0010,F8,6150, 01E8,00,2160, 01E8,F8,2150, 8000,00,6161, 8000,F0,6141, 81F0,00,2161, 81F0,F0,2141 $A3F137 dx 0006, 0010,00,6163, 01E8,00,2163, 8000,00,6164, 8000,F0,6144, 81F0,00,2164, 81F0,F0,2144 $A3F157 dx 0008, 0010,00,6166, 0010,F8,6156, 01E8,00,2166, 01E8,F8,2156, 8000,00,6167, 8000,F0,6147, 81F0,00,2167, 81F0,F0,2147 $A3F181 dx 0008, 0010,00,6169, 0010,F8,6159, 01E8,00,2169, 01E8,F8,2159, 8000,00,616A, 8000,F0,614A, 81F0,00,216A, 81F0,F0,214A ;;; Misc. enemy sprites ;;; ; Electricity $B4C3BA dw 0002,D6F1, 0003,D702, 0002,D713, 0001,D6F1, 0003,D713, 0004,BDA6, 0004,D724, 0005,D73A, 0002,D750, 0001,D73A, 0004,BDA6, 0002,D7DB, 0003,D7E7, 0004,D7EE, 0007,BDA6, 0003,D799, 0002,D7AF, 0001,D7C5, 0002,D7AF, 0003,D7C5, 0004,BDA6, 0004,D7FA, 0002,D806, 0002,D812, 0003,D7FA, 0001,BDA6, 0004,D81E, 0003,D82A, 0003,D836, 0002,D82A, 0007,BDA6 ; Shell $B4C4B6 dw 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5EB, 0001,BDA6, 0001,D5B7, 0001,BDA6 $B4C536 dw 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D5B7, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, 0001,D61F, 0001,BDA6, BD12,C536 ;;; Misc. enemy sprite maps ;;; $B4D5B7 dx 000A, 0010,04,6130, 0010,FC,6120, 0010,F4,6110, 01E8,04,2130, 01E8,FC,2120, 01E8,F4,2110, 8000,FC,6121, 8000,EC,2103, 81F0,FC,2121, 81F0,EC,2101 $B4D5EB dx 000A, 0010,FC,612A, 0010,04,613A, 0010,F4,211F, 01E8,04,213A, 01E8,FC,212A, 01E8,F4,211A, 8000,EC,210D, 8000,FC,612B, 81F0,FC,212B, 81F0,EC,210B $B4D61F dx 000A, 01E8,FC,2125, 0010,04,6135, 0010,FC,6125, 0010,F4,6115, 01E8,04,2135, 01E8,F4,2115, 8000,FC,6126, 8000,EC,2108, 81F0,FC,2126, 81F0,EC,2106 $B4D6F1 dx 0003, 0000,EC,217C, 01F8,FC,214D, 01F0,FC,214C $B4D702 dx 0003, 0000,EC,217D, 01F8,FC,215D, 01F0,FC,215C $B4D713 dx 0003, 0000,EC,217E, 01F8,FC,216D, 01F0,FC,216C $B4D724 dx 0004, 0008,FC,214F, 0000,FC,214E, 01F8,F4,213D, 01F8,EC,212D $B4D73A dx 0004, 0008,FC,215F, 0000,FC,215E, 01F8,F4,213E, 01F8,EC,212E $B4D750 dx 0004, 0008,FC,216F, 0000,FC,216E, 01F8,F4,213F, 01F8,EC,212F $B4D799 dx 0004, 01F8,FC,214F, 01F0,FC,214E, 0000,F4,613D, 0000,EC,612D $B4D7AF dx 0004, 01F8,FC,216F, 01F0,FC,216E, 0000,F4,613E, 0000,EC,612E $B4D7C5 dx 0004, 01F8,FC,215F, 01F0,FC,215E, 0000,F4,613F, 0000,EC,612F $B4D7DB dx 0002, 01F8,FC,214D, 01F0,FC,214C $B4D7E7 dx 0001, 01F0,FC,215C $B4D7EE dx 0002, 01F8,FC,216D, 01F0,FC,216C $B4D7FA dx 0002, 01F8,F4,213D, 01F8,EC,212D $B4D806 dx 0002, 01F8,F4,213E, 01F8,EC,212E $B4D812 dx 0002, 01F8,F4,213F, 01F8,EC,212F $B4D81E dx 0002, 0008,FC,214D, 0000,FC,214C $B4D82A dx 0002, 0008,FC,215D, 0000,FC,215C $B4D836 dx 0002, 0008,FC,216D, 0000,FC,216C