Contra Bank 1 0x4000 - 0x7FFF Mapper 1 (21 00) (0010 0001 0000 0000) -------- 4000: 01 Bank Number ---- 4001: Pointer table for Music of Level 1 (8 * 2 = 10 bytes) DD91 -> 51DD E591 -> 51E5 EA91 -> 51EA F791 -> 51F7 0492 -> 5204 1692 -> 5216 2992 -> 5229 3C92 -> 523C ---- 4011: Pointer table for Music of Level 2 (8 * 2 = 10 bytes) DBA3 -> 63DB E8A3 -> 63E8 EEA3 -> 63EE F5A3 -> 63F5 02A4 -> 6402 0FA4 -> 640F 06A7 -> 6706 5FAA -> 6A5F ---- Rest of the pointers... DD 91 E5 91 EA 91 F7 91 04 92 16 92 29 92 3C 92 DB A3 E8 A3 EE A3 F5 A3 02 A4 0F A4 06 A7 5F AA 6C AA 73 AA 04 AB 11 AB 1E AB 29 AB 78 AA CA 98 D5 98 EA 98 F1 98 FD 98 04 99 09 99 15 99 1C 99 28 99 71 9E 7D 9E 43 9C 50 9C 59 9C 65 9C 64 A0 72 A0 80 A0 88 A0 84 9E 90 9E 9C 9E 13 A7 1B A7 28 A7 D2 AB DA AB EA AB EB AB 85 AA ---- 406D: A9 30 LDA #$30 ; A = 30406F: 9D 0040 STA $4000,X 4072: 20 0587 JSR $87054075: D0 16 BNE $408D 4077: BD 2401 LDA $0124,X407A: 29 41 AND #$41 ; keep bits .x.. ...x407C: 0D 2F01 ORA $012F407F: D0 EC BNE $406D 4081: BD 6001 LDA $0160,X4084: 1D 4E01 ORA $014E,X4087: 99 0040 STA $4000,Y 408A: 20 0587 JSR $8705 408D: BD 7201 LDA $0172,X4090: 99 0240 STA $4002,Y 4093: 20 0587 JSR $8705 4096: BD 0C01 LDA $010C,X4099: 99 0340 STA $4003,Y 409C: 4C 0587 JMP $8705 ---- 409F: A5 25 LDA $25 ; Pause State (1 = Game Paused)40A1: CD 2F01 CMP $012F40A4: F0 2E BEQ $40D4 40A6: 8D 2F01 STA $012F ; replace 8D -> 60 for music during pause40A9: C9 00 CMP #$0040AB: F0 03 BEQ $40B0 40AD: 4C 5187 JMP $8751 ---- 40B0: AD 0A01 LDA $010A40B3: F0 13 BEQ $40C8 40B5: AD 2801 LDA $012840B8: 10 06 BPL $40C0 40BA: AD 2D01 LDA $012D40BD: 8D 0140 STA $4001 40C0: A2 04 LDX #$04 ; X = 0440C2: A0 00 LDY #$00 ; Y = 00 40C4: 20 8180 JSR $8081 40C7: 60 RTS ---- 40C8: AD 0601 LDA $010640CB: F0 07 BEQ $40D4 40CD: A2 00 LDX #$00 ; X = 0040CF: A0 00 LDY #$00 ; Y = 0040D1: 20 7780 JSR $8077 40D4: 60 RTS ---- Sound and Music Entry-Point 40D5: 20 9F80 JSR $809F 40D8: A2 00 LDX #$00 ; X = 0040DA: A0 00 LDY #$00 ; Y = 00 40DC: 8E 2001 STX $012040DF: 8C 2301 STY $012340E2: BD 0601 LDA $0106,X40E5: F0 04 BEQ $40EB 40E7: A8 TAY 40E8: 20 0381 JSR $8103 40EB: E8 INX40EC: E0 06 CPX #$0640EE: F0 12 BEQ $4102 40F0: E0 05 CPX #$0540F2: D0 05 BNE $40F9 40F4: A9 0C LDA #$0C ; A = 0C 40F6: 4C FE80 JMP $80FE ---- 40F9: 8A TXA40FA: 0A ASL40FB: 0A ASL40FC: 29 0F AND #$0F ; keep bits .... xxxx 40FE: A8 TAY 40FF: 4C DC80 JMP $80DC ---- 4102: 60 RTS ---- 4103: AD 2F01 LDA $012F4106: F0 07 BEQ $410F 4108: BD 0601 LDA $0106,X410B: C9 54 CMP #$54410D: D0 F3 BNE $4102 410F: 20 1D86 JSR $861D 4112: BD 2401 LDA $0124,X4115: DE 0001 DEC $0100,X4118: D0 03 BNE $411D 411A: 4C 5982 JMP $8259 ---- 411D: 29 41 AND #$41 ; keep bits .x.. ...x411F: D0 6E BNE $418F 4121: E0 02 CPX #$024123: F0 6A BEQ $418F 4125: E0 03 CPX #$034127: F0 66 BEQ $418F 4129: E0 02 CPX #$02412B: B0 13 BCS $4140 412D: BD 7801 LDA $0178,X4130: 30 0E BMI $4140 4132: FE 7A01 INC $017A,X4135: BD 7E01 LDA $017E,X4138: DD 7A01 CMP $017A,X413B: B0 03 BCS $4140 413D: 20 F581 JSR $81F5 4140: BD 2401 LDA $0124,X4143: 29 20 AND #$20 ; keep bits ..x. ....4145: D0 05 BNE $414C 4147: BD 1E01 LDA $011E,X414A: 30 71 BMI $41BD 414C: BD 2401 LDA $0124,X414F: A8 TAY4150: 29 04 AND #$04 ; keep bits .... .x..4152: D0 53 BNE $41A7 4154: BD 1E01 LDA $011E,X4157: 0A ASL4158: A8 TAY4159: B9 0180 LDA $8001,Y415C: 85 E4 STA $E4415E: B9 0280 LDA $8002,Y4161: 85 E5 STA $E54163: BD 2A01 LDA $012A,X4166: A8 TAY4167: B1 E4 LDA ($E4),Y4169: C9 FE CMP #$FE416B: B0 23 BCS $4190 416D: FE 2A01 INC $012A,X4170: 29 1F AND #$1F ; keep bits ...x xxxx4172: 9D 6001 STA $0160,X 4175: C9 02 CMP #$024177: 90 08 BCC $4181 4179: 38 SEC417A: ED 3C01 SBC $013C417D: 10 02 BPL $4181 417F: A9 00 LDA #$00 ; A = 00 4181: 1D 4E01 ORA $014E,X 4184: 20 3786 JSR $8637 4187: B0 03 BCS $418C 4189: 9D 0040 STA $4000,X418C: AE 2001 LDX $0120 418F: 60 RTS ---- 4190: D0 0C BNE $419E 4192: C8 INY4193: B1 E4 LDA ($E4),Y4195: 9D 2A01 STA $012A,X 4198: 20 AC81 JSR $81AC 419B: 4C 6381 JMP $8163 ---- 419E: BD 2401 LDA $0124,X41A1: 09 04 ORA #$04 ; set bits .... .x..41A3: 9D 2401 STA $0124,X 41A6: 60 RTS ---- 41A7: 98 TYA41A8: 29 02 AND #$02 ; keep bits .... ..x.41AA: D0 2C BNE $41D8 41AC: BD 0001 LDA $0100,X41AF: DD 3001 CMP $0130,X41B2: B0 08 BCS $41BC 41B4: BD 2401 LDA $0124,X41B7: 09 06 ORA #$06 ; keep bits .... .xx.41B9: 9D 2401 STA $0124,X 41BC: 60 RTS ---- 41BD: DE 2A01 DEC $012A,X41C0: 30 0B BMI $41CD 41C2: DE 6001 DEC $0160,X41C5: 30 1C BMI $41E3 41C7: BD 6001 LDA $0160,X 41CA: 4C 7581 JMP $8175 ---- 41CD: BD 2401 LDA $0124,X41D0: 09 20 ORA #$20 ; keep bits ..x. ....41D2: 9D 2401 STA $0124,X 41D5: 4C 9E81 JMP $819E ---- 41D8: DE 6001 DEC $0160,X41DB: F0 06 BEQ $41E3 41DD: BD 6001 LDA $0160,X 41E0: 4C 7581 JMP $8175 ---- 41E3: FE 6001 INC $0160,X41E6: 60 RTS ---- 41E7: B1 E0 LDA ($E0),Y41E9: C9 FD CMP #$FD41EB: 90 05 BCC $41F2 41ED: 29 0F AND #$0F ; keep bits .... xxxx 41EF: 4C A284 JMP $84A2 ---- 41F2: 4C D582 JMP $82D5 ---- 41F5: 98 TYA41F6: 48 PHA41F7: AC 2301 LDY $012341FA: 38 SEC41FB: FD 7E01 SBC $017E,X41FE: 85 E4 STA $E44200: BD 8001 LDA $0180,X4203: 29 F0 AND #$F0 ; keep bits xxxx ....4205: 4A LSR4206: 4A LSR4207: 4A LSR4208: 4A LSR4209: C5 E4 CMP $E4420B: D0 15 BNE $4222 420D: BD 7E01 LDA $017E,X4210: 9D 7A01 STA $017A,X4213: FE 7801 INC $0178,X4216: BD 7801 LDA $0178,X4219: C9 04 CMP #$04421B: 90 05 BCC $4222 421D: A9 00 LDA #$00 ; A = 00421F: 9D 7801 STA $0178,X 4222: BD 7801 LDA $0178,X4225: 29 01 AND #$01 ; keep bits .... ...x4227: D0 0C BNE $4235 4229: BD 7C01 LDA $017C,X422C: 99 0240 STA $4002,Y 422F: 20 0587 JSR $8705 4232: 68 PLA4233: A8 TAY 4234: 60 RTS ---- 4235: BD 8001 LDA $0180,X4238: 29 0F AND #$0F ; keep bits .... xxxx423A: 85 E4 STA $E4423C: BD 7801 LDA $0178,X423F: 29 02 AND #$02 ; keep bits .... ..x.4241: D0 0D BNE $4250 4243: A5 E4 LDA $E44245: 18 CLC4246: 7D 7C01 ADC $017C,X4249: 90 E1 BCC $422C 424B: A9 FF LDA #$FF ; A = FF 424D: 4C 2C82 JMP $822C ---- 4250: BD 7C01 LDA $017C,X4253: 38 SEC4254: E5 E4 SBC $E4 4256: 4C 2C82 JMP $822C ---- 4259: 4A LSR425A: B0 8B BCS $41E7 425C: AD 2001 LDA $0120425F: C9 03 CMP #$034261: F0 25 BEQ $4288 4263: B1 E0 LDA ($E0),Y4265: 29 F0 AND #$F0 ; keep bits xxxx ....4267: C9 C0 CMP #$C04269: B0 03 BCS $426E 426B: 4C 9583 JMP $8395 ---- 426E: 29 30 AND #$30 ; keep bits ..xx ....4270: 4A LSR4271: 4A LSR4272: 4A LSR4273: AA TAX4274: BD CD86 LDA $86CD,X4277: 85 E4 STA $E44279: BD CE86 LDA $86CE,X427C: 85 E5 STA $E5427E: AE 2001 LDX $01204281: B1 E0 LDA ($E0),Y4283: 29 0F AND #$0F ; keep bits .... xxxx 4285: 6C E400 JMP ($00E4) ---- 4288: B1 E0 LDA ($E0),Y428A: 29 F0 AND #$F0 ; keep bits xxxx ....428C: C9 F0 CMP #$F0428E: D0 07 BNE $4297 4290: B1 E0 LDA ($E0),Y4292: 29 0F AND #$0F ; keep bits .... xxxx 4294: 4C A284 JMP $84A2 ---- 4297: C9 D0 CMP #$D04299: F0 03 BEQ $429E 429B: 4C B785 JMP $85B7 ---- 429E: B1 E0 LDA ($E0),Y42A0: 29 0F AND #$0F ; keep bits .... xxxx42A2: 9D 5401 STA $0154,X42A5: C8 INY 42A6: 4C 8882 JMP $8288 ---- 42A9: B1 E0 LDA ($E0),Y42AB: 4A LSR42AC: 4A LSR42AD: 4A LSR42AE: 4A LSR42AF: C9 0C CMP #$0C42B1: F0 16 BEQ $42C9 42B3: AA TAX42B4: 8D 2101 STA $012142B7: BD CD82 LDA $82CD,X 42BA: 20 6BC1 JSR $C16B 42BD: AD 2101 LDA $012142C0: C9 03 CMP #$0342C2: 90 05 BCC $42C9 42C4: A9 02 LDA #$02 ; A = 0242C6: 20 6BC1 JSR $C16B 42C9: AE 2001 LDX $0120 42CC: 60 RTS ---- 42CD: 02 5A 5B 5A 5B 25 5C 5D Table for ? (8 bytes) Related to music tracks instruments ---- 42D5: 29 F0 AND #$F0 ; keep bits xxxx ....42D7: C9 20 CMP #$2042D9: D0 18 BNE $42F3 42DB: B1 E0 LDA ($E0),Y42DD: 29 0F AND #$0F ; keep bits .... xxxx42DF: D0 03 BNE $42E4 42E1: C8 INY42E2: B1 E0 LDA ($E0),Y 42E4: 9D 5401 STA $0154,X42E7: C8 INY42E8: B1 E0 LDA ($E0),Y42EA: 9D 4E01 STA $014E,X42ED: C8 INY42EE: F0 03 BEQ $42F3 42F0: 4C E781 JMP $81E7 ---- 42F3: C9 10 CMP #$1042F5: D0 42 BNE $4339 42F7: B1 E0 LDA ($E0),Y42F9: C8 INY42FA: C9 10 CMP #$1042FC: D0 30 BNE $432E 42FE: B1 E0 LDA ($E0),Y4300: D0 0C BNE $430E 4302: BD 2401 LDA $0124,X4305: 29 7F AND #$7F ; keep bits .xxx xxxx4307: 9D 2401 STA $0124,X430A: A9 7F LDA #$7F ; A = 7F430C: D0 0A BNE $4318 430E: BD 2401 LDA $0124,X4311: 09 80 ORA #$80 ; set bits x... ....4313: 9D 2401 STA $0124,X4316: B1 E0 LDA ($E0),Y 4318: E0 04 CPX #$04431A: D0 03 BNE $431F 431C: 8D 2D01 STA $012D 431F: 20 3786 JSR $8637 4322: B0 03 BCS $4327 4324: 9D 0140 STA $4001,X 4327: AE 2001 LDX $0120432A: C8 INY 432B: 4C E781 JMP $81E7 ---- 432E: BD 2401 LDA $0124,X4331: 09 10 ORA #$10 ; set bits ...x ....4333: 9D 2401 STA $0124,X 4336: 4C E781 JMP $81E7 ---- 4339: BD 5401 LDA $0154,X433C: 9D 0001 STA $0100,X433F: B1 E0 LDA ($E0),Y4341: C9 F8 CMP #$F84343: D0 03 BNE $4348 4345: C8 INY4346: B1 E0 LDA ($E0),Y 4348: 4A LSR4349: 4A LSR434A: 4A LSR434B: 4A LSR434C: 9D 4201 STA $0142,X434F: BD 4E01 LDA $014E,X4352: 29 10 AND #$10 ; keep bits ...x ....4354: F0 1F BEQ $4375 4356: BD 4201 LDA $0142,X4359: 1D 4E01 ORA $014E,X 435C: 20 3786 JSR $8637 435F: B0 03 BCS $4364 4361: 9D 0040 STA $4000,X 4364: AE 2001 LDX $01204367: B1 E0 LDA ($E0),Y4369: 29 0F AND #$0F ; keep bits .... xxxx436B: 85 EF STA $EF436D: C8 INY436E: B1 E0 LDA ($E0),Y4370: 85 EE STA $EE 4372: 4C 0984 JMP $8409 ---- 4375: BD 4E01 LDA $014E,X4378: 4C 5C83 JMP $835C ---- 437B: AD 4401 LDA $0144437E: 8D 0840 STA $4008 4381: 4C AD83 JMP $83AD ---- 4384: BD 4201 LDA $0142,X 4387: 20 7281 JSR $8172 438A: BD 1E01 LDA $011E,X438D: 29 0F AND #$0F ; keep bits .... xxxx438F: 9D 2A01 STA $012A,X 4392: 4C AD83 JMP $83AD ----- 4395: 20 B785 JSR $85B7 4398: E0 02 CPX #$02439A: F0 DF BEQ $437B 439C: BD 1E01 LDA $011E,X439F: 30 E3 BMI $4384 43A1: A9 00 LDA #$00 ; A = 0043A3: 9D 2A01 STA $012A,X43A6: 84 E6 STY $E6 43A8: 20 5481 JSR $8154 43AB: A4 E6 LDY $E6 43AD: BD 2401 LDA $0124,X43B0: 29 99 AND #$99 ; keep bits x..x x..x43B2: 9D 2401 STA $0124,X43B5: B1 E0 LDA ($E0),Y43B7: 29 F0 AND #$F0 ; keep bits xxxx ....43B9: 4A LSR43BA: 4A LSR43BB: 4A LSR43BC: AA TAX43BD: 98 TYA 43BE: 48 PHA43BF: AC 2001 LDY $012043C2: B9 3201 LDA $0132,Y43C5: F0 06 BEQ $43CD 43C7: 8A TXA43C8: 18 CLC43C9: 79 3201 ADC $0132,Y43CC: AA TAX43CD: 68 PLA 43CE: A8 TAY43CF: BD D586 LDA $86D5,X43D2: 85 EE STA $EE43D4: BD D686 LDA $86D6,X43D7: 85 EF STA $EF43D9: AE 2001 LDX $012043DC: BD 5A01 LDA $015A,X43DF: AA TAX 43E0: E0 04 CPX #$0443E2: F0 07 BEQ $43EB 43E4: 46 EF LSR $EF43E6: 66 EE ROR $EE43E8: E8 INX43E9: D0 F5 BNE $43E0 43EB: AE 2001 LDX $012043EE: E0 02 CPX #$0243F0: B0 17 BCS $4409 43F2: BD 7801 LDA $0178,X43F5: 30 12 BMI $4409 43F7: A5 EE LDA $EE43F9: 9D 7C01 STA $017C,X43FC: BD 2401 LDA $0124,X43FF: 29 10 AND #$10 ; keep bits ...x ....4401: F0 03 BEQ $4406 4403: FE 7C01 INC $017C,X 4406: AE 2001 LDX $0120 4409: BD 2401 LDA $0124,X440C: 29 10 AND #$10 ; keep bits ...x ....440E: F0 06 BEQ $4416 4410: E6 EE INC $EE4412: D0 02 BNE $4416 4414: E6 EF INC $EF 4416: A5 EF LDA $EF4418: E0 02 CPX #$02441A: F0 17 BEQ $4433 441C: E0 05 CPX #$05441E: F0 11 BEQ $4431 4420: DD 0C01 CMP $010C,X4423: D0 0E BNE $4433 4425: BD 2401 LDA $0124,X4428: 30 07 BMI $4431 442A: BD 4E01 LDA $014E,X442D: 29 10 AND #$10 ; keep bits ...x ....442F: D0 0F BNE $4440 4431: A5 EF LDA $EF 4433: 9D 0C01 STA $010C,X4436: 09 08 ORA #$08 ; set bits .... x... 4438: 20 3786 JSR $8637443B: B0 03 BCS $4440 443D: 9D 0340 STA $4003,X 4440: A5 EE LDA $EE4442: AE 2001 LDX $01204445: E0 02 CPX #$024447: B0 03 BCS $444C 4449: 9D 7201 STA $0172,X 444C: 20 3786 JSR $8637444F: B0 03 BCS $4454 4451: 9D 0240 STA $4002,X4454: AE 2001 LDX $01204457: C8 INY4458: 98 TYA4459: 18 CLC445A: 65 E0 ADC $E0445C: 9D 1201 STA $0112,X445F: A9 00 LDA #$00 ; A = 004461: 65 E1 ADC $E1 4463: 9D 1801 STA $0118,X 4466: 60 RTS ---- *** rendu icitte *** -------- 44A2 -------- 4500: 20 BB85 JSR $85BB 4503: A9 00 LDA #$00 ; A = 00 4505: E0 02 CPX #$02 4507: F0 03 BEQ $450C 4509: BD 4E01 LDA $014E,X 450C: 20 3786 JSR $8637 450F: B0 03 BCS $4514 4511: 9D 0040 STA $4000,X 4514: AE 2001 LDX $0120 4517: BD 2401 LDA $0124,X 451A: 09 40 ORA #$40 ; set bits .x.. .... 451C: 9D 2401 STA $0124,X 451F: 4C 5784 JMP $8457 -------- 4522 455C -------- 45B7 -------- 461D 4637 4650: 60 RTS ---- 4651: A9 30 LDA #$30 ; A = 30 4653: 20 3786 JSR $8637 4656: B0 03 BCS $465B 4658: 9D 0040 STA $4000,X 465B: AE 2001 LDX $0120 465E: E0 01 CPX #$01 4660: D0 EE BNE $4650 4662: A5 E6 LDA $E6 4664: C9 57 CMP #$57 4666: D0 E8 BNE $4650 4668: AD 9401 LDA $0194 466B: F0 E3 BEQ $4650 466D: A9 46 LDA #$46 ; A = 46 466F: 20 6BC1 JSR $C16B ; 46 = End of Level 4672: 60 RTS ---- 4673: A9 0B LDA #$0B ; A = 0B4675: 8D 1540 STA $40154678: A9 00 LDA #$00 ; A = 00467A: 8D 0840 STA $4008467D: A9 0F LDA #$0F ; A = 0F467F: 8D 1540 STA $4015 4682: 60 RTS ---- 4683: AE 2301 LDX $01234686: A9 30 LDA #$30 ; A = 304688: 9D 0040 STA $4000,X 468B: 20 0587 JSR $8705 468E: A9 7F LDA #$7F ; A = 7F4690: 9D 0140 STA $4001,X4693: 8A TXA4694: 4A LSR4695: 4A LSR4696: AA TAX4697: BD 0601 LDA $0106,X469A: F0 1B BEQ $46B7 469C: AC 2301 LDY $0123469F: 20 7780 JSR $8077 46A2: AE 2001 LDX $0120 46A5: 60 RTS ---- 46A6: A9 30 LDA #$30 ; A = 30 46A8: 8D 0C40 STA $400C 46AB: A5 E6 LDA $E6 46AD: C9 4A CMP #$4A 46AF: D0 9F BNE $4650 Play the Game Over tune at the end of the credits 46B1: A9 4E LDA #$4E ; A = 4E 46B3: 20 6BC1 JSR $C16B ; Play Sound 46B6: 60 RTS ---- 46B7: AE 2001 LDX $0120 46BA: A5 E6 LDA $E6 46BC: 4C 5086 JMP $8650 ---- 46BF: Pointer table for ? (7 * 2 = E bytes) 5186 -> 4651 5186 -> 4651 7386 -> 4673 A686 -> 46A6 8386 -> 4683 A686 -> 46A6 5186 -> 4651 ---- 46CD: Pointer table for ? (4 * 2 = 8 bytes) 0085 -> 4500 2285 -> 4522 5C85 -> 455C A284 -> 44A2 ---- 46D5: Table for Note Pitch Frequencies (30 bytes) AE 06 6AE 1710 4E 06 64E 1614 F4 05 5F4 1524 9E 05 59E 1438 4E 05 54E 1358 01 05 501 1281 B9 04 4B9 1209 76 04 476 1142 36 04 436 1078 F9 03 3F9 1017 C0 03 3C0 960 8A 03 38A 906 57 03 357 855 27 03 327 807 FA 02 2FA 762 CF 02 2CF 719 A7 02 2A7 679 81 02 281 641 5D 02 25D 605 3B 02 23B 571 1B 02 21B 539 FD 01 1FD 509 E0 01 1E0 480 C5 01 1C5 453 ---- 4705: EA NOP4706: EA NOP4707: EA NOP4708: EA NOP4709: EA NOP470A: EA NOP470B: EA NOP470C: EA NOP470D: EA NOP470E: EA NOP 470F: 60 RTS ---- 4710: E8 88 Pointer for Master Look-up Table (2 bytes) ---- 4712: 8A TXA4713: 48 PHA4714: 98 TYA4715: 48 PHA 4716: A9 00 LDA #$00 ; A = 004718: AA TAX 4719: 9D 0601 STA $0106,X471C: E8 INX471D: E0 06 CPX #$06471F: 90 F8 BCC $4719 4721: 8D 4001 STA $01404724: 8D 3E01 STA $013E4727: 8D 3C01 STA $013C 472A: 20 7386 JSR $8673 472D: A9 30 LDA #$30 ; A = 30472F: 8D 0040 STA $40004732: 20 0587 JSR $8705 4735: 8D 0440 STA $40044738: 20 0587 JSR $8705 473B: 8D 0C40 STA $400C473E: 20 0587 JSR $8705 4741: A2 7F LDX #$7F ; X = 7F4743: 8E 0140 STX $4001 4746: 20 0587 JSR $8705 4749: 8E 0540 STX $4005 474C: 68 PLA474D: A8 TAY474E: 68 PLA474F: AA TAX 4750: 60 RTS ---- 4751: 20 7386 JSR $8673 4754: A9 30 LDA #$30 ; A = 304756: 8D 0040 STA $40004759: 20 0587 JSR $8705 475C: 8D 0440 STA $4004475F: 20 0587 JSR $8705 4762: 8D 0C40 STA $400C4765: 20 0587 JSR $8705 4768: A2 7F LDX #$7F ; X = 7F476A: 8E 0140 STX $4001476D: 20 0587 JSR $8705 4770: 8E 0540 STX $4005 4773: 60 RTS ---- 4774: 8A TXA4775: 48 PHA4776: 98 TYA4777: 48 PHA 4778: A2 00 LDX #$00 ; X = 00477A: 86 E6 STX $E6477C: AD 0A01 LDA $010A477F: F0 09 BEQ $478A 4781: 8E 0A01 STX $010A4784: 8E 2301 STX $0123 4787: 20 8386 JSR $8683 478A: 68 PLA478B: A8 TAY478C: 68 PLA478D: AA TAX 478E: 60 RTS ---- 478F: 8D 3E01 STA $013E4792: 8D 4101 STA $01414795: A9 00 LDA #$00 ; A = 004797: 8D 3C01 STA $013C 479A: 60 RTS ---- 479B: 8D 2201 STA $0122479E: C9 01 CMP #$0147A0: D0 03 BNE $47A5 47A2: 4C 1287 JMP $8712 ---- 47A5: C9 5A CMP #$5A47A7: 90 03 BCC $47AC 47A9: 4C A888 JMP $88A8 ---- 47AC: C9 57 CMP #$5747AE: D0 06 BNE $47B6 47B0: 20 1287 JSR $8712 47B3: 4C D487 JMP $87D4 ---- 47B6: C9 46 CMP #$46 ; 46 = End of Level47B8: D0 0D BNE $47C7 47BA: AD 0701 LDA $010747BD: C9 57 CMP #$5747BF: D0 01 BNE $47C2 47C1: 60 RTS ---- 47C2: C9 46 CMP #$4647C4: D0 01 BNE $47C7 47C6: 60 RTS ---- 47C7: C9 2A CMP #$2A ; Jungle and Hangar47C9: F0 04 BEQ $47CF 47CB: C9 2E CMP #$2E ; Waterfall47CD: D0 05 BNE $47D4 47CF: A9 00 LDA #$00 ; A = 0047D1: 8D 1140 STA $4011 47D4: 8A TXA47D5: 48 PHA47D6: 98 TYA47D7: 48 PHA 47D8: AD 1087 LDA $871047DB: 85 EC STA $EC47DD: AD 1187 LDA $871147E0: 85 ED STA $ED47E2: A9 03 LDA #$03 ; A = 0347E4: 85 EA STA $EA Add $0122 three times to EC-ED pointer 47E6: AD 2201 LDA $012247E9: 18 CLC47EA: 65 EC ADC $EC47EC: 85 EC STA $EC47EE: A9 00 LDA #$00 ; A = 0047F0: 65 ED ADC $ED47F2: 85 ED STA $ED47F4: C6 EA DEC $EA47F6: D0 EE BNE $47E6 47F8: A0 00 LDY #$00 ; Y = 0047FA: 84 EB STY $EB47FC: B1 EC LDA ($EC),Y47FE: 4A LSR47FF: 4A LSR4800: 4A LSR4801: 29 03 AND #$03 ; keep bits .... ..xx4803: 85 EA STA $EA 4805: A5 EB LDA $EB4807: 0A ASL4808: 18 CLC4809: 65 EB ADC $EB480B: A8 TAY480C: B1 EC LDA ($EC),Y480E: 29 07 AND #$07 ; keep bits .... .xxx4810: AA TAX4811: AD 2201 LDA $01224814: DD 0601 CMP $0106,X4817: 90 75 BCC $488E 4819: A9 00 LDA #$00 ; A = 00481B: 9D 0601 STA $0106,X481E: C8 INY481F: B1 EC LDA ($EC),Y4821: 9D 1201 STA $0112,X4824: 85 E8 STA $E84826: C8 INY4827: B1 EC LDA ($EC),Y4829: 9D 1801 STA $0118,X482C: 85 E9 STA $E9482E: A9 F8 LDA #$F8 ; A = F84830: 9D 0C01 STA $010C,X4833: A9 01 LDA #$01 ; A = 014835: 9D 0001 STA $0100,X4838: E0 03 CPX #$03483A: B0 0E BCS $484A 483C: E0 02 CPX #$02483E: F0 05 BEQ $4845 4840: A9 80 LDA #$80 ; A = 804842: 9D 7801 STA $0178,X4845: A9 00 LDA #$00 ; A = 004847: 9D 3201 STA $0132,X 484A: A9 00 LDA #$00 ; A = 00484C: 9D 4801 STA $0148,X484F: A8 TAY4850: B1 E8 LDA ($E8),Y4852: C8 INY4853: C9 30 CMP #$304855: 90 07 BCC $485E 4857: 88 DEY4858: 8C 3E01 STY $013E485B: 8C 3C01 STY $013C 485E: 98 TYA485F: 9D 2401 STA $0124,X4862: AD 2201 LDA $0122 ; Sound Index4865: 9D 0601 STA $0106,X4868: 8A TXA4869: C9 01 CMP #$01486B: 90 2F BCC $489C 486D: E0 05 CPX #$05486F: D0 05 BNE $4876 4871: A9 0C LDA #$0C ; A = 0C 4873: 4C 7A88 JMP $887A ---- 4876: 0A ASL4877: 0A ASL4878: 29 0F AND #$0F ; keep bits .... xxxx 487A: AA TAX487B: A9 00 LDA #$00 ; A = 00487D: E0 08 CPX #$08487F: F0 02 BEQ $4883 4881: A9 30 LDA #$30 ; A = 304883: 9D 0040 STA $4000,X 4886: 20 0587 JSR $8705 4889: A9 7F LDA #$7F ; A = 7F488B: 9D 0140 STA $4001,X 488E: E6 EB INC $EB4890: C6 EA DEC $EA4892: 10 05 BPL $4899 4894: 68 PLA4895: A8 TAY4896: 68 PLA4897: AA TAX 4898: 60 RTS ---- 4899: 4C 0588 JMP $8805 ---- 489C: 09 04 ORA #$04 ; set bits .... .x.. 489E: A8 TAY 489F: B9 0601 LDA $0106,Y 48A2: D0 EA BNE $488E 48A4: 8A TXA 48A5: 4C 7688 JMP $8876 ---- 48A8: 38 SEC 48A9: E9 5A SBC #$5A 48AB: 8D 2201 STA $0122 48AE: 98 TYA 48AF: 48 PHA 48B0: AD 2201 LDA $0122 48B3: 0A ASL 48B4: 0A ASL 48B5: A8 TAY 48B6: A9 0F LDA #$0F ; A = 0F 48B8: 8D 1540 STA $4015 ; Sound Channel Switch 48BB: B9 DB88 LDA $88DB,Y 48BE: 8D 1040 STA $4010 48C1: B9 DC88 LDA $88DC,Y 48C4: 8D 1140 STA $4011 48C7: B9 DD88 LDA $88DD,Y 48CA: 8D 1240 STA $4012 48CD: B9 DE88 LDA $88DE,Y 48D0: 8D 1340 STA $4013 48D3: A9 1F LDA #$1F ; A = 1F 48D5: 8D 1540 STA $4015 ; Sound Channel Switch 48D8: 68 PLA 48D9: A8 TAY 48DA: 60 RTS ---- 48DB: Table for ? (10 bytes) 0F 2F F0 05 0F 75 F3 25 0F 00 F0 05 0F 00 F3 25 ---- 48EB: Table for ? (5D * 3 = 117 bytes) Master look-up table for sounds and music 03 24 8A 4A24 (01) 05 02 8A 4A02 (02) 0C 25 8A 4A25 05 36 8A 4A36 04 41 8A 4A41 0C 78 8A 4A78 05 82 8A 4A82 05 90 8A 4A90 05 81 8C 4C81 0C B3 8A 4AB3 05 DC 8A 4ADC 0C 05 8B 05 32 8B 0C 59 8B 05 90 8B 0C F3 8B 05 07 8C 0C 19 8C 05 27 8C 04 BA 8C 04 49 8D 0C D4 8C 05 F7 8C 04 1C 8D 04 33 8D 04 DD 8D 04 76 8D 0C A5 8E 05 C6 8E 04 2F 8E 04 47 8E 04 5E 8E 14 E3 8E 01 E3 8E 05 83 8F 05 C2 8F 05 01 90 18 95 91 5195 26 Intro Tune Square 1 01 AB 91 51AB 27 Intro Tune Square 2 02 C3 91 51C3 28 Intro Tune Triangle 03 D3 91 51D3 29 Intro Tune Noise/PCM 18 28 94 5428 2A Jungle/Hangar Square 1 01 4E 92 524E 2B Jungle/Hangar Square 2 02 C7 95 55C7 2C Jungle/Hangar Triangle 03 75 97 5775 2D Jungle/Hangar Noise/PCM 18 85 99 5985 2E Waterfall Square 1 01 71 9A 5A71 2F Waterfall Square 2 02 67 9B 5B67 30 Waterfall Triangle 03 CE 9B 5BCE 31 Waterfall Noise/PCM 18 A4 9C 01 32 9D 02 9A 9D 03 1E 9E 18 A8 9E 01 46 9F 02 B8 9F 03 03 A0 18 92 A0 01 A7 A1 02 95 A2 03 2F A3 18 68 A4 01 70 A5 02 EB A5 03 7A A6 18 93 A7 01 78 A8 02 FB A8 03 0E AA 18 92 AA 01 B3 AA 02 D4 AA 03 EF AA 18 9F AC 01 1A AD 02 05 AE 6E05 4C 03 87 AE 18 34 AB 01 5C AB 02 86 AB 03 B2 AB 0C 17 91 05 6A 91 04 0A 8A 4A0A 54 0C 3C 90 05 55 90 14 94 90 01 98 90 05 DC 90 03 24 8A 4A24 5A 03 24 8A 4A24 5B 03 24 8A 4A24 5C 03 24 8A 4A24 5D ---- 4A02: Sound Code 02 (8 bytes) 21 30 60 03 F8 10 01 FF ---- 4A0A: Sound Code 54 (1B bytes) 25 82 00 D5 00 8E 00 A9 22 B0 E0 6A D0 6A B0 6A A0 6A 90 6A 70 6A 50 6A 40 6A FF -------- 5195: Music Code 26 - Intro Tune Square 1 (16 bytes) Byte 3 affects timbre E8 D9 F8 87 0A E3 03 D9 F7 84 06 E2 93 73 23 DA F7 84 02 E2 4F FF ---- 51AB: Music Code 27 - Intro Tune Square 2 (18 bytes) D9 39 86 0A E3 53 D9 3A 87 05 E1 03 E2 B3 73 DA 38 85 03 95 E1 21 47 FF ---- 51C3: Music Code 28 - Intro Tune Triangle (10 bytes) D9 6F E3 53 E1 43 23 E2 B3 DA 90 E3 95 21 97 FF ---- 51D3: Music Code 29 - Intro Tune Noise/PCM (A bytes) D9 33 03 03 33 DA 55 11 17 FF ---- From Pointer Table at 4001 (Level 1) Related to Sound Enveloppe or something similar 51DD: 05 06 07 06 05 04 03 FF 51E5: 03 04 03 02 FF 51EA: 07 06 05 04 03 02 01 00 00 00 02 02 FF 51F7: 06 05 04 03 02 01 00 00 00 00 01 01 FF 5204: 07 06 05 04 03 03 02 01 00 00 00 00 00 00 00 02 02 FF 5216: 07 06 05 04 03 00 00 00 00 00 00 00 01 01 01 01 01 01 FF 5229: 05 04 03 02 01 01 00 00 00 00 00 00 01 01 01 01 01 01 FF 523C: 06 05 04 03 02 02 02 01 00 00 00 00 00 00 00 01 01 FF ---- 524E -------- 6E05: Table for Sound/Music Code 4C (19 bytes) FD 25 AD D6 7F E3 B5 D6 0E B0 B0 E2 71 71 C1 71 FD 25 AD D6 90 E3 BF B7 FF -------- Draw Sprites 6E9D: A5 35 LDA $35 6E9F: 18 CLC 6EA0: 69 4C ADC #$4C 6EA2: 85 35 STA $35 6EA4: 85 04 STA $04 6EA6: A0 3F LDY #$3F ; Y = 3F 6EA8: 84 07 STY $07 6EAA: A5 6A LDA $6A 6EAC: F0 03 BEQ $6EB1 6EAE: 20 C0AF JSR $AFC0 ; Draw HUD Sprites 6EB1: A2 19 LDX #$19 ; X = 19 6EB3: 86 05 STX $05 6EB5: BD 0003 LDA $0300,X 6EB8: F0 12 BEQ $6ECC 6EBA: BC 4E03 LDY $034E,X 6EBD: 84 00 STY $00 6EBF: BC 1A03 LDY $031A,X ; Player Y Position on Screen (or Enemy) 6EC2: 84 01 STY $01 6EC4: BC 3403 LDY $0334,X ; Player X Position on Screen (or Enemy) 6EC7: 84 02 STY $02 6EC9: 20 E3AE JSR $AEE3 6ECC: A4 07 LDY $07 6ECE: 30 12 BMI $6EE2 6ED0: A6 05 LDX $05 6ED2: CA DEX 6ED3: 10 DE BPL $6EB3 6ED5: A6 04 LDX $04 6ED7: A9 F4 LDA #$F4 ; A = F4 6ED9: 9D 0002 STA $0200,X 6EDC: 20 2AB0 JSR $B02A 6EDF: 88 DEY 6EE0: 10 F5 BPL $6ED7 6EE2: 60 RTS ---- 6EE3: 0A ASL 6EE4: A8 TAY 6EE5: B0 0B BCS $6EF2 6EE7: B9 2EB0 LDA $B02E,Y 6EEA: 85 08 STA $08 6EEC: B9 2FB0 LDA $B02F,Y 6EEF: 4C FAAE JMP $AEFA ---- 6EF2: B9 2EB1 LDA $B12E,Y 6EF5: 85 08 STA $08 6EF7: B9 2FB1 LDA $B12F,Y 6EFA: 85 09 STA $09 6EFC: A0 00 LDY #$00 ; Y = 00 6EFE: B1 08 LDA ($08),Y 6F00: F0 E0 BEQ $6EE2 6F02: C8 INY 6F03: C9 FE CMP #$FE ; FE Exception 6F05: D0 03 BNE $6F0A 6F07: 4C 9BAF JMP $AF9B ---- 6F0A: 85 03 STA $03 6F0C: A5 00 LDA $00 6F0E: 29 C8 AND #$C8 ; keep bits xx.. x... 6F10: 85 0B STA $0B 6F12: A5 00 LDA $00 6F14: 4A LSR 6F15: 4A LSR 6F16: 4A LSR 6F17: A2 FC LDX #$FC ; X = FC 6F19: A9 23 LDA #$23 ; A = 23 6F1B: B0 04 BCS $6F21 6F1D: A2 FF LDX #$FF ; X = FF 6F1F: A9 20 LDA #$20 ; A = 20 6F21: 25 00 AND $00 6F23: 85 00 STA $00 6F25: 86 0D STX $0D 6F27: A6 04 LDX $04 6F29: B1 08 LDA ($08),Y 6F2B: C9 80 CMP #$80 6F2D: D0 16 BNE $6F45 6F2F: A5 0B LDA $0B 6F31: 29 F7 AND #$F7 ; keep bits xxxx .xxx 6F33: 85 0B STA $0B 6F35: C8 INY 6F36: B1 08 LDA ($08),Y 6F38: 85 06 STA $06 6F3A: C8 INY 6F3B: B1 08 LDA ($08),Y 6F3D: 85 09 STA $09 6F3F: A5 06 LDA $06 6F41: 85 08 STA $08 6F43: A0 00 LDY #$00 ; Y = 00 6F45: B1 08 LDA ($08),Y 6F47: 85 0C STA $0C 6F49: A5 0B LDA $0B 6F4B: 0A ASL 6F4C: 29 10 AND #$10 ; keep bits ...x .... 6F4E: F0 02 BEQ $6F52 6F50: E6 0C INC $0C 6F52: A5 0C LDA $0C 6F54: 90 07 BCC $6F5D 6F56: 85 0C STA $0C 6F58: A9 F0 LDA #$F0 ; A = F0 6F5A: E5 0C SBC $0C 6F5C: 18 CLC 6F5D: 65 01 ADC $01 6F5F: 9D 0002 STA $0200,X 6F62: C8 INY 6F63: B1 08 LDA ($08),Y 6F65: 9D 0102 STA $0201,X 6F68: C8 INY 6F69: B1 08 LDA ($08),Y 6F6B: 25 0D AND $0D 6F6D: 05 00 ORA $00 6F6F: 45 0B EOR $0B 6F71: 9D 0202 STA $0202,X 6F74: C8 INY 6F75: A5 0B LDA $0B 6F77: 0A ASL 6F78: 0A ASL 6F79: B1 08 LDA ($08),Y 6F7B: 90 07 BCC $6F84 6F7D: 85 0C STA $0C 6F7F: A9 F8 LDA #$F8 ; A = F8 6F81: E5 0C SBC $0C 6F83: 18 CLC 6F84: 30 0F BMI $6F95 6F86: 65 02 ADC $02 6F88: B0 03 BCS $6F8D 6F8A: 20 25B0 JSR $B025 6F8D: C8 INY 6F8E: C6 03 DEC $03 6F90: D0 97 BNE $6F29 6F92: 86 04 STX $04 6F94: 60 RTS ---- 6F95: 65 02 ADC $02 6F97: B0 F1 BCS $6F8A 6F99: 90 F2 BCC $6F8D 6F9B: A6 04 LDX $04 6F9D: A9 F8 LDA #$F8 ; A = F8 6F9F: 18 CLC 6FA0: 65 01 ADC $01 6FA2: 9D 0002 STA $0200,X 6FA5: B1 08 LDA ($08),Y 6FA7: 9D 0102 STA $0201,X 6FAA: C8 INY 6FAB: B1 08 LDA ($08),Y 6FAD: 05 00 ORA $00 6FAF: 9D 0202 STA $0202,X 6FB2: A5 02 LDA $02 6FB4: 38 SEC 6FB5: E9 04 SBC #$04 6FB7: 90 05 BCC $6FBE 6FB9: 20 25B0 JSR $B025 6FBC: 86 04 STX $04 6FBE: C8 INY 6FBF: 60 RTS ---- 6FC0: A5 22 LDA $22 ; Number of Players (0 = 1 Player) 6FC2: A4 1C LDY $1C ; Demo Mode (0 = Not in Demo Mode) 6FC4: F0 02 BEQ $6FC8 6FC6: A9 01 LDA #$01 ; A = 01 6FC8: 85 00 STA $00 6FCA: A6 04 LDX $04 6FCC: A0 04 LDY #$04 ; Y = 04 6FCE: A5 1C LDA $1C ; Demo Mode (0 = Not in Demo Mode) 6FD0: D0 15 BNE $6FE7 6FD2: A4 00 LDY $00 6FD4: B9 3800 LDA $0038,Y ; Player Y Game Over state (1 = Game Over) 6FD7: A0 04 LDY #$04 ; Y = 04 6FD9: 4A LSR 6FDA: B0 0B BCS $6FE7 6FDC: A4 00 LDY $00 6FDE: B9 3200 LDA $0032,Y ; Player Y Lives 6FE1: A0 00 LDY #$00 ; Y = 00 6FE3: C9 04 CMP #$04 6FE5: 90 02 BCC $6FE9 6FE7: A9 04 LDA #$04 ; A = 04 6FE9: 85 01 STA $01 6FEB: C6 01 DEC $01 6FED: 30 1F BMI $700E 6FEF: A9 10 LDA #$10 ; A = 10 6FF1: 9D 0002 STA $0200,X 6FF4: B9 15B0 LDA $B015,Y 6FF7: 9D 0102 STA $0201,X 6FFA: A5 00 LDA $00 6FFC: 9D 0202 STA $0202,X 6FFF: 4A LSR 7000: B9 1DB0 LDA $B01D,Y 7003: 90 02 BCC $7007 7005: 69 AF ADC #$AF 7007: 20 25B0 JSR $B025 700A: C8 INY 700B: 4C EBAF JMP $AFEB ---- 700E: C6 00 DEC $00 7010: 10 BA BPL $6FCC 7012: 86 04 STX $04 7014: 60 RTS *** bridge to add stuff to the HUD *** 7012: 4C 00BE JMP $BE00 -- 7E00: A9 20 LDA #$20 ; A = 20 7E02: 9D 0002 STA $0200,X 7E05: A9 0A LDA #$0A ; A = 0A 7E07: 9D 0102 STA $0201,X 7E0A: A9 02 LDA #$02 ; A = 02 7E0C: 9D 0202 STA $0202,X 7E0F: A9 30 LDA #$30 ; A = 30 7E11: 9D 0302 STA $0203,X 7E14: E8 INX 7E15: E8 INX 7E16: E8 INX 7E17: E8 INX 7E18: 86 04 STX $04 7E1A: 60 RTS *** ---- 7015: Table for ? (10 bytes) 0A 0A 0A 0A 02 04 06 08 10 1C 28 34 10 1C 28 34 ---- 7025: 9D 0302 STA $0203,X 7028: C6 07 DEC $07 702A: 8A TXA 702B: 18 CLC 702C: 69 C4 ADC #$C4 702E: AA TAX 702F: 60 RTS ---- 7030: Big-ass pointer table for Sprites (CF * 2 = 19E bytes) CEB1 -> 71CE 01 Nothing CFB1 -> 71CF 02 E4B1 -> 71E4 03 F9B1 -> 71F9 04 0EB2 -> 720E 05 1AB2 -> 721A 06 26B2 -> 7226 07 29B2 -> 7229 08 3AB2 -> 723A 09 47B2 -> 7247 0A 58B2 -> 7258 0B 69B2 -> 7269 0C 7AB2 -> 727A 0D 8AB2 -> 728A 0E 9AB2 -> 729A 0F AAB2 -> 72AA 10 B6B2 -> 72B6 11 C2B2 -> 72C2 12 CEB2 -> 72CE 13 DEB2 -> 72DE 14 EEB2 -> 72EE 15 FEB2 -> 72FE 16 0EB3 -> 730E 17 1FB3 -> 731F 18 28B3 -> 7328 19 31B3 -> 7331 1A 3AB3 -> 733A 1B 4AB3 -> 734A 1C 56B3 -> 7356 1D 66B3 -> 7366 1E 69B3 -> 7369 1F 6CB3 -> 736C 6FB3 -> 736F 72B3 -> 7372 Bullet Type 1,2 75B3 -> 7375 78B3 -> 7378 81B3 -> 7381 84B3 -> 7384 95B3 -> 7395 A6B3 -> 73A6 B2B3 -> 73B2 C3B3 -> 73C3 DCB3 -> 73DC E8B3 -> 73E8 FDB3 -> 73FD 12B4 -> 7412 23B4 -> 7423 30B4 -> 7430 38B4 -> 7438 40B4 -> 7440 48B4 -> 7448 50B4 -> 7450 R Weapon Item 58B4 -> 7458 M Weapon Item 79B4 -> 7479 8EB4 -> 748E 36 97B4 -> 7497 37 B0B4 -> 74B0 D1B4 -> 74D1 F2B4 -> 74F2 03B5 -> 7503 14B5 -> 7514 25B5 -> 7525 31B5 -> 7531 3DB5 -> 753D 4DB5 -> 754D 62B5 -> 7562 72B5 -> 7572 82B5 -> 7582 87B5 -> 7587 Rifle Man (hiding middle frame) 94B5 -> 7594 98B5 -> 7598 9BB5 -> 759B B8B5 -> 75B8 C1B5 -> 75C1 DAB5 -> 75DA E3B5 -> 75E3 F0B5 -> 75F0 FDB5 -> 75FD Weapon Zeppelin 05B6 -> 7605 Nothing 06B6 -> 7606 23B6 -> 7623 33B6 -> 7633 43B6 -> 7643 53B6 -> 7653 70B6 -> 7670 91B6 -> 7691 B2B6 -> 76B2 CBB6 -> 76CB E4B6 -> 76E4 E4B6 -> 76E4 E4B6 -> 76E4 E4B6 -> 76E4 E5B6 -> 76E5 06B7 -> 7706 1AB7 -> 771A 2EB7 -> 772E 42B7 -> 7742 4EB7 -> 774E 56B7 -> 7756 5FB7 -> 775F 80B7 -> 7780 80B7 -> 7780 80B7 -> 7780 81B7 -> 7781 A2B7 -> 77A2 BEB7 -> 77BE D2B7 -> 77D2 DEB7 -> 77DE EAB7 -> 77EA F3B7 -> 77F3 FCB7 -> 77FC FFB7 -> 77FF 08B8 -> 7808 11B8 -> 7811 14B8 -> 7814 1DB8 -> 781D 26B8 -> 7826 2FB8 -> 782F 38B8 -> 7838 41B8 -> 7841 4AB8 -> 784A 53B8 -> 7853 Bullet Type 4 5CB8 -> 785C 65B8 -> 7865 72B8 -> 7872 7FB8 -> 787F 8CB8 -> 788C Location 712E-712F 8CB8 -> 788C 95B8 -> 7895 9EB8 -> 789E A3B8 -> 78A3 A8B8 -> 78A8 ADB8 -> 78AD C2B8 -> 78C2 D3B8 -> 78D3 E0B8 -> 78E0 F1B8 -> 78F1 02B9 -> 7902 17B9 -> 7917 34B9 -> 7934 3CB9 -> 793C 44B9 -> 7944 4CB9 -> 794C 54B9 -> 7954 65B9 -> 7965 75B9 -> 7975 7AB9 -> 797A 8BB9 -> 798B 9CB9 -> 799C ADB9 -> 79AD BEB9 -> 79BE D3B9 -> 79D3 E0B9 -> 79E0 E9B9 -> 79E9 F2B9 -> 79F2 FFB9 -> 79FF 0CBA -> 7A0C 0FBA -> 7A0F 18BA -> 7A18 21BA -> 7A21 2ABA -> 7A2A 2FBA -> 7A2F 32BA -> 7A32 37BA -> 7A37 3CBA -> 7A3C 41BA -> 7A41 44BA -> 7A44 A6 Boss Robot Arm (partial) 49BA -> 7A49 4CBA -> 7A4C 50BA -> 7A50 59BA -> 7A59 AA Size 16 B2BA -> 7AB2 CBBA -> 7ACB D7BA -> 7AD7 F0BA -> 7AF0 FCBA -> 7AFC AF Boss Robot Disk 05BB -> 7B05 0EBB -> 7B0E 17BB -> 7B17 B2 Alien Spider - Frame 1 30BB -> 7B30 B3 Alien Spider - Frame 2 51BB -> 7B51 B4 Alien Spider - Frame 3 6EBB -> 7B6E B5 Alien Spider - Out of Spawn 77BB -> 7B77 B6 Size 16 77BB -> 7B77 B7 Size 16 D0BB -> 7BD0 B8 Boss Robot - Walking Frame 2 (legs united) (Size 12) 19BC -> 7C19 B9 Size 15 45BC -> 7C45 4EBC -> 7C4E 57BC -> 7C57 74BC -> 7C74 91BC -> 7C91 96BC -> 7C96 9BBC -> 7C9B A0BC -> 7CA0 A5BC -> 7CA5 CDBC -> 7CCD C4 D2BC -> 7CD2 DBBC -> 7CDB E8BC -> 7CE8 F1BC -> 7CF1 FEBC -> 7CFE 13BD -> 7D13 30BD -> 7D30 59BD -> 7D59 7EBD -> 7D7E ABBD -> 7DAB D0BD -> 7DD0 ---- 71CE: Sprite Data (C17 bytes) Sprites Tile Mappings Format First Byte is Number of Sprites (4 bytes per sprite) Each group of 4 bytes correspond to the standard sprite attributes All Sprites are vertical double, 8x16 pixels Byte 0: Y Position (relative to enemy position, can be negative) Byte 1: Tile Mapping Code Byte 2: Palette Code, flipping, sprite drawn behind background Byte 3: X Position (relative to enemy position, can be negative) A value of 80 means go to address from next 2 bytes and go on from there Example: 80 28 B4 Go to B428 (7428) and generate the remaining tiles from there Sprite Code 01 means the enemy is not displayed. A value of FE at the beginning means it's a "small sprite", consisting of only one tile stack. In that case, the sequence is 3 bytes long. First byte is FE, second byte is tile mapping, and third byte is attributes. X and Y positions are both set F8. ---- 71CE: Sprite Code 01 Nothing 00 ---- 71CF: Sprite Code 02 05 EE 28 01 FB EE 2A 01 03 ---- 71D8: No Sprite Code, only part of other Sprite Codes FE 34 00 F8 FE 36 00 00 0E 40 00 F8 ---- 71E4: Sprite Code 03 05 EF 2C 01 FC EF 2E 01 04 ---- 71ED: No Sprite Code, only part of other Sprite Codes FD 38 00 F8 FD 3A 00 00 0D 42 00 04 ---- 71F9: Sprite Code 04 05 EE 30 01 FA EE 32 01 02 ---- 7202: No Sprite Code, only part of other Sprite Codes FE 3C 00 F7 FE 3E 00 FF 0E 42 00 FE ---- 720E: Sprite Code 05 05 EE 30 01 FA EE 32 01 02 80 D8 B1 71D8 ---- 721A: Sprite Code 06 05 EE 28 01 FB EE 2A 01 03 80 02 B2 7202 ---- 7226: Sprite Code 07 (*exception*) FE EC 02 ---- 7229: Sprite Code 08 04 F2 44 01 F8 F2 48 01 00 02 46 00 F8 02 4A 00 00 ---- 723A: Sprite Code 09 03 F8 4C 00 F6 F8 4E 01 FE F8 50 01 06 ---- 7247: Sprite Code 0A 04 F3 68 01 F6 03 6A 00 F6 F7 6C 00 FE F7 6E 00 06 ---- 7258: Sprite Code 0B 04 F9 70 00 F8 FA 74 00 FF EA 72 00 FC FF 76 01 FA ---- 7269: Sprite Code 0C 04 00 78 01 F0 00 7A 01 F8 00 7C 00 00 00 7E 00 08 ---- 727A: Sprite Code 0D 06 EE 94 01 F9 EE 96 01 01 EE 98 01 09 80 D8 B1 71D8 ---- 728A: Sprite Code 0E 06 EF 94 01 F9 EF 96 01 01 EF 98 01 09 80 ED B1 71ED ---- 729A: Sprite Code 0F 06 EE 94 01 F9 EE 96 01 01 EE 98 01 09 80 02 B2 7202 ---- 72AA: Sprite Code 10 05 EE 8C 01 FB EE 8E 01 03 80 D8 B1 71D8 ---- 72B6: Sprite Code 11 05 EF 8C 01 FB EF 8E 01 03 80 ED B1 71ED ---- 72C2: Sprite Code 12 05 EE 8C 01 FB EE 8E 01 03 80 02 B2 7202 ---- 72CE: Sprite Code 13 06 EE 86 01 F8 EE 88 01 00 F3 8A 01 05 80 D8 B1 71D8 ---- 72DE: Sprite Code 14 06 EF 86 01 F8 EF 88 01 00 F4 8A 01 05 80 ED B1 71ED ---- 72EE: Sprite Code 15 06 EE 86 01 F8 EE 88 01 00 F3 8A 01 05 80 02 B2 7202 ---- 72FE: Sprite Code 16 06 DE 82 01 01 EE 80 01 F9 EE 84 01 01 80 02 B2 7202 ---- 730E: Sprite Code 17 04 00 9C 00 F0 00 9E 00 F8 00 A0 01 00 00 A2 01 08 ---- 731F: Sprite Code 18 02 7320 FA DC 01 F8 FA DC 41 00 ---- 7328: Sprite Code 19 02 F2 DE 01 F8 F2 E0 01 00 ---- 7331: Sprite Code 1A 02 FA E2 01 F8 FA E4 01 00 ---- 733A: Sprite Code 1B 05 DF 82 01 01 EF 80 01 F9 EF 84 01 01 80 20 B3 7320 ---- 734A: Sprite Code 1C 04 EF 8C 01 FB EF 8E 01 03 80 20 B3 7320 ---- 7356: Sprite Code 1D 05 EF 94 01 F9 EF 96 01 01 EF 98 01 09 80 20 B3 7320 ---- 7366: Sprite Code 1E Bullet Type 0,3 (M Weapon, Turrent Man Bullet) * confirmed real code * FE 0E 02 (*exception*) ---- 7369: Sprite Code 1F FE 10 02 (*exception*) ---- 736C: Sprite Code 20 FE 12 02 (*exception*) ---- 736F: Sprite Code 21 FE 14 02 (*exception*) ---- 7372: Sprite Code 22 FE 16 02 (*exception*) ---- 7375: Sprite Code 23 FE 18 02 (*exception*) ---- 7378: Sprite Code 24 02 F8 92 02 F4 F8 92 02 FC ---- 7381: Sprite Code 25 FE 90 02 (*exception*) ---- 7384: Sprite Code 26 04 00 DC 03 F0 00 DE 01 F8 00 E0 01 00 00 E2 03 08 ---- 7395: Sprite Code 27 04 F0 D6 01 F8 F0 D8 01 00 739E 00 CE 03 F8 00 CC 03 00 ---- 73A6: Sprite Code 28 04 F0 BE 01 F8 F0 C0 01 00 80 9E B3 739E ---- 73B2: Sprite Code 29 04 F0 AE 01 F8 73B7 F0 B0 01 00 00 BA 01 F8 00 BC 01 00 ---- 73C3: Sprite Code 2A 06 73C4 F6 E4 02 F0 F6 E6 02 F8 F6 E8 02 00 F6 FC 02 08 04 EA 00 F9 04 EA 00 05 ---- 73DC: Sprite Code 2B 06 04 EC 00 F9 04 EC 00 05 80 C4 B3 73C4 ---- 73E8: Sprite Code 2C 05 F0 F2 41 F8 F0 B6 01 00 F0 B8 01 08 00 F4 41 F8 00 BC 01 00 ---- 73FD: Sprite Code 2D 05 F0 F6 41 F8 F0 AA 01 00 F8 AC 01 08 00 F4 41 F8 00 BC 01 00 ---- 7412: Sprite Code 2E 04 F0 FA 41 F8 F0 F8 41 00 00 F4 41 F8 00 FC 41 00 ---- 7423: Sprite Code 2F 03 F8 1C 01 FC F8 1A 01 F4 F8 1A 41 04 ---- 7430 *** rendu icitte *** -------- 75C1: Sprite Code xx 06 F0 E6 03 F4 F0 E8 03 FC F0 D7 03 04 00 D9 03 F4 00 DB 03 FC 00 DD 03 04 ---- 75DA: Sprite Code xx 02 F8 DC 01 F8 F8 DE 01 00 ---- 75E3: Sprite Code xx 03 E8 E2 03 00 F8 E0 01 F8 F8 E4 01 00 -------- 7A44: Sprite Code xx 01 F8 FC 01 FD -------- 7A59: Sprite Code xx 16 00 DA 01 00 00 DE 01 08 00 E2 01 10 10 DC 02 00 10 E0 02 08 10 E4 02 10 20 EA 00 05 20 F4 00 15 30 EC 00 05 30 F6 00 15 40 EE 00 05 40 F8 00 15 FD D6 02 F8 02 D4 02 F0 04 D2 02 E8 0C D8 02 F8 1F E6 00 F5 1F E8 00 FD 24 F0 00 0D 24 FA 00 1D 34 F2 00 0D 34 FC 00 1D -------- 7BD0: Sprite Code xx Level 6 Boss Robot (partial? glitched?) 12 F9 D8 03 F0 F9 DA 03 F8 F9 FF 03 00 09 B6 03 F0 09 07 03 F8 09 09 03 00 DA DC 02 F0 DA DE 02 F8 DA E0 02 00 DA E2 02 08 E6 FD 03 E8 EA E4 03 E0 EA E6 02 F0 EA E8 02 F8 EA EA 02 00 E9 A8 03 06 E9 AA 03 0E F9 B4 03 0B -------- 7CCD: Sprite Code C4 (Tile taken from Pattern Table 1) 01 FF FD 00 FC ---- 7CD2: Sprite Code C5 02 F8 A8 00 F8 F8 AA 00 00 -------- -------- 7DE5: Unused Space (21B bytes) ---- // End of Bank // --------