; Xevious (U) NES disassembly - Pass 1 ; Byte-oriented ca65 source generated from the supplied PRG image. ; Recursively reachable instructions are emitted explicitly with address/byte comments. ; Unreached bytes remain explicit .byte blocks; no ROM byte is deleted or reformatted. ; Pass 2 replaces address-derived labels, RAM aliases, and table names while ; preserving byte identity. ; ; Vectors: NMI=$FC4E RESET=$FAF6 IRQ=$FF1D ; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): ; dispatch table $BA8B, 16 x 16-bit entries, seeded as routine entries ; dispatch table $CA0A, 64 x 16-bit entries, seeded as routine entries ; 5 further routine entries recovered from table references elsewhere in the image: ; $A6A3, $C022, $C7C4, $C7C6, $E308 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: ; $D833, $D8E0, $D909, $D987, $DA2D, $DA5C, $DA91, $DB1A, $DB5A, $DBA2, $DBB3, $DBF2, $DC19, $DC36, $DC7B, $DCBA, $DD28, $DEE0, $DFBB, $E332, $EB30, $E341, $E40A, $E465, $E4E4, $E520, $E549, $E59A, $E648, $E718, $E7F6, $E82B, $E845, $E853, $E873, $E883, $E8A9, $E8C0, $E983, $E98B, $E9B0, $E9EE, $EA3B, $EA5A, $EA82, $EA9F, $EAE3, $EB1E, $EC96, $ECA0, $ECC3, $ECD9, $ECE4, $ED17, $EE28, $EE3C, $EE50, $EE6C, $EE73, $EE7C, $EE8D, $EE9E, $EED1, $EF09, $EF2B, $EF35, $EFC6, $EFFE, $F018, $F02A, $F03A, $F054, $F0E2, $A53A, $C305, $C455, $C49A, $C4D2, $C4F4, $C4FF, $C50B, $C53B, $C626, $C658, $C6D4, $C711, $C720, $C8B4, $C8BE, $C8D2, $C90F, $C920, $CD45, $CE03, $CECF, $CF22, $CF95, $CFCF, $D024, $D24A, $D2C4, $D2E9, $D2F4, $D343, $D351, $D367, $D372, $D385, $D3BA, $D3D6, $D3FD, $D446, $D498, $D4C1, $D4E3, $D55E, $D56B, $D58A, $D59A, $D5CF, $D608, $D617, $D62C, $D63E, $D6F9, $D7A7, $E084, $E100, $E178 ; indirect dispatch through zero page (not followed statically): ; jmp ($00FE) at $BA88 ; jmp ($0004) at $CA07 ; .setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" ; ---- data $8000-$A2BF (8896 bytes) ---- PatternData: ; referenced by `bit $8481` at $CD84 (operand $8481 falls inside this region) ; referenced by `jsr $9848` at $DC7B (operand $9848 falls inside this region) ; referenced by `lda $A1EE,x` at $F44C (operand $A1EE falls inside this region) ; referenced by `lda $A1EE,x` at $F47A (operand $A1EE falls inside this region) ; referenced by `lda $A000,x` at $F4AF (operand $A000 falls inside this region) ; referenced by `lda $A0F7,x` at $F4B6 (operand $A0F7 falls inside this region) ; ... and 2 further references from decoded code .byte $6F, $70, $6F, $71, $72, $6F, $71, $72, $70, $71, $6F, $72, $70, $71, $6F, $71 ; CPU:$8000 PRG:0000 6F 70 6F 71 72 6F 71 72 70 71 6F 72 70 71 6F 71 .byte $72, $6F, $71, $70, $72, $72, $6F, $70, $72, $70, $6F, $71, $71, $6F, $6F, $72 ; CPU:$8010 PRG:0010 72 6F 71 70 72 72 6F 70 72 70 6F 71 71 6F 6F 72 .byte $70, $71, $70, $6F, $70, $72, $6F, $70, $71, $6F, $72, $70, $71, $6F, $72, $6F ; CPU:$8020 PRG:0020 70 71 70 6F 70 72 6F 70 71 6F 72 70 71 6F 72 6F .byte $71, $6F, $70, $71, $72, $72, $71, $70, $6F, $71, $72, $70, $71, $6F, $71, $70 ; CPU:$8030 PRG:0030 71 6F 70 71 72 72 71 70 6F 71 72 70 71 6F 71 70 .byte $71, $6F, $71, $70, $6F, $70, $70, $71, $72, $6F, $70, $71, $70, $70, $71, $6F ; CPU:$8040 PRG:0040 71 6F 71 70 6F 70 70 71 72 6F 70 71 70 70 71 6F .byte $70, $71, $72, $70, $71, $72, $70, $71, $6F, $72, $71, $6F, $71, $6F, $6F, $72 ; CPU:$8050 PRG:0050 70 71 72 70 71 72 70 71 6F 72 71 6F 71 6F 6F 72 .byte $72, $72, $70, $71, $72, $6F, $70, $71, $6F, $70, $71, $72, $72, $71, $70, $6F ; CPU:$8060 PRG:0060 72 72 70 71 72 6F 70 71 6F 70 71 72 72 71 70 6F .byte $72, $6F, $71, $70, $70, $71, $6F, $71, $72, $6F, $70, $71, $70, $72, $6F, $71 ; CPU:$8070 PRG:0070 72 6F 71 70 70 71 6F 71 72 6F 70 71 70 72 6F 71 .byte $70, $6F, $71, $72, $70, $71, $72, $6F, $70, $71, $72, $71, $71, $72, $70, $6F ; CPU:$8080 PRG:0080 70 6F 71 72 70 71 72 6F 70 71 72 71 71 72 70 6F .byte $70, $72, $70, $6F, $72, $70, $71, $70, $71, $70, $70, $6F, $72, $70, $72, $70 ; CPU:$8090 PRG:0090 70 72 70 6F 72 70 71 70 71 70 70 6F 72 70 72 70 .byte $72, $6F, $71, $72, $70, $72, $70, $6F, $72, $70, $71, $70, $6F, $6F, $71, $6F ; CPU:$80A0 PRG:00A0 72 6F 71 72 70 72 70 6F 72 70 71 70 6F 6F 71 6F .byte $71, $6F, $71, $71, $71, $70, $71, $72, $71, $70, $71, $72, $6F, $71, $70, $72 ; CPU:$80B0 PRG:00B0 71 6F 71 71 71 70 71 72 71 70 71 72 6F 71 70 72 .byte $70, $71, $6F, $70, $72, $71, $70, $71, $70, $6F, $72, $49, $4A, $62, $47, $48 ; CPU:$80C0 PRG:00C0 70 71 6F 70 72 71 70 71 70 6F 72 49 4A 62 47 48 .byte $70, $6F, $71, $72, $70, $70, $71, $72, $6F, $71, $70, $72, $70, $72, $70, $6F ; CPU:$80D0 PRG:00D0 70 6F 71 72 70 70 71 72 6F 71 70 72 70 72 70 6F .byte $6F, $71, $70, $70, $72, $6F, $71, $70, $70, $71, $72, $6F, $70, $6F, $70, $71 ; CPU:$80E0 PRG:00E0 6F 71 70 70 72 6F 71 70 70 71 72 6F 70 6F 70 71 .byte $72, $70, $71, $71, $72, $71, $6F, $71, $71, $6F, $72, $70, $71, $6F, $71, $70 ; CPU:$80F0 PRG:00F0 72 70 71 71 72 71 6F 71 71 6F 72 70 71 6F 71 70 .byte $4C, $45, $4C, $45, $4C, $0D, $45, $46, $62, $4B, $4C, $0D, $0D, $0D, $0D, $0D ; CPU:$8100 PRG:0100 4C 45 4C 45 4C 0D 45 46 62 4B 4C 0D 0D 0D 0D 0D .byte $45, $46, $47, $48, $70, $71, $6F, $72, $70, $71, $72, $70, $6F, $71, $72, $6F ; CPU:$8110 PRG:0110 45 46 47 48 70 71 6F 72 70 71 72 70 6F 71 72 6F .byte $71, $70, $6F, $71, $70, $71, $6F, $70, $70, $71, $6F, $71, $70, $6F, $71, $70 ; CPU:$8120 PRG:0120 71 70 6F 71 70 71 6F 70 70 71 6F 71 70 6F 71 70 .byte $6F, $71, $70, $6F, $70, $6F, $6F, $6F, $71, $71, $70, $72, $70, $6F, $71, $6F ; CPU:$8130 PRG:0130 6F 71 70 6F 70 6F 6F 6F 71 71 70 72 70 6F 71 6F .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8140 PRG:0140 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $46, $47, $48, $49, $6F, $71, $70, $72, $70, $6F, $70, $71 ; CPU:$8150 PRG:0150 0D 0D 0D 0D 46 47 48 49 6F 71 70 72 70 6F 70 71 .byte $70, $71, $6F, $71, $70, $71, $40, $45, $4C, $0D, $45, $46, $62, $4B, $4C, $0D ; CPU:$8160 PRG:0160 70 71 6F 71 70 71 40 45 4C 0D 45 46 62 4B 4C 0D .byte $59, $91, $69, $70, $71, $6F, $72, $6F, $70, $71, $71, $70, $6F, $71, $6F, $71 ; CPU:$8170 PRG:0170 59 91 69 70 71 6F 72 6F 70 71 71 70 6F 71 6F 71 .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8180 PRG:0180 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $55, $70, $71, $6F, $71, $70, $71, $6F ; CPU:$8190 PRG:0190 0D 0D 0D 0D 0D 0D 0D 0D 55 70 71 6F 71 70 71 6F .byte $71, $70, $6F, $6F, $71, $72, $44, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81A0 PRG:01A0 71 70 6F 6F 71 72 44 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $45, $46, $47, $48, $71, $6F, $72, $49, $48, $71, $70, $6F, $72 ; CPU:$81B0 PRG:01B0 0D 0C 2F 45 46 47 48 71 6F 72 49 48 71 70 6F 72 .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81C0 PRG:01C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $45, $4C, $55, $70 ; CPU:$81D0 PRG:01D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 45 4C 55 70 .byte $6F, $71, $6F, $71, $72, $56, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81E0 PRG:01E0 6F 71 6F 71 72 56 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $45, $4C, $0D, $0D, $5D, $71, $70, $6F ; CPU:$81F0 PRG:01F0 0D 0C 2F 0D 0D 0D 0D 0D 45 4C 0D 0D 5D 71 70 6F .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8200 PRG:0200 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5D ; CPU:$8210 PRG:0210 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 5D .byte $71, $49, $6A, $91, $4C, $07, $30, $0B, $0C, $0C, $26, $27, $0D, $0D, $0D, $0D ; CPU:$8220 PRG:0220 71 49 6A 91 4C 07 30 0B 0C 0C 26 27 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $65, $71, $70 ; CPU:$8230 PRG:0230 0D 0C 2F 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 65 71 70 .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8240 PRG:0240 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E ; CPU:$8250 PRG:0250 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E .byte $0D, $0D, $17, $09, $0D, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $0D, $0D ; CPU:$8260 PRG:0260 0D 0D 17 09 0D 0B 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $55, $6F ; CPU:$8270 PRG:0270 0D 0C 2F 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 55 6F .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8280 PRG:0280 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E ; CPU:$8290 PRG:0290 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E .byte $0D, $0D, $1B, $2F, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $0D, $0D ; CPU:$82A0 PRG:02A0 0D 0D 1B 2F 0D 0C 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D .byte $0D, $0C, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $45 ; CPU:$82B0 PRG:02B0 0D 0C 0A 06 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 45 .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$82C0 PRG:02C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $04 ; CPU:$82D0 PRG:02D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 04 .byte $33, $0D, $0C, $2F, $0D, $08, $0C, $0C, $0C, $0C, $0C, $01, $0D, $0D, $0D, $0D ; CPU:$82E0 PRG:02E0 33 0D 0C 2F 0D 08 0C 0C 0C 0C 0C 01 0D 0D 0D 0D .byte $0D, $0C, $0C, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$82F0 PRG:02F0 0D 0C 0C 0A 06 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8300 PRG:0300 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8310 PRG:0310 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $04, $33, $0C, $2F, $61, $2E, $01, $04, $31, $31, $05, $0D, $0D, $0D, $0D, $0D ; CPU:$8320 PRG:0320 04 33 0C 2F 61 2E 01 04 31 31 05 0D 0D 0D 0D 0D .byte $0D, $0C, $09, $08, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8330 PRG:0330 0D 0C 09 08 0A 06 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8340 PRG:0340 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8350 PRG:0350 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $04, $0C, $2F, $61, $2E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8360 PRG:0360 0D 04 0C 2F 61 2E 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $04, $08, $0A, $06, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8370 PRG:0370 0D 0C 2F 04 08 0A 06 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8380 PRG:0380 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8390 PRG:0390 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $08, $0A, $06, $2E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83A0 PRG:03A0 0D 0D 08 0A 06 2E 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $04, $08, $0A, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$83B0 PRG:03B0 0D 0C 2F 0D 04 08 0A 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83C0 PRG:03C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83D0 PRG:03D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $04, $08, $0A, $0B, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83E0 PRG:03E0 0D 0D 04 08 0A 0B 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $07, $0B, $0C, $0D, $0D ; CPU:$83F0 PRG:03F0 0D 0C 2F 0D 0D 2E 0C 0D 0D 0D 0D 07 0B 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8400 PRG:0400 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8410 PRG:0410 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $04, $21, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8420 PRG:0420 0D 0D 0D 04 21 0C 02 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $07, $0B, $0C, $0C, $0D, $0D ; CPU:$8430 PRG:0430 0D 0C 2F 0D 0D 2E 0C 0D 0D 0D 07 0B 0C 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8440 PRG:0440 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8450 PRG:0450 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8460 PRG:0460 0D 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $07, $0B, $09, $08, $0C, $0D, $0D ; CPU:$8470 PRG:0470 0D 0C 2F 0D 0D 2E 0C 0D 0D 07 0B 09 08 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D0, $D3, $D3, $D3, $D3, $D3, $D3, $D3 ; CPU:$8480 PRG:0480 0D 0D 0D 0D 0D 0D 0D 0D D0 D3 D3 D3 D3 D3 D3 D3 .byte $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $E7, $E5, $0D, $0D ; CPU:$8490 PRG:0490 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 E7 E5 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $00, $0C, $F5, $F6, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$84A0 PRG:04A0 0D 0D 0D 0D 0D 0D 00 0C F5 F6 0D 0D 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $07, $0B, $09, $05, $2E, $0C, $0D, $0D ; CPU:$84B0 PRG:04B0 0D 0C 2F 0D 0D 2E 0C 0D 07 0B 09 05 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D1, $D2, $D2, $D4, $D5, $E5, $E5, $E5 ; CPU:$84C0 PRG:04C0 0D 0D 0D 0D 0D 0D 0D 0D D1 D2 D2 D4 D5 E5 E5 E5 .byte $E5, $E3, $D3, $D3, $D3, $D3, $D3, $D3, $DC, $DD, $E5, $E6, $E5, $E5, $0D, $0D ; CPU:$84D0 PRG:04D0 E5 E3 D3 D3 D3 D3 D3 D3 DC DD E5 E6 E5 E5 0D 0D .byte $51, $52, $60, $5F, $4F, $0D, $0D, $00, $0C, $0C, $F5, $F6, $0D, $0D, $0D, $0D ; CPU:$84E0 PRG:04E0 51 52 60 5F 4F 0D 0D 00 0C 0C F5 F6 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $07, $0B, $09, $05, $0D, $2E, $0C, $0D, $0D ; CPU:$84F0 PRG:04F0 0D 0C 2F 0D 0D 2E 0C 07 0B 09 05 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $D7, $D6, $E5, $E5, $E5, $E5 ; CPU:$8500 PRG:0500 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 D7 D6 E5 E5 E5 E5 .byte $E2, $E1, $E5, $DB, $E5, $E5, $E5, $E5, $DE, $DF, $DD, $E6, $E5, $E5, $0D, $0D ; CPU:$8510 PRG:0510 E2 E1 E5 DB E5 E5 E5 E5 DE DF DD E6 E5 E5 0D 0D .byte $71, $6F, $72, $70, $5E, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A ; CPU:$8520 PRG:0520 71 6F 72 70 5E 0D 0D 0D 0C 0C 0C 0C 0C 0C 0C 0A .byte $06, $0C, $2F, $0D, $0D, $2E, $0C, $0C, $09, $05, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8530 PRG:0530 06 0C 2F 0D 0D 2E 0C 0C 09 05 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $D7, $D6, $E5, $E5, $E5, $E5, $D7 ; CPU:$8540 PRG:0540 0D 0D 0D 0D 0D 0D 0D 0D E5 D7 D6 E5 E5 E5 E5 D7 .byte $E1, $E5, $E5, $DB, $E5, $E5, $E5, $E5, $E5, $DE, $DF, $E0, $E5, $E5, $0D, $36 ; CPU:$8550 PRG:0550 E1 E5 E5 DB E5 E5 E5 E5 E5 DE DF E0 E5 E5 0D 36 .byte $70, $6F, $72, $71, $5A, $0D, $0D, $0D, $0C, $0C, $23, $31, $31, $31, $20, $0C ; CPU:$8560 PRG:0560 70 6F 72 71 5A 0D 0D 0D 0C 0C 23 31 31 31 20 0C .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8570 PRG:0570 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$8580 PRG:0580 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9 .byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $3A ; CPU:$8590 PRG:0590 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 3A .byte $6F, $72, $71, $6F, $35, $0D, $0D, $0F, $0C, $01, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$85A0 PRG:05A0 6F 72 71 6F 35 0D 0D 0F 0C 01 0D 0D 0D 0D 0D 0C .byte $09, $31, $31, $31, $31, $31, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$85B0 PRG:05B0 09 31 31 31 31 31 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$85C0 PRG:05C0 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9 .byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $3E ; CPU:$85D0 PRG:05D0 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 3E .byte $71, $72, $6F, $70, $44, $0D, $0D, $13, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$85E0 PRG:05E0 71 72 6F 70 44 0D 0D 13 0C 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$85F0 PRG:05F0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$8600 PRG:0600 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9 .byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $42 ; CPU:$8610 PRG:0610 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 42 .byte $6F, $72, $6F, $71, $4E, $0D, $0D, $17, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8620 PRG:0620 6F 72 6F 71 4E 0D 0D 17 0C 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8630 PRG:0630 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5 ; CPU:$8640 PRG:0640 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 E5 E5 E5 E5 E5 E5 .byte $E5, $DA, $E4, $E4, $E4, $E4, $E4, $E4, $E4, $D6, $E5, $E5, $E4, $DB, $0D, $72 ; CPU:$8650 PRG:0650 E5 DA E4 E4 E4 E4 E4 E4 E4 D6 E5 E5 E4 DB 0D 72 .byte $71, $70, $72, $72, $56, $07, $2D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8660 PRG:0660 71 70 72 72 56 07 2D 0C 0C 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8670 PRG:0670 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5 ; CPU:$8680 PRG:0680 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 E5 E5 E5 E5 E5 E5 .byte $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $0D, $5D ; CPU:$8690 PRG:0690 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 0D 5D .byte $72, $71, $5E, $4C, $07, $0B, $09, $24, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$86A0 PRG:06A0 72 71 5E 4C 07 0B 09 24 25 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$86B0 PRG:06B0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $2B, $2C, $2D, $26, $28, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$86C0 PRG:06C0 2B 2C 2D 26 28 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $63, $63, $63, $63, $60 ; CPU:$86D0 PRG:06D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 5C 63 63 63 63 60 .byte $70, $70, $40, $07, $0B, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$86E0 PRG:06E0 70 70 40 07 0B 09 05 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $0A, $30, $30, $30, $28, $29, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$86F0 PRG:06F0 0A 30 30 30 28 29 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $26, $28, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8700 PRG:0700 0C 0C 0C 0C 0C 0C 26 28 0D 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $60, $72, $70, $72, $71, $6F, $71 ; CPU:$8710 PRG:0710 0D 0D 0D 0D 0D 0D 0D 0D 5C 60 72 70 72 71 6F 71 .byte $71, $72, $44, $2E, $0C, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8720 PRG:0720 71 72 44 2E 0C 05 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $04, $31, $31, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8730 PRG:0730 2F 0D 0D 04 31 31 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A, $28, $29, $0D, $0D, $0D, $0D, $0D ; CPU:$8740 PRG:0740 0C 0C 0C 0C 0C 0C 0C 0C 0A 28 29 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $58, $70, $6F, $72, $6F, $71, $6F, $70, $72 ; CPU:$8750 PRG:0750 0D 0D 0D 0D 0D 0D 0D 58 70 6F 72 6F 71 6F 70 72 .byte $49, $4A, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8760 PRG:0760 49 4A 0D 2E 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8770 PRG:0770 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A, $28, $29, $0D, $0D ; CPU:$8780 PRG:0780 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0A 28 29 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $58, $70, $6F, $70, $6F, $70, $70, $71, $71, $56 ; CPU:$8790 PRG:0790 0D 0D 0D 0D 0D 0D 58 70 6F 70 6F 70 70 71 71 56 .byte $0D, $0D, $0D, $2E, $0C, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $0C ; CPU:$87A0 PRG:07A0 0D 0D 0D 2E 0C 30 30 30 30 30 30 30 30 30 30 0C .byte $2F, $0D, $0D, $C9, $CA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$87B0 PRG:07B0 2F 0D 0D C9 CA CD CD CD CD CD CD CD CD CD CD CD .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A ; CPU:$87C0 PRG:07C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0A .byte $06, $0D, $0D, $0D, $0D, $0D, $5D, $6F, $6F, $6F, $5E, $4B, $4C, $0D, $0D, $0D ; CPU:$87D0 PRG:07D0 06 0D 0D 0D 0D 0D 5D 6F 6F 6F 5E 4B 4C 0D 0D 0D .byte $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$87E0 PRG:07E0 0D 0D 0D 2E 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $C9, $CA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$87F0 PRG:07F0 2F C9 CA CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8800 PRG:0800 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0A, $28, $29, $0D, $0D, $0D, $3F, $6F, $71, $71, $41, $0D, $BD, $C1, $CD, $CD ; CPU:$8810 PRG:0810 0A 28 29 0D 0D 0D 3F 6F 71 71 41 0D BD C1 CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8820 PRG:0820 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CB, $CC, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8830 PRG:0830 CD CD CD CB CC 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8840 PRG:0840 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $02, $0D, $0D, $0D, $45, $46, $5D, $5E, $BD, $C1, $CD, $CD, $CD ; CPU:$8850 PRG:0850 0C 0C 0C 02 0D 0D 0D 45 46 5D 5E BD C1 CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8860 PRG:0860 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CB, $CC, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8870 PRG:0870 CD CB CC 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8880 PRG:0880 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $0E, $0D, $0D, $0D, $0D, $A3, $A4, $C1, $CD, $B7, $0D, $07 ; CPU:$8890 PRG:0890 0C 0C 0C 0C 0E 0D 0D 0D 0D A3 A4 C1 CD B7 0D 07 .byte $30, $30, $30, $0B, $0C, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $0C ; CPU:$88A0 PRG:08A0 30 30 30 0B 0C 30 30 30 30 30 30 30 30 30 30 0C .byte $2F, $0D, $0D, $2E, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$88B0 PRG:08B0 2F 0D 0D 2E 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$88C0 PRG:08C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $12, $0D, $0D, $0D, $B9, $CD, $CD, $CD, $B7, $0D, $0D, $17 ; CPU:$88D0 PRG:08D0 0C 0C 0C 0C 12 0D 0D 0D B9 CD CD CD B7 0D 0D 17 .byte $0D, $0D, $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$88E0 PRG:08E0 0D 0D 00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $2F, $0D, $0D, $2E, $0C, $31, $31, $08, $31, $31, $31, $31, $08, $0C, $0D, $0D ; CPU:$88F0 PRG:08F0 2F 0D 0D 2E 0C 31 31 08 31 31 31 31 08 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8900 PRG:0900 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $19, $0D, $0D, $B9, $CD, $BF, $9D, $9E, $50, $0D, $0D, $15 ; CPU:$8910 PRG:0910 0C 0C 0C 0C 19 0D 0D B9 CD BF 9D 9E 50 0D 0D 15 .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8920 PRG:0920 0D 0D 0D 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $2E, $0C, $0D, $0D, $2E, $0D, $0D, $0D, $0D, $17, $0C, $0D, $0D ; CPU:$8930 PRG:0930 0D 0D 0D 2E 0C 0D 0D 2E 0D 0D 0D 0D 17 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8940 PRG:0940 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $1D, $0D, $0D, $CD, $BF, $BB, $3A, $72, $6F, $4D, $4E, $2F ; CPU:$8950 PRG:0950 0C 0C 0C 0C 1D 0D 0D CD BF BB 3A 72 6F 4D 4E 2F .byte $0D, $0D, $0D, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8960 PRG:0960 0D 0D 0D 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $07, $0B, $0C, $02, $0D, $2E, $0D, $0D, $0D, $03, $0C, $0C, $0D, $0D ; CPU:$8970 PRG:0970 0D 0D 07 0B 0C 02 0D 2E 0D 0D 0D 03 0C 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8980 PRG:0980 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $0D, $0D, $0D, $CD, $C6, $5C, $60, $70, $72, $6F, $6A, $90 ; CPU:$8990 PRG:0990 0C 0C 0C 0C 0D 0D 0D CD C6 5C 60 70 72 6F 6A 90 .byte $57, $0D, $0D, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$89A0 PRG:09A0 57 0D 0D 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $07, $0B, $0C, $0C, $0C, $02, $2E, $0D, $0D, $03, $0C, $0C, $0C, $0D, $0D ; CPU:$89B0 PRG:09B0 0D 07 0B 0C 0C 0C 02 2E 0D 0D 03 0C 0C 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$89C0 PRG:09C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $0E, $0D, $0D, $A8, $AE, $3F, $71, $72, $72, $95, $92, $68 ; CPU:$89D0 PRG:09D0 0C 0C 0C 0C 0E 0D 0D A8 AE 3F 71 72 72 95 92 68 .byte $72, $4D, $5B, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$89E0 PRG:09E0 72 4D 5B 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $2E, $0C, $09, $31, $08, $0C, $0C, $0D, $03, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$89F0 PRG:09F0 0D 2E 0C 09 31 08 0C 0C 0D 03 0C 0C 0C 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A00 PRG:0A00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $0C, $1D, $0D, $0D, $AC, $B2, $43, $6F, $70, $71, $90, $72, $72 ; CPU:$8A10 PRG:0A10 0C 0C 0C 0C 1D 0D 0D AC B2 43 6F 70 71 90 72 72 .byte $6F, $70, $5F, $5B, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8A20 PRG:0A20 6F 70 5F 5B 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $2E, $0C, $05, $0D, $04, $08, $0C, $03, $0C, $0C, $09, $08, $0C, $0D, $0D ; CPU:$8A30 PRG:0A30 0D 2E 0C 05 0D 04 08 0C 03 0C 0C 09 08 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A40 PRG:0A40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $11, $0D, $0D, $BD, $C1, $BF, $5C, $71, $6F, $95, $68, $71, $6F ; CPU:$8A50 PRG:0A50 0C 0C 0C 11 0D 0D BD C1 BF 5C 71 6F 95 68 71 6F .byte $6F, $6F, $71, $5F, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8A60 PRG:0A60 6F 6F 71 5F 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $2E, $0C, $0D, $2A, $2B, $0B, $0C, $0C, $0C, $09, $05, $2E, $0C, $0D, $0D ; CPU:$8A70 PRG:0A70 0D 2E 0C 0D 2A 2B 0B 0C 0C 0C 09 05 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A80 PRG:0A80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $15, $0D, $0D, $C1, $CD, $B1, $3E, $71, $72, $90, $6F, $71, $6F ; CPU:$8A90 PRG:0A90 0C 0C 0C 15 0D 0D C1 CD B1 3E 71 72 90 6F 71 6F .byte $71, $71, $70, $6F, $35, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8AA0 PRG:0AA0 71 71 70 6F 35 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $2E, $0C, $2D, $0C, $0C, $0C, $0C, $22, $23, $05, $0D, $2E, $0C, $0D, $0D ; CPU:$8AB0 PRG:0AB0 0D 2E 0C 2D 0C 0C 0C 0C 22 23 05 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8AC0 PRG:0AC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $19, $0D, $BD, $CD, $CD, $B5, $42, $6F, $72, $96, $7C, $7D, $70 ; CPU:$8AD0 PRG:0AD0 0C 0C 0C 19 0D BD CD CD B5 42 6F 72 96 7C 7D 70 .byte $6F, $70, $71, $72, $39, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8AE0 PRG:0AE0 6F 70 71 72 39 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0D, $0B, $0C, $0C, $22, $23, $24, $25, $0D, $5C, $60, $0D, $2E, $0C, $0D, $0D ; CPU:$8AF0 PRG:0AF0 0D 0B 0C 0C 22 23 24 25 0D 5C 60 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B00 PRG:0B00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $0C, $1D, $0D, $C1, $CD, $A9, $0D, $71, $6F, $72, $6F, $73, $74, $94 ; CPU:$8B10 PRG:0B10 0C 0C 0C 1D 0D C1 CD A9 0D 71 6F 72 6F 73 74 94 .byte $6F, $71, $72, $71, $5F, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8B20 PRG:0B20 6F 71 72 71 5F 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D .byte $0F, $0C, $0C, $01, $0D, $0D, $61, $61, $0D, $60, $6F, $35, $2E, $0C, $0D, $0D ; CPU:$8B30 PRG:0B30 0F 0C 0C 01 0D 0D 61 61 0D 60 6F 35 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B40 PRG:0B40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $0C, $01, $0D, $0D, $CD, $CD, $AD, $0D, $72, $6F, $71, $6F, $72, $72, $8F ; CPU:$8B50 PRG:0B50 0C 0C 01 0D 0D CD CD AD 0D 72 6F 71 6F 72 72 8F .byte $70, $72, $6F, $71, $70, $39, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2A, $2B ; CPU:$8B60 PRG:0B60 70 72 6F 71 70 39 0D 0D 0C 2F 0D 0D 0D 0D 2A 2B .byte $0B, $0C, $01, $0D, $0D, $0D, $0D, $0D, $58, $6F, $72, $39, $2E, $0C, $0D, $0D ; CPU:$8B70 PRG:0B70 0B 0C 01 0D 0D 0D 0D 0D 58 6F 72 39 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B80 PRG:0B80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $11, $0D, $0D, $A7, $CD, $CD, $B1, $0D, $5D, $72, $72, $6F, $72, $72, $8F ; CPU:$8B90 PRG:0B90 0C 11 0D 0D A7 CD CD B1 0D 5D 72 72 6F 72 72 8F .byte $70, $72, $6F, $70, $6F, $3D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $03, $0C, $0C ; CPU:$8BA0 PRG:0BA0 70 72 6F 70 6F 3D 0D 0D 0C 2F 0D 0D 0D 03 0C 0C .byte $0C, $0C, $0E, $0D, $0D, $0D, $0D, $0D, $70, $72, $71, $3D, $2E, $0C, $0D, $0D ; CPU:$8BB0 PRG:0BB0 0C 0C 0E 0D 0D 0D 0D 0D 70 72 71 3D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8BC0 PRG:0BC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $15, $0D, $0D, $AB, $CD, $CD, $B5, $0D, $0D, $0D, $0D, $55, $72, $6F, $8F ; CPU:$8BD0 PRG:0BD0 0C 15 0D 0D AB CD CD B5 0D 0D 0D 0D 55 72 6F 8F .byte $72, $70, $71, $6F, $72, $41, $0D, $0D, $0C, $2F, $0D, $0D, $03, $0C, $09, $31 ; CPU:$8BE0 PRG:0BE0 72 70 71 6F 72 41 0D 0D 0C 2F 0D 0D 03 0C 09 31 .byte $04, $0C, $12, $0D, $0D, $0D, $0D, $0D, $5D, $72, $5E, $5A, $2E, $0C, $0D, $0D ; CPU:$8BF0 PRG:0BF0 04 0C 12 0D 0D 0D 0D 0D 5D 72 5E 5A 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C00 PRG:0C00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $19, $0D, $0D, $C1, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $55, $72, $8F ; CPU:$8C10 PRG:0C10 0C 19 0D 0D C1 CD CD F1 F1 F1 F1 F1 F1 55 72 8F .byte $70, $70, $71, $72, $71, $70, $0D, $0D, $08, $0C, $0C, $0C, $0C, $09, $05, $0D ; CPU:$8C20 PRG:0C20 70 70 71 72 71 70 0D 0D 08 0C 0C 0C 0C 09 05 0D .byte $0D, $10, $16, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8C30 PRG:0C30 0D 10 16 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C40 PRG:0C40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $0C, $1D, $0D, $BD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $37, $8F ; CPU:$8C50 PRG:0C50 0C 1D 0D BD CD CD CD F1 F1 F1 F1 F1 F1 F1 37 8F .byte $70, $6F, $70, $71, $71, $71, $5B, $0D, $2E, $0C, $23, $31, $31, $05, $0D, $0D ; CPU:$8C60 PRG:0C60 70 6F 70 71 71 71 5B 0D 2E 0C 23 31 31 05 0D 0D .byte $0D, $14, $1A, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8C70 PRG:0C70 0D 14 1A 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C80 PRG:0C80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $01, $0D, $BD, $C1, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $3B, $89 ; CPU:$8C90 PRG:0C90 01 0D BD C1 CD CD CD F1 F1 F1 F1 F1 F1 F1 3B 89 .byte $69, $6A, $91, $71, $72, $72, $5F, $0D, $0B, $0C, $06, $0D, $0D, $0D, $0D, $0D ; CPU:$8CA0 PRG:0CA0 69 6A 91 71 72 72 5F 0D 0B 0C 06 0D 0D 0D 0D 0D .byte $0D, $18, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8CB0 PRG:0CB0 0D 18 0C 02 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $01 ; CPU:$8CC0 PRG:0CC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 01 .byte $0D, $0D, $C1, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $59, $70 ; CPU:$8CD0 PRG:0CD0 0D 0D C1 CD CD CD CD F1 F1 F1 F1 F1 F1 F1 59 70 .byte $96, $93, $67, $94, $71, $72, $72, $57, $08, $0C, $19, $0D, $0D, $0D, $0D, $0D ; CPU:$8CE0 PRG:0CE0 96 93 67 94 71 72 72 57 08 0C 19 0D 0D 0D 0D 0D .byte $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8CF0 PRG:0CF0 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D ; CPU:$8D00 PRG:0D00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 11 0D .byte $0D, $A7, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $70 ; CPU:$8D10 PRG:0D10 0D A7 CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 70 .byte $6F, $72, $70, $88, $72, $6F, $70, $72, $57, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8D20 PRG:0D20 6F 72 70 88 72 6F 70 72 57 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8D30 PRG:0D30 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D ; CPU:$8D40 PRG:0D40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 15 0D .byte $0D, $AB, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $55 ; CPU:$8D50 PRG:0D50 0D AB CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 55 .byte $70, $72, $71, $86, $6F, $70, $71, $70, $72, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8D60 PRG:0D60 70 72 71 86 6F 70 71 70 72 0D 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8D70 PRG:0D70 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D ; CPU:$8D80 PRG:0D80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D .byte $0D, $C1, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $0D ; CPU:$8D90 PRG:0D90 0D C1 CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 0D .byte $55, $70, $70, $90, $71, $71, $72, $6F, $70, $35, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8DA0 PRG:0DA0 55 70 70 90 71 71 72 6F 70 35 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8DB0 PRG:0DB0 0D 0D 0D 0D 0D 0C 0C 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D ; CPU:$8DC0 PRG:0DC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 19 0D 0D .byte $A7, $CD, $CD, $CD, $CD, $CD, $CD, $F0, $F1, $F0, $F1, $F1, $F0, $F0, $BC, $0D ; CPU:$8DD0 PRG:0DD0 A7 CD CD CD CD CD CD F0 F1 F0 F1 F1 F0 F0 BC 0D .byte $0D, $55, $72, $6D, $72, $70, $72, $72, $70, $39, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8DE0 PRG:0DE0 0D 55 72 6D 72 70 72 72 70 39 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8DF0 PRG:0DF0 0D 0D 0D 0D 0D 0C 0C 0D 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $0D, $0D ; CPU:$8E00 PRG:0E00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 0D 0D .byte $AB, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $F1, $EA, $F1, $F0, $EA, $CD, $C0, $C7 ; CPU:$8E10 PRG:0E10 AB CD CD CD CD CD CD CD F1 EA F1 F0 EA CD C0 C7 .byte $BC, $0D, $70, $6B, $70, $70, $6F, $72, $72, $5F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8E20 PRG:0E20 BC 0D 70 6B 70 70 6F 72 72 5F 0D 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $08, $0C, $02, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8E30 PRG:0E30 0D 0D 0D 0D 0D 08 0C 02 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $0D, $0D ; CPU:$8E40 PRG:0E40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 11 0D 0D 0D .byte $AF, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $F2, $EA, $F1, $EA, $CD, $CD, $CD, $CD ; CPU:$8E50 PRG:0E50 AF CD CD CD CD CD CD CD F2 EA F1 EA CD CD CD CD .byte $CD, $A6, $72, $8F, $69, $6F, $6F, $71, $72, $72, $5B, $0D, $0D, $0D, $0D, $0D ; CPU:$8E60 PRG:0E60 CD A6 72 8F 69 6F 6F 71 72 72 5B 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $04, $08, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8E70 PRG:0E70 0D 0D 0D 0D 0D 04 08 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $0D, $0D ; CPU:$8E80 PRG:0E80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 15 0D 0D 0D .byte $B3, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $EE, $EF, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8E90 PRG:0E90 B3 CD CD CD CD CD CD CD EE EF CD CD CD CD CD CD .byte $CD, $AA, $5D, $8D, $6D, $6E, $0C, $0C, $65, $70, $5F, $5B, $0D, $0D, $0D, $0D ; CPU:$8EA0 PRG:0EA0 CD AA 5D 8D 6D 6E 0C 0C 65 70 5F 5B 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8EB0 PRG:0EB0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D ; CPU:$8EC0 PRG:0EC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D .byte $A8, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8ED0 PRG:0ED0 A8 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $C0, $BC, $5D, $74, $6B, $0C, $0C, $0C, $70, $72, $3C, $0D, $0D, $0D, $0D ; CPU:$8EE0 PRG:0EE0 CD C0 BC 5D 74 6B 0C 0C 0C 70 72 3C 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8EF0 PRG:0EF0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D ; CPU:$8F00 PRG:0F00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D .byte $AC, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F10 PRG:0F10 AC CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $C0, $BC, $55, $8F, $0C, $0C, $0C, $72, $5E, $5A, $0D, $0D, $0D, $0D ; CPU:$8F20 PRG:0F20 CD CD C0 BC 55 8F 0C 0C 0C 72 5E 5A 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8F30 PRG:0F30 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D ; CPU:$8F40 PRG:0F40 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D .byte $B0, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F50 PRG:0F50 B0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $AA, $67, $6B, $0C, $0C, $65, $39, $0D, $0D, $0D, $0D, $0D ; CPU:$8F60 PRG:0F60 CD CD CD CD AA 67 6B 0C 0C 65 39 0D 0D 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8F70 PRG:0F70 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8F80 PRG:0F80 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D 0D .byte $AB, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F90 PRG:0F90 AB CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $C0, $A1, $55, $6F, $67, $92, $75, $21, $0C, $02, $0D, $0D ; CPU:$8FA0 PRG:0FA0 CD CD CD CD C0 A1 55 6F 67 92 75 21 0C 02 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8FB0 PRG:0FB0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8FC0 PRG:0FC0 0C 0C 0C 0C 0C 0C 0C 0C 19 0D 0D 0D 0D 0D 0D 0D .byte $C1, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8FD0 PRG:0FD0 C1 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $9F, $A0, $A5, $A0, $A1, $A2, $04, $31, $31, $31 ; CPU:$8FE0 PRG:0FE0 CD CD CD CD CD CD 9F A0 A5 A0 A1 A2 04 31 31 31 .byte $20, $27, $28, $29, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8FF0 PRG:0FF0 20 27 28 29 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9000 PRG:1000 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D 0D 0D .byte $BE, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9010 PRG:1010 BE CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $9E, $97, $C8, $BE, $CD, $CD, $CD, $C0, $C7, $A1, $A2 ; CPU:$9020 PRG:1020 CD CD CD CD CD 9E 97 C8 BE CD CD CD C0 C7 A1 A2 .byte $0D, $0D, $1E, $1F, $20, $27, $0B, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9030 PRG:1030 0D 0D 1E 1F 20 27 0B 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D, $B9, $9F, $F4, $AE, $0D, $0D ; CPU:$9040 PRG:1040 0C 0C 0C 0C 0C 0C 0C 19 0D 0D B9 9F F4 AE 0D 0D .byte $BA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9050 PRG:1050 BA CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $A9, $42, $4D, $4E, $5B, $97, $98, $99, $9A, $CD, $CD, $CD ; CPU:$9060 PRG:1060 CD CD CD CD A9 42 4D 4E 5B 97 98 99 9A CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9070 PRG:1070 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $0D, $A7, $CD, $CD, $CD, $AD, $0D, $0D ; CPU:$9080 PRG:1080 0C 0C 0C 0C 0C 0C 0C 1D 0D A7 CD CD CD AD 0D 0D .byte $0D, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9090 PRG:1090 0D CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $B2, $70, $72, $71, $70, $4D, $54, $4D, $54, $5F, $97, $98 ; CPU:$90A0 PRG:10A0 CD CD CD CD B2 70 72 71 70 4D 54 4D 54 5F 97 98 .byte $99, $9A, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$90B0 PRG:10B0 99 9A CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $AB, $CD, $CD, $CD, $C0, $BC, $0D ; CPU:$90C0 PRG:10C0 0C 0C 0C 0C 0C 0C 0C 0D 0D AB CD CD CD C0 BC 0D .byte $B9, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$90D0 PRG:10D0 B9 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $37, $6F, $71, $6F, $72, $72, $6F, $70, $71, $0D, $0D ; CPU:$90E0 PRG:10E0 CD CD CD CD CD 37 6F 71 6F 72 72 6F 70 71 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$90F0 PRG:10F0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $BD, $C1, $CD, $CD, $CD, $CD, $BF, $C8 ; CPU:$9100 PRG:1100 0C 0C 0C 0C 0C 0C 0C 0D BD C1 CD CD CD CD BF C8 .byte $BE, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9110 PRG:1110 BE CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $3B, $6F, $71, $71, $70, $71, $71, $71, $70, $35, $0D ; CPU:$9120 PRG:1120 CD CD CD CD CD 3B 6F 71 71 70 71 71 71 70 35 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $18, $0C, $0E, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9130 PRG:1130 0D 0D 0D 0D 0D 0D 18 0C 0E 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $C1, $CD, $CD, $CD, $CD, $CD, $BB, $0D ; CPU:$9140 PRG:1140 0C 0C 0C 0C 0C 0C 11 0D C1 CD CD CD CD CD BB 0D .byte $BA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9150 PRG:1150 BA CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $A9, $59, $6F, $70, $70, $71, $72, $6F, $6F, $71, $5F, $50 ; CPU:$9160 PRG:1160 CD CD CD CD A9 59 6F 70 70 71 72 6F 6F 71 5F 50 .byte $0D, $0D, $0D, $0D, $0D, $0D, $1C, $0C, $12, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9170 PRG:1170 0D 0D 0D 0D 0D 0D 1C 0C 12 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $BE, $CD, $CD, $CD, $CD, $A9, $0D, $0D ; CPU:$9180 PRG:1180 0C 0C 0C 0C 0C 0C 15 0D BE CD CD CD CD A9 0D 0D .byte $0D, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9190 PRG:1190 0D CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $AD, $0D, $37, $6F, $72, $71, $71, $71, $70, $6F, $70, $72 ; CPU:$91A0 PRG:11A0 CD CD CD CD AD 0D 37 6F 72 71 71 71 70 6F 70 72 .byte $57, $0D, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$91B0 PRG:11B0 57 0D 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $BA, $BE, $CD, $CD, $CD, $B2, $0D, $0D ; CPU:$91C0 PRG:11C0 0C 0C 0C 0C 0C 09 05 0D BA BE CD CD CD B2 0D 0D .byte $BD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$91D0 PRG:11D0 BD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $C0, $0D, $42, $6F, $6F, $70, $6F, $70, $72, $71, $70, $70 ; CPU:$91E0 PRG:11E0 CD CD CD CD C0 0D 42 6F 6F 70 6F 70 72 71 70 70 .byte $6F, $57, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$91F0 PRG:11F0 6F 57 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $BA, $99, $9A, $9B, $9C, $0D, $0D ; CPU:$9200 PRG:1200 0C 0C 0C 0C 09 05 0D 0D 0D BA 99 9A 9B 9C 0D 0D .byte $AF, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9210 PRG:1210 AF CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $CD, $36, $70, $72, $71, $6F, $72, $70, $71, $70, $70, $6F ; CPU:$9220 PRG:1220 CD CD CD CD CD 36 70 72 71 6F 72 70 71 70 70 6F .byte $72, $6F, $5B, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9230 PRG:1230 72 6F 5B 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $19, $0D, $17, $0A, $28, $29, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9240 PRG:1240 0C 0C 0C 0C 19 0D 17 0A 28 29 0D 0D 0D 0D 0D 0D .byte $B3, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9250 PRG:1250 B3 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $A9, $59, $5D, $70, $70, $72, $70, $6F, $6F, $70, $72, $70 ; CPU:$9260 PRG:1260 CD CD CD CD A9 59 5D 70 70 72 70 6F 6F 70 72 70 .byte $71, $70, $5F, $5B, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9270 PRG:1270 71 70 5F 5B 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $1D, $0D, $1B, $0C, $0C, $0C, $0A, $28, $2B, $0B, $0E, $A7 ; CPU:$9280 PRG:1280 0C 0C 0C 0C 1D 0D 1B 0C 0C 0C 0A 28 2B 0B 0E A7 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9290 PRG:1290 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $AD, $0D, $60, $6F, $6F, $70, $70, $71, $6F, $72, $72, $6F ; CPU:$92A0 PRG:12A0 CD CD CD CD AD 0D 60 6F 6F 70 70 71 6F 72 72 6F .byte $70, $6F, $70, $5F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$92B0 PRG:12B0 70 6F 70 5F 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $01, $0D, $0D, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $12, $AB ; CPU:$92C0 PRG:12C0 0C 0C 0C 01 0D 0D 08 0C 0C 0C 0C 0C 0C 0C 12 AB .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$92D0 PRG:12D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $B1, $36, $70, $6F, $71, $72, $6F, $72, $70, $72, $72, $6F ; CPU:$92E0 PRG:12E0 CD CD CD CD B1 36 70 6F 71 72 6F 72 70 72 72 6F .byte $6F, $6F, $72, $38, $0D, $0D, $34, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$92F0 PRG:12F0 6F 6F 72 38 0D 0D 34 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $11, $0D, $0D, $0D, $04, $08, $0C, $0C, $0C, $0C, $0C, $0C, $05, $C1 ; CPU:$9300 PRG:1300 0C 0C 11 0D 0D 0D 04 08 0C 0C 0C 0C 0C 0C 05 C1 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9310 PRG:1310 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $B5, $3A, $6F, $71, $71, $6F, $72, $72, $6F, $71, $72, $70 ; CPU:$9320 PRG:1320 CD CD CD CD B5 3A 6F 71 71 6F 72 72 6F 71 72 70 .byte $71, $72, $6F, $3C, $0D, $34, $05, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9330 PRG:1330 71 72 6F 3C 0D 34 05 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $15, $0D, $0D, $0D, $0D, $17, $0C, $0C, $0C, $0C, $0C, $11, $0D, $BE ; CPU:$9340 PRG:1340 0C 0C 15 0D 0D 0D 0D 17 0C 0C 0C 0C 0C 11 0D BE .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9350 PRG:1350 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $BF, $0D, $60, $71, $71, $6A, $7C, $7E, $69, $6F, $70, $72, $6F ; CPU:$9360 PRG:1360 CD CD CD BF 0D 60 71 71 6A 7C 7E 69 6F 70 72 6F .byte $70, $71, $70, $5A, $0F, $19, $0F, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9370 PRG:1370 70 71 70 5A 0F 19 0F 0C 2F 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $19, $0D, $0D, $0D, $0D, $1B, $0C, $0C, $0C, $0C, $0C, $15, $BD, $C1 ; CPU:$9380 PRG:1380 0C 0C 19 0D 0D 0D 0D 1B 0C 0C 0C 0C 0C 15 BD C1 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9390 PRG:1390 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $B1, $36, $70, $6F, $6F, $89, $0C, $0C, $87, $72, $72, $72, $6F ; CPU:$93A0 PRG:13A0 CD CD CD B1 36 70 6F 6F 89 0C 0C 87 72 72 72 6F .byte $71, $6F, $38, $0D, $13, $1D, $13, $0C, $0A, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$93B0 PRG:13B0 71 6F 38 0D 13 1D 13 0C 0A 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $1D, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $05, $AF, $CD ; CPU:$93C0 PRG:13C0 0C 0C 1D 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 05 AF CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$93D0 PRG:13D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $B5, $3A, $70, $71, $70, $8D, $0C, $0C, $8B, $72, $6F, $72, $70 ; CPU:$93E0 PRG:13E0 CD CD CD B5 3A 70 71 70 8D 0C 0C 8B 72 6F 72 70 .byte $71, $70, $3C, $07, $32, $07, $0B, $0C, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$93F0 PRG:13F0 71 70 3C 07 32 07 0B 0C 0C 0D 0D 0D 2E 0C 0D 0D .byte $0C, $01, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $B3, $CD ; CPU:$9400 PRG:1400 0C 01 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 0D B3 CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9410 PRG:1410 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $A6, $3E, $71, $6F, $72, $6F, $74, $79, $7A, $6F, $71, $70, $6F ; CPU:$9420 PRG:1420 CD CD CD A6 3E 71 6F 72 6F 74 79 7A 6F 71 70 6F .byte $70, $6F, $40, $17, $0D, $17, $0C, $08, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9430 PRG:1430 70 6F 40 17 0D 17 0C 08 0C 0D 0D 0D 2E 0C 0D 0D .byte $01, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $CD, $CD ; CPU:$9440 PRG:1440 01 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 11 0D CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9450 PRG:1450 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $AA, $3B, $71, $70, $71, $72, $72, $70, $72, $70, $70, $71, $6F ; CPU:$9460 PRG:1460 CD CD CD AA 3B 71 70 71 72 72 70 72 70 70 71 6F .byte $6F, $70, $07, $11, $0D, $1B, $11, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9470 PRG:1470 6F 70 07 11 0D 1B 11 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $CD, $CD ; CPU:$9480 PRG:1480 0D 0D 0D 0D 0C 0C 0C 0C 0C 0C 0C 0C 15 0D CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9490 PRG:1490 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $AE, $3F, $72, $6F, $72, $70, $70, $72, $72, $70, $72, $70, $71 ; CPU:$94A0 PRG:14A0 CD CD CD AE 3F 72 6F 72 70 70 72 72 70 72 70 71 .byte $71, $56, $17, $15, $0F, $0C, $15, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$94B0 PRG:14B0 71 56 17 15 0F 0C 15 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0F, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $05, $A7, $CD, $CD ; CPU:$94C0 PRG:14C0 0D 0D 0D 0F 0C 0C 0C 0C 0C 0C 0C 0C 05 A7 CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$94D0 PRG:14D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $B2, $43, $72, $6F, $72, $6A, $91, $69, $6F, $71, $6F, $71, $6F ; CPU:$94E0 PRG:14E0 CD CD CD B2 43 72 6F 72 6A 91 69 6F 71 6F 71 6F .byte $56, $0D, $1B, $05, $13, $0C, $19, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$94F0 PRG:14F0 56 0D 1B 05 13 0C 19 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $13, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $AB, $CD, $CD ; CPU:$9500 PRG:1500 0D 0D 0D 13 0C 0C 0C 0C 0C 0C 0C 0C 0E AB CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9510 PRG:1510 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $0D, $72, $6F, $70, $8C, $0C, $87, $72, $71, $70, $70, $56 ; CPU:$9520 PRG:1520 CD CD CD CD 0D 72 6F 70 8C 0C 87 72 71 70 70 56 .byte $0D, $03, $01, $07, $0B, $0C, $1D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9530 PRG:1530 0D 03 01 07 0B 0C 1D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $0D, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $C1, $CD, $CD ; CPU:$9540 PRG:1540 0D 0D 0D 0B 0C 0C 0C 0C 0C 0C 0C 0C 1D C1 CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9550 PRG:1550 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $CD, $0D, $70, $72, $81, $0C, $0C, $8B, $6F, $70, $71, $56, $2B ; CPU:$9560 PRG:1560 CD CD CD CD 0D 70 72 81 0C 0C 8B 6F 70 71 56 2B .byte $0B, $01, $0D, $0B, $0C, $01, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9570 PRG:1570 0B 01 0D 0B 0C 01 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $A8, $CD, $CD ; CPU:$9580 PRG:1580 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 0C 11 0D A8 CD CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9590 PRG:1590 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $A9, $0D, $71, $70, $8D, $77, $76, $64, $6F, $72, $56, $13, $09 ; CPU:$95A0 PRG:15A0 CD CD CD A9 0D 71 70 8D 77 76 64 6F 72 56 13 09 .byte $05, $0D, $03, $0C, $09, $0D, $0D, $2E, $0C, $30, $30, $30, $0B, $0C, $0D, $0D ; CPU:$95B0 PRG:15B0 05 0D 03 0C 09 0D 0D 2E 0C 30 30 30 0B 0C 0D 0D .byte $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1A, $0D, $BA, $BE, $CD ; CPU:$95C0 PRG:15C0 0D 03 0C 0C 0C 0C 0C 0C 0C 0C 0C 1A 0D BA BE CD .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$95D0 PRG:15D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $AD, $36, $72, $6F, $70, $70, $72, $71, $70, $56, $0D, $17, $1D ; CPU:$95E0 PRG:15E0 CD CD CD AD 36 72 6F 70 70 72 71 70 56 0D 17 1D .byte $0D, $03, $0C, $09, $05, $0D, $0D, $2E, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$95F0 PRG:15F0 0D 03 0C 09 05 0D 0D 2E 0C 0C 0C 0C 0C 0C 0D 0D .byte $0D, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $02, $0D, $0D, $A8 ; CPU:$9600 PRG:1600 0D 08 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 02 0D 0D A8 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9610 PRG:1610 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $C0, $43, $72, $6F, $72, $72, $71, $6F, $56, $0D, $0D, $1B, $0D ; CPU:$9620 PRG:1620 CD CD CD C0 43 72 6F 72 72 71 6F 56 0D 0D 1B 0D .byte $0D, $0C, $09, $05, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9630 PRG:1630 0D 0C 09 05 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $17, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $02, $0D, $AC ; CPU:$9640 PRG:1640 0D 17 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 02 0D AC .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9650 PRG:1650 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $A9, $3A, $84, $7B, $7F, $83, $70, $38, $0D, $0D, $03, $01, $0D ; CPU:$9660 PRG:1660 CD CD CD A9 3A 84 7B 7F 83 70 38 0D 0D 03 01 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9670 PRG:1670 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0D, $1B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $BA ; CPU:$9680 PRG:1680 0D 1B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0E BA .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9690 PRG:1690 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $CD, $AD, $3E, $8F, $0C, $0C, $6D, $71, $3C, $0D, $03, $01, $0D, $0D ; CPU:$96A0 PRG:16A0 CD CD CD AD 3E 8F 0C 0C 6D 71 3C 0D 03 01 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$96B0 PRG:16B0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0F, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $12, $A7 ; CPU:$96C0 PRG:16C0 0F 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 12 A7 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$96D0 PRG:16D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $BF, $BB, $42, $67, $6B, $0C, $6C, $72, $5A, $03, $01, $0D, $0D, $0D ; CPU:$96E0 PRG:16E0 CD CD BF BB 42 67 6B 0C 6C 72 5A 03 01 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$96F0 PRG:16F0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $13, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $B4 ; CPU:$9700 PRG:1700 13 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 B4 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9710 PRG:1710 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $CD, $BB, $5C, $72, $6F, $6F, $70, $70, $72, $35, $1A, $0D, $0D, $0D, $0D ; CPU:$9720 PRG:1720 CD CD BB 5C 72 6F 6F 70 70 72 35 1A 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9730 PRG:1730 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $2F, $61, $A7 ; CPU:$9740 PRG:1740 0B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 2F 61 A7 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9750 PRG:1750 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $A9, $0D, $3E, $70, $72, $70, $71, $6F, $71, $39, $10, $06, $0D, $0D, $0D ; CPU:$9760 PRG:1760 CD A9 0D 3E 70 72 70 71 6F 71 39 10 06 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9770 PRG:1770 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $2F, $61, $AB ; CPU:$9780 PRG:1780 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 2F 61 AB .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9790 PRG:1790 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $AD, $0D, $42, $71, $71, $71, $71, $70, $72, $5F, $04, $2F, $0D, $0D, $0D ; CPU:$97A0 PRG:17A0 CD AD 0D 42 71 71 71 71 70 72 5F 04 2F 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$97B0 PRG:17B0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $61, $AF ; CPU:$97C0 PRG:17C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 19 61 AF .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$97D0 PRG:17D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $B1, $36, $71, $6F, $72, $70, $71, $6F, $70, $70, $35, $16, $0D, $0D, $0D ; CPU:$97E0 PRG:17E0 CD B1 36 71 6F 72 70 71 6F 70 70 35 16 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$97F0 PRG:17F0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $61, $AC ; CPU:$9800 PRG:1800 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 61 AC .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9810 PRG:1810 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $AA, $43, $6F, $72, $72, $70, $6F, $70, $72, $70, $39, $14, $0D, $0D, $0D ; CPU:$9820 PRG:1820 CD AA 43 6F 72 72 70 6F 70 72 70 39 14 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $17, $0C, $0D, $0D, $0D, $04, $08, $02, $0D ; CPU:$9830 PRG:1830 0D 0C 2F 0D 0D 0D 0D 17 0C 0D 0D 0D 04 08 02 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $61, $B0 ; CPU:$9840 PRG:1840 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0D 61 B0 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9850 PRG:1850 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $AE, $36, $72, $71, $70, $71, $72, $71, $72, $6F, $40, $18, $0E, $0D, $0D ; CPU:$9860 PRG:1860 CD AE 36 72 71 70 71 72 71 72 6F 40 18 0E 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $1B, $09, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9870 PRG:1870 0D 0C 2F 0D 0D 0D 0D 1B 09 0D 0D 0D 0D 2E 0C 0D .byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $0D, $A7 ; CPU:$9880 PRG:1880 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0E 0D A7 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9890 PRG:1890 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $AD, $3A, $6F, $6F, $6F, $71, $6F, $70, $72, $71, $39, $13, $12, $0D, $0D ; CPU:$98A0 PRG:18A0 CD AD 3A 6F 6F 6F 71 6F 70 72 71 39 13 12 0D 0D .byte $0D, $0C, $09, $31, $08, $02, $07, $0C, $19, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$98B0 PRG:18B0 0D 0C 09 31 08 02 07 0C 19 0D 0D 0D 0D 2E 0C 0D .byte $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $61, $AB ; CPU:$98C0 PRG:18C0 00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 61 AB .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$98D0 PRG:18D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $B1, $3E, $6F, $71, $71, $6F, $6F, $72, $71, $72, $40, $17, $19, $0D, $0D ; CPU:$98E0 PRG:18E0 CD B1 3E 6F 71 71 6F 6F 72 71 72 40 17 19 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $00, $0C, $0C, $1D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$98F0 PRG:18F0 0D 0C 2F 0D 0D 00 0C 0C 1D 0D 0D 0D 0D 2E 0C 0D .byte $0D, $10, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $06, $61, $B0 ; CPU:$9900 PRG:1900 0D 10 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 06 61 B0 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9910 PRG:1910 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $CD, $B5, $42, $70, $70, $70, $70, $72, $70, $72, $71, $44, $1B, $1D, $0D, $0D ; CPU:$9920 PRG:1920 CD B5 42 70 70 70 70 72 70 72 71 44 1B 1D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $11, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9930 PRG:1930 0D 0C 2F 0D 0D 0D 0C 11 0D 0D 0D 0D 0D 2E 0C 0D .byte $0D, $14, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $22, $21, $0A, $29, $B4 ; CPU:$9940 PRG:1940 0D 14 0C 0C 0C 0C 0C 0C 0C 0C 0C 22 21 0A 29 B4 .byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9950 PRG:1950 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $AD, $36, $70, $6F, $71, $70, $6F, $71, $72, $70, $38, $07, $11, $0D, $0D, $0D ; CPU:$9960 PRG:1960 AD 36 70 6F 71 70 6F 71 72 70 38 07 11 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $15, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9970 PRG:1970 0D 0C 2F 0D 0D 0D 0C 15 0D 0D 0D 0D 0D 2E 0C 0D .byte $5B, $04, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $01, $0D, $0D, $0D, $00, $02 ; CPU:$9980 PRG:1980 5B 04 08 0C 0C 0C 0C 0C 0C 0C 01 0D 0D 0D 00 02 .byte $B6, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9990 PRG:1990 B6 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD .byte $B1, $3A, $6F, $72, $70, $71, $6F, $6F, $71, $70, $3C, $17, $15, $0D, $0D, $0D ; CPU:$99A0 PRG:19A0 B1 3A 6F 72 70 71 6F 6F 71 70 3C 17 15 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$99B0 PRG:19B0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $5F, $5B, $04, $08, $0C, $0C, $0C, $0C, $0C, $11, $0D, $58, $5F, $5B, $0D, $10 ; CPU:$99C0 PRG:19C0 5F 5B 04 08 0C 0C 0C 0C 0C 11 0D 58 5F 5B 0D 10 .byte $12, $A8, $CD, $CD, $CD, $E8, $E9, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $A9 ; CPU:$99D0 PRG:19D0 12 A8 CD CD CD E8 E9 CD CD CD CD CD CD CD CD A9 .byte $5C, $60, $70, $72, $6F, $71, $70, $6F, $71, $70, $5A, $1B, $05, $0D, $0D, $0D ; CPU:$99E0 PRG:19E0 5C 60 70 72 6F 71 70 6F 71 70 5A 1B 05 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$99F0 PRG:19F0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $72, $5F, $5B, $04, $20, $21, $0C, $0C, $09, $05, $3A, $72, $72, $3D, $0D, $14 ; CPU:$9A00 PRG:1A00 72 5F 5B 04 20 21 0C 0C 09 05 3A 72 72 3D 0D 14 .byte $16, $AC, $CD, $CD, $CD, $F1, $EA, $CD, $EB, $CD, $CD, $CD, $CD, $CD, $CD, $AD ; CPU:$9A10 PRG:1A10 16 AC CD CD CD F1 EA CD EB CD CD CD CD CD CD AD .byte $42, $70, $72, $66, $7B, $7F, $6D, $71, $6F, $72, $0F, $11, $0D, $0D, $0D, $0D ; CPU:$9A20 PRG:1A20 42 70 72 66 7B 7F 6D 71 6F 72 0F 11 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9A30 PRG:1A30 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $6F, $70, $5F, $4F, $50, $0D, $1F, $25, $0D, $5C, $60, $71, $6F, $41, $0D, $18 ; CPU:$9A40 PRG:1A40 6F 70 5F 4F 50 0D 1F 25 0D 5C 60 71 6F 41 0D 18 .byte $1A, $BA, $BE, $CD, $CD, $F1, $F1, $EA, $EB, $CD, $CD, $CD, $CD, $CD, $CD, $B1 ; CPU:$9A50 PRG:1A50 1A BA BE CD CD F1 F1 EA EB CD CD CD CD CD CD B1 .byte $6F, $72, $71, $82, $0C, $0C, $0C, $80, $70, $38, $13, $15, $0D, $0D, $0D, $0D ; CPU:$9A60 PRG:1A60 6F 72 71 82 0C 0C 0C 80 70 38 13 15 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9A70 PRG:1A70 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $71, $72, $70, $72, $72, $4D, $4E, $4F, $52, $60, $71, $70, $71, $70, $0D, $1C ; CPU:$9A80 PRG:1A80 71 72 70 72 72 4D 4E 4F 52 60 71 70 71 70 0D 1C .byte $0C, $0E, $B0, $CD, $E8, $F1, $F1, $ED, $F3, $E8, $E8, $E9, $CD, $CD, $CD, $3A ; CPU:$9A90 PRG:1A90 0C 0E B0 CD E8 F1 F1 ED F3 E8 E8 E9 CD CD CD 3A .byte $71, $70, $72, $85, $0C, $0C, $0C, $8E, $71, $3C, $17, $05, $0D, $0D, $0D, $0D ; CPU:$9AA0 PRG:1AA0 71 70 72 85 0C 0C 0C 8E 71 3C 17 05 0D 0D 0D 0D .byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9AB0 PRG:1AB0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $71, $70, $70, $71, $72, $71, $6F, $70, $70, $72, $6F, $70, $70, $71, $5B, $0D ; CPU:$9AC0 PRG:1AC0 71 70 70 71 72 71 6F 70 70 72 6F 70 70 71 5B 0D .byte $10, $12, $B4, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $CD, $CD, $B7, $60 ; CPU:$9AD0 PRG:1AD0 10 12 B4 CD F1 F1 F1 F1 F1 F1 F1 EA CD CD B7 60 .byte $6F, $70, $71, $67, $75, $78, $79, $72, $72, $5A, $1B, $0D, $0D, $0D, $0D, $0D ; CPU:$9AE0 PRG:1AE0 6F 70 71 67 75 78 79 72 72 5A 1B 0D 0D 0D 0D 0D .byte $03, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9AF0 PRG:1AF0 03 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $70, $71, $72, $70, $6F, $6F, $71, $71, $71, $6F, $6F, $72, $71, $71, $3D, $0D ; CPU:$9B00 PRG:1B00 70 71 72 70 6F 6F 71 71 71 6F 6F 72 71 71 3D 0D .byte $14, $16, $0D, $B6, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $CD, $B7, $07, $69 ; CPU:$9B10 PRG:1B10 14 16 0D B6 F1 F1 F1 F1 F1 F1 F1 EA CD B7 07 69 .byte $72, $70, $70, $72, $72, $71, $71, $6F, $38, $0F, $11, $0D, $0D, $0D, $0D, $03 ; CPU:$9B20 PRG:1B20 72 70 70 72 72 71 71 6F 38 0F 11 0D 0D 0D 0D 03 .byte $0C, $09, $05, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9B30 PRG:1B30 0C 09 05 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $6F, $70, $71, $72, $71, $70, $6F, $70, $6F, $6F, $70, $71, $70, $70, $3C, $0D ; CPU:$9B40 PRG:1B40 6F 70 71 72 71 70 6F 70 6F 6F 70 71 70 70 3C 0D .byte $04, $1A, $0D, $0D, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $B7, $0D, $17, $87 ; CPU:$9B50 PRG:1B50 04 1A 0D 0D F1 F1 F1 F1 F1 F1 F1 EA B7 0D 17 87 .byte $72, $70, $6F, $70, $72, $71, $70, $72, $3C, $13, $15, $0D, $0D, $0D, $0D, $0C ; CPU:$9B60 PRG:1B60 72 70 6F 70 72 71 70 72 3C 13 15 0D 0D 0D 0D 0C .byte $09, $05, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9B70 PRG:1B70 09 05 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $70, $6F, $70, $71, $6F, $72, $72, $70, $6F, $72, $70, $71, $71, $71, $40, $0D ; CPU:$9B80 PRG:1B80 70 6F 70 71 6F 72 72 70 6F 72 70 71 71 71 40 0D .byte $0D, $00, $02, $0D, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $0D, $03, $15, $8B ; CPU:$9B90 PRG:1B90 0D 00 02 0D F1 F1 F1 F1 F1 F1 F1 0D 0D 03 15 8B .byte $72, $70, $71, $70, $71, $72, $71, $70, $40, $17, $19, $0D, $0D, $0D, $0D, $0C ; CPU:$9BA0 PRG:1BA0 72 70 71 70 71 72 71 70 40 17 19 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9BB0 PRG:1BB0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $72, $70, $71, $72, $71, $70, $70, $71, $72, $70, $6F, $72, $71, $72, $44, $0D ; CPU:$9BC0 PRG:1BC0 72 70 71 72 71 70 70 71 72 70 6F 72 71 72 44 0D .byte $0D, $07, $0C, $02, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $03, $09, $05, $10 ; CPU:$9BD0 PRG:1BD0 0D 07 0C 02 F1 F1 F1 F1 F1 F1 F1 0D 03 09 05 10 .byte $70, $6F, $6F, $70, $72, $6F, $70, $6F, $44, $1B, $1D, $0D, $0D, $0D, $0D, $0C ; CPU:$9BE0 PRG:1BE0 70 6F 6F 70 72 6F 70 6F 44 1B 1D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9BF0 PRG:1BF0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $6F, $6F, $70, $70, $6F, $70, $72, $6F, $71, $70, $6F, $6F, $6F, $38, $0D, $0D ; CPU:$9C00 PRG:1C00 6F 6F 70 70 6F 70 72 6F 71 70 6F 6F 6F 38 0D 0D .byte $07, $0B, $23, $08, $02, $0D, $0D, $0D, $0D, $0D, $0D, $03, $09, $05, $0D, $1B ; CPU:$9C10 PRG:1C10 07 0B 23 08 02 0D 0D 0D 0D 0D 0D 03 09 05 0D 1B .byte $6F, $71, $72, $71, $70, $6F, $71, $38, $0F, $11, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9C20 PRG:1C20 6F 71 72 71 70 6F 71 38 0F 11 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9C30 PRG:1C30 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $71, $72, $6F, $70, $71, $71, $6F, $72, $72, $72, $70, $70, $70, $40, $0D, $07 ; CPU:$9C40 PRG:1C40 71 72 6F 70 71 71 6F 72 72 72 70 70 70 40 0D 07 .byte $0B, $1D, $0D, $18, $0C, $02, $0D, $0D, $0D, $0D, $0F, $09, $05, $0D, $0F, $0C ; CPU:$9C50 PRG:1C50 0B 1D 0D 18 0C 02 0D 0D 0D 0D 0F 09 05 0D 0F 0C .byte $71, $6F, $70, $71, $72, $71, $70, $3C, $13, $15, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9C60 PRG:1C60 71 6F 70 71 72 71 70 3C 13 15 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9C70 PRG:1C70 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $6F, $70, $71, $70, $72, $72, $6F, $72, $72, $5E, $4B, $4C, $0D, $0D, $07, $09 ; CPU:$9C80 PRG:1C80 6F 70 71 70 72 72 6F 72 72 5E 4B 4C 0D 0D 07 09 .byte $24, $0D, $0D, $1C, $0A, $00, $0C, $0C, $22, $23, $20, $05, $0D, $0D, $1C, $11 ; CPU:$9C90 PRG:1C90 24 0D 0D 1C 0A 00 0C 0C 22 23 20 05 0D 0D 1C 11 .byte $55, $71, $70, $71, $72, $70, $72, $40, $1B, $1D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9CA0 PRG:1CA0 55 71 70 71 72 70 72 40 1B 1D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9CB0 PRG:1CB0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $72, $71, $6F, $6F, $70, $5E, $4B, $4C, $2B, $30, $30, $2C, $2D, $23, $09, $05 ; CPU:$9CC0 PRG:1CC0 72 71 6F 6F 70 5E 4B 4C 2B 30 30 2C 2D 23 09 05 .byte $0D, $0D, $0D, $0D, $10, $0D, $1E, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0F, $15 ; CPU:$9CD0 PRG:1CD0 0D 0D 0D 0D 10 0D 1E 25 0D 0D 0D 0D 0D 0D 0F 15 .byte $0D, $37, $72, $71, $70, $71, $38, $0F, $15, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9CE0 PRG:1CE0 0D 37 72 71 70 71 38 0F 15 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9CF0 PRG:1CF0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $49, $4A, $4B, $4C, $0D, $0D, $0D, $03, $09, $05, $0D, $0D, $0D, $0F, $19, $0D ; CPU:$9D00 PRG:1D00 49 4A 4B 4C 0D 0D 0D 03 09 05 0D 0D 0D 0F 19 0D .byte $0D, $0D, $0D, $0D, $14, $0E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $13, $19 ; CPU:$9D10 PRG:1D10 0D 0D 0D 0D 14 0E 0D 0D 0D 0D 0D 0D 0D 0D 13 19 .byte $0D, $3B, $72, $70, $71, $71, $5A, $13, $1D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9D20 PRG:1D20 0D 3B 72 70 71 71 5A 13 1D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9D30 PRG:1D30 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D .byte $28, $2B, $2C, $27, $2C, $2D, $23, $25, $0D, $0D, $0D, $0D, $0D, $17, $1D, $0D ; CPU:$9D40 PRG:1D40 28 2B 2C 27 2C 2D 23 25 0D 0D 0D 0D 0D 17 1D 0D .byte $0D, $0D, $0D, $0D, $04, $16, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0B, $1D ; CPU:$9D50 PRG:1D50 0D 0D 0D 0D 04 16 0D 0D 0D 0D 0D 0D 0D 0D 0B 1D .byte $0D, $59, $5D, $72, $71, $56, $07, $32, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9D60 PRG:1D60 0D 59 5D 72 71 56 07 32 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $0A, $06, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9D70 PRG:1D70 2F 0D 0D 0D 0D 0D 0C 0A 06 0D 0D 0D 0D 2E 0C 0D .byte $23, $24, $25, $2A, $0B, $05, $0D, $0D, $0D, $0D, $0D, $0D, $03, $11, $0D, $0D ; CPU:$9D80 PRG:1D80 23 24 25 2A 0B 05 0D 0D 0D 0D 0D 0D 03 11 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $10, $0E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $11, $0D ; CPU:$9D90 PRG:1D90 0D 0D 0D 0D 0D 10 0E 0D 0D 0D 0D 0D 0D 0D 11 0D .byte $0D, $0D, $59, $4B, $2A, $2B, $32, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9DA0 PRG:1DA0 0D 0D 59 4B 2A 2B 32 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0A, $30, $30, $30, $30, $0B, $0C, $30 ; CPU:$9DB0 PRG:1DB0 2F 0D 0D 0D 0D 0D 0C 0C 0A 30 30 30 30 0B 0C 30 .byte $5F, $5B, $03, $23, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0F, $09, $05, $0D, $0D ; CPU:$9DC0 PRG:1DC0 5F 5B 03 23 25 0D 0D 0D 0D 0D 0D 0F 09 05 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $04, $20, $02, $0D, $0D, $0D, $0D, $0D, $0D, $1A, $2A ; CPU:$9DD0 PRG:1DD0 0D 0D 0D 0D 0D 04 20 02 0D 0D 0D 0D 0D 0D 1A 2A .byte $2B, $2C, $2D, $22, $23, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9DE0 PRG:1DE0 2B 2C 2D 22 23 05 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$9DF0 PRG:1DF0 2F 0D 0D 0D 0D 0D 00 0C 0C 0C 0C 0C 0C 0C 0C 0C .byte $6F, $6F, $71, $57, $0D, $0D, $0D, $0D, $0D, $0D, $03, $23, $05, $0D, $0D, $0D ; CPU:$9E00 PRG:1E00 6F 6F 71 57 0D 0D 0D 0D 0D 0D 03 23 05 0D 0D 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $00, $12, $0D, $0D, $0D, $0D, $0D, $10, $23 ; CPU:$9E10 PRG:1E10 0D 0D 0D 0D 0D 0D 0D 00 12 0D 0D 0D 0D 0D 10 23 .byte $24, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9E20 PRG:1E20 24 25 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9E30 PRG:1E30 2F 0D 0D 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D .byte $72, $71, $6F, $71, $57, $0D, $0D, $0D, $0D, $03, $01, $0D, $0D, $0D, $0D, $51 ; CPU:$9E40 PRG:1E40 72 71 6F 71 57 0D 0D 0D 0D 03 01 0D 0D 0D 0D 51 .byte $52, $5B, $0D, $0D, $0D, $0D, $0D, $0D, $16, $0D, $0D, $51, $50, $0D, $1B, $0D ; CPU:$9E50 PRG:1E50 52 5B 0D 0D 0D 0D 0D 0D 16 0D 0D 51 50 0D 1B 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $4F, $50, $0D, $0D, $0D, $0D, $0C ; CPU:$9E60 PRG:1E60 0D 0D 0D 0D 0D 0D 0D 0D 5C 4F 50 0D 0D 0D 0D 0C .byte $2F, $0D, $0D, $0D, $0D, $0D, $51, $50, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D ; CPU:$9E70 PRG:1E70 2F 0D 0D 0D 0D 0D 51 50 00 0C 02 0D 0D 0D 0D 0D .byte $70, $71, $70, $6F, $71, $4D, $4E, $5B, $03, $01, $0D, $51, $52, $53, $54, $6F ; CPU:$9E80 PRG:1E80 70 71 70 6F 71 4D 4E 5B 03 01 0D 51 52 53 54 6F .byte $72, $71, $4D, $4E, $5B, $0D, $0D, $0D, $1A, $5C, $60, $72, $70, $57, $11, $0D ; CPU:$9E90 PRG:1E90 72 71 4D 4E 5B 0D 0D 0D 1A 5C 60 72 70 57 11 0D .byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $60, $6F, $71, $4D, $4E, $4F, $50, $0C ; CPU:$9EA0 PRG:1EA0 0D 0D 0D 0D 0D 0D 0D 5C 60 6F 71 4D 4E 4F 50 0C .byte $2F, $0D, $0D, $0D, $0D, $58, $6F, $71, $70, $72, $70, $70, $4D, $54, $4D, $54 ; CPU:$9EB0 PRG:1EB0 2F 0D 0D 0D 0D 58 6F 71 70 72 70 70 4D 54 4D 54 .byte $71, $70, $70, $6F, $6F, $70, $72, $71, $70, $70, $71, $70, $70, $71, $70, $71 ; CPU:$9EC0 PRG:1EC0 71 70 70 6F 6F 70 72 71 70 70 71 70 70 71 70 71 .byte $71, $6F, $71, $70, $72, $4D, $4E, $54, $72, $6F, $71, $72, $72, $71, $71, $4D ; CPU:$9ED0 PRG:1ED0 71 6F 71 70 72 4D 4E 54 72 6F 71 72 72 71 71 4D .byte $4E, $4F, $50, $51, $52, $53, $54, $71, $6F, $70, $6F, $71, $70, $71, $72, $70 ; CPU:$9EE0 PRG:1EE0 4E 4F 50 51 52 53 54 71 6F 70 6F 71 70 71 72 70 .byte $70, $4D, $4E, $53, $54, $71, $71, $72, $70, $71, $6F, $6F, $72, $70, $71, $70 ; CPU:$9EF0 PRG:1EF0 70 4D 4E 53 54 71 71 72 70 71 6F 6F 72 70 71 70 .byte $70, $70, $71, $72, $6F, $72, $71, $70, $70, $6F, $71, $70, $6F, $72, $72, $72 ; CPU:$9F00 PRG:1F00 70 70 71 72 6F 72 71 70 70 6F 71 70 6F 72 72 72 .byte $70, $72, $71, $6F, $6F, $6F, $70, $71, $70, $6F, $71, $70, $6F, $72, $72, $72 ; CPU:$9F10 PRG:1F10 70 72 71 6F 6F 6F 70 71 70 6F 71 70 6F 72 72 72 .byte $72, $6F, $6F, $6F, $71, $6F, $6F, $71, $70, $72, $71, $6F, $71, $71, $6F, $71 ; CPU:$9F20 PRG:1F20 72 6F 6F 6F 71 6F 6F 71 70 72 71 6F 71 71 6F 71 .byte $70, $71, $72, $72, $70, $70, $72, $6F, $71, $70, $72, $72, $70, $72, $71, $6F ; CPU:$9F30 PRG:1F30 70 71 72 72 70 70 72 6F 71 70 72 72 70 72 71 6F .byte $71, $71, $70, $71, $71, $6F, $70, $70, $72, $72, $71, $6F, $70, $72, $71, $70 ; CPU:$9F40 PRG:1F40 71 71 70 71 71 6F 70 70 72 72 71 6F 70 72 71 70 .byte $70, $71, $70, $70, $72, $72, $70, $71, $72, $72, $72, $70, $70, $70, $6F, $6F ; CPU:$9F50 PRG:1F50 70 71 70 70 72 72 70 71 72 72 72 70 70 70 6F 6F .byte $72, $72, $6F, $72, $71, $72, $6F, $6F, $70, $72, $70, $71, $72, $6F, $72, $70 ; CPU:$9F60 PRG:1F60 72 72 6F 72 71 72 6F 6F 70 72 70 71 72 6F 72 70 .byte $71, $71, $6F, $6F, $72, $6F, $6F, $70, $72, $72, $72, $70, $71, $72, $72, $71 ; CPU:$9F70 PRG:1F70 71 71 6F 6F 72 6F 6F 70 72 72 72 70 71 72 72 71 .byte $72, $70, $71, $6F, $6F, $70, $6F, $6F, $70, $6F, $70, $71, $72, $72, $71, $71 ; CPU:$9F80 PRG:1F80 72 70 71 6F 6F 70 6F 6F 70 6F 70 71 72 72 71 71 .byte $71, $71, $6F, $71, $70, $6F, $71, $72, $70, $72, $70, $6F, $70, $71, $70, $6F ; CPU:$9F90 PRG:1F90 71 71 6F 71 70 6F 71 72 70 72 70 6F 70 71 70 6F .byte $72, $70, $6F, $71, $70, $70, $6F, $70, $70, $6F, $71, $70, $71, $71, $70, $71 ; CPU:$9FA0 PRG:1FA0 72 70 6F 71 70 70 6F 70 70 6F 71 70 71 71 70 71 .byte $6F, $72, $70, $72, $71, $72, $71, $6F, $70, $6F, $70, $72, $6F, $70, $6F, $70 ; CPU:$9FB0 PRG:1FB0 6F 72 70 72 71 72 71 6F 70 6F 70 72 6F 70 6F 70 .byte $70, $72, $71, $72, $72, $70, $6F, $70, $72, $70, $71, $70, $71, $72, $70, $72 ; CPU:$9FC0 PRG:1FC0 70 72 71 72 72 70 6F 70 72 70 71 70 71 72 70 72 .byte $70, $72, $70, $72, $70, $6F, $72, $71, $6F, $71, $6F, $72, $72, $70, $6F, $72 ; CPU:$9FD0 PRG:1FD0 70 72 70 72 70 6F 72 71 6F 71 6F 72 72 70 6F 72 .byte $6F, $72, $6F, $72, $72, $71, $71, $71, $6F, $6F, $72, $72, $6F, $70, $70, $72 ; CPU:$9FE0 PRG:1FE0 6F 72 6F 72 72 71 71 71 6F 6F 72 72 6F 70 70 72 .byte $71, $70, $6F, $71, $72, $72, $71, $72, $6F, $71, $72, $6F, $70, $71, $70, $72 ; CPU:$9FF0 PRG:1FF0 71 70 6F 71 72 72 71 72 6F 71 72 6F 70 71 70 72 .byte $02, $2D, $01, $2C, $2C, $03, $2C, $2C, $2D, $2D, $2D, $00, $2D, $2C, $05, $2C ; CPU:$A000 PRG:2000 02 2D 01 2C 2C 03 2C 2C 2D 2D 2D 00 2D 2C 05 2C .byte $12, $2D, $0D, $2C, $0A, $2D, $2D, $04, $2C, $13, $2D, $0C, $2C, $0B, $16, $1E ; CPU:$A010 PRG:2010 12 2D 0D 2C 0A 2D 2D 04 2C 13 2D 0C 2C 0B 16 1E .byte $2D, $2D, $2D, $2D, $23, $1B, $21, $19, $2C, $2C, $2C, $2C, $14, $1C, $2C, $2D ; CPU:$A020 PRG:2020 2D 2D 2D 2D 23 1B 21 19 2C 2C 2C 2C 14 1C 2C 2D .byte $2C, $2D, $00, $01, $2C, $3E, $2D, $31, $54, $36, $2D, $39, $57, $57, $3F, $2D ; CPU:$A030 PRG:2030 2C 2D 00 01 2C 3E 2D 31 54 36 2D 39 57 57 3F 2D .byte $30, $55, $37, $2D, $38, $4D, $45, $57, $56, $54, $56, $40, $48, $42, $4A, $2D ; CPU:$A040 PRG:2040 30 55 37 2D 38 4D 45 57 56 54 56 40 48 42 4A 2D .byte $2D, $2D, $2D, $4F, $47, $59, $55, $5A, $2D, $2D, $58, $2D, $2D, $54, $56, $57 ; CPU:$A050 PRG:2050 2D 2D 2D 4F 47 59 55 5A 2D 2D 58 2D 2D 54 56 57 .byte $5B, $50, $54, $2D, $2D, $59, $54, $55, $5B, $54, $54, $2D, $2D, $2D, $58, $54 ; CPU:$A060 PRG:2060 5B 50 54 2D 2D 59 54 55 5B 54 54 2D 2D 2D 58 54 .byte $55, $56, $57, $42, $4A, $2D, $2D, $2D, $2D, $4F, $47, $4D, $54, $54, $57, $48 ; CPU:$A070 PRG:2070 55 56 57 42 4A 2D 2D 2D 2D 4F 47 4D 54 54 57 48 .byte $31, $56, $3E, $39, $57, $36, $2D, $2D, $30, $57, $3F, $2D, $38, $54, $37, $54 ; CPU:$A080 PRG:2080 31 56 3E 39 57 36 2D 2D 30 57 3F 2D 38 54 37 54 .byte $2D, $57, $2D, $58, $59, $56, $5A, $21, $19, $2C, $2C, $2C, $2C, $14, $1C, $16 ; CPU:$A090 PRG:2090 2D 57 2D 58 59 56 5A 21 19 2C 2C 2C 2C 14 1C 16 .byte $1E, $2D, $2D, $2D, $2D, $23, $12, $2D, $05, $2C, $0A, $2D, $0D, $2C, $2C, $13 ; CPU:$A0A0 PRG:20A0 1E 2D 2D 2D 2D 23 12 2D 05 2C 0A 2D 0D 2C 2C 13 .byte $2D, $04, $2C, $0B, $2D, $0C, $01, $2C, $02, $2D, $2D, $00, $2D, $2D, $2C, $2C ; CPU:$A0B0 PRG:20B0 2D 04 2C 0B 2D 0C 01 2C 02 2D 2D 00 2D 2D 2C 2C .byte $2C, $03, $5C, $2D, $2C, $2C, $2C, $2D, $2C, $2D, $2B, $2C, $24, $2C, $5C, $2C ; CPU:$A0C0 PRG:20C0 2C 03 5C 2D 2C 2C 2C 2D 2C 2D 2B 2C 24 2C 5C 2C .byte $2C, $2C, $2D, $2C, $2D, $2D, $2D, $2C, $2C, $2D, $02, $2D, $2C, $2C, $2C, $2D ; CPU:$A0D0 PRG:20D0 2C 2C 2D 2C 2D 2D 2D 2C 2C 2D 02 2D 2C 2C 2C 2D .byte $2C, $03, $2C, $2C, $2D, $2C, $2C, $2C, $2C, $2C, $2F, $2D, $2C, $2F, $2C, $2F ; CPU:$A0E0 PRG:20E0 2C 03 2C 2C 2D 2C 2C 2C 2C 2C 2F 2D 2C 2F 2C 2F .byte $2D, $2D, $2C, $2D, $1B, $29, $2C, $2D, $03, $2C, $00, $02, $2C, $2C, $2C, $2D ; CPU:$A0F0 PRG:20F0 2D 2D 2C 2D 1B 29 2C 2D 03 2C 00 02 2C 2C 2C 2D .byte $2D, $01, $2D, $2D, $2C, $2C, $04, $2D, $13, $2C, $0C, $2D, $0B, $05, $2D, $12 ; CPU:$A100 PRG:2100 2D 01 2D 2D 2C 2C 04 2D 13 2C 0C 2D 0B 05 2D 12 .byte $2C, $0D, $2D, $0A, $2C, $1A, $22, $2D, $2D, $2D, $2D, $1F, $17, $1D, $15, $2C ; CPU:$A110 PRG:2110 2C 0D 2D 0A 2C 1A 22 2D 2D 2D 2D 1F 17 1D 15 2C .byte $2C, $2C, $2C, $18, $20, $2D, $2C, $2C, $2D, $03, $2C, $00, $2D, $3F, $56, $30 ; CPU:$A120 PRG:2120 2C 2C 2C 18 20 2D 2C 2C 2D 03 2C 00 2D 3F 56 30 .byte $2D, $37, $57, $38, $3E, $54, $31, $2D, $36, $55, $39, $2D, $49, $41, $56, $57 ; CPU:$A130 PRG:2130 2D 37 57 38 3E 54 31 2D 36 55 39 2D 49 41 56 57 .byte $54, $55, $44, $4C, $46, $4E, $2D, $2D, $2D, $2D, $4B, $43, $56, $58, $2D, $5B ; CPU:$A140 PRG:2140 54 55 44 4C 46 4E 2D 2D 2D 2D 4B 43 56 58 2D 5B .byte $59, $2D, $2D, $2D, $55, $57, $5A, $54, $51, $56, $2D, $5B, $55, $58, $5A, $54 ; CPU:$A150 PRG:2150 59 2D 2D 2D 55 57 5A 54 51 56 2D 5B 55 58 5A 54 .byte $55, $57, $2D, $2D, $59, $2D, $55, $54, $57, $56, $46, $4E, $2D, $2D, $2D, $2D ; CPU:$A160 PRG:2160 55 57 2D 2D 59 2D 55 54 57 56 46 4E 2D 2D 2D 2D .byte $4B, $43, $49, $55, $55, $55, $4C, $55, $30, $2D, $54, $38, $2D, $37, $31, $2D ; CPU:$A170 PRG:2170 4B 43 49 55 55 55 4C 55 30 2D 54 38 2D 37 31 2D .byte $3E, $57, $39, $2D, $36, $54, $2D, $56, $55, $2D, $5B, $55, $58, $59, $1D, $15 ; CPU:$A180 PRG:2180 3E 57 39 2D 36 54 2D 56 55 2D 5B 55 58 59 1D 15 .byte $2C, $2C, $2C, $2C, $18, $20, $1A, $22, $2D, $2D, $2D, $2D, $1F, $2D, $13, $2C ; CPU:$A190 PRG:2190 2C 2C 2C 2C 18 20 1A 22 2D 2D 2D 2D 1F 2D 13 2C .byte $04, $2D, $0B, $2C, $0C, $12, $2C, $05, $2D, $0A, $2C, $0D, $2D, $2C, $00, $2D ; CPU:$A1A0 PRG:21A0 04 2D 0B 2C 0C 12 2C 05 2D 0A 2C 0D 2D 2C 00 2D .byte $03, $01, $2D, $2D, $2D, $2C, $2C, $02, $2C, $2D, $5C, $2C, $2C, $2D, $2D, $2C ; CPU:$A1B0 PRG:21B0 03 01 2D 2D 2D 2C 2C 02 2C 2D 5C 2C 2C 2D 2D 2C .byte $2D, $27, $2C, $28, $2C, $5C, $2C, $2C, $2D, $2D, $2C, $2D, $2D, $03, $00, $2D ; CPU:$A1C0 PRG:21C0 2D 27 2C 28 2C 5C 2C 2C 2D 2D 2C 2D 2D 03 00 2D .byte $2D, $2D, $2C, $2D, $2C, $02, $01, $2D, $2C, $00, $2C, $2D, $2C, $2D, $2C, $2C ; CPU:$A1D0 PRG:21D0 2D 2D 2C 2D 2C 02 01 2D 2C 00 2C 2D 2C 2D 2C 2C .byte $2C, $2C, $2F, $2C, $2C, $2D, $2C, $2D, $2D, $2D, $2F, $17, $25, $2C, $2C, $03 ; CPU:$A1E0 PRG:21E0 2C 2C 2F 2C 2C 2D 2C 2D 2D 2D 2F 17 25 2C 2C 03 .byte $2D, $00, $2C, $2C, $01, $2C, $02, $2D, $2D, $2D, $2D, $2C, $09, $2C, $0E, $2D ; CPU:$A1F0 PRG:21F0 2D 00 2C 2C 01 2C 02 2D 2D 2D 2D 2C 09 2C 0E 2D .byte $11, $2C, $06, $2D, $2D, $08, $2C, $0F, $2D, $10, $2C, $07, $2C, $2C, $16, $1E ; CPU:$A200 PRG:2200 11 2C 06 2D 2D 08 2C 0F 2D 10 2C 07 2C 2C 16 1E .byte $23, $1B, $2C, $2C, $2D, $2D, $21, $19, $14, $1C, $2D, $2D, $2C, $2D, $2D, $2C ; CPU:$A210 PRG:2210 23 1B 2C 2C 2D 2D 21 19 14 1C 2D 2D 2C 2D 2D 2C .byte $03, $02, $00, $3A, $2D, $35, $56, $32, $2D, $3D, $55, $57, $3B, $2D, $34, $55 ; CPU:$A220 PRG:2220 03 02 00 3A 2D 35 56 32 2D 3D 55 57 3B 2D 34 55 .byte $33, $2D, $3C, $2D, $2D, $4D, $45, $40, $48, $2D, $2D, $55, $57, $42, $4A, $4F ; CPU:$A230 PRG:2230 33 2D 3C 2D 2D 4D 45 40 48 2D 2D 55 57 42 4A 4F .byte $47, $54, $56, $2D, $58, $56, $5B, $2D, $2D, $5A, $2D, $59, $54, $55, $57, $52 ; CPU:$A240 PRG:2240 47 54 56 2D 58 56 5B 2D 2D 5A 2D 59 54 55 57 52 .byte $2D, $55, $5B, $2D, $58, $54, $57, $59, $57, $5A, $2D, $2D, $2D, $56, $57, $55 ; CPU:$A250 PRG:2250 2D 55 5B 2D 58 54 57 59 57 5A 2D 2D 2D 56 57 55 .byte $54, $54, $56, $42, $4A, $4F, $47, $57, $54, $2D, $4D, $45, $48, $2D, $35, $56 ; CPU:$A260 PRG:2260 54 54 56 42 4A 4F 47 57 54 2D 4D 45 48 2D 35 56 .byte $3A, $3D, $55, $32, $2D, $2D, $34, $55, $3B, $2D, $3C, $56, $33, $57, $2D, $2D ; CPU:$A270 PRG:2270 3A 3D 55 32 2D 2D 34 55 3B 2D 3C 56 33 57 2D 2D .byte $56, $5B, $5A, $58, $57, $2D, $2D, $21, $19, $14, $1C, $2D, $2D, $2C, $2C, $16 ; CPU:$A280 PRG:2280 56 5B 5A 58 57 2D 2D 21 19 14 1C 2D 2D 2C 2C 16 .byte $1E, $23, $1B, $2C, $0E, $2D, $09, $2C, $06, $2D, $11, $2C, $2C, $0F, $2D, $08 ; CPU:$A290 PRG:2290 1E 23 1B 2C 0E 2D 09 2C 06 2D 11 2C 2C 0F 2D 08 .byte $2C, $07, $2D, $10, $2D, $00, $2C, $03, $2D, $2D, $02, $2D, $01, $2C, $2C, $2C ; CPU:$A2A0 PRG:22A0 2C 07 2D 10 2D 00 2C 03 2D 2D 02 2D 01 2C 2C 2C .byte $2C, $2C, $2D, $5C, $2C, $2C, $2D, $2B, $2C, $24, $2D, $2C, $2C, $5C, $2C, $2C ; CPU:$A2B0 PRG:22B0 2C 2C 2D 5C 2C 2C 2D 2B 2C 24 2D 2C 2C 5C 2C 2C ; ----------------------------------------------------------------------------- ; Routine: Sub_A2C0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A2C0: bit a:$002D ; CPU:$A2C0 PRG:22C0 2C 2D 00 ; referenced by `lda $A3F1,x` at $F214 (operand $A3F1 falls inside this region) ; referenced by `lda $A3F0,x` at $F218 (operand $A3F0 falls inside this region) ; referenced by `lda $A2E5,x` at $F453 (operand $A2E5 falls inside this region) ; referenced by `lda $A2E5,x` at $F481 (operand $A2E5 falls inside this region) ; referenced by `cmp $A3DC,x` at $F52E (operand $A3DC falls inside this region) ; referenced by `lda $A3DD,x` at $F538 (operand $A3DD falls inside this region) ; ---- data $A2C3-$A405 (323 bytes) ---- .byte $03, $03, $00, $2C, $2E, $2C, $2D, $2D, $01, $2C, $02, $01, $2C, $00, $00, $2D ; CPU:$A2C3 PRG:22C3 03 03 00 2C 2E 2C 2D 2D 01 2C 02 01 2C 00 00 2D .byte $2C, $2C, $2D, $2D, $2F, $2F, $2D, $2D, $2D, $2C, $2C, $2F, $2D, $2C, $2D, $2C ; CPU:$A2D3 PRG:22D3 2C 2C 2D 2D 2F 2F 2D 2D 2D 2C 2C 2F 2D 2C 2D 2C .byte $2D, $29, $02, $2C, $01, $2D, $2C, $2C, $2C, $00, $2D, $03, $2D, $2D, $2D, $2C ; CPU:$A2E3 PRG:22E3 2D 29 02 2C 01 2D 2C 2C 2C 00 2D 03 2D 2D 2D 2C .byte $2C, $08, $2D, $0F, $2C, $10, $2D, $07, $09, $2D, $0E, $2C, $11, $2D, $06, $2C ; CPU:$A2F3 PRG:22F3 2C 08 2D 0F 2C 10 2D 07 09 2D 0E 2C 11 2D 06 2C .byte $2C, $2C, $1A, $22, $1F, $17, $2C, $2C, $2D, $2D, $1D, $15, $18, $20, $2D, $2D ; CPU:$A303 PRG:2303 2C 2C 1A 22 1F 17 2C 2C 2D 2D 1D 15 18 20 2D 2D .byte $2D, $2C, $2D, $2C, $2C, $01, $03, $2D, $3B, $56, $34, $2D, $33, $54, $3C, $3A ; CPU:$A313 PRG:2313 2D 2C 2D 2C 2C 01 03 2D 3B 56 34 2D 33 54 3C 3A .byte $57, $35, $2D, $32, $55, $3D, $2D, $2D, $2D, $49, $41, $44, $4C, $2D, $2D, $54 ; CPU:$A323 PRG:2323 57 35 2D 32 55 3D 2D 2D 2D 49 41 44 4C 2D 2D 54 .byte $56, $46, $4E, $4B, $43, $55, $57, $59, $2D, $5A, $57, $2D, $2D, $2D, $5B, $57 ; CPU:$A333 PRG:2333 56 46 4E 4B 43 55 57 59 2D 5A 57 2D 2D 2D 5B 57 .byte $58, $54, $55, $53, $2D, $57, $57, $59, $2D, $56, $55, $54, $58, $2D, $5B, $2D ; CPU:$A343 PRG:2343 58 54 55 53 2D 57 57 59 2D 56 55 54 58 2D 5B 2D .byte $2D, $57, $56, $54, $55, $55, $57, $46, $4E, $4B, $43, $55, $56, $2D, $49, $41 ; CPU:$A353 PRG:2353 2D 57 56 54 55 55 57 46 4E 4B 43 55 56 2D 49 41 .byte $4C, $2D, $57, $34, $2D, $54, $3C, $2D, $33, $35, $2D, $3A, $55, $3D, $2D, $32 ; CPU:$A363 PRG:2363 4C 2D 57 34 2D 54 3C 2D 33 35 2D 3A 55 3D 2D 32 .byte $56, $2D, $55, $2D, $54, $54, $59, $5B, $5A, $2D, $2D, $1D, $15, $18, $20, $2D ; CPU:$A373 PRG:2373 56 2D 55 2D 54 54 59 5B 5A 2D 2D 1D 15 18 20 2D .byte $2D, $2C, $2C, $1A, $22, $1F, $17, $2C, $2D, $0F, $2C, $08, $2D, $07, $2C, $10 ; CPU:$A383 PRG:2383 2D 2C 2C 1A 22 1F 17 2C 2D 0F 2C 08 2D 07 2C 10 .byte $0E, $2C, $09, $2D, $06, $2C, $11, $2D, $01, $2D, $02, $2C, $2D, $2D, $2D, $03 ; CPU:$A393 PRG:2393 0E 2C 09 2D 06 2C 11 2D 01 2D 02 2C 2D 2D 2D 03 .byte $2C, $00, $2C, $2C, $2C, $2C, $5C, $2D, $2D, $2C, $2D, $27, $2C, $28, $2D, $2C ; CPU:$A3A3 PRG:23A3 2C 00 2C 2C 2C 2C 5C 2D 2D 2C 2D 27 2C 28 2D 2C .byte $2C, $5C, $2D, $2C, $2C, $2D, $2D, $2C, $2C, $2D, $2E, $2E, $02, $2C, $2D, $2C ; CPU:$A3B3 PRG:23B3 2C 5C 2D 2C 2C 2D 2D 2C 2C 2D 2E 2E 02 2C 2D 2C .byte $2C, $2D, $2D, $2C, $03, $2D, $2D, $2C, $2D, $2C, $2D, $2C, $2C, $2F, $2F, $2D ; CPU:$A3C3 PRG:23C3 2C 2D 2D 2C 03 2D 2D 2C 2D 2C 2D 2C 2C 2F 2F 2D .byte $2C, $2C, $2F, $2D, $2D, $2D, $2C, $2D, $25, $35, $00, $64, $55, $97, $00, $C2 ; CPU:$A3D3 PRG:23D3 2C 2C 2F 2D 2D 2D 2C 2D 25 35 00 64 55 97 00 C2 .byte $55, $C6, $AA, $CE, $55, $E8, $AA, $F4, $FF, $F5, $55, $FF, $00, $05, $A4, $85 ; CPU:$A3E3 PRG:23E3 55 C6 AA CE 55 E8 AA F4 FF F5 55 FF 00 05 A4 85 .byte $A4, $53, $A4, $1A, $A5, $50, $A5, $6A, $A6, $59, $A6, $05, $A4, $85, $A4, $53 ; CPU:$A3F3 PRG:23F3 A4 53 A4 1A A5 50 A5 6A A6 59 A6 05 A4 85 A4 53 .byte $A4, $22, $A5 ; CPU:$A403 PRG:2403 A4 22 A5 ldy #$00 ; CPU:$A406 PRG:2406 A0 00 lda #$3F ; CPU:$A408 PRG:2408 A9 3F sta $0208,y ; CPU:$A40A PRG:240A 99 08 02 iny ; CPU:$A40D PRG:240D C8 lda #$00 ; CPU:$A40E PRG:240E A9 00 sta $0208,y ; CPU:$A410 PRG:2410 99 08 02 iny ; CPU:$A413 PRG:2413 C8 lda #$14 ; CPU:$A414 PRG:2414 A9 14 sta $0208,y ; CPU:$A416 PRG:2416 99 08 02 iny ; CPU:$A419 PRG:2419 C8 ldx #$00 ; CPU:$A41A PRG:241A A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A41C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A41C: lda $A7AC,x ; CPU:$A41C PRG:241C BD AC A7 sta $0208,y ; CPU:$A41F PRG:241F 99 08 02 iny ; CPU:$A422 PRG:2422 C8 inx ; CPU:$A423 PRG:2423 E8 cpx #$14 ; CPU:$A424 PRG:2424 E0 14 bne Sub_A41C ; CPU:$A426 PRG:2426 D0 F4 lda #$00 ; CPU:$A428 PRG:2428 A9 00 sta $0208,y ; CPU:$A42A PRG:242A 99 08 02 sty Joypad1Press2 ; CPU:$A42D PRG:242D 84 1A lda #$06 ; CPU:$A42F PRG:242F A9 06 sta PPUMASKShadow ; CPU:$A431 PRG:2431 85 01 sta $2001 ; CPU:$A433 PRG:2433 8D 01 20 inc Zp42 ; CPU:$A436 PRG:2436 E6 42 lda ResetHi ; CPU:$A438 PRG:2438 A5 3C and #$01 ; CPU:$A43A PRG:243A 29 01 beq Sub_A441 ; CPU:$A43C PRG:243C F0 03 ; ---- data $A43E-$A440 (3 bytes) ---- .byte $20, $7F, $F8 ; CPU:$A43E PRG:243E 20 7F F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_A441 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A441: lda #$00 ; CPU:$A441 PRG:2441 A9 00 sta ResetHi ; CPU:$A443 PRG:2443 85 3C sta $5C ; CPU:$A445 PRG:2445 85 5C sta Zp5D ; CPU:$A447 PRG:2447 85 5D sta Zp60 ; CPU:$A449 PRG:2449 85 60 ldx #$0F ; CPU:$A44B PRG:244B A2 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_A44D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A44D: sta $02A0,x ; CPU:$A44D PRG:244D 9D A0 02 dex ; CPU:$A450 PRG:2450 CA bpl Sub_A44D ; CPU:$A451 PRG:2451 10 FA rts ; CPU:$A453 PRG:2453 60 lda #$00 ; CPU:$A454 PRG:2454 A9 00 sta ScrollY ; CPU:$A456 PRG:2456 85 03 lda PPUCTRLShadow ; CPU:$A458 PRG:2458 A5 00 and #$EF ; CPU:$A45A PRG:245A 29 EF ora #$02 ; CPU:$A45C PRG:245C 09 02 sta PPUCTRLShadow ; CPU:$A45E PRG:245E 85 00 lda #$1E ; CPU:$A460 PRG:2460 A9 1E sta PPUMASKShadow ; CPU:$A462 PRG:2462 85 01 inc Zp42 ; CPU:$A464 PRG:2464 E6 42 ldy Joypad1Press2 ; CPU:$A466 PRG:2466 A4 1A lda #$3F ; CPU:$A468 PRG:2468 A9 3F sta $0208,y ; CPU:$A46A PRG:246A 99 08 02 iny ; CPU:$A46D PRG:246D C8 lda #$01 ; CPU:$A46E PRG:246E A9 01 sta $0208,y ; CPU:$A470 PRG:2470 99 08 02 iny ; CPU:$A473 PRG:2473 C8 sta $0208,y ; CPU:$A474 PRG:2474 99 08 02 iny ; CPU:$A477 PRG:2477 C8 lda #$0F ; CPU:$A478 PRG:2478 A9 0F sta $0208,y ; CPU:$A47A PRG:247A 99 08 02 iny ; CPU:$A47D PRG:247D C8 lda #$00 ; CPU:$A47E PRG:247E A9 00 sta $0208,y ; CPU:$A480 PRG:2480 99 08 02 sty Joypad1Press2 ; CPU:$A483 PRG:2483 84 1A rts ; CPU:$A485 PRG:2485 60 lda $2002 ; CPU:$A486 PRG:2486 AD 02 20 lda #$20 ; CPU:$A489 PRG:2489 A9 20 sta $2006 ; CPU:$A48B PRG:248B 8D 06 20 lda #$00 ; CPU:$A48E PRG:248E A9 00 sta $2006 ; CPU:$A490 PRG:2490 8D 06 20 ldx #$00 ; CPU:$A493 PRG:2493 A2 00 lda #$24 ; CPU:$A495 PRG:2495 A9 24 jsr Sub_A6D7 ; CPU:$A497 PRG:2497 20 D7 A6 jsr Sub_A6D7 ; CPU:$A49A PRG:249A 20 D7 A6 jsr Sub_A6D7 ; CPU:$A49D PRG:249D 20 D7 A6 ldx #$C0 ; CPU:$A4A0 PRG:24A0 A2 C0 jsr Sub_A6D7 ; CPU:$A4A2 PRG:24A2 20 D7 A6 ldx #$40 ; CPU:$A4A5 PRG:24A5 A2 40 lda #$00 ; CPU:$A4A7 PRG:24A7 A9 00 jsr Sub_A6D7 ; CPU:$A4A9 PRG:24A9 20 D7 A6 lda $2002 ; CPU:$A4AC PRG:24AC AD 02 20 lda #$28 ; CPU:$A4AF PRG:24AF A9 28 sta $2006 ; CPU:$A4B1 PRG:24B1 8D 06 20 lda #$00 ; CPU:$A4B4 PRG:24B4 A9 00 sta $2006 ; CPU:$A4B6 PRG:24B6 8D 06 20 lda #$24 ; CPU:$A4B9 PRG:24B9 A9 24 ldx #$00 ; CPU:$A4BB PRG:24BB A2 00 jsr Sub_A6D7 ; CPU:$A4BD PRG:24BD 20 D7 A6 jsr Sub_A6D7 ; CPU:$A4C0 PRG:24C0 20 D7 A6 jsr Sub_A6D7 ; CPU:$A4C3 PRG:24C3 20 D7 A6 ldx #$C0 ; CPU:$A4C6 PRG:24C6 A2 C0 jsr Sub_A6D7 ; CPU:$A4C8 PRG:24C8 20 D7 A6 ldx #$40 ; CPU:$A4CB PRG:24CB A2 40 jsr Sub_A6D7 ; CPU:$A4CD PRG:24CD 20 D7 A6 ldx #$00 ; CPU:$A4D0 PRG:24D0 A2 00 ldy #$0E ; CPU:$A4D2 PRG:24D2 A0 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_A4D4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A4D4: jsr Sub_A6DE ; CPU:$A4D4 PRG:24D4 20 DE A6 dey ; CPU:$A4D7 PRG:24D7 88 bne Sub_A4D4 ; CPU:$A4D8 PRG:24D8 D0 FA lda Zp5E ; CPU:$A4DA PRG:24DA A5 5E beq Sub_A4E4 ; CPU:$A4DC PRG:24DC F0 06 jsr Sub_A6DE ; CPU:$A4DE PRG:24DE 20 DE A6 jsr Sub_A710 ; CPU:$A4E1 PRG:24E1 20 10 A7 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4E4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A4E4: jsr Sub_A717 ; CPU:$A4E4 PRG:24E4 20 17 A7 jsr Sub_A71E ; CPU:$A4E7 PRG:24E7 20 1E A7 inc Zp42 ; CPU:$A4EA PRG:24EA E6 42 Sub_A4EC: ldy Joypad1Press2 ; CPU:$A4EC PRG:24EC A4 1A ldx #$00 ; CPU:$A4EE PRG:24EE A2 00 lda Zp5D ; CPU:$A4F0 PRG:24F0 A5 5D beq Sub_A4F6 ; CPU:$A4F2 PRG:24F2 F0 02 ldx #$08 ; CPU:$A4F4 PRG:24F4 A2 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_A4F6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A4F6: lda $A50B,x ; CPU:$A4F6 PRG:24F6 BD 0B A5 sta $0208,y ; CPU:$A4F9 PRG:24F9 99 08 02 iny ; CPU:$A4FC PRG:24FC C8 inx ; CPU:$A4FD PRG:24FD E8 txa ; CPU:$A4FE PRG:24FE 8A and #$07 ; CPU:$A4FF PRG:24FF 29 07 bne Sub_A4F6 ; CPU:$A501 PRG:2501 D0 F3 lda #$00 ; CPU:$A503 PRG:2503 A9 00 sta $0208,y ; CPU:$A505 PRG:2505 99 08 02 sty Joypad1Press2 ; CPU:$A508 PRG:2508 84 1A rts ; CPU:$A50A PRG:250A 60 ; ---- data $A50B-$A51A (16 bytes) ---- .byte $21, $EA, $01, $CD, $22, $2A, $01, $24, $21, $EA, $01, $24, $22, $2A, $01, $CD ; CPU:$A50B PRG:250B 21 EA 01 CD 22 2A 01 24 21 EA 01 24 22 2A 01 CD inc ScrollY ; CPU:$A51B PRG:251B E6 03 lda ScrollY ; CPU:$A51D PRG:251D A5 03 cmp #$F0 ; CPU:$A51F PRG:251F C9 F0 bne Sub_A53A ; CPU:$A521 PRG:2521 D0 17 ; ----------------------------------------------------------------------------- ; Routine: Sub_A523 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A523: lda #$00 ; CPU:$A523 PRG:2523 A9 00 sta ScrollY ; CPU:$A525 PRG:2525 85 03 lda PPUCTRLShadow ; CPU:$A527 PRG:2527 A5 00 and #$FC ; CPU:$A529 PRG:2529 29 FC sta PPUCTRLShadow ; CPU:$A52B PRG:252B 85 00 lda #$04 ; CPU:$A52D PRG:252D A9 04 sta Zp42 ; CPU:$A52F PRG:252F 85 42 lda #$FE ; CPU:$A531 PRG:2531 A9 FE sta Zp43 ; CPU:$A533 PRG:2533 85 43 lda #$00 ; CPU:$A535 PRG:2535 A9 00 sta GameSubMode ; CPU:$A537 PRG:2537 85 1B rts ; CPU:$A539 PRG:2539 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A53A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A53A: lda Joypad1Press ; CPU:$A53A PRG:253A A5 09 and #$0C ; CPU:$A53C PRG:253C 29 0C bne Sub_A523 ; CPU:$A53E PRG:253E D0 E3 rts ; CPU:$A540 PRG:2540 60 ; ---- data $A541-$A550 (16 bytes) ---- .byte $63, $93, $00, $60, $63, $93, $00, $98, $47, $9C, $00, $D8, $57, $9C, $00, $D8 ; CPU:$A541 PRG:2541 63 93 00 60 63 93 00 98 47 9C 00 D8 57 9C 00 D8 ldx #$00 ; CPU:$A551 PRG:2551 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A553 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A553: lda $A541,x ; CPU:$A553 PRG:2553 BD 41 A5 sta $0720,x ; CPU:$A556 PRG:2556 9D 20 07 inx ; CPU:$A559 PRG:2559 E8 cpx #$10 ; CPU:$A55A PRG:255A E0 10 bne Sub_A553 ; CPU:$A55C PRG:255C D0 F5 lda GameSubMode ; CPU:$A55E PRG:255E A5 1B and #$01 ; CPU:$A560 PRG:2560 29 01 bne Sub_A57A ; CPU:$A562 PRG:2562 D0 16 lda Zp43 ; CPU:$A564 PRG:2564 A5 43 cmp #$F4 ; CPU:$A566 PRG:2566 C9 F4 bcc Sub_A570 ; CPU:$A568 PRG:2568 90 06 lda GameSubMode ; CPU:$A56A PRG:256A A5 1B and #$07 ; CPU:$A56C PRG:256C 29 07 bne Sub_A57A ; CPU:$A56E PRG:256E D0 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_A570 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A570: dec Zp43 ; CPU:$A570 PRG:2570 C6 43 bne Sub_A57A ; CPU:$A572 PRG:2572 D0 06 lda #$05 ; CPU:$A574 PRG:2574 A9 05 sta Zp42 ; CPU:$A576 PRG:2576 85 42 sta Zp60 ; CPU:$A578 PRG:2578 85 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A57A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A57A: lda Joypad1Press ; CPU:$A57A PRG:257A A5 09 and #$08 ; CPU:$A57C PRG:257C 29 08 beq Sub_A585 ; CPU:$A57E PRG:257E F0 05 lda #$06 ; CPU:$A580 PRG:2580 A9 06 sta Zp42 ; CPU:$A582 PRG:2582 85 42 rts ; CPU:$A584 PRG:2584 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A585 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A585: lda Joypad1Press ; CPU:$A585 PRG:2585 A5 09 and #$04 ; CPU:$A587 PRG:2587 29 04 beq Sub_A591 ; CPU:$A589 PRG:2589 F0 06 lda Zp5D ; CPU:$A58B PRG:258B A5 5D eor #$01 ; CPU:$A58D PRG:258D 49 01 sta Zp5D ; CPU:$A58F PRG:258F 85 5D ; ----------------------------------------------------------------------------- ; Routine: Sub_A591 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A591: jsr Sub_A4EC ; CPU:$A591 PRG:2591 20 EC A4 jmp Sub_A5C2 ; CPU:$A594 PRG:2594 4C C2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A597 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A597: ldx #$0C ; CPU:$A597 PRG:2597 A2 0C jmp Sub_A5B2 ; CPU:$A599 PRG:2599 4C B2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A59C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A59C: ldx #$10 ; CPU:$A59C PRG:259C A2 10 jmp Sub_A5B2 ; CPU:$A59E PRG:259E 4C B2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5A1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A5A1: ldx #$14 ; CPU:$A5A1 PRG:25A1 A2 14 jmp Sub_A5B2 ; CPU:$A5A3 PRG:25A3 4C B2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5A6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A5A6: ldx #$00 ; CPU:$A5A6 PRG:25A6 A2 00 jmp Sub_A5B2 ; CPU:$A5A8 PRG:25A8 4C B2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5AB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A5AB: ldx #$04 ; CPU:$A5AB PRG:25AB A2 04 jmp Sub_A5B2 ; CPU:$A5AD PRG:25AD 4C B2 A5 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A5B0: ldx #$08 ; CPU:$A5B0 PRG:25B0 A2 08 Sub_A5B2: ldy #$40 ; CPU:$A5B2 PRG:25B2 A0 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_A5B4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A5B4: lda $A62A,x ; CPU:$A5B4 PRG:25B4 BD 2A A6 sta $0700,y ; CPU:$A5B7 PRG:25B7 99 00 07 iny ; CPU:$A5BA PRG:25BA C8 inx ; CPU:$A5BB PRG:25BB E8 txa ; CPU:$A5BC PRG:25BC 8A and #$03 ; CPU:$A5BD PRG:25BD 29 03 bne Sub_A5B4 ; CPU:$A5BF PRG:25BF D0 F3 rts ; CPU:$A5C1 PRG:25C1 60 Sub_A5C2: lda Zp43 ; CPU:$A5C2 PRG:25C2 A5 43 cmp #$85 ; CPU:$A5C4 PRG:25C4 C9 85 bcc Sub_A602 ; CPU:$A5C6 PRG:25C6 90 3A cmp #$89 ; CPU:$A5C8 PRG:25C8 C9 89 bcc Sub_A5B0 ; CPU:$A5CA PRG:25CA 90 E4 cmp #$8D ; CPU:$A5CC PRG:25CC C9 8D bcc Sub_A5AB ; CPU:$A5CE PRG:25CE 90 DB cmp #$91 ; CPU:$A5D0 PRG:25D0 C9 91 bcc Sub_A5A6 ; CPU:$A5D2 PRG:25D2 90 D2 cmp #$F4 ; CPU:$A5D4 PRG:25D4 C9 F4 bcs Sub_A601 ; CPU:$A5D6 PRG:25D6 B0 29 cmp #$F0 ; CPU:$A5D8 PRG:25D8 C9 F0 bcs Sub_A597 ; CPU:$A5DA PRG:25DA B0 BB cmp #$EC ; CPU:$A5DC PRG:25DC C9 EC bcs Sub_A59C ; CPU:$A5DE PRG:25DE B0 BC cmp #$E8 ; CPU:$A5E0 PRG:25E0 C9 E8 bcs Sub_A5A1 ; CPU:$A5E2 PRG:25E2 B0 BD asl a ; CPU:$A5E4 PRG:25E4 0A and #$0C ; CPU:$A5E5 PRG:25E5 29 0C clc ; CPU:$A5E7 PRG:25E7 18 adc #$18 ; CPU:$A5E8 PRG:25E8 69 18 tax ; CPU:$A5EA PRG:25EA AA jsr Sub_A5B2 ; CPU:$A5EB PRG:25EB 20 B2 A5 lda GameSubMode ; CPU:$A5EE PRG:25EE A5 1B and #$01 ; CPU:$A5F0 PRG:25F0 29 01 clc ; CPU:$A5F2 PRG:25F2 18 adc #$D4 ; CPU:$A5F3 PRG:25F3 69 D4 sec ; CPU:$A5F5 PRG:25F5 38 sbc Zp43 ; CPU:$A5F6 PRG:25F6 E5 43 sec ; CPU:$A5F8 PRG:25F8 38 sbc Zp43 ; CPU:$A5F9 PRG:25F9 E5 43 clc ; CPU:$A5FB PRG:25FB 18 adc #$20 ; CPU:$A5FC PRG:25FC 69 20 sta $0743 ; CPU:$A5FE PRG:25FE 8D 43 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_A601 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A601: rts ; CPU:$A601 PRG:2601 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_A602 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A602: cmp #$1E ; CPU:$A602 PRG:2602 C9 1E bcc Sub_A629 ; CPU:$A604 PRG:2604 90 23 and #$07 ; CPU:$A606 PRG:2606 29 07 tax ; CPU:$A608 PRG:2608 AA ldy Joypad1Press2 ; CPU:$A609 PRG:2609 A4 1A lda #$3F ; CPU:$A60B PRG:260B A9 3F sta $0208,y ; CPU:$A60D PRG:260D 99 08 02 iny ; CPU:$A610 PRG:2610 C8 lda #$01 ; CPU:$A611 PRG:2611 A9 01 sta $0208,y ; CPU:$A613 PRG:2613 99 08 02 iny ; CPU:$A616 PRG:2616 C8 sta $0208,y ; CPU:$A617 PRG:2617 99 08 02 iny ; CPU:$A61A PRG:261A C8 lda $A652,x ; CPU:$A61B PRG:261B BD 52 A6 sta $0208,y ; CPU:$A61E PRG:261E 99 08 02 iny ; CPU:$A621 PRG:2621 C8 lda #$00 ; CPU:$A622 PRG:2622 A9 00 sta $0208,y ; CPU:$A624 PRG:2624 99 08 02 sty Joypad1Press2 ; CPU:$A627 PRG:2627 84 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_A629 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A629: rts ; CPU:$A629 PRG:2629 60 ; ---- data $A62A-$A659 (48 bytes) ---- .byte $3C, $F8, $03, $D5, $3C, $FB, $03, $D5, $3C, $D3, $03, $D5, $3C, $D3, $03, $25 ; CPU:$A62A PRG:262A 3C F8 03 D5 3C FB 03 D5 3C D3 03 D5 3C D3 03 25 .byte $3C, $FB, $03, $25, $3C, $F8, $03, $25, $3C, $F8, $03, $00, $3C, $F9, $03, $00 ; CPU:$A63A PRG:263A 3C FB 03 25 3C F8 03 25 3C F8 03 00 3C F9 03 00 .byte $3C, $FA, $03, $00, $3C, $F9, $43, $00, $0F, $12, $15, $16, $25, $27, $06, $30 ; CPU:$A64A PRG:264A 3C FA 03 00 3C F9 43 00 0F 12 15 16 25 27 06 30 lda #$00 ; CPU:$A65A PRG:265A A9 00 ldx Zp5D ; CPU:$A65C PRG:265C A6 5D stx Zp5E ; CPU:$A65E PRG:265E 86 5E sta Zp60 ; CPU:$A660 PRG:2660 85 60 ldx #$08 ; CPU:$A662 PRG:2662 A2 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_A664 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A664: sta Zp80,x ; CPU:$A664 PRG:2664 95 80 sta Zp9A,x ; CPU:$A666 PRG:2666 95 9A dex ; CPU:$A668 PRG:2668 CA bpl Sub_A664 ; CPU:$A669 PRG:2669 10 F9 lda #$00 ; CPU:$A66B PRG:266B A9 00 sta ScrollY ; CPU:$A66D PRG:266D 85 03 sta NmiToggle ; CPU:$A66F PRG:266F 85 0F sta Zp25 ; CPU:$A671 PRG:2671 85 25 sta Zp26 ; CPU:$A673 PRG:2673 85 26 sta Zp29 ; CPU:$A675 PRG:2675 85 29 lda PPUCTRLShadow ; CPU:$A677 PRG:2677 A5 00 and #$FD ; CPU:$A679 PRG:2679 29 FD sta PPUCTRLShadow ; CPU:$A67B PRG:267B 85 00 lda #$1F ; CPU:$A67D PRG:267D A9 1F sta Zp14 ; CPU:$A67F PRG:267F 85 14 lda #$3B ; CPU:$A681 PRG:2681 A9 3B sta Zp15 ; CPU:$A683 PRG:2683 85 15 lda #$01 ; CPU:$A685 PRG:2685 A9 01 sta GameMode ; CPU:$A687 PRG:2687 85 10 ldy Joypad1Press2 ; CPU:$A689 PRG:2689 A4 1A ldx #$00 ; CPU:$A68B PRG:268B A2 00 stx Zp42 ; CPU:$A68D PRG:268D 86 42 ; ----------------------------------------------------------------------------- ; Routine: Sub_A68F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A68F: lda $A6CE,x ; CPU:$A68F PRG:268F BD CE A6 sta $0208,y ; CPU:$A692 PRG:2692 99 08 02 iny ; CPU:$A695 PRG:2695 C8 inx ; CPU:$A696 PRG:2696 E8 cpx #$09 ; CPU:$A697 PRG:2697 E0 09 bne Sub_A68F ; CPU:$A699 PRG:2699 D0 F4 dey ; CPU:$A69B PRG:269B 88 sty Joypad1Press2 ; CPU:$A69C PRG:269C 84 1A jsr Sub_F3C2 ; CPU:$A69E PRG:269E 20 C2 F3 lda #$00 ; CPU:$A6A1 PRG:26A1 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6A3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A6A3: ldx #$11 ; CPU:$A6A3 PRG:26A3 A2 11 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6A5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A6A5: sta Zp88,x ; CPU:$A6A5 PRG:26A5 95 88 sta ZpA2,x ; CPU:$A6A7 PRG:26A7 95 A2 dex ; CPU:$A6A9 PRG:26A9 CA bpl Sub_A6A5 ; CPU:$A6AA PRG:26AA 10 F9 sta ResetHi ; CPU:$A6AC PRG:26AC 85 3C lda #$FF ; CPU:$A6AE PRG:26AE A9 FF sta Zp90 ; CPU:$A6B0 PRG:26B0 85 90 sta ZpAA ; CPU:$A6B2 PRG:26B2 85 AA ldx #$01 ; CPU:$A6B4 PRG:26B4 A2 01 stx Zp99 ; CPU:$A6B6 PRG:26B6 86 99 stx ZpB3 ; CPU:$A6B8 PRG:26B8 86 B3 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6BA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A6BA: lda Zp53,x ; CPU:$A6BA PRG:26BA B5 53 sta Zp8A,x ; CPU:$A6BC PRG:26BC 95 8A sta ZpA4,x ; CPU:$A6BE PRG:26BE 95 A4 dex ; CPU:$A6C0 PRG:26C0 CA bpl Sub_A6BA ; CPU:$A6C1 PRG:26C1 10 F7 lda Zp5F ; CPU:$A6C3 PRG:26C3 A5 5F sta Zp8D ; CPU:$A6C5 PRG:26C5 85 8D ldx Zp5D ; CPU:$A6C7 PRG:26C7 A6 5D beq Sub_A6CD ; CPU:$A6C9 PRG:26C9 F0 02 sta ZpA7 ; CPU:$A6CB PRG:26CB 85 A7 ; ----------------------------------------------------------------------------- ; Routine: Sub_A6CD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A6CD: rts ; CPU:$A6CD PRG:26CD 60 Data_A6CE: ; Nine bytes between the routine ending at $A6CD and the VRAM copy loop at $A6D7. ; Structure undetermined: no instruction references this address. ; ---- data $A6CE-$A6D6 (9 bytes) ---- .byte $3F, $12, $02, $30, $00, $3F, $01, $01, $0F ; CPU:$A6CE PRG:26CE 3F 12 02 30 00 3F 01 01 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_A6D7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A6D7: sta $2007 ; CPU:$A6D7 PRG:26D7 8D 07 20 dex ; CPU:$A6DA PRG:26DA CA bne Sub_A6D7 ; CPU:$A6DB PRG:26DB D0 FA rts ; CPU:$A6DD PRG:26DD 60 Sub_A6DE: lda $2002 ; CPU:$A6DE PRG:26DE AD 02 20 lda $A74B,x ; CPU:$A6E1 PRG:26E1 BD 4B A7 inx ; CPU:$A6E4 PRG:26E4 E8 sta VramPtrLo ; CPU:$A6E5 PRG:26E5 85 04 lda $A74B,x ; CPU:$A6E7 PRG:26E7 BD 4B A7 inx ; CPU:$A6EA PRG:26EA E8 sta VramCopyCount ; CPU:$A6EB PRG:26EB 85 05 sty Zp2C ; CPU:$A6ED PRG:26ED 84 2C ldy #$01 ; CPU:$A6EF PRG:26EF A0 01 lda (VramPtrLo),y ; CPU:$A6F1 PRG:26F1 B1 04 sta $2006 ; CPU:$A6F3 PRG:26F3 8D 06 20 ldy #$00 ; CPU:$A6F6 PRG:26F6 A0 00 lda (VramPtrLo),y ; CPU:$A6F8 PRG:26F8 B1 04 sta $2006 ; CPU:$A6FA PRG:26FA 8D 06 20 ldy #$02 ; CPU:$A6FD PRG:26FD A0 02 lda (VramPtrLo),y ; CPU:$A6FF PRG:26FF B1 04 sta ObjUpdateFlag ; CPU:$A701 PRG:2701 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_A703 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A703: iny ; CPU:$A703 PRG:2703 C8 lda (VramPtrLo),y ; CPU:$A704 PRG:2704 B1 04 sta $2007 ; CPU:$A706 PRG:2706 8D 07 20 dec ObjUpdateFlag ; CPU:$A709 PRG:2709 C6 0E bne Sub_A703 ; CPU:$A70B PRG:270B D0 F6 ldy Zp2C ; CPU:$A70D PRG:270D A4 2C rts ; CPU:$A70F PRG:270F 60 Sub_A710: ldy #$95 ; CPU:$A710 PRG:2710 A0 95 ldx #$9A ; CPU:$A712 PRG:2712 A2 9A jmp Sub_A722 ; CPU:$A714 PRG:2714 4C 22 A7 Sub_A717: ldy #$83 ; CPU:$A717 PRG:2717 A0 83 ldx #$80 ; CPU:$A719 PRG:2719 A2 80 jmp Sub_A722 ; CPU:$A71B PRG:271B 4C 22 A7 Sub_A71E: ldy #$8C ; CPU:$A71E PRG:271E A0 8C ldx #$4B ; CPU:$A720 PRG:2720 A2 4B Sub_A722: lda $2002 ; CPU:$A722 PRG:2722 AD 02 20 lda #$20 ; CPU:$A725 PRG:2725 A9 20 sta $2006 ; CPU:$A727 PRG:2727 8D 06 20 sty $2006 ; CPU:$A72A PRG:272A 8C 06 20 ldy #$06 ; CPU:$A72D PRG:272D A0 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_A72F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A72F: lda PPUCTRLShadow,x ; CPU:$A72F PRG:272F B5 00 bne Sub_A73E ; CPU:$A731 PRG:2731 D0 0B lda #$24 ; CPU:$A733 PRG:2733 A9 24 sta $2007 ; CPU:$A735 PRG:2735 8D 07 20 inx ; CPU:$A738 PRG:2738 E8 dey ; CPU:$A739 PRG:2739 88 bne Sub_A72F ; CPU:$A73A PRG:273A D0 F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_A73C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A73C: lda PPUCTRLShadow,x ; CPU:$A73C PRG:273C B5 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_A73E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_A73E: sta $2007 ; CPU:$A73E PRG:273E 8D 07 20 inx ; CPU:$A741 PRG:2741 E8 dey ; CPU:$A742 PRG:2742 88 bpl Sub_A73C ; CPU:$A743 PRG:2743 10 F7 lda PPUCTRLShadow,x ; CPU:$A745 PRG:2745 B5 00 sta $2007 ; CPU:$A747 PRG:2747 8D 07 20 rts ; CPU:$A74A PRG:274A 60 ; ---- data $A74B-$A768 (30 bytes) ---- ; 15 x 16-bit pointers to the VRAM write descriptors at $A769-$A8D4 (read by lda $A74B,x at $A6E1). VramWritePtrTable: .byte $C0, $A7, $C6, $A7, $D7, $A7, $F3, $A7, $0D, $A8, $28, $A8, $43, $A8, $5E, $A8 ; CPU:$A74B PRG:274B C0 A7 C6 A7 D7 A7 F3 A7 0D A8 28 A8 43 A8 5E A8 .byte $62, $A8, $6D, $A8, $79, $A8, $99, $A8, $B7, $A8, $69, $A7, $D1, $A7 ; CPU:$A75B PRG:275B 62 A8 6D A8 79 A8 99 A8 B7 A8 69 A7 D1 A7 ; ---- data $A769-$A8D4 (364 bytes) ---- ; VRAM write descriptors: [lo, hi, count, data...]; the routine at $A6DE writes ; hi/lo to $2006 and then count bytes to $2007. VramWriteData: .byte $C0, $23, $40, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00 ; CPU:$A769 PRG:2769 C0 23 40 FF FF FF FF FF FF FF FF 00 00 00 00 00 .byte $00, $00, $00, $55, $11, $00, $00, $00, $00, $00, $55, $05, $05, $05, $00, $00 ; CPU:$A779 PRG:2779 00 00 00 55 11 00 00 00 00 00 55 05 05 05 00 00 .byte $05, $05, $05, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A789 PRG:2789 05 05 05 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A799 PRG:2799 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $00, $0F, $0F, $30, $02, $0F, $0F, $16, $02, $0F, $16, $0F, $16, $0F ; CPU:$A7A9 PRG:27A9 00 00 00 0F 0F 30 02 0F 0F 16 02 0F 16 0F 16 0F .byte $0F, $16, $16, $0F, $0F, $30, $02, $63, $20, $03, $01, $1E, $19, $6C, $20, $08 ; CPU:$A7B9 PRG:27B9 0F 16 16 0F 0F 30 02 63 20 03 01 1E 19 6C 20 08 .byte $11, $12, $26, $1C, $0C, $18, $1B, $0E, $75, $20, $03, $02, $1E, $19, $04, $21 ; CPU:$A7C9 PRG:27C9 11 12 26 1C 0C 18 1B 0E 75 20 03 02 1E 19 04 21 .byte $19, $98, $8F, $CC, $9D, $8F, $CC, $8F, $9C, $8F, $9C, $CC, $8F, $8F, $8F, $CC ; CPU:$A7D9 PRG:27D9 19 98 8F CC 9D 8F CC 8F 9C 8F 9C CC 8F 8F 8F CC .byte $9D, $8F, $CC, $9D, $8F, $9D, $8F, $CC, $8F, $99, $25, $21, $17, $9D, $9E, $8F ; CPU:$A7E9 PRG:27E9 9D 8F CC 9D 8F 9D 8F CC 8F 99 25 21 17 9D 9E 8F .byte $9B, $9F, $9C, $93, $9D, $9E, $98, $8F, $9D, $8F, $98, $8F, $9D, $9E, $FE, $8F ; CPU:$A7F9 PRG:27F9 9B 9F 9C 93 9D 9E 98 8F 9D 8F 98 8F 9D 9E FE 8F .byte $FE, $8F, $9F, $9C, $45, $21, $18, $98, $8F, $9E, $9A, $8F, $9C, $CC, $9A, $8F ; CPU:$A809 PRG:2809 FE 8F 9F 9C 45 21 18 98 8F 9E 9A 8F 9C CC 9A 8F .byte $9F, $9C, $FE, $8F, $9D, $9E, $98, $8F, $9D, $8F, $FE, $8F, $9A, $8F, $99, $64 ; CPU:$A819 PRG:2819 9F 9C FE 8F 9D 9E 98 8F 9D 8F FE 8F 9A 8F 99 64 .byte $21, $18, $98, $8F, $9B, $9D, $9E, $9A, $8F, $99, $93, $9D, $8F, $9B, $FE, $8F ; CPU:$A829 PRG:2829 21 18 98 8F 9B 9D 9E 9A 8F 99 93 9D 8F 9B FE 8F .byte $93, $9D, $8F, $9B, $93, $9D, $8F, $9B, $9F, $9C, $83, $21, $18, $98, $8F, $CC ; CPU:$A839 PRG:2839 93 9D 8F 9B 93 9D 8F 9B 9F 9C 83 21 18 98 8F CC .byte $CC, $CC, $CC, $CC, $CC, $CC, $CC, $C7, $C7, $C7, $C7, $C7, $C7, $CC, $CC, $CC ; CPU:$A849 PRG:2849 CC CC CC CC CC CC CC C7 C7 C7 C7 C7 C7 CC CC CC .byte $CC, $CC, $CC, $CC, $CC, $A4, $21, $01, $9B, $EC, $21, $08, $01, $24, $19, $15 ; CPU:$A859 PRG:2859 CC CC CC CC CC A4 21 01 9B EC 21 08 01 24 19 15 .byte $0A, $22, $0E, $1B, $2C, $22, $09, $02, $24, $19, $15, $0A, $22, $0E, $1B, $1C ; CPU:$A869 PRG:2869 0A 22 0E 1B 2C 22 09 02 24 19 15 0A 22 0E 1B 1C .byte $A2, $22, $1D, $1D, $16, $24, $0A, $17, $0D, $24, $87, $24, $01, $09, $08, $02 ; CPU:$A879 PRG:2879 A2 22 1D 1D 16 24 0A 17 0D 24 87 24 01 09 08 02 .byte $24, $01, $09, $08, $08, $24, $17, $0A, $16, $0C, $18, $24, $15, $1D, $0D, $25 ; CPU:$A889 PRG:2889 24 01 09 08 08 24 17 0A 16 0C 18 24 15 1D 0D 25 .byte $23, $23, $1B, $0B, $0A, $17, $0D, $0A, $12, $24, $0C, $18, $25, $24, $15, $1D ; CPU:$A899 PRG:2899 23 23 1B 0B 0A 17 0D 0A 12 24 0C 18 25 24 15 1D .byte $0D, $25, $24, $12, $1C, $24, $15, $12, $0C, $0E, $17, $1C, $0E, $0D, $63, $23 ; CPU:$A8A9 PRG:28A9 0D 25 24 12 1C 24 15 12 0C 0E 17 1C 0E 0D 63 23 .byte $1B, $0B, $22, $24, $17, $12, $17, $1D, $0E, $17, $0D, $18, $24, $18, $0F, $24 ; CPU:$A8B9 PRG:28B9 1B 0B 22 24 17 12 17 1D 0E 17 0D 18 24 18 0F 24 .byte $0A, $16, $0E, $1B, $12, $0C, $0A, $24, $12, $17, $0C, $25 ; CPU:$A8C9 PRG:28C9 0A 16 0E 1B 12 0C 0A 24 12 17 0C 25 ; ---- data $A8D5-$A8F4 (32 bytes) ---- ; 16 x 16-bit pointers to the streams at $ACFB-$B8AA (read by lda $A8D5,x at $F3E4); ; the first byte of each stream is loaded into Zp12 as a count. DataStreamPtrTable: .byte $FB, $AC, $BC, $AD, $76, $AE, $26, $AF, $A5, $AF, $71, $B0, $2F, $B1, $BF, $B1 ; CPU:$A8D5 PRG:28D5 FB AC BC AD 76 AE 26 AF A5 AF 71 B0 2F B1 BF B1 .byte $8D, $B2, $FB, $B2, $CB, $B3, $9B, $B4, $8D, $B5, $3D, $B6, $C1, $B6, $93, $B7 ; CPU:$A8E5 PRG:28E5 8D B2 FB B2 CB B3 9B B4 8D B5 3D B6 C1 B6 93 B7 ; ---- data $A8F5-$A9BA (198 bytes) ---- ; 99 x 16-bit pointers to the tile data at $A9BB-$ACFA (read by lda $A8F5,y at $C353 ; and stored per object at $050A/$050B). ObjTilePtrTable: .byte $BB, $A9, $C1, $A9, $C7, $A9, $CD, $A9, $D5, $A9, $DD, $A9, $E3, $A9, $E7, $A9 ; CPU:$A8F5 PRG:28F5 BB A9 C1 A9 C7 A9 CD A9 D5 A9 DD A9 E3 A9 E7 A9 .byte $ED, $A9, $F1, $A9, $F7, $A9, $FD, $A9, $05, $AA, $2D, $AA, $39, $AA, $35, $AA ; CPU:$A905 PRG:2905 ED A9 F1 A9 F7 A9 FD A9 05 AA 2D AA 39 AA 35 AA .byte $3D, $AA, $45, $AA, $43, $AA, $47, $AA, $49, $AA, $5F, $AA, $65, $AA, $6D, $AA ; CPU:$A915 PRG:2915 3D AA 45 AA 43 AA 47 AA 49 AA 5F AA 65 AA 6D AA .byte $69, $AA, $7D, $AA, $79, $AA, $8D, $AA, $89, $AA, $99, $AA, $A3, $AA, $AB, $AA ; CPU:$A925 PRG:2925 69 AA 7D AA 79 AA 8D AA 89 AA 99 AA A3 AA AB AA .byte $B3, $AA, $BB, $AA, $C7, $AA, $CD, $AA, $DD, $AA, $DB, $AA, $E1, $AA, $ED, $AA ; CPU:$A935 PRG:2935 B3 AA BB AA C7 AA CD AA DD AA DB AA E1 AA ED AA .byte $FD, $AA, $03, $AB, $07, $AB, $0B, $AB, $13, $AB, $11, $AB, $0F, $AB, $1D, $AB ; CPU:$A945 PRG:2945 FD AA 03 AB 07 AB 0B AB 13 AB 11 AB 0F AB 1D AB .byte $2F, $AB, $41, $AB, $51, $AB, $55, $AB, $3F, $AB, $2D, $AB, $1B, $AB, $65, $AB ; CPU:$A955 PRG:2955 2F AB 41 AB 51 AB 55 AB 3F AB 2D AB 1B AB 65 AB .byte $85, $AB, $87, $AB, $8B, $AB, $99, $AB, $AB, $AB, $B5, $AB, $C7, $AB, $CD, $AB ; CPU:$A965 PRG:2965 85 AB 87 AB 8B AB 99 AB AB AB B5 AB C7 AB CD AB .byte $CF, $AB, $D7, $AB, $DD, $AB, $E5, $AB, $EB, $AB, $F1, $AB, $F9, $AB, $01, $AC ; CPU:$A975 PRG:2975 CF AB D7 AB DD AB E5 AB EB AB F1 AB F9 AB 01 AC .byte $19, $AC, $1F, $AC, $1B, $AC, $21, $AC, $25, $AC, $29, $AC, $2F, $AC, $35, $AC ; CPU:$A985 PRG:2985 19 AC 1F AC 1B AC 21 AC 25 AC 29 AC 2F AC 35 AC .byte $41, $AC, $49, $AC, $53, $AC, $6B, $AC, $67, $AC, $4F, $AC, $7F, $AC, $8D, $AC ; CPU:$A995 PRG:2995 41 AC 49 AC 53 AC 6B AC 67 AC 4F AC 7F AC 8D AC .byte $99, $AC, $A5, $AC, $B1, $AC, $B7, $AC, $BD, $AC, $CD, $AC, $DD, $AC, $E1, $AC ; CPU:$A9A5 PRG:29A5 99 AC A5 AC B1 AC B7 AC BD AC CD AC DD AC E1 AC .byte $E7, $AC, $F9, $AC, $EB, $AC ; CPU:$A9B5 PRG:29B5 E7 AC F9 AC EB AC ; ---- data $A9BB-$ACFA (832 bytes) ---- ; Tile/attribute data addressed by the 99-entry table at $A8F5. ObjTileData: .byte $00, $60, $04, $30, $08, $FF, $00, $5C, $1E, $58, $00, $FF, $00, $34, $08, $A0 ; CPU:$A9BB PRG:29BB 00 60 04 30 08 FF 00 5C 1E 58 00 FF 00 34 08 A0 .byte $00, $FF, $04, $68, $00, $50, $04, $28, $00, $FF, $00, $08, $18, $40, $00, $58 ; CPU:$A9CB PRG:29CB 00 FF 04 68 00 50 04 28 00 FF 00 08 18 40 00 58 .byte $04, $FF, $00, $78, $1C, $A0, $19, $FF, $1C, $64, $18, $FF, $00, $90, $10, $80 ; CPU:$A9DB PRG:29DB 04 FF 00 78 1C A0 19 FF 1C 64 18 FF 00 90 10 80 .byte $00, $FF, $00, $90, $04, $FF, $00, $5C, $1C, $40, $00, $FF, $00, $4C, $1E, $68 ; CPU:$A9EB PRG:29EB 00 FF 00 90 04 FF 00 5C 1C 40 00 FF 00 4C 1E 68 .byte $00, $FF, $00, $60, $10, $D8, $18, $38, $1F, $FF, $00, $30, $10, $30, $08, $20 ; CPU:$A9FB PRG:29FB 00 FF 00 60 10 D8 18 38 1F FF 00 30 10 30 08 20 .byte $18, $20, $00, $30, $10, $30, $08, $20, $18, $20, $00, $30, $10, $30, $08, $20 ; CPU:$AA0B PRG:2A0B 18 20 00 30 10 30 08 20 18 20 00 30 10 30 08 20 .byte $18, $20, $00, $30, $10, $30, $08, $20, $18, $20, $00, $30, $10, $30, $08, $20 ; CPU:$AA1B PRG:2A1B 18 20 00 30 10 30 08 20 18 20 00 30 10 30 08 20 .byte $18, $20, $10, $10, $08, $C0, $10, $30, $18, $FF, $18, $FF, $18, $FF, $08, $FF ; CPU:$AA2B PRG:2A2B 18 20 10 10 08 C0 10 30 18 FF 18 FF 18 FF 08 FF .byte $08, $FF, $00, $B0, $10, $C0, $00, $FF, $00, $C0, $1C, $40, $00, $FF, $00, $18 ; CPU:$AA3B PRG:2A3B 08 FF 00 B0 10 C0 00 FF 00 C0 1C 40 00 FF 00 18 .byte $1C, $38, $19, $40, $1C, $40, $18, $48, $1C, $20, $00, $20, $10, $20, $00, $20 ; CPU:$AA4B PRG:2A4B 1C 38 19 40 1C 40 18 48 1C 20 00 20 10 20 00 20 .byte $10, $20, $00, $FF, $00, $32, $08, $90, $00, $FF, $00, $92, $18, $FF, $0C, $04 ; CPU:$AA5B PRG:2A5B 10 20 00 FF 00 32 08 90 00 FF 00 92 18 FF 0C 04 .byte $1C, $34, $14, $60, $10, $60, $0C, $60, $04, $60, $00, $60, $1C, $60, $10, $04 ; CPU:$AA6B PRG:2A6B 1C 34 14 60 10 60 0C 60 04 60 00 60 1C 60 10 04 .byte $00, $34, $1C, $60, $14, $60, $10, $60, $0C, $60, $04, $60, $00, $60, $14, $04 ; CPU:$AA7B PRG:2A7B 00 34 1C 60 14 60 10 60 0C 60 04 60 00 60 14 04 .byte $04, $34, $00, $60, $1C, $60, $14, $60, $10, $60, $0C, $60, $04, $60, $10, $0C ; CPU:$AA8B PRG:2A8B 04 34 00 60 1C 60 14 60 10 60 0C 60 04 60 10 0C .byte $18, $D0, $14, $20, $10, $FF, $00, $FF, $1C, $28, $00, $08, $1C, $48, $00, $FF ; CPU:$AA9B PRG:2A9B 18 D0 14 20 10 FF 00 FF 1C 28 00 08 1C 48 00 FF .byte $00, $50, $08, $40, $18, $40, $00, $FF, $00, $50, $18, $40, $08, $40, $00, $FF ; CPU:$AAAB PRG:2AAB 00 50 08 40 18 40 00 FF 00 50 18 40 08 40 00 FF .byte $00, $A0, $10, $E0, $10, $30, $11, $40, $01, $40, $00, $FF, $00, $AC, $10, $FF ; CPU:$AABB PRG:2ABB 00 A0 10 E0 10 30 11 40 01 40 00 FF 00 AC 10 FF .byte $00, $FF, $00, $38, $10, $E8, $14, $24, $10, $40, $14, $74, $11, $94, $19, $FF ; CPU:$AACB PRG:2ACB 00 FF 00 38 10 E8 14 24 10 40 14 74 11 94 19 FF .byte $10, $10, $00, $FF, $00, $FF, $00, $08, $18, $48, $00, $58, $1C, $48, $00, $70 ; CPU:$AADB PRG:2ADB 10 10 00 FF 00 FF 00 08 18 48 00 58 1C 48 00 70 .byte $1E, $FF, $00, $08, $18, $78, $00, $58, $04, $60, $00, $38, $0A, $18, $0C, $A8 ; CPU:$AAEB PRG:2AEB 1E FF 00 08 18 78 00 58 04 60 00 38 0A 18 0C A8 .byte $00, $FF, $00, $08, $08, $78, $00, $FF, $1C, $62, $18, $FF, $1C, $82, $18, $FF ; CPU:$AAFB PRG:2AFB 00 FF 00 08 08 78 00 FF 1C 62 18 FF 1C 82 18 FF .byte $1C, $A2, $18, $FF, $04, $20, $04, $20, $00, $E4, $18, $FF, $00, $C0, $18, $FF ; CPU:$AB0B PRG:2B0B 1C A2 18 FF 04 20 04 20 00 E4 18 FF 00 C0 18 FF .byte $1C, $40, $0C, $60, $1C, $60, $0C, $60, $1C, $60, $0C, $60, $1C, $60, $0C, $60 ; CPU:$AB1B PRG:2B1B 1C 40 0C 60 1C 60 0C 60 1C 60 0C 60 1C 60 0C 60 .byte $1C, $60, $00, $40, $10, $60, $00, $60, $10, $60, $00, $60, $10, $60, $00, $60 ; CPU:$AB2B PRG:2B2B 1C 60 00 40 10 60 00 60 10 60 00 60 10 60 00 60 .byte $10, $60, $00, $60, $04, $40, $14, $60, $04, $60, $14, $60, $04, $60, $14, $60 ; CPU:$AB3B PRG:2B3B 10 60 00 60 04 40 14 60 04 60 14 60 04 60 14 60 .byte $04, $60, $14, $60, $04, $60, $18, $40, $08, $20, $08, $40, $18, $60, $08, $60 ; CPU:$AB4B PRG:2B4B 04 60 14 60 04 60 18 40 08 20 08 40 18 60 08 60 .byte $18, $60, $08, $60, $18, $60, $08, $60, $18, $60, $08, $80, $10, $80, $17, $80 ; CPU:$AB5B PRG:2B5B 18 60 08 60 18 60 08 60 18 60 08 80 10 80 17 80 .byte $14, $20, $08, $40, $06, $20, $08, $10, $10, $28, $18, $10, $1A, $20, $18, $48 ; CPU:$AB6B PRG:2B6B 14 20 08 40 06 20 08 10 10 28 18 10 1A 20 18 48 .byte $14, $18, $08, $70, $0D, $A0, $18, $98, $1C, $80, $00, $FF, $00, $F8, $04, $40 ; CPU:$AB7B PRG:2B7B 14 18 08 70 0D A0 18 98 1C 80 00 FF 00 F8 04 40 .byte $00, $70, $10, $C0, $0E, $5C, $10, $B8, $00, $B8, $1E, $20, $00, $FF, $00, $80 ; CPU:$AB8B PRG:2B8B 00 70 10 C0 0E 5C 10 B8 00 B8 1E 20 00 FF 00 80 .byte $10, $C0, $14, $2C, $10, $48, $14, $6C, $11, $A0, $19, $50, $1C, $44, $18, $FF ; CPU:$AB9B PRG:2B9B 10 C0 14 2C 10 48 14 6C 11 A0 19 50 1C 44 18 FF .byte $00, $04, $08, $80, $04, $1C, $08, $D0, $0C, $FF, $10, $10, $18, $C0, $14, $30 ; CPU:$ABAB PRG:2BAB 00 04 08 80 04 1C 08 D0 0C FF 10 10 18 C0 14 30 .byte $10, $4C, $00, $2C, $10, $50, $00, $68, $04, $30, $08, $FF, $10, $08, $00, $78 ; CPU:$ABBB PRG:2BBB 10 4C 00 2C 10 50 00 68 04 30 08 FF 10 08 00 78 .byte $10, $50, $00, $FF, $00, $74, $08, $A0, $18, $A0, $00, $FF, $00, $A0, $1C, $20 ; CPU:$ABCB PRG:2BCB 10 50 00 FF 00 74 08 A0 18 A0 00 FF 00 A0 1C 20 .byte $1E, $FF, $00, $70, $10, $E0, $10, $A0, $00, $FF, $00, $04, $08, $A8, $00, $FF ; CPU:$ABDB PRG:2BDB 1E FF 00 70 10 E0 10 A0 00 FF 00 04 08 A8 00 FF .byte $00, $04, $08, $D8, $00, $FF, $00, $04, $08, $E0, $08, $28, $00, $FF, $10, $18 ; CPU:$ABEB PRG:2BEB 00 04 08 D8 00 FF 00 04 08 E0 08 28 00 FF 10 18 .byte $00, $40, $08, $80, $10, $28, $10, $58, $18, $80, $00, $80, $08, $80, $10, $80 ; CPU:$ABFB PRG:2BFB 00 40 08 80 10 28 10 58 18 80 00 80 08 80 10 80 .byte $18, $80, $00, $80, $08, $80, $10, $80, $18, $80, $00, $80, $08, $80, $08, $20 ; CPU:$AC0B PRG:2C0B 18 80 00 80 08 80 10 80 18 80 00 80 08 80 08 20 .byte $08, $A0, $18, $FF, $18, $20, $18, $A0, $08, $FF, $00, $70, $10, $70, $00, $70 ; CPU:$AC1B PRG:2C1B 08 A0 18 FF 18 20 18 A0 08 FF 00 70 10 70 00 70 .byte $10, $70, $00, $FF, $00, $60, $10, $60, $00, $FF, $1C, $40, $0C, $40, $10, $18 ; CPU:$AC2B PRG:2C2B 10 70 00 FF 00 60 10 60 00 FF 1C 40 0C 40 10 18 .byte $00, $18, $1C, $40, $00, $FF, $00, $40, $10, $80, $00, $D8, $1C, $40, $00, $80 ; CPU:$AC3B PRG:2C3B 00 18 1C 40 00 FF 00 40 10 80 00 D8 1C 40 00 80 .byte $00, $C0, $1C, $40, $10, $10, $1C, $40, $0C, $50, $1C, $50, $0C, $50, $1C, $50 ; CPU:$AC4B PRG:2C4B 00 C0 1C 40 10 10 1C 40 0C 50 1C 50 0C 50 1C 50 .byte $0C, $50, $1C, $50, $0C, $50, $1C, $50, $0C, $50, $1C, $50, $10, $10, $04, $40 ; CPU:$AC5B PRG:2C5B 0C 50 1C 50 0C 50 1C 50 0C 50 1C 50 10 10 04 40 .byte $14, $50, $04, $50, $14, $50, $04, $50, $14, $50, $04, $50, $14, $50, $04, $50 ; CPU:$AC6B PRG:2C6B 14 50 04 50 14 50 04 50 14 50 04 50 14 50 04 50 .byte $14, $50, $04, $50, $00, $18, $04, $10, $08, $60, $0C, $3C, $0A, $58, $01, $80 ; CPU:$AC7B PRG:2C7B 14 50 04 50 00 18 04 10 08 60 0C 3C 0A 58 01 80 .byte $04, $FF, $00, $30, $10, $A0, $18, $10, $08, $F0, $10, $E0, $00, $FF, $00, $10 ; CPU:$AC8B PRG:2C8B 04 FF 00 30 10 A0 18 10 08 F0 10 E0 00 FF 00 10 .byte $08, $88, $18, $08, $08, $E8, $10, $A0, $00, $FF, $00, $30, $18, $68, $08, $68 ; CPU:$AC9B PRG:2C9B 08 88 18 08 08 E8 10 A0 00 FF 00 30 18 68 08 68 .byte $10, $C0, $10, $F0, $08, $FF, $00, $40, $04, $34, $08, $FF, $00, $80, $10, $80 ; CPU:$ACAB PRG:2CAB 10 C0 10 F0 08 FF 00 40 04 34 08 FF 00 80 10 80 .byte $00, $FF, $00, $62, $10, $70, $0E, $54, $10, $DA, $10, $50, $08, $48, $18, $48 ; CPU:$ACBB PRG:2CBB 00 FF 00 62 10 70 0E 54 10 DA 10 50 08 48 18 48 .byte $00, $FF, $00, $60, $10, $98, $14, $20, $10, $E4, $10, $50, $18, $48, $08, $48 ; CPU:$ACCB PRG:2CCB 00 FF 00 60 10 98 14 20 10 E4 10 50 18 48 08 48 .byte $00, $FF, $1C, $80, $19, $FF, $00, $58, $10, $80, $00, $FF, $1C, $80, $18, $FF ; CPU:$ACDB PRG:2CDB 00 FF 1C 80 19 FF 00 58 10 80 00 FF 1C 80 18 FF .byte $00, $10, $1C, $E0, $10, $E0, $14, $88, $10, $80, $08, $C8, $08, $A8, $00, $FF ; CPU:$ACEB PRG:2CEB 00 10 1C E0 10 E0 14 88 10 80 08 C8 08 A8 00 FF ; ---- data $ACFB-$B8AA (2992 bytes) ---- ; Data streams addressed by the 16-entry table at $A8D5. DataStreamData: .byte $20, $FE, $3A, $0F, $00, $FE, $38, $FF, $00, $FE, $36, $60, $00, $FE, $3E, $1F ; CPU:$ACFB PRG:2CFB 20 FE 3A 0F 00 FE 38 FF 00 FE 36 60 00 FE 3E 1F .byte $00, $FC, $40, $07, $00, $FC, $3C, $1F, $00, $FC, $42, $1F, $00, $FC, $44, $07 ; CPU:$AD0B PRG:2D0B 00 FC 40 07 00 FC 3C 1F 00 FC 42 1F 00 FC 44 07 .byte $00, $F8, $2C, $E8, $2C, $DE, $2A, $27, $1A, $D2, $2C, $D2, $04, $08, $AA, $D2 ; CPU:$AD1B PRG:2D1B 00 F8 2C E8 2C DE 2A 27 1A D2 2C D2 04 08 AA D2 .byte $06, $0A, $AA, $C0, $32, $B4, $2C, $B4, $04, $0C, $AA, $B4, $06, $0E, $AA, $AA ; CPU:$AD2B PRG:2D2B 06 0A AA C0 32 B4 2C B4 04 0C AA B4 06 0E AA AA .byte $04, $12, $AA, $A8, $00, $12, $AA, $9E, $06, $14, $AA, $9C, $32, $9C, $34, $9C ; CPU:$AD3B PRG:2D3B 04 12 AA A8 00 12 AA 9E 06 14 AA 9C 32 9C 34 9C .byte $34, $9C, $00, $12, $AA, $90, $2C, $80, $2C, $78, $06, $0E, $AA, $76, $00, $0E ; CPU:$AD4B PRG:2D4B 34 9C 00 12 AA 90 2C 80 2C 78 06 0E AA 76 00 0E .byte $AA, $70, $2C, $6A, $26, $1C, $FF, $5E, $4E, $84, $06, $5C, $34, $5C, $34, $5C ; CPU:$AD5B PRG:2D5B AA 70 2C 6A 26 1C FF 5E 4E 84 06 5C 34 5C 34 5C .byte $38, $1F, $00, $5A, $4E, $84, $86, $58, $2C, $58, $4E, $84, $06, $50, $2C, $44 ; CPU:$AD6B PRG:2D6B 38 1F 00 5A 4E 84 86 58 2C 58 4E 84 06 50 2C 44 .byte $2C, $42, $28, $38, $00, $0E, $FF, $38, $04, $10, $FF, $36, $2E, $03, $24, $06 ; CPU:$AD7B PRG:2D7B 2C 42 28 38 00 0E FF 38 04 10 FF 36 2E 03 24 06 .byte $18, $FF, $22, $00, $16, $FF, $20, $06, $14, $FF, $1E, $00, $02, $FF, $1E, $00 ; CPU:$AD8B PRG:2D8B 18 FF 22 00 16 FF 20 06 14 FF 1E 00 02 FF 1E 00 .byte $12, $FF, $1C, $04, $10, $FF, $16, $1C, $10, $AA, $14, $32, $14, $1E, $0E, $AA ; CPU:$AD9B PRG:2D9B 12 FF 1C 04 10 FF 16 1C 10 AA 14 32 14 1E 0E AA .byte $14, $20, $10, $AA, $14, $22, $12, $AA, $14, $26, $02, $FF, $12, $24, $10, $AA ; CPU:$ADAB PRG:2DAB 14 20 10 AA 14 22 12 AA 14 26 02 FF 12 24 10 AA .byte $00, $30, $FC, $2E, $01, $EC, $32, $E4, $2A, $27, $1A, $E4, $4C, $64, $00, $DA ; CPU:$ADBB PRG:2DBB 00 30 FC 2E 01 EC 32 E4 2A 27 1A E4 4C 64 00 DA .byte $00, $12, $FF, $DA, $04, $14, $FF, $D0, $06, $06, $FF, $D0, $00, $08, $FF, $C6 ; CPU:$ADCB PRG:2DCB 00 12 FF DA 04 14 FF D0 06 06 FF D0 00 08 FF C6 .byte $00, $12, $FF, $C6, $00, $14, $FF, $C0, $2C, $BC, $4C, $7C, $02, $B2, $32, $B2 ; CPU:$ADDB PRG:2DDB 00 12 FF C6 00 14 FF C0 2C BC 4C 7C 02 B2 32 B2 .byte $00, $14, $FF, $AA, $4C, $7C, $04, $9E, $2C, $9E, $00, $14, $FF, $9E, $06, $16 ; CPU:$ADEB PRG:2DEB 00 14 FF AA 4C 7C 04 9E 2C 9E 00 14 FF 9E 06 16 .byte $FF, $92, $2C, $90, $00, $14, $FF, $80, $32, $74, $06, $06, $FF, $6C, $00, $12 ; CPU:$ADFB PRG:2DFB FF 92 2C 90 00 14 FF 80 32 74 06 06 FF 6C 00 12 .byte $FF, $6C, $06, $14, $FF, $6A, $06, $12, $FF, $6A, $00, $14, $FF, $64, $26, $1C ; CPU:$AE0B PRG:2E0B FF 6C 06 14 FF 6A 06 12 FF 6A 00 14 FF 64 26 1C .byte $FF, $64, $4C, $24, $06, $58, $2C, $48, $32, $44, $4C, $5C, $08, $42, $4C, $CC ; CPU:$AE1B PRG:2E1B FF 64 4C 24 06 58 2C 48 32 44 4C 5C 08 42 4C CC .byte $0A, $3A, $26, $12, $FF, $32, $06, $06, $FF, $32, $00, $08, $FF, $30, $2C, $24 ; CPU:$AE2B PRG:2E2B 0A 3A 26 12 FF 32 06 06 FF 32 00 08 FF 30 2C 24 .byte $4C, $94, $0C, $24, $04, $0E, $FF, $22, $06, $10, $FF, $20, $32, $20, $04, $12 ; CPU:$AE3B PRG:2E3B 4C 94 0C 24 04 0E FF 22 06 10 FF 20 32 20 04 12 .byte $FF, $1E, $06, $14, $FF, $1C, $04, $16, $FF, $1C, $36, $90, $00, $1A, $2E, $01 ; CPU:$AE4B PRG:2E4B FF 1E 06 14 FF 1C 04 16 FF 1C 36 90 00 1A 2E 01 .byte $14, $32, $14, $00, $0A, $FF, $14, $00, $0C, $FF, $10, $06, $08, $FF, $10, $02 ; CPU:$AE5B PRG:2E5B 14 32 14 00 0A FF 14 00 0C FF 10 06 08 FF 10 02 .byte $0A, $FF, $10, $02, $0C, $FF, $10, $06, $0E, $FF, $00, $07, $FE, $46, $7F, $3C ; CPU:$AE6B PRG:2E6B 0A FF 10 02 0C FF 10 06 0E FF 00 07 FE 46 7F 3C .byte $FE, $36, $70, $00, $E8, $2A, $1A, $11, $E8, $06, $16, $AA, $E2, $46, $3F, $3C ; CPU:$AE7B PRG:2E7B FE 36 70 00 E8 2A 1A 11 E8 06 16 AA E2 46 3F 3C .byte $B8, $2A, $27, $11, $B8, $00, $0A, $AA, $B6, $06, $0A, $AA, $B6, $46, $3F, $3C ; CPU:$AE8B PRG:2E8B B8 2A 27 11 B8 00 0A AA B6 06 0A AA B6 46 3F 3C .byte $A0, $2A, $27, $27, $A0, $0A, $06, $FF, $9E, $08, $06, $FF, $9C, $26, $02, $FF ; CPU:$AE9B PRG:2E9B A0 2A 27 27 A0 0A 06 FF 9E 08 06 FF 9C 26 02 FF .byte $90, $4A, $8E, $2A, $1A, $27, $8E, $00, $10, $AA, $8C, $04, $10, $AA, $88, $28 ; CPU:$AEAB PRG:2EAB 90 4A 8E 2A 1A 27 8E 00 10 AA 8C 04 10 AA 88 28 .byte $84, $04, $0E, $AA, $84, $06, $10, $AA, $80, $34, $80, $48, $00, $00, $78, $2C ; CPU:$AEBB PRG:2EBB 84 04 0E AA 84 06 10 AA 80 34 80 48 00 00 78 2C .byte $68, $06, $04, $FF, $68, $00, $0A, $FF, $62, $00, $16, $AA, $60, $32, $58, $06 ; CPU:$AECB PRG:2ECB 68 06 04 FF 68 00 0A FF 62 00 16 AA 60 32 58 06 .byte $14, $FF, $54, $2C, $54, $4E, $78, $08, $48, $34, $48, $06, $06, $FF, $48, $00 ; CPU:$AEDB PRG:2EDB 14 FF 54 2C 54 4E 78 08 48 34 48 06 06 FF 48 00 .byte $0C, $FF, $40, $2C, $34, $2A, $07, $27, $32, $04, $04, $AA, $32, $00, $08, $AA ; CPU:$AEEB PRG:2EEB 0C FF 40 2C 34 2A 07 27 32 04 04 AA 32 00 08 AA .byte $32, $06, $0C, $AA, $32, $04, $10, $AA, $28, $32, $28, $06, $0C, $AA, $1A, $2A ; CPU:$AEFB PRG:2EFB 32 06 0C AA 32 04 10 AA 28 32 28 06 0C AA 1A 2A .byte $07, $1A, $1A, $06, $12, $FF, $1A, $00, $16, $FF, $1A, $06, $1A, $FF, $14, $0E ; CPU:$AF0B PRG:2F0B 07 1A 1A 06 12 FF 1A 00 16 FF 1A 06 1A FF 14 0E .byte $16, $FF, $12, $0C, $16, $FF, $12, $26, $1C, $FF, $00, $29, $FE, $2E, $01, $F0 ; CPU:$AF1B PRG:2F1B 16 FF 12 0C 16 FF 12 26 1C FF 00 29 FE 2E 01 F0 .byte $32, $EA, $4C, $64, $0E, $E2, $4C, $D4, $10, $DE, $2A, $27, $1A, $D8, $04, $14 ; CPU:$AF2B PRG:2F2B 32 EA 4C 64 0E E2 4C D4 10 DE 2A 27 1A D8 04 14 .byte $FF, $D8, $06, $16, $FF, $D0, $4C, $84, $12, $CA, $2C, $C2, $00, $0A, $FF, $C2 ; CPU:$AF3B PRG:2F3B FF D8 06 16 FF D0 4C 84 12 CA 2C C2 00 0A FF C2 .byte $06, $0C, $FF, $C2, $26, $14, $FF, $BC, $4C, $EC, $14, $BA, $32, $B2, $06, $18 ; CPU:$AF4B PRG:2F4B 06 0C FF C2 26 14 FF BC 4C EC 14 BA 32 B2 06 18 .byte $FF, $B0, $06, $1A, $FF, $AE, $00, $18, $FF, $AC, $00, $1A, $FF, $A6, $4C, $EC ; CPU:$AF5B PRG:2F5B FF B0 06 1A FF AE 00 18 FF AC 00 1A FF A6 4C EC .byte $16, $9E, $2C, $8A, $32, $88, $46, $01, $01, $74, $2E, $45, $72, $1A, $0C, $00 ; CPU:$AF6B PRG:2F6B 16 9E 2C 8A 32 88 46 01 01 74 2E 45 72 1A 0C 00 .byte $70, $18, $0A, $00, $6E, $16, $0A, $00, $6C, $14, $0A, $00, $6A, $12, $0A, $00 ; CPU:$AF7B PRG:2F7B 70 18 0A 00 6E 16 0A 00 6C 14 0A 00 6A 12 0A 00 .byte $68, $10, $0C, $00, $62, $2E, $45, $50, $32, $3E, $46, $3F, $3C, $30, $48, $00 ; CPU:$AF8B PRG:2F8B 68 10 0C 00 62 2E 45 50 32 3E 46 3F 3C 30 48 00 .byte $00, $2E, $34, $2C, $2C, $20, $2C, $10, $2C, $00, $11, $FE, $36, $A0, $00, $FE ; CPU:$AF9B PRG:2F9B 00 2E 34 2C 2C 20 2C 10 2C 00 11 FE 36 A0 00 FE .byte $3C, $1F, $00, $FE, $42, $1F, $00, $FC, $2C, $EE, $2C, $E2, $34, $E2, $32, $DE ; CPU:$AFAB PRG:2FAB 3C 1F 00 FE 42 1F 00 FC 2C EE 2C E2 34 E2 32 DE .byte $2A, $00, $11, $DA, $06, $08, $AA, $DA, $04, $0A, $AA, $DA, $0E, $0E, $AA, $D8 ; CPU:$AFBB PRG:2FBB 2A 00 11 DA 06 08 AA DA 04 0A AA DA 0E 0E AA D8 .byte $0C, $0E, $AA, $D8, $04, $08, $AA, $D8, $06, $0A, $AA, $C8, $2C, $C8, $50, $40 ; CPU:$AFCB PRG:2FCB 0C 0E AA D8 04 08 AA D8 06 0A AA C8 2C C8 50 40 .byte $06, $BC, $50, $60, $07, $B8, $2C, $B8, $50, $A0, $07, $B4, $50, $60, $07, $B0 ; CPU:$AFDB PRG:2FDB 06 BC 50 60 07 B8 2C B8 50 A0 07 B4 50 60 07 B0 .byte $2C, $B0, $50, $A0, $08, $AC, $50, $D8, $08, $A6, $32, $A4, $0E, $14, $FF, $A2 ; CPU:$AFEB PRG:2FEB 2C B0 50 A0 08 AC 50 D8 08 A6 32 A4 0E 14 FF A2 .byte $0C, $14, $FF, $98, $50, $C0, $07, $96, $50, $80, $07, $94, $50, $60, $07, $92 ; CPU:$AFFB PRG:2FFB 0C 14 FF 98 50 C0 07 96 50 80 07 94 50 60 07 92 .byte $2C, $92, $50, $C0, $07, $7A, $32, $76, $28, $6E, $4C, $90, $18, $6E, $38, $0F ; CPU:$B00B PRG:300B 2C 92 50 C0 07 7A 32 76 28 6E 4C 90 18 6E 38 0F .byte $0F, $6E, $3A, $0F, $0F, $6C, $26, $18, $AA, $6A, $04, $10, $AA, $68, $00, $10 ; CPU:$B01B PRG:301B 0F 6E 3A 0F 0F 6C 26 18 AA 6A 04 10 AA 68 00 10 .byte $AA, $66, $04, $10, $AA, $64, $00, $10, $AA, $62, $2C, $4A, $32, $4A, $2A, $00 ; CPU:$B02B PRG:302B AA 66 04 10 AA 64 00 10 AA 62 2C 4A 32 4A 2A 00 .byte $1A, $4A, $06, $08, $FF, $3E, $2C, $34, $2A, $07, $1A, $34, $06, $10, $AA, $30 ; CPU:$B03B PRG:303B 1A 4A 06 08 FF 3E 2C 34 2A 07 1A 34 06 10 AA 30 .byte $4C, $28, $1A, $30, $26, $1A, $FF, $2E, $32, $20, $4C, $20, $1C, $1E, $4C, $E0 ; CPU:$B04B PRG:304B 4C 28 1A 30 26 1A FF 2E 32 20 4C 20 1C 1E 4C E0 .byte $1E, $1C, $4C, $20, $1C, $18, $0E, $0E, $FF, $16, $0C, $0E, $FF, $16, $06, $08 ; CPU:$B05B PRG:305B 1E 1C 4C 20 1C 18 0E 0E FF 16 0C 0E FF 16 06 08 .byte $FF, $16, $06, $16, $FF, $00, $23, $FE, $3A, $07, $07, $F0, $2A, $27, $1A, $F0 ; CPU:$B06B PRG:306B FF 16 06 16 FF 00 23 FE 3A 07 07 F0 2A 27 1A F0 .byte $00, $0A, $FF, $F0, $04, $0C, $FF, $E8, $4C, $C4, $20, $D6, $4C, $E4, $22, $D4 ; CPU:$B07B PRG:307B 00 0A FF F0 04 0C FF E8 4C C4 20 D6 4C E4 22 D4 .byte $06, $04, $AA, $D2, $00, $02, $AA, $CA, $4C, $E4, $24, $B8, $4C, $E4, $26, $B4 ; CPU:$B08B PRG:308B 06 04 AA D2 00 02 AA CA 4C E4 24 B8 4C E4 26 B4 .byte $04, $08, $AA, $B4, $00, $06, $AA, $B0, $46, $1F, $3C, $AC, $48, $00, $00, $AA ; CPU:$B09B PRG:309B 04 08 AA B4 00 06 AA B0 46 1F 3C AC 48 00 00 AA .byte $06, $0A, $AA, $AA, $06, $0C, $AA, $9E, $0E, $0C, $AA, $9C, $0C, $0C, $AA, $9A ; CPU:$B0AB PRG:30AB 06 0A AA AA 06 0C AA 9E 0E 0C AA 9C 0C 0C AA 9A .byte $2C, $8A, $26, $1C, $FF, $82, $32, $7A, $1C, $08, $AA, $78, $1E, $06, $AA, $78 ; CPU:$B0BB PRG:30BB 2C 8A 26 1C FF 82 32 7A 1C 08 AA 78 1E 06 AA 78 .byte $20, $08, $AA, $78, $22, $0A, $AA, $76, $24, $08, $AA, $6E, $4E, $B8, $8C, $6A ; CPU:$B0CB PRG:30CB 20 08 AA 78 22 0A AA 76 24 08 AA 6E 4E B8 8C 6A .byte $4E, $A0, $8A, $6A, $4E, $D0, $8A, $66, $4E, $B8, $8A, $5E, $06, $10, $FF, $5C ; CPU:$B0DB PRG:30DB 4E A0 8A 6A 4E D0 8A 66 4E B8 8A 5E 06 10 FF 5C .byte $00, $12, $FF, $56, $4C, $EC, $28, $54, $00, $12, $FF, $4E, $00, $10, $FF, $4E ; CPU:$B0EB PRG:30EB 00 12 FF 56 4C EC 28 54 00 12 FF 4E 00 10 FF 4E .byte $26, $02, $FF, $42, $4C, $0C, $2A, $3C, $4C, $C4, $2C, $32, $06, $12, $FF, $26 ; CPU:$B0FB PRG:30FB 26 02 FF 42 4C 0C 2A 3C 4C C4 2C 32 06 12 FF 26 .byte $00, $12, $FF, $24, $00, $0E, $FF, $22, $00, $0A, $FF, $18, $42, $3F, $00, $18 ; CPU:$B10B PRG:310B 00 12 FF 24 00 0E FF 22 00 0A FF 18 42 3F 00 18 .byte $3C, $07, $00, $14, $0E, $06, $AA, $14, $0E, $0C, $AA, $12, $0C, $06, $AA, $12 ; CPU:$B11B PRG:311B 3C 07 00 14 0E 06 AA 14 0E 0C AA 12 0C 06 AA 12 .byte $0C, $0C, $AA, $00, $00, $FE, $46, $7F, $3C, $F0, $2A, $1A, $27, $F0, $06, $10 ; CPU:$B12B PRG:312B 0C 0C AA 00 00 FE 46 7F 3C F0 2A 1A 27 F0 06 10 .byte $AA, $EE, $04, $10, $AA, $EC, $46, $3F, $3C, $CA, $4C, $60, $2E, $C8, $4C, $78 ; CPU:$B13B PRG:313B AA EE 04 10 AA EC 46 3F 3C CA 4C 60 2E C8 4C 78 .byte $30, $C4, $4C, $90, $32, $C2, $4C, $90, $34, $BE, $4C, $90, $36, $BC, $4C, $78 ; CPU:$B14B PRG:314B 30 C4 4C 90 32 C2 4C 90 34 BE 4C 90 36 BC 4C 78 .byte $38, $A0, $04, $10, $FF, $9E, $00, $12, $FF, $9E, $46, $3F, $3C, $9C, $06, $14 ; CPU:$B15B PRG:315B 38 A0 04 10 FF 9E 00 12 FF 9E 46 3F 3C 9C 06 14 .byte $FF, $9A, $04, $16, $FF, $82, $56, $1B, $00, $7E, $00, $18, $AA, $7C, $26, $04 ; CPU:$B16B PRG:316B FF 9A 04 16 FF 82 56 1B 00 7E 00 18 AA 7C 26 04 .byte $FF, $6C, $48, $00, $00, $6A, $04, $08, $FF, $6A, $06, $0E, $FF, $6A, $04, $14 ; CPU:$B17B PRG:317B FF 6C 48 00 00 6A 04 08 FF 6A 06 0E FF 6A 04 14 .byte $FF, $6A, $06, $1A, $FF, $66, $28, $50, $46, $3F, $FF, $34, $2A, $07, $27, $32 ; CPU:$B18B PRG:318B FF 6A 06 1A FF 66 28 50 46 3F FF 34 2A 07 27 32 .byte $06, $16, $AA, $32, $06, $1A, $AA, $2A, $4E, $40, $0D, $26, $4E, $60, $0E, $1C ; CPU:$B19B PRG:319B 06 16 AA 32 06 1A AA 2A 4E 40 0D 26 4E 60 0E 1C .byte $56, $1D, $00, $1A, $56, $1D, $00, $12, $2A, $07, $1A, $12, $26, $1C, $FF, $10 ; CPU:$B1AB PRG:31AB 56 1D 00 1A 56 1D 00 12 2A 07 1A 12 26 1C FF 10 .byte $48, $00, $00, $00, $2F, $F2, $2C, $F2, $34, $EE, $2A, $1A, $27, $EE, $4C, $EC ; CPU:$B1BB PRG:31BB 48 00 00 00 2F F2 2C F2 34 EE 2A 1A 27 EE 4C EC .byte $3A, $EA, $32, $E4, $00, $18, $AA, $E4, $00, $06, $AA, $E2, $06, $16, $AA, $E2 ; CPU:$B1CB PRG:31CB 3A EA 32 E4 00 18 AA E4 00 06 AA E2 06 16 AA E2 .byte $06, $08, $AA, $E0, $00, $14, $AA, $E0, $00, $0A, $AA, $CC, $04, $16, $AA, $C8 ; CPU:$B1DB PRG:31DB 06 08 AA E0 00 14 AA E0 00 0A AA CC 04 16 AA C8 .byte $0E, $16, $AA, $C8, $00, $14, $AA, $C8, $00, $1A, $AA, $C6, $0C, $16, $AA, $C2 ; CPU:$B1EB PRG:31EB 0E 16 AA C8 00 14 AA C8 00 1A AA C6 0C 16 AA C2 .byte $04, $16, $AA, $BA, $34, $B2, $06, $16, $AA, $AA, $2C, $A8, $4C, $5C, $3C, $A8 ; CPU:$B1FB PRG:31FB 04 16 AA BA 34 B2 06 16 AA AA 2C A8 4C 5C 3C A8 .byte $4C, $8C, $3E, $A8, $4C, $DC, $40, $9C, $32, $94, $06, $14, $AA, $94, $00, $16 ; CPU:$B20B PRG:320B 4C 8C 3E A8 4C DC 40 9C 32 94 06 14 AA 94 00 16 .byte $AA, $92, $4C, $84, $42, $92, $4C, $DC, $44, $82, $2C, $7C, $4C, $7C, $46, $78 ; CPU:$B21B PRG:321B AA 92 4C 84 42 92 4C DC 44 82 2C 7C 4C 7C 46 78 .byte $26, $02, $AA, $72, $32, $72, $00, $14, $AA, $72, $06, $16, $AA, $6C, $4C, $DC ; CPU:$B22B PRG:322B 26 02 AA 72 32 72 00 14 AA 72 06 16 AA 6C 4C DC .byte $48, $6A, $4C, $DC, $4A, $66, $4C, $DC, $48, $64, $4E, $DC, $07, $60, $4E, $DC ; CPU:$B23B PRG:323B 48 6A 4C DC 4A 66 4C DC 48 64 4E DC 07 60 4E DC .byte $87, $44, $4C, $70, $4C, $44, $4C, $88, $4E, $44, $4C, $A0, $50, $34, $02, $08 ; CPU:$B24B PRG:324B 87 44 4C 70 4C 44 4C 88 4E 44 4C A0 50 34 02 08 .byte $AA, $34, $02, $16, $AA, $24, $4C, $A8, $52, $22, $4C, $B8, $54, $20, $4C, $C8 ; CPU:$B25B PRG:325B AA 34 02 16 AA 24 4C A8 52 22 4C B8 54 20 4C C8 .byte $56, $1C, $4C, $6C, $58, $1A, $4C, $5C, $5A, $18, $4C, $4C, $5C, $18, $06, $10 ; CPU:$B26B PRG:326B 56 1C 4C 6C 58 1A 4C 5C 5A 18 4C 4C 5C 18 06 10 .byte $AA, $18, $06, $14, $AA, $18, $06, $18, $AA, $12, $02, $10, $AA, $12, $02, $18 ; CPU:$B27B PRG:327B AA 18 06 14 AA 18 06 18 AA 12 02 10 AA 12 02 18 .byte $AA, $00, $1E, $FC, $2E, $1F, $F4, $2A, $1A, $27, $F4, $26, $0A, $AA, $F2, $26 ; CPU:$B28B PRG:328B AA 00 1E FC 2E 1F F4 2A 1A 27 F4 26 0A AA F2 26 .byte $0E, $AA, $F0, $26, $12, $AA, $EE, $26, $16, $AA, $EA, $32, $E2, $2E, $38, $D4 ; CPU:$B29B PRG:329B 0E AA F0 26 12 AA EE 26 16 AA EA 32 E2 2E 38 D4 .byte $0E, $0C, $FF, $D2, $0C, $0C, $FF, $D0, $32, $D0, $34, $D0, $2C, $CA, $2C, $C4 ; CPU:$B2AB PRG:32AB 0E 0C FF D2 0C 0C FF D0 32 D0 34 D0 2C CA 2C C4 .byte $2E, $6F, $BC, $32, $B2, $52, $00, $00, $86, $54, $00, $00, $7C, $2E, $45, $76 ; CPU:$B2BB PRG:32BB 2E 6F BC 32 B2 52 00 00 86 54 00 00 7C 2E 45 76 .byte $2A, $27, $0A, $76, $1A, $0C, $03, $74, $18, $0A, $03, $72, $16, $0A, $00, $70 ; CPU:$B2CB PRG:32CB 2A 27 0A 76 1A 0C 03 74 18 0A 03 72 16 0A 00 70 .byte $14, $0A, $00, $6E, $12, $0A, $06, $6C, $2E, $65, $6C, $10, $0C, $00, $62, $32 ; CPU:$B2DB PRG:32DB 14 0A 00 6E 12 0A 06 6C 2E 65 6C 10 0C 00 62 32 .byte $62, $34, $5A, $2E, $65, $4A, $32, $3E, $2C, $2E, $2C, $20, $2C, $10, $32, $00 ; CPU:$B2EB PRG:32EB 62 34 5A 2E 65 4A 32 3E 2C 2E 2C 20 2C 10 32 00 .byte $02, $FE, $2C, $FE, $42, $3F, $00, $F6, $32, $F2, $34, $EE, $2C, $E2, $32, $DA ; CPU:$B2FB PRG:32FB 02 FE 2C FE 42 3F 00 F6 32 F2 34 EE 2C E2 32 DA .byte $2C, $CE, $32, $C6, $4C, $18, $5E, $C6, $4C, $58, $60, $C6, $4C, $98, $62, $BE ; CPU:$B30B PRG:330B 2C CE 32 C6 4C 18 5E C6 4C 58 60 C6 4C 98 62 BE .byte $4C, $38, $64, $BE, $4C, $78, $66, $B8, $4C, $28, $68, $B8, $4C, $58, $6A, $B8 ; CPU:$B31B PRG:331B 4C 38 64 BE 4C 78 66 B8 4C 28 68 B8 4C 58 6A B8 .byte $4C, $88, $6C, $A8, $2A, $1A, $27, $A8, $04, $0C, $FF, $A8, $04, $10, $FF, $A6 ; CPU:$B32B PRG:332B 4C 88 6C A8 2A 1A 27 A8 04 0C FF A8 04 10 FF A6 .byte $04, $0E, $FF, $A4, $04, $0C, $FF, $A4, $04, $10, $FF, $9A, $54, $00, $00, $8E ; CPU:$B33B PRG:333B 04 0E FF A4 04 0C FF A4 04 10 FF 9A 54 00 00 8E .byte $06, $1A, $AA, $8C, $06, $1A, $AA, $8A, $54, $00, $00, $84, $04, $18, $AA, $84 ; CPU:$B34B PRG:334B 06 1A AA 8C 06 1A AA 8A 54 00 00 84 04 18 AA 84 .byte $04, $1A, $AA, $7A, $54, $00, $00, $6E, $06, $0A, $FF, $6E, $04, $0E, $FF, $6E ; CPU:$B35B PRG:335B 04 1A AA 7A 54 00 00 6E 06 0A FF 6E 04 0E FF 6E .byte $06, $12, $FF, $62, $4C, $78, $6E, $46, $26, $04, $FF, $46, $26, $08, $FF, $46 ; CPU:$B36B PRG:336B 06 12 FF 62 4C 78 6E 46 26 04 FF 46 26 08 FF 46 .byte $26, $0C, $FF, $46, $26, $10, $FF, $42, $26, $04, $FF, $42, $26, $08, $FF, $42 ; CPU:$B37B PRG:337B 26 0C FF 46 26 10 FF 42 26 04 FF 42 26 08 FF 42 .byte $26, $0C, $FF, $42, $26, $10, $FF, $34, $2A, $07, $27, $32, $04, $0E, $AA, $32 ; CPU:$B38B PRG:338B 26 0C FF 42 26 10 FF 34 2A 07 27 32 04 0E AA 32 .byte $00, $12, $AA, $32, $04, $16, $AA, $28, $06, $18, $AA, $20, $2A, $07, $1A, $20 ; CPU:$B39B PRG:339B 00 12 AA 32 04 16 AA 28 06 18 AA 20 2A 07 1A 20 .byte $0A, $10, $FF, $1E, $08, $10, $FF, $1A, $0A, $10, $FF, $18, $08, $10, $FF, $16 ; CPU:$B3AB PRG:33AB 0A 10 FF 1E 08 10 FF 1A 0A 10 FF 18 08 10 FF 16 .byte $02, $04, $FF, $16, $02, $1A, $FF, $10, $02, $04, $FF, $10, $02, $1A, $FF, $00 ; CPU:$B3BB PRG:33BB 02 04 FF 16 02 1A FF 10 02 04 FF 10 02 1A FF 00 .byte $29, $FA, $56, $1D, $00, $F2, $46, $7F, $FF, $E8, $2A, $27, $1A, $E8, $1C, $14 ; CPU:$B3CB PRG:33CB 29 FA 56 1D 00 F2 46 7F FF E8 2A 27 1A E8 1C 14 .byte $FF, $E6, $1E, $12, $FF, $E6, $20, $14, $FF, $E6, $22, $16, $FF, $E4, $24, $14 ; CPU:$B3DB PRG:33DB FF E6 1E 12 FF E6 20 14 FF E6 22 16 FF E4 24 14 .byte $FF, $E2, $4C, $64, $70, $DA, $4C, $D4, $72, $CC, $4C, $D4, $74, $CC, $00, $0A ; CPU:$B3EB PRG:33EB FF E2 4C 64 70 DA 4C D4 72 CC 4C D4 74 CC 00 0A .byte $FF, $CC, $06, $0C, $FF, $C2, $48, $00, $00, $C2, $4E, $84, $07, $BE, $4E, $84 ; CPU:$B3FB PRG:33FB FF CC 06 0C FF C2 48 00 00 C2 4E 84 07 BE 4E 84 .byte $07, $BA, $4E, $84, $07, $B6, $4E, $84, $0B, $AE, $4E, $EC, $0D, $A6, $4E, $EC ; CPU:$B40B PRG:340B 07 BA 4E 84 07 B6 4E 84 0B AE 4E EC 0D A6 4E EC .byte $0D, $A2, $46, $7F, $3F, $9A, $2C, $88, $32, $88, $26, $12, $FF, $7C, $26, $12 ; CPU:$B41B PRG:341B 0D A2 46 7F 3F 9A 2C 88 32 88 26 12 FF 7C 26 12 .byte $FF, $7C, $46, $3F, $3F, $76, $4C, $DC, $76, $74, $06, $14, $FF, $72, $04, $12 ; CPU:$B42B PRG:342B FF 7C 46 3F 3F 76 4C DC 76 74 06 14 FF 72 04 12 .byte $FF, $72, $48, $00, $00, $70, $06, $10, $FF, $6E, $04, $0E, $FF, $6C, $06, $0C ; CPU:$B43B PRG:343B FF 72 48 00 00 70 06 10 FF 6E 04 0E FF 6C 06 0C .byte $FF, $6A, $04, $0A, $FF, $68, $06, $08, $FF, $66, $34, $66, $04, $06, $FF, $62 ; CPU:$B44B PRG:344B FF 6A 04 0A FF 68 06 08 FF 66 34 66 04 06 FF 62 .byte $2C, $60, $2C, $52, $46, $7F, $FF, $42, $2C, $3A, $32, $28, $4C, $20, $78, $26 ; CPU:$B45B PRG:345B 2C 60 2C 52 46 7F FF 42 2C 3A 32 28 4C 20 78 26 .byte $0E, $14, $FF, $24, $0C, $14, $FF, $20, $48, $00, $00, $20, $06, $02, $FF, $20 ; CPU:$B46B PRG:346B 0E 14 FF 24 0C 14 FF 20 48 00 00 20 06 02 FF 20 .byte $06, $08, $FF, $1A, $26, $1C, $FF, $1A, $04, $02, $FF, $1A, $04, $08, $FF, $18 ; CPU:$B47B PRG:347B 06 08 FF 1A 26 1C FF 1A 04 02 FF 1A 04 08 FF 18 .byte $26, $1A, $FF, $16, $26, $18, $FF, $14, $26, $16, $FF, $12, $48, $00, $00, $00 ; CPU:$B48B PRG:348B 26 1A FF 16 26 18 FF 14 26 16 FF 12 48 00 00 00 .byte $2F, $FE, $42, $0F, $00, $FE, $3E, $0F, $00, $FE, $40, $03, $00, $FE, $44, $03 ; CPU:$B49B PRG:349B 2F FE 42 0F 00 FE 3E 0F 00 FE 40 03 00 FE 44 03 .byte $00, $F2, $34, $EE, $4C, $EC, $7A, $E4, $2A, $27, $1A, $E4, $02, $06, $FF, $E4 ; CPU:$B4AB PRG:34AB 00 F2 34 EE 4C EC 7A E4 2A 27 1A E4 02 06 FF E4 .byte $06, $08, $FF, $E4, $06, $16, $FF, $E4, $02, $18, $FF, $E2, $06, $06, $FF, $E2 ; CPU:$B4BB PRG:34BB 06 08 FF E4 06 16 FF E4 02 18 FF E2 06 06 FF E2 .byte $02, $08, $FF, $E2, $02, $16, $FF, $E2, $06, $18, $FF, $DC, $4C, $74, $7C, $CA ; CPU:$B4CB PRG:34CB 02 08 FF E2 02 16 FF E2 06 18 FF DC 4C 74 7C CA .byte $4E, $B0, $07, $CA, $4E, $C0, $07, $C8, $4E, $B0, $07, $C8, $4E, $C0, $07, $BC ; CPU:$B4DB PRG:34DB 4E B0 07 CA 4E C0 07 C8 4E B0 07 C8 4E C0 07 BC .byte $04, $08, $FF, $BA, $04, $08, $FF, $BA, $04, $0C, $FF, $B8, $04, $0C, $FF, $B2 ; CPU:$B4EB PRG:34EB 04 08 FF BA 04 08 FF BA 04 0C FF B8 04 0C FF B2 .byte $4C, $24, $7E, $A6, $4C, $8C, $80, $A2, $34, $A2, $4C, $DC, $7E, $A0, $4C, $DC ; CPU:$B4FB PRG:34FB 4C 24 7E A6 4C 8C 80 A2 34 A2 4C DC 7E A0 4C DC .byte $7E, $96, $2C, $92, $4C, $84, $82, $8A, $26, $02, $FF, $8A, $26, $04, $FF, $88 ; CPU:$B50B PRG:350B 7E 96 2C 92 4C 84 82 8A 26 02 FF 8A 26 04 FF 88 .byte $26, $02, $FF, $88, $26, $04, $FF, $86, $32, $82, $2C, $76, $04, $14, $FF, $76 ; CPU:$B51B PRG:351B 26 02 FF 88 26 04 FF 86 32 82 2C 76 04 14 FF 76 .byte $06, $16, $FF, $72, $32, $72, $4C, $DC, $84, $6E, $06, $14, $FF, $6E, $04, $16 ; CPU:$B52B PRG:352B 06 16 FF 72 32 72 4C DC 84 6E 06 14 FF 6E 04 16 .byte $FF, $6A, $2C, $68, $42, $07, $00, $5A, $32, $50, $02, $0A, $FF, $44, $4C, $88 ; CPU:$B53B PRG:353B FF 6A 2C 68 42 07 00 5A 32 50 02 0A FF 44 4C 88 .byte $86, $44, $4C, $70, $88, $44, $4C, $58, $8A, $34, $06, $06, $FF, $34, $06, $08 ; CPU:$B54B PRG:354B 86 44 4C 70 88 44 4C 58 8A 34 06 06 FF 34 06 08 .byte $FF, $2E, $02, $12, $FF, $2C, $02, $14, $FF, $2A, $02, $16, $FF, $28, $02, $18 ; CPU:$B55B PRG:355B FF 2E 02 12 FF 2C 02 14 FF 2A 02 16 FF 28 02 18 .byte $FF, $24, $4E, $DC, $08, $20, $4E, $DC, $08, $1C, $4E, $DC, $08, $18, $4E, $DC ; CPU:$B56B PRG:356B FF 24 4E DC 08 20 4E DC 08 1C 4E DC 08 18 4E DC .byte $0B, $16, $4C, $78, $8C, $16, $4C, $B8, $8E, $16, $0E, $12, $FF, $14, $0C, $12 ; CPU:$B57B PRG:357B 0B 16 4C 78 8C 16 4C B8 8E 16 0E 12 FF 14 0C 12 .byte $FF, $00, $15, $F4, $2A, $1A, $11, $F4, $02, $1A, $AA, $F0, $02, $0E, $AA, $F0 ; CPU:$B58B PRG:358B FF 00 15 F4 2A 1A 11 F4 02 1A AA F0 02 0E AA F0 .byte $02, $08, $AA, $EA, $06, $08, $AA, $E8, $06, $0A, $AA, $E6, $06, $0C, $AA, $E4 ; CPU:$B59B PRG:359B 02 08 AA EA 06 08 AA E8 06 0A AA E6 06 0C AA E4 .byte $06, $0E, $AA, $E2, $34, $E2, $02, $06, $AA, $DC, $02, $0E, $AA, $D2, $2C, $BA ; CPU:$B5AB PRG:35AB 06 0E AA E2 34 E2 02 06 AA DC 02 0E AA D2 2C BA .byte $32, $AE, $0E, $08, $FF, $AE, $0E, $14, $FF, $AC, $0C, $08, $FF, $AC, $0C, $14 ; CPU:$B5BB PRG:35BB 32 AE 0E 08 FF AE 0E 14 FF AC 0C 08 FF AC 0C 14 .byte $FF, $A8, $2C, $9E, $50, $70, $07, $9A, $50, $90, $07, $96, $50, $B0, $0D, $92 ; CPU:$B5CB PRG:35CB FF A8 2C 9E 50 70 07 9A 50 90 07 96 50 B0 0D 92 .byte $50, $D0, $07, $90, $32, $8A, $50, $B0, $0D, $86, $50, $90, $07, $82, $50, $70 ; CPU:$B5DB PRG:35DB 50 D0 07 90 32 8A 50 B0 0D 86 50 90 07 82 50 70 .byte $07, $7E, $50, $50, $07, $78, $2C, $6C, $2A, $00, $11, $6C, $06, $06, $AA, $6A ; CPU:$B5EB PRG:35EB 07 7E 50 50 07 78 2C 6C 2A 00 11 6C 06 06 AA 6A .byte $00, $08, $AA, $68, $06, $0A, $AA, $66, $00, $0C, $AA, $64, $06, $0E, $AA, $60 ; CPU:$B5FB PRG:35FB 00 08 AA 68 06 0A AA 66 00 0C AA 64 06 0E AA 60 .byte $32, $5C, $34, $58, $2E, $EC, $40, $32, $3E, $2A, $07, $1A, $3E, $26, $18, $FF ; CPU:$B60B PRG:360B 32 5C 34 58 2E EC 40 32 3E 2A 07 1A 3E 26 18 FF .byte $3E, $26, $1A, $FF, $38, $2C, $32, $02, $0A, $AA, $20, $4C, $10, $90, $20, $4C ; CPU:$B61B PRG:361B 3E 26 1A FF 38 2C 32 02 0A AA 20 4C 10 90 20 4C .byte $E0, $92, $1E, $32, $1E, $4C, $20, $94, $1E, $4C, $D0, $96, $1A, $2E, $E6, $0A ; CPU:$B62B PRG:362B E0 92 1E 32 1E 4C 20 94 1E 4C D0 96 1A 2E E6 0A .byte $32, $00, $05, $FE, $2E, $6D, $F6, $32, $F2, $46, $3F, $FF, $EC, $2A, $1A, $0A ; CPU:$B63B PRG:363B 32 00 05 FE 2E 6D F6 32 F2 46 3F FF EC 2A 1A 0A .byte $E6, $2E, $F1, $E6, $48, $00, $00, $E0, $1A, $0C, $03, $DE, $18, $0A, $03, $DC ; CPU:$B64B PRG:364B E6 2E F1 E6 48 00 00 E0 1A 0C 03 DE 18 0A 03 DC .byte $16, $0A, $03, $DA, $32, $DA, $14, $0A, $03, $D8, $2E, $34, $D8, $12, $0A, $03 ; CPU:$B65B PRG:365B 16 0A 03 DA 32 DA 14 0A 03 D8 2E 34 D8 12 0A 03 .byte $D6, $10, $0C, $03, $D4, $32, $CA, $2E, $49, $C4, $32, $BA, $2E, $3E, $AA, $32 ; CPU:$B66B PRG:366B D6 10 0C 03 D4 32 CA 2E 49 C4 32 BA 2E 3E AA 32 .byte $A0, $52, $00, $00, $7E, $2E, $46, $7A, $32, $70, $54, $00, $00, $66, $2E, $66 ; CPU:$B67B PRG:367B A0 52 00 00 7E 2E 46 7A 32 70 54 00 00 66 2E 66 .byte $66, $2A, $1A, $27, $66, $1A, $0C, $00, $64, $32, $64, $18, $0A, $00, $62, $16 ; CPU:$B68B PRG:368B 66 2A 1A 27 66 1A 0C 00 64 32 64 18 0A 00 62 16 .byte $0A, $00, $60, $14, $0A, $00, $5E, $12, $0A, $00, $5C, $2E, $21, $5C, $10, $0C ; CPU:$B69B PRG:369B 0A 00 60 14 0A 00 5E 12 0A 00 5C 2E 21 5C 10 0C .byte $00, $54, $32, $4A, $2C, $3A, $32, $34, $34, $34, $2A, $07, $00, $30, $2C, $20 ; CPU:$B6AB PRG:36AB 00 54 32 4A 2C 3A 32 34 34 34 2A 07 00 30 2C 20 .byte $32, $1A, $2C, $0A, $32, $00, $24, $FE, $2E, $08, $F2, $32, $F0, $2A, $27, $1A ; CPU:$B6BB PRG:36BB 32 1A 2C 0A 32 00 24 FE 2E 08 F2 32 F0 2A 27 1A .byte $F0, $26, $02, $FF, $EC, $4C, $B4, $98, $EC, $00, $10, $FF, $E4, $4C, $B4, $9A ; CPU:$B6CB PRG:36CB F0 26 02 FF EC 4C B4 98 EC 00 10 FF E4 4C B4 9A .byte $E2, $06, $10, $FF, $DC, $4C, $B4, $9C, $D6, $4C, $D4, $9E, $D4, $06, $04, $AA ; CPU:$B6DB PRG:36DB E2 06 10 FF DC 4C B4 9C D6 4C D4 9E D4 06 04 AA .byte $D2, $06, $02, $AA, $D0, $00, $16, $FF, $CA, $4C, $D4, $A0, $C4, $06, $16, $FF ; CPU:$B6EB PRG:36EB D2 06 02 AA D0 00 16 FF CA 4C D4 A0 C4 06 16 FF .byte $C0, $4C, $D4, $A2, $BC, $4E, $D4, $07, $B8, $4E, $D4, $0D, $B4, $06, $04, $AA ; CPU:$B6FB PRG:36FB C0 4C D4 A2 BC 4E D4 07 B8 4E D4 0D B4 06 04 AA .byte $B4, $00, $06, $AA, $B4, $26, $16, $FF, $B0, $2C, $A8, $26, $0A, $AA, $A0, $2C ; CPU:$B70B PRG:370B B4 00 06 AA B4 26 16 FF B0 2C A8 26 0A AA A0 2C .byte $9E, $00, $0A, $AA, $9E, $06, $0C, $AA, $90, $32, $88, $2C, $78, $32, $78, $0E ; CPU:$B71B PRG:371B 9E 00 0A AA 9E 06 0C AA 90 32 88 2C 78 32 78 0E .byte $04, $AA, $76, $0C, $04, $AA, $76, $4C, $88, $A4, $76, $4C, $E8, $A6, $6C, $4C ; CPU:$B72B PRG:372B 04 AA 76 0C 04 AA 76 4C 88 A4 76 4C E8 A6 6C 4C .byte $90, $A8, $6C, $4C, $E0, $AA, $5E, $4C, $44, $AC, $5C, $06, $10, $FF, $5A, $26 ; CPU:$B73B PRG:373B 90 A8 6C 4C E0 AA 5E 4C 44 AC 5C 06 10 FF 5A 26 .byte $1C, $FF, $58, $00, $14, $FF, $54, $06, $18, $FF, $4C, $4C, $44, $AE, $44, $4C ; CPU:$B74B PRG:374B 1C FF 58 00 14 FF 54 06 18 FF 4C 4C 44 AE 44 4C .byte $00, $B0, $42, $4C, $B4, $B2, $38, $00, $08, $FF, $34, $06, $0C, $FF, $1E, $02 ; CPU:$B75B PRG:375B 00 B0 42 4C B4 B2 38 00 08 FF 34 06 0C FF 1E 02 .byte $0E, $FF, $1E, $02, $12, $FF, $1E, $02, $16, $FF, $1A, $2E, $3F, $1A, $02, $12 ; CPU:$B76B PRG:376B 0E FF 1E 02 12 FF 1E 02 16 FF 1A 2E 3F 1A 02 12 .byte $FF, $1A, $4E, $D4, $07, $16, $4E, $D4, $0D, $14, $0E, $06, $AA, $12, $0C, $06 ; CPU:$B77B PRG:377B FF 1A 4E D4 07 16 4E D4 0D 14 0E 06 AA 12 0C 06 .byte $AA, $12, $4E, $D4, $0D, $0C, $32, $00, $30, $FE, $34, $FE, $2C, $F0, $2A, $27 ; CPU:$B78B PRG:378B AA 12 4E D4 0D 0C 32 00 30 FE 34 FE 2C F0 2A 27 .byte $1A, $F0, $26, $1C, $FF, $EE, $32, $E6, $4C, $64, $B4, $E4, $02, $14, $FF, $E0 ; CPU:$B79B PRG:379B 1A F0 26 1C FF EE 32 E6 4C 64 B4 E4 02 14 FF E0 .byte $4C, $DC, $B6, $DC, $4C, $64, $B6, $D6, $02, $12, $FF, $D6, $02, $16, $FF, $D6 ; CPU:$B7AB PRG:37AB 4C DC B6 DC 4C 64 B6 D6 02 12 FF D6 02 16 FF D6 .byte $4C, $DC, $B6, $D2, $4C, $64, $B6, $D2, $02, $14, $FF, $CC, $4C, $DC, $B6, $CA ; CPU:$B7BB PRG:37BB 4C DC B6 D2 4C 64 B6 D2 02 14 FF CC 4C DC B6 CA .byte $00, $06, $FF, $CA, $00, $14, $FF, $C6, $4C, $64, $B8, $C6, $4C, $DC, $BA, $C4 ; CPU:$B7CB PRG:37CB 00 06 FF CA 00 14 FF C6 4C 64 B8 C6 4C DC BA C4 .byte $34, $C2, $2C, $BA, $4E, $94, $0D, $BA, $4E, $B0, $0D, $B6, $4E, $94, $0E, $B6 ; CPU:$B7DB PRG:37DB 34 C2 2C BA 4E 94 0D BA 4E B0 0D B6 4E 94 0E B6 .byte $4E, $B0, $0D, $B2, $2C, $A2, $2C, $94, $06, $12, $FF, $92, $32, $92, $06, $14 ; CPU:$B7EB PRG:37EB 4E B0 0D B2 2C A2 2C 94 06 12 FF 92 32 92 06 14 .byte $FF, $90, $06, $14, $FF, $8E, $06, $16, $FF, $84, $2C, $7C, $00, $04, $FF, $7C ; CPU:$B7FB PRG:37FB FF 90 06 14 FF 8E 06 16 FF 84 2C 7C 00 04 FF 7C .byte $00, $12, $FF, $7C, $00, $16, $FF, $78, $00, $08, $FF, $78, $00, $14, $FF, $78 ; CPU:$B80B PRG:380B 00 12 FF 7C 00 16 FF 78 00 08 FF 78 00 14 FF 78 .byte $00, $1C, $FF, $6E, $0E, $10, $FF, $6E, $4E, $CC, $0D, $6C, $0C, $10, $FF, $6A ; CPU:$B81B PRG:381B 00 1C FF 6E 0E 10 FF 6E 4E CC 0D 6C 0C 10 FF 6A .byte $32, $6A, $4E, $CC, $0D, $66, $26, $0A, $FF, $64, $26, $0C, $FF, $62, $2C, $52 ; CPU:$B82B PRG:382B 32 6A 4E CC 0D 66 26 0A FF 64 26 0C FF 62 2C 52 .byte $32, $4E, $00, $10, $FF, $4C, $06, $12, $FF, $4A, $4C, $CC, $BC, $42, $02, $12 ; CPU:$B83B PRG:383B 32 4E 00 10 FF 4C 06 12 FF 4A 4C CC BC 42 02 12 .byte $FF, $3C, $02, $04, $FF, $3A, $26, $12, $FF, $3A, $02, $1C, $FF, $36, $02, $12 ; CPU:$B84B PRG:384B FF 3C 02 04 FF 3A 26 12 FF 3A 02 1C FF 36 02 12 .byte $FF, $34, $4C, $64, $BE, $34, $4C, $CC, $BE, $30, $2E, $E6, $22, $4C, $A8, $C0 ; CPU:$B85B PRG:385B FF 34 4C 64 BE 34 4C CC BE 30 2E E6 22 4C A8 C0 .byte $22, $4C, $CC, $C2, $20, $32, $1C, $4C, $CC, $C4, $16, $0E, $0E, $FF, $16, $0E ; CPU:$B86B PRG:386B 22 4C CC C2 20 32 1C 4C CC C4 16 0E 0E FF 16 0E .byte $12, $FF, $14, $2E, $7E, $14, $0C, $0E, $FF, $14, $0C, $12, $FF, $0C, $32, $0C ; CPU:$B87B PRG:387B 12 FF 14 2E 7E 14 0C 0E FF 14 0C 12 FF 0C 32 0C .byte $38, $03, $00, $0C, $3A, $03, $00, $0C, $3E, $07, $00, $0C, $3C, $07, $00, $0C ; CPU:$B88B PRG:388B 38 03 00 0C 3A 03 00 0C 3E 07 00 0C 3C 07 00 0C .byte $36, $C0, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $AA, $AA, $AA, $FF, $FF, $FF ; CPU:$B89B PRG:389B 36 C0 00 00 FF FF FF FF FF FF AA AA AA FF FF FF ; ----------------------------------------------------------------------------- ; Routine: SetOamPtrs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetOamPtrs: lda #$00 ; CPU:$B8AB PRG:38AB A9 00 sta ZpF0 ; CPU:$B8AD PRG:38AD 85 F0 lda #$06 ; CPU:$B8AF PRG:38AF A9 06 sta ZpF1 ; CPU:$B8B1 PRG:38B1 85 F1 lda #$20 ; CPU:$B8B3 PRG:38B3 A9 20 sta ZpF2 ; CPU:$B8B5 PRG:38B5 85 F2 lda #$06 ; CPU:$B8B7 PRG:38B7 A9 06 sta ZpF3 ; CPU:$B8B9 PRG:38B9 85 F3 lda $BB6D ; CPU:$B8BB PRG:38BB AD 6D BB sta ZpF4 ; CPU:$B8BE PRG:38BE 85 F4 lda $BB6E ; CPU:$B8C0 PRG:38C0 AD 6E BB sta ZpF5 ; CPU:$B8C3 PRG:38C3 85 F5 lda #$40 ; CPU:$B8C5 PRG:38C5 A9 40 sta ZpF7 ; CPU:$B8C7 PRG:38C7 85 F7 lda #$1F ; CPU:$B8C9 PRG:38C9 A9 1F sta APUSTATUS ; CPU:$B8CB PRG:38CB 8D 15 40 lda #$C0 ; CPU:$B8CE PRG:38CE A9 C0 sta $4017 ; CPU:$B8D0 PRG:38D0 8D 17 40 ; ----------------------------------------------------------------------------- ; Routine: ClearOamInit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearOamInit: ldy #$00 ; CPU:$B8D3 PRG:38D3 A0 00 lda #$00 ; CPU:$B8D5 PRG:38D5 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_B8D7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B8D7: sta (ZpF0),y ; CPU:$B8D7 PRG:38D7 91 F0 iny ; CPU:$B8D9 PRG:38D9 C8 cpy #$14 ; CPU:$B8DA PRG:38DA C0 14 bne Sub_B8D7 ; CPU:$B8DC PRG:38DC D0 F9 ldy #$00 ; CPU:$B8DE PRG:38DE A0 00 ldx #$14 ; CPU:$B8E0 PRG:38E0 A2 14 ; ----------------------------------------------------------------------------- ; Routine: Sub_B8E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B8E2: lda #$00 ; CPU:$B8E2 PRG:38E2 A9 00 sta (ZpF2),y ; CPU:$B8E4 PRG:38E4 91 F2 tya ; CPU:$B8E6 PRG:38E6 98 clc ; CPU:$B8E7 PRG:38E7 18 adc #$08 ; CPU:$B8E8 PRG:38E8 69 08 tay ; CPU:$B8EA PRG:38EA A8 dex ; CPU:$B8EB PRG:38EB CA bne Sub_B8E2 ; CPU:$B8EC PRG:38EC D0 F4 rts ; CPU:$B8EE PRG:38EE 60 ; ----------------------------------------------------------------------------- ; Routine: ClearZpVars ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearZpVars: lda #$00 ; CPU:$B8EF PRG:38EF A9 00 sta ZpF8 ; CPU:$B8F1 PRG:38F1 85 F8 sta ZpF9 ; CPU:$B8F3 PRG:38F3 85 F9 sta ZpFA ; CPU:$B8F5 PRG:38F5 85 FA sta ZpFB ; CPU:$B8F7 PRG:38F7 85 FB sta ZpFD ; CPU:$B8F9 PRG:38F9 85 FD sta ZpFF ; CPU:$B8FB PRG:38FB 85 FF lda #$F8 ; CPU:$B8FD PRG:38FD A9 F8 sta ZpFE ; CPU:$B8FF PRG:38FF 85 FE ; ----------------------------------------------------------------------------- ; Routine: Sub_B901 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B901: ldy ZpFD ; CPU:$B901 PRG:3901 A4 FD lda (ZpF2),y ; CPU:$B903 PRG:3903 B1 F2 beq OamEntryDone ; CPU:$B905 PRG:3905 F0 44 cmp #$05 ; CPU:$B907 PRG:3907 C9 05 bcc Sub_B916 ; CPU:$B909 PRG:3909 90 0B sec ; CPU:$B90B PRG:390B 38 sbc #$05 ; CPU:$B90C PRG:390C E9 05 tay ; CPU:$B90E PRG:390E A8 lda #$01 ; CPU:$B90F PRG:390F A9 01 sta (ZpFE),y ; CPU:$B911 PRG:3911 91 FE jmp OamEntryDone ; CPU:$B913 PRG:3913 4C 4B B9 ; ----------------------------------------------------------------------------- ; Routine: Sub_B916 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B916: sec ; CPU:$B916 PRG:3916 38 sbc #$01 ; CPU:$B917 PRG:3917 E9 01 tay ; CPU:$B919 PRG:3919 A8 lda (ZpFE),y ; CPU:$B91A PRG:391A B1 FE bne OamEntryDone ; CPU:$B91C PRG:391C D0 2D lda #$01 ; CPU:$B91E PRG:391E A9 01 sta (ZpFE),y ; CPU:$B920 PRG:3920 91 FE tya ; CPU:$B922 PRG:3922 98 tax ; CPU:$B923 PRG:3923 AA cmp #$03 ; CPU:$B924 PRG:3924 C9 03 bne Sub_B92D ; CPU:$B926 PRG:3926 D0 05 lda #$00 ; CPU:$B928 PRG:3928 A9 00 jmp WriteOamAttr ; CPU:$B92A PRG:392A 4C 30 B9 ; ----------------------------------------------------------------------------- ; Routine: Sub_B92D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B92D: clc ; CPU:$B92D PRG:392D 18 adc #$05 ; CPU:$B92E PRG:392E 69 05 ; ----------------------------------------------------------------------------- ; Routine: WriteOamAttr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WriteOamAttr: ldy ZpFD ; CPU:$B930 PRG:3930 A4 FD sta (ZpF2),y ; CPU:$B932 PRG:3932 91 F2 txa ; CPU:$B934 PRG:3934 8A asl a ; CPU:$B935 PRG:3935 0A asl a ; CPU:$B936 PRG:3936 0A sta ZpF6 ; CPU:$B937 PRG:3937 85 F6 ldx #$00 ; CPU:$B939 PRG:3939 A2 00 lda #$04 ; CPU:$B93B PRG:393B A9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_B93D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B93D: pha ; CPU:$B93D PRG:393D 48 iny ; CPU:$B93E PRG:393E C8 lda (ZpF2),y ; CPU:$B93F PRG:393F B1 F2 sta (ZpF6,x) ; CPU:$B941 PRG:3941 81 F6 inc ZpF6 ; CPU:$B943 PRG:3943 E6 F6 pla ; CPU:$B945 PRG:3945 68 sec ; CPU:$B946 PRG:3946 38 sbc #$01 ; CPU:$B947 PRG:3947 E9 01 bne Sub_B93D ; CPU:$B949 PRG:3949 D0 F2 ; ----------------------------------------------------------------------------- ; Routine: OamEntryDone ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- OamEntryDone: lda ZpFD ; CPU:$B94B PRG:394B A5 FD clc ; CPU:$B94D PRG:394D 18 adc #$08 ; CPU:$B94E PRG:394E 69 08 sta ZpFD ; CPU:$B950 PRG:3950 85 FD cmp #$A0 ; CPU:$B952 PRG:3952 C9 A0 bcc Sub_B901 ; CPU:$B954 PRG:3954 90 AB ldy #$00 ; CPU:$B956 PRG:3956 A0 00 sty ZpFC ; CPU:$B958 PRG:3958 84 FC sty ZpFD ; CPU:$B95A PRG:395A 84 FD ; ----------------------------------------------------------------------------- ; Routine: UpdateOamSprite ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOamSprite: lda $BB97 ; CPU:$B95C PRG:395C AD 97 BB sta ZpFE ; CPU:$B95F PRG:395F 85 FE lda $BB98 ; CPU:$B961 PRG:3961 AD 98 BB sta ZpFF ; CPU:$B964 PRG:3964 85 FF ldy ZpFC ; CPU:$B966 PRG:3966 A4 FC lda (ZpFE),y ; CPU:$B968 PRG:3968 B1 FE beq Sub_B985 ; CPU:$B96A PRG:396A F0 19 ldy ZpFC ; CPU:$B96C PRG:396C A4 FC lda (ZpF0),y ; CPU:$B96E PRG:396E B1 F0 beq Sub_B979 ; CPU:$B970 PRG:3970 F0 07 lda #$00 ; CPU:$B972 PRG:3972 A9 00 sta (ZpF0),y ; CPU:$B974 PRG:3974 91 F0 jmp ProcessSpriteList ; CPU:$B976 PRG:3976 4C 94 B9 ; ----------------------------------------------------------------------------- ; Routine: Sub_B979 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B979: ldy ZpFD ; CPU:$B979 PRG:3979 A4 FD lda (ZpF2),y ; CPU:$B97B PRG:397B B1 F2 bne Sub_B982 ; CPU:$B97D PRG:397D D0 03 jmp SpriteListDone ; CPU:$B97F PRG:397F 4C 65 BA ; ----------------------------------------------------------------------------- ; Routine: Sub_B982 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B982: jmp SetSpriteActive ; CPU:$B982 PRG:3982 4C 00 BA ; ----------------------------------------------------------------------------- ; Routine: Sub_B985 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B985: ldy ZpFC ; CPU:$B985 PRG:3985 A4 FC lda (ZpF0),y ; CPU:$B987 PRG:3987 B1 F0 bne Sub_B98E ; CPU:$B989 PRG:3989 D0 03 jmp SpriteListDone ; CPU:$B98B PRG:398B 4C 65 BA ; ----------------------------------------------------------------------------- ; Routine: Sub_B98E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_B98E: ldy ZpFD ; CPU:$B98E PRG:398E A4 FD lda (ZpF2),y ; CPU:$B990 PRG:3990 B1 F2 bne SetSpriteActive ; CPU:$B992 PRG:3992 D0 6C ; ----------------------------------------------------------------------------- ; Routine: ProcessSpriteList ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessSpriteList: lda ZpFC ; CPU:$B994 PRG:3994 A5 FC asl a ; CPU:$B996 PRG:3996 0A tay ; CPU:$B997 PRG:3997 A8 lda (ZpF4),y ; CPU:$B998 PRG:3998 B1 F4 pha ; CPU:$B99A PRG:399A 48 lda ZpFD ; CPU:$B99B PRG:399B A5 FD adc #$05 ; CPU:$B99D PRG:399D 69 05 tay ; CPU:$B99F PRG:399F A8 pla ; CPU:$B9A0 PRG:39A0 68 sta (ZpF2),y ; CPU:$B9A1 PRG:39A1 91 F2 lda ZpFC ; CPU:$B9A3 PRG:39A3 A5 FC asl a ; CPU:$B9A5 PRG:39A5 0A adc #$01 ; CPU:$B9A6 PRG:39A6 69 01 tay ; CPU:$B9A8 PRG:39A8 A8 lda (ZpF4),y ; CPU:$B9A9 PRG:39A9 B1 F4 pha ; CPU:$B9AB PRG:39AB 48 lda ZpFD ; CPU:$B9AC PRG:39AC A5 FD adc #$06 ; CPU:$B9AE PRG:39AE 69 06 tay ; CPU:$B9B0 PRG:39B0 A8 pla ; CPU:$B9B1 PRG:39B1 68 sta (ZpF2),y ; CPU:$B9B2 PRG:39B2 91 F2 jsr CalcOamPtr ; CPU:$B9B4 PRG:39B4 20 30 BB ldy ZpFD ; CPU:$B9B7 PRG:39B7 A4 FD sta (ZpF2),y ; CPU:$B9B9 PRG:39B9 91 F2 jsr CalcOamPtr ; CPU:$B9BB PRG:39BB 20 30 BB tax ; CPU:$B9BE PRG:39BE AA lda ZpFD ; CPU:$B9BF PRG:39BF A5 FD clc ; CPU:$B9C1 PRG:39C1 18 adc #$01 ; CPU:$B9C2 PRG:39C2 69 01 tay ; CPU:$B9C4 PRG:39C4 A8 txa ; CPU:$B9C5 PRG:39C5 8A sta (ZpF2),y ; CPU:$B9C6 PRG:39C6 91 F2 jsr CalcOamPtr ; CPU:$B9C8 PRG:39C8 20 30 BB tax ; CPU:$B9CB PRG:39CB AA lda ZpFD ; CPU:$B9CC PRG:39CC A5 FD clc ; CPU:$B9CE PRG:39CE 18 adc #$02 ; CPU:$B9CF PRG:39CF 69 02 tay ; CPU:$B9D1 PRG:39D1 A8 txa ; CPU:$B9D2 PRG:39D2 8A sta (ZpF2),y ; CPU:$B9D3 PRG:39D3 91 F2 jsr CalcOamPtr ; CPU:$B9D5 PRG:39D5 20 30 BB tax ; CPU:$B9D8 PRG:39D8 AA lda ZpFD ; CPU:$B9D9 PRG:39D9 A5 FD clc ; CPU:$B9DB PRG:39DB 18 adc #$04 ; CPU:$B9DC PRG:39DC 69 04 tay ; CPU:$B9DE PRG:39DE A8 txa ; CPU:$B9DF PRG:39DF 8A sta (ZpF2),y ; CPU:$B9E0 PRG:39E0 91 F2 ldy ZpFD ; CPU:$B9E2 PRG:39E2 A4 FD lda (ZpF2),y ; CPU:$B9E4 PRG:39E4 B1 F2 cmp #$04 ; CPU:$B9E6 PRG:39E6 C9 04 bne SetSpriteAttr ; CPU:$B9E8 PRG:39E8 D0 25 jsr CalcOamPtr ; CPU:$B9EA PRG:39EA 20 30 BB tax ; CPU:$B9ED PRG:39ED AA lda ZpFD ; CPU:$B9EE PRG:39EE A5 FD clc ; CPU:$B9F0 PRG:39F0 18 adc #$03 ; CPU:$B9F1 PRG:39F1 69 03 tay ; CPU:$B9F3 PRG:39F3 A8 txa ; CPU:$B9F4 PRG:39F4 8A sta (ZpF2),y ; CPU:$B9F5 PRG:39F5 91 F2 ldy ZpFC ; CPU:$B9F7 PRG:39F7 A4 FC lda #$00 ; CPU:$B9F9 PRG:39F9 A9 00 sta (ZpF0),y ; CPU:$B9FB PRG:39FB 91 F0 jmp SpriteListDone ; CPU:$B9FD PRG:39FD 4C 65 BA ; ----------------------------------------------------------------------------- ; Routine: SetSpriteActive ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetSpriteActive: lda ZpFD ; CPU:$BA00 PRG:3A00 A5 FD clc ; CPU:$BA02 PRG:3A02 18 adc #$07 ; CPU:$BA03 PRG:3A03 69 07 tay ; CPU:$BA05 PRG:3A05 A8 lda (ZpF2),y ; CPU:$BA06 PRG:3A06 B1 F2 sec ; CPU:$BA08 PRG:3A08 38 sbc #$01 ; CPU:$BA09 PRG:3A09 E9 01 sta (ZpF2),y ; CPU:$BA0B PRG:3A0B 91 F2 bne SpriteListDone ; CPU:$BA0D PRG:3A0D D0 56 ; ----------------------------------------------------------------------------- ; Routine: SetSpriteAttr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetSpriteAttr: jsr CalcOamPtr ; CPU:$BA0F PRG:3A0F 20 30 BB cmp #$F0 ; CPU:$BA12 PRG:3A12 C9 F0 bcs Sub_BA7A ; CPU:$BA14 PRG:3A14 B0 64 cmp #$C0 ; CPU:$BA16 PRG:3A16 C9 C0 bcs Sub_BA58 ; CPU:$BA18 PRG:3A18 B0 3E pha ; CPU:$BA1A PRG:3A1A 48 and #$F0 ; CPU:$BA1B PRG:3A1B 29 F0 lsr a ; CPU:$BA1D PRG:3A1D 4A lsr a ; CPU:$BA1E PRG:3A1E 4A lsr a ; CPU:$BA1F PRG:3A1F 4A tax ; CPU:$BA20 PRG:3A20 AA lda $BB55,x ; CPU:$BA21 PRG:3A21 BD 55 BB sta ZpFE ; CPU:$BA24 PRG:3A24 85 FE lda $BB56,x ; CPU:$BA26 PRG:3A26 BD 56 BB sta ZpFF ; CPU:$BA29 PRG:3A29 85 FF pla ; CPU:$BA2B PRG:3A2B 68 and #$0F ; CPU:$BA2C PRG:3A2C 29 0F beq Sub_BA38 ; CPU:$BA2E PRG:3A2E F0 08 tax ; CPU:$BA30 PRG:3A30 AA ; ----------------------------------------------------------------------------- ; Routine: Sub_BA31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BA31: lsr ZpFE ; CPU:$BA31 PRG:3A31 46 FE ror ZpFF ; CPU:$BA33 PRG:3A33 66 FF dex ; CPU:$BA35 PRG:3A35 CA bne Sub_BA31 ; CPU:$BA36 PRG:3A36 D0 F9 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA38 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BA38: lda ZpFD ; CPU:$BA38 PRG:3A38 A5 FD clc ; CPU:$BA3A PRG:3A3A 18 adc #$04 ; CPU:$BA3B PRG:3A3B 69 04 tay ; CPU:$BA3D PRG:3A3D A8 lda (ZpF2),y ; CPU:$BA3E PRG:3A3E B1 F2 and #$F8 ; CPU:$BA40 PRG:3A40 29 F8 ora ZpFE ; CPU:$BA42 PRG:3A42 05 FE sta (ZpF2),y ; CPU:$BA44 PRG:3A44 91 F2 lda ZpFF ; CPU:$BA46 PRG:3A46 A5 FF dey ; CPU:$BA48 PRG:3A48 88 sta (ZpF2),y ; CPU:$BA49 PRG:3A49 91 F2 ldy ZpFD ; CPU:$BA4B PRG:3A4B A4 FD lda (ZpF2),y ; CPU:$BA4D PRG:3A4D B1 F2 cmp #$05 ; CPU:$BA4F PRG:3A4F C9 05 bcc Sub_BA58 ; CPU:$BA51 PRG:3A51 90 05 sec ; CPU:$BA53 PRG:3A53 38 sbc #$04 ; CPU:$BA54 PRG:3A54 E9 04 sta (ZpF2),y ; CPU:$BA56 PRG:3A56 91 F2 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA58 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BA58: jsr CalcOamPtr ; CPU:$BA58 PRG:3A58 20 30 BB pha ; CPU:$BA5B PRG:3A5B 48 lda ZpFD ; CPU:$BA5C PRG:3A5C A5 FD clc ; CPU:$BA5E PRG:3A5E 18 adc #$07 ; CPU:$BA5F PRG:3A5F 69 07 tay ; CPU:$BA61 PRG:3A61 A8 pla ; CPU:$BA62 PRG:3A62 68 sta (ZpF2),y ; CPU:$BA63 PRG:3A63 91 F2 ; ----------------------------------------------------------------------------- ; Routine: SpriteListDone ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteListDone: lda ZpFD ; CPU:$BA65 PRG:3A65 A5 FD clc ; CPU:$BA67 PRG:3A67 18 adc #$08 ; CPU:$BA68 PRG:3A68 69 08 sta ZpFD ; CPU:$BA6A PRG:3A6A 85 FD lda ZpFC ; CPU:$BA6C PRG:3A6C A5 FC adc #$01 ; CPU:$BA6E PRG:3A6E 69 01 sta ZpFC ; CPU:$BA70 PRG:3A70 85 FC cmp #$14 ; CPU:$BA72 PRG:3A72 C9 14 bcs Sub_BA79 ; CPU:$BA74 PRG:3A74 B0 03 jmp UpdateOamSprite ; CPU:$BA76 PRG:3A76 4C 5C B9 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA79 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BA79: rts ; CPU:$BA79 PRG:3A79 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_BA7A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BA7A: and #$0F ; CPU:$BA7A PRG:3A7A 29 0F asl a ; CPU:$BA7C PRG:3A7C 0A tax ; CPU:$BA7D PRG:3A7D AA lda $BA8B,x ; CPU:$BA7E PRG:3A7E BD 8B BA sta ZpFE ; CPU:$BA81 PRG:3A81 85 FE lda $BA8C,x ; CPU:$BA83 PRG:3A83 BD 8C BA sta ZpFF ; CPU:$BA86 PRG:3A86 85 FF jmp ($00FE) ; CPU:$BA88 PRG:3A88 6C FE 00 IndDispatchFeTable: ; 16-entry indirect jump table for `jmp ($fe)` at $BA88, read by lda $BA8B,x/$BA8C,x ; ---- data $BA8B-$BAAA (32 bytes) ---- ; referenced by `lda $BA8B,x` at $BA7E (operand $BA8B falls inside this region) ; referenced by `lda $BA8C,x` at $BA83 (operand $BA8C falls inside this region) .byte $AB, $BA, $B8, $BA, $D0, $BA, $E8, $BA, $00, $BB, $10, $BB, $20, $BB, $AB, $BA ; CPU:$BA8B PRG:3A8B AB BA B8 BA D0 BA E8 BA 00 BB 10 BB 20 BB AB BA .byte $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA ; CPU:$BA9B PRG:3A9B AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrZero ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrZero: ldy ZpFC ; CPU:$BAAB PRG:3AAB A4 FC lda #$00 ; CPU:$BAAD PRG:3AAD A9 00 sta (ZpF0),y ; CPU:$BAAF PRG:3AAF 91 F0 ldy ZpFD ; CPU:$BAB1 PRG:3AB1 A4 FD sta (ZpF2),y ; CPU:$BAB3 PRG:3AB3 91 F2 jmp SpriteListDone ; CPU:$BAB5 PRG:3AB5 4C 65 BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrBit6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrBit6: jsr CalcOamPtr ; CPU:$BAB8 PRG:3AB8 20 30 BB pha ; CPU:$BABB PRG:3ABB 48 lda ZpFD ; CPU:$BABC PRG:3ABC A5 FD clc ; CPU:$BABE PRG:3ABE 18 adc #$01 ; CPU:$BABF PRG:3ABF 69 01 tay ; CPU:$BAC1 PRG:3AC1 A8 lda (ZpF2),y ; CPU:$BAC2 PRG:3AC2 B1 F2 and #$3F ; CPU:$BAC4 PRG:3AC4 29 3F sta (ZpF2),y ; CPU:$BAC6 PRG:3AC6 91 F2 pla ; CPU:$BAC8 PRG:3AC8 68 ora (ZpF2),y ; CPU:$BAC9 PRG:3AC9 11 F2 sta (ZpF2),y ; CPU:$BACB PRG:3ACB 91 F2 jmp SetSpriteAttr ; CPU:$BACD PRG:3ACD 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrClear67 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrClear67: jsr CalcOamPtr ; CPU:$BAD0 PRG:3AD0 20 30 BB pha ; CPU:$BAD3 PRG:3AD3 48 lda ZpFD ; CPU:$BAD4 PRG:3AD4 A5 FD clc ; CPU:$BAD6 PRG:3AD6 18 adc #$01 ; CPU:$BAD7 PRG:3AD7 69 01 tay ; CPU:$BAD9 PRG:3AD9 A8 lda (ZpF2),y ; CPU:$BADA PRG:3ADA B1 F2 and #$CF ; CPU:$BADC PRG:3ADC 29 CF sta (ZpF2),y ; CPU:$BADE PRG:3ADE 91 F2 pla ; CPU:$BAE0 PRG:3AE0 68 ora (ZpF2),y ; CPU:$BAE1 PRG:3AE1 11 F2 sta (ZpF2),y ; CPU:$BAE3 PRG:3AE3 91 F2 jmp SetSpriteAttr ; CPU:$BAE5 PRG:3AE5 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrClear5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrClear5: jsr CalcOamPtr ; CPU:$BAE8 PRG:3AE8 20 30 BB pha ; CPU:$BAEB PRG:3AEB 48 lda ZpFD ; CPU:$BAEC PRG:3AEC A5 FD clc ; CPU:$BAEE PRG:3AEE 18 adc #$01 ; CPU:$BAEF PRG:3AEF 69 01 tay ; CPU:$BAF1 PRG:3AF1 A8 lda (ZpF2),y ; CPU:$BAF2 PRG:3AF2 B1 F2 and #$F0 ; CPU:$BAF4 PRG:3AF4 29 F0 sta (ZpF2),y ; CPU:$BAF6 PRG:3AF6 91 F2 pla ; CPU:$BAF8 PRG:3AF8 68 ora (ZpF2),y ; CPU:$BAF9 PRG:3AF9 11 F2 sta (ZpF2),y ; CPU:$BAFB PRG:3AFB 91 F2 jmp SetSpriteAttr ; CPU:$BAFD PRG:3AFD 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrByteLo ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrByteLo: jsr CalcOamPtr ; CPU:$BB00 PRG:3B00 20 30 BB pha ; CPU:$BB03 PRG:3B03 48 lda ZpFD ; CPU:$BB04 PRG:3B04 A5 FD clc ; CPU:$BB06 PRG:3B06 18 adc #$02 ; CPU:$BB07 PRG:3B07 69 02 tay ; CPU:$BB09 PRG:3B09 A8 pla ; CPU:$BB0A PRG:3B0A 68 sta (ZpF2),y ; CPU:$BB0B PRG:3B0B 91 F2 jmp SetSpriteAttr ; CPU:$BB0D PRG:3B0D 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrByte4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrByte4: jsr CalcOamPtr ; CPU:$BB10 PRG:3B10 20 30 BB pha ; CPU:$BB13 PRG:3B13 48 lda ZpFD ; CPU:$BB14 PRG:3B14 A5 FD clc ; CPU:$BB16 PRG:3B16 18 adc #$04 ; CPU:$BB17 PRG:3B17 69 04 tay ; CPU:$BB19 PRG:3B19 A8 pla ; CPU:$BB1A PRG:3B1A 68 sta (ZpF2),y ; CPU:$BB1B PRG:3B1B 91 F2 jmp SetSpriteAttr ; CPU:$BB1D PRG:3B1D 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: SetAttrByte1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAttrByte1: jsr CalcOamPtr ; CPU:$BB20 PRG:3B20 20 30 BB pha ; CPU:$BB23 PRG:3B23 48 lda ZpFD ; CPU:$BB24 PRG:3B24 A5 FD clc ; CPU:$BB26 PRG:3B26 18 adc #$01 ; CPU:$BB27 PRG:3B27 69 01 tay ; CPU:$BB29 PRG:3B29 A8 pla ; CPU:$BB2A PRG:3B2A 68 sta (ZpF2),y ; CPU:$BB2B PRG:3B2B 91 F2 jmp SetSpriteAttr ; CPU:$BB2D PRG:3B2D 4C 0F BA ; ----------------------------------------------------------------------------- ; Routine: CalcOamPtr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CalcOamPtr: lda ZpFD ; CPU:$BB30 PRG:3B30 A5 FD clc ; CPU:$BB32 PRG:3B32 18 adc #$05 ; CPU:$BB33 PRG:3B33 69 05 tay ; CPU:$BB35 PRG:3B35 A8 lda (ZpF2),y ; CPU:$BB36 PRG:3B36 B1 F2 sta ZpFE ; CPU:$BB38 PRG:3B38 85 FE iny ; CPU:$BB3A PRG:3B3A C8 lda (ZpF2),y ; CPU:$BB3B PRG:3B3B B1 F2 sta ZpFF ; CPU:$BB3D PRG:3B3D 85 FF ldx #$00 ; CPU:$BB3F PRG:3B3F A2 00 lda (ZpFE,x) ; CPU:$BB41 PRG:3B41 A1 FE pha ; CPU:$BB43 PRG:3B43 48 lda ZpFE ; CPU:$BB44 PRG:3B44 A5 FE dey ; CPU:$BB46 PRG:3B46 88 clc ; CPU:$BB47 PRG:3B47 18 adc #$01 ; CPU:$BB48 PRG:3B48 69 01 sta (ZpF2),y ; CPU:$BB4A PRG:3B4A 91 F2 lda ZpFF ; CPU:$BB4C PRG:3B4C A5 FF adc #$00 ; CPU:$BB4E PRG:3B4E 69 00 iny ; CPU:$BB50 PRG:3B50 C8 sta (ZpF2),y ; CPU:$BB51 PRG:3B51 91 F2 pla ; CPU:$BB53 PRG:3B53 68 rts ; CPU:$BB54 PRG:3B54 60 ; ---- data $BB55-$BEFA (934 bytes) ---- SpriteAttrTable: ; referenced by `lda $BB6D` at $B8BB (operand $BB6D falls inside this region) ; referenced by `lda $BB6E` at $B8C0 (operand $BB6E falls inside this region) ; referenced by `lda $BB97` at $B95C (operand $BB97 falls inside this region) ; referenced by `lda $BB98` at $B961 (operand $BB98 falls inside this region) ; referenced by `lda $BB55,x` at $BA21 (operand $BB55 falls inside this region) ; referenced by `lda $BB56,x` at $BA26 (operand $BB56 falls inside this region) .byte $03, $F9, $03, $C0, $03, $8A, $03, $57, $03, $27, $02, $FA, $02, $CF, $02, $A7 ; CPU:$BB55 PRG:3B55 03 F9 03 C0 03 8A 03 57 03 27 02 FA 02 CF 02 A7 .byte $02, $81, $02, $5D, $02, $3B, $02, $1B, $6F, $BB, $7B, $BD, $D2, $BD, $29, $BE ; CPU:$BB65 PRG:3B65 02 81 02 5D 02 3B 02 1B 6F BB 7B BD D2 BD 29 BE .byte $BA, $BC, $CD, $BC, $52, $BD, $87, $BE, $25, $BD, $2E, $BD, $A0, $BC, $AD, $BC ; CPU:$BB75 PRG:3B75 BA BC CD BC 52 BD 87 BE 25 BD 2E BD A0 BC AD BC .byte $AD, $BB, $E0, $BC, $76, $BE, $BC, $BE, $59, $BC, $08, $BC, $4D, $BC, $53, $BC ; CPU:$BB85 PRG:3B85 AD BB E0 BC 76 BE BC BE 59 BC 08 BC 4D BC 53 BC .byte $35, $BD, $99, $BB, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $00 ; CPU:$BB95 PRG:3B95 35 BD 99 BB 00 00 00 00 00 00 00 01 01 01 01 00 .byte $01, $01, $01, $01, $00, $00, $00, $01, $01, $9C, $7F, $28, $30, $02, $40, $02 ; CPU:$BBA5 PRG:3BA5 01 01 01 01 00 00 00 01 01 9C 7F 28 30 02 40 02 .byte $30, $02, $50, $02, $30, $02, $60, $02, $30, $02, $70, $02, $30, $02, $60, $02 ; CPU:$BBB5 PRG:3BB5 30 02 50 02 30 02 60 02 30 02 70 02 30 02 60 02 .byte $30, $02, $50, $02, $30, $02, $40, $02, $30, $02, $40, $02, $30, $02, $50, $02 ; CPU:$BBC5 PRG:3BC5 30 02 50 02 30 02 40 02 30 02 40 02 30 02 50 02 .byte $30, $02, $60, $02, $30, $02, $70, $02, $30, $02, $60, $02, $30, $02, $50, $02 ; CPU:$BBD5 PRG:3BD5 30 02 60 02 30 02 70 02 30 02 60 02 30 02 50 02 .byte $30, $02, $40, $02, $30, $02, $40, $02, $30, $02, $50, $02, $30, $02, $60, $02 ; CPU:$BBE5 PRG:3BE5 30 02 40 02 30 02 40 02 30 02 50 02 30 02 60 02 .byte $30, $02, $70, $02, $30, $02, $60, $02, $30, $02, $50, $02, $30, $02, $40, $02 ; CPU:$BBF5 PRG:3BF5 30 02 70 02 30 02 60 02 30 02 50 02 30 02 40 02 .byte $30, $02, $F0, $02, $94, $7F, $58, $32, $06, $33, $06, $23, $06, $33, $06, $73 ; CPU:$BC05 PRG:3C05 30 02 F0 02 94 7F 58 32 06 33 06 23 06 33 06 73 .byte $06, $33, $06, $23, $06, $33, $06, $32, $06, $33, $06, $13, $06, $33, $06, $73 ; CPU:$BC15 PRG:3C15 06 33 06 23 06 33 06 32 06 33 06 13 06 33 06 73 .byte $06, $33, $06, $13, $06, $33, $06, $32, $06, $33, $06, $03, $06, $33, $06, $73 ; CPU:$BC25 PRG:3C25 06 33 06 13 06 33 06 32 06 33 06 03 06 33 06 73 .byte $06, $33, $06, $03, $06, $33, $06, $32, $06, $33, $06, $B2, $06, $33, $06, $73 ; CPU:$BC35 PRG:3C35 06 33 06 03 06 33 06 32 06 33 06 B2 06 33 06 73 .byte $06, $33, $06, $B2, $06, $33, $06, $F0, $04, $0F, $7F, $40, $0E, $F0, $04, $06 ; CPU:$BC45 PRG:3C45 06 33 06 B2 06 33 06 F0 04 0F 7F 40 0E F0 04 06 .byte $7F, $40, $0C, $F0, $03, $08, $7F, $00, $33, $01, $43, $01, $53, $01, $63, $01 ; CPU:$BC55 PRG:3C55 7F 40 0C F0 03 08 7F 00 33 01 43 01 53 01 63 01 .byte $73, $01, $63, $01, $53, $01, $43, $01, $33, $01, $23, $01, $13, $01, $03, $01 ; CPU:$BC65 PRG:3C65 73 01 63 01 53 01 43 01 33 01 23 01 13 01 03 01 .byte $B2, $01, $A2, $01, $92, $01, $82, $01, $72, $01, $62, $01, $52, $01, $42, $01 ; CPU:$BC75 PRG:3C75 B2 01 A2 01 92 01 82 01 72 01 62 01 52 01 42 01 .byte $32, $01, $22, $01, $12, $01, $02, $01, $B1, $01, $A1, $01, $91, $01, $81, $01 ; CPU:$BC85 PRG:3C85 32 01 22 01 12 01 02 01 B1 01 A1 01 91 01 81 01 .byte $71, $01, $61, $01, $51, $01, $41, $01, $31, $01, $F0, $01, $1F, $7F, $28, $34 ; CPU:$BC95 PRG:3C95 71 01 61 01 51 01 41 01 31 01 F0 01 1F 7F 28 34 .byte $03, $A4, $03, $54, $03, $04, $03, $F0, $02, $1F, $7F, $28, $04, $03, $74, $03 ; CPU:$BCA5 PRG:3CA5 03 A4 03 54 03 04 03 F0 02 1F 7F 28 04 03 74 03 .byte $24, $03, $94, $03, $F0, $01, $DF, $7F, $10, $33, $08, $A2, $08, $72, $08, $32 ; CPU:$BCB5 PRG:3CB5 24 03 94 03 F0 01 DF 7F 10 33 08 A2 08 72 08 32 .byte $08, $72, $08, $A2, $08, $33, $08, $F0, $02, $DF, $7F, $10, $A2, $08, $72, $08 ; CPU:$BCC5 PRG:3CC5 08 72 08 A2 08 33 08 F0 02 DF 7F 10 A2 08 72 08 .byte $32, $08, $A1, $08, $32, $08, $72, $08, $A2, $08, $F0, $01, $9F, $7F, $28, $32 ; CPU:$BCD5 PRG:3CD5 32 08 A1 08 32 08 72 08 A2 08 F0 01 9F 7F 28 32 .byte $01, $50, $01, $42, $01, $50, $01, $32, $01, $60, $01, $42, $01, $60, $01, $32 ; CPU:$BCE5 PRG:3CE5 01 50 01 42 01 50 01 32 01 60 01 42 01 60 01 32 .byte $01, $70, $01, $42, $01, $70, $01, $32, $01, $90, $01, $42, $01, $90, $01, $32 ; CPU:$BCF5 PRG:3CF5 01 70 01 42 01 70 01 32 01 90 01 42 01 90 01 32 .byte $01, $50, $01, $42, $01, $50, $01, $32, $01, $60, $01, $42, $01, $60, $01, $32 ; CPU:$BD05 PRG:3D05 01 50 01 42 01 50 01 32 01 60 01 42 01 60 01 32 .byte $01, $70, $01, $42, $01, $70, $01, $32, $01, $90, $01, $42, $01, $90, $01, $F0 ; CPU:$BD15 PRG:3D15 01 70 01 42 01 70 01 32 01 90 01 42 01 90 01 F0 .byte $01, $01, $7F, $40, $33, $01, $43, $04, $F0, $02, $C1, $7F, $40, $43, $05, $F0 ; CPU:$BD25 PRG:3D25 01 01 7F 40 33 01 43 04 F0 02 C1 7F 40 43 05 F0 .byte $02, $94, $7F, $58, $32, $01, $22, $01, $12, $01, $02, $01, $B1, $01, $A1, $01 ; CPU:$BD35 PRG:3D35 02 94 7F 58 32 01 22 01 12 01 02 01 B1 01 A1 01 .byte $91, $01, $81, $01, $71, $01, $61, $01, $51, $01, $31, $06, $F0, $01, $9F, $7F ; CPU:$BD45 PRG:3D45 91 01 81 01 71 01 61 01 51 01 31 06 F0 01 9F 7F .byte $28, $52, $02, $82, $02, $A2, $02, $03, $02, $33, $02, $53, $02, $52, $02, $82 ; CPU:$BD55 PRG:3D55 28 52 02 82 02 A2 02 03 02 33 02 53 02 52 02 82 .byte $02, $A2, $02, $03, $02, $33, $02, $53, $02, $52, $02, $82, $02, $A2, $02, $03 ; CPU:$BD65 PRG:3D65 02 A2 02 03 02 33 02 53 02 52 02 82 02 A2 02 03 .byte $02, $33, $02, $53, $02, $F0, $01, $1F, $7F, $20, $82, $20, $C0, $08, $F5, $80 ; CPU:$BD75 PRG:3D75 02 33 02 53 02 F0 01 1F 7F 20 82 20 C0 08 F5 80 .byte $32, $08, $82, $08, $03, $08, $33, $08, $03, $08, $C0, $08, $82, $08, $A2, $08 ; CPU:$BD85 PRG:3D85 32 08 82 08 03 08 33 08 03 08 C0 08 82 08 A2 08 .byte $C0, $08, $A2, $08, $A2, $08, $C0, $08, $F5, $D8, $52, $10, $C0, $08, $F5, $80 ; CPU:$BD95 PRG:3D95 C0 08 A2 08 A2 08 C0 08 F5 D8 52 10 C0 08 F5 80 .byte $A2, $08, $82, $08, $C0, $08, $72, $08, $F5, $20, $82, $20, $C0, $08, $F5, $80 ; CPU:$BDA5 PRG:3DA5 A2 08 82 08 C0 08 72 08 F5 20 82 20 C0 08 F5 80 .byte $32, $08, $82, $08, $03, $08, $33, $08, $03, $08, $C0, $08, $82, $08, $92, $08 ; CPU:$BDB5 PRG:3DB5 32 08 82 08 03 08 33 08 03 08 C0 08 82 08 92 08 .byte $C0, $08, $92, $08, $92, $08, $C0, $08, $F5, $D0, $82, $38, $F0, $02, $1F, $7F ; CPU:$BDC5 PRG:3DC5 C0 08 92 08 92 08 C0 08 F5 D0 82 38 F0 02 1F 7F .byte $20, $02, $20, $C0, $08, $F5, $80, $02, $08, $02, $08, $32, $08, $82, $08, $32 ; CPU:$BDD5 PRG:3DD5 20 02 20 C0 08 F5 80 02 08 02 08 32 08 82 08 32 .byte $08, $C0, $08, $02, $08, $12, $08, $C0, $08, $12, $08, $12, $08, $C0, $08, $F5 ; CPU:$BDE5 PRG:3DE5 08 C0 08 02 08 12 08 C0 08 12 08 12 08 C0 08 F5 .byte $D8, $12, $10, $C0, $08, $F5, $80, $12, $08, $12, $08, $C0, $08, $12, $08, $F5 ; CPU:$BDF5 PRG:3DF5 D8 12 10 C0 08 F5 80 12 08 12 08 C0 08 12 08 F5 .byte $20, $02, $20, $C0, $08, $F5, $80, $02, $08, $02, $08, $02, $08, $02, $08, $02 ; CPU:$BE05 PRG:3E05 20 02 20 C0 08 F5 80 02 08 02 08 02 08 02 08 02 .byte $08, $C0, $08, $02, $08, $12, $08, $C0, $08, $12, $08, $12, $08, $C0, $08, $F5 ; CPU:$BE15 PRG:3E15 08 C0 08 02 08 12 08 C0 08 12 08 12 08 C0 08 F5 .byte $D0, $02, $38, $F0, $03, $10, $7F, $40, $81, $08, $81, $08, $81, $08, $81, $08 ; CPU:$BE25 PRG:3E25 D0 02 38 F0 03 10 7F 40 81 08 81 08 81 08 81 08 .byte $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08 ; CPU:$BE35 PRG:3E35 C0 10 81 08 81 08 81 08 81 08 C0 10 81 08 81 08 .byte $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10 ; CPU:$BE45 PRG:3E45 81 08 81 08 C0 10 81 08 81 08 81 08 81 08 C0 10 .byte $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08 ; CPU:$BE55 PRG:3E55 81 08 81 08 81 08 81 08 C0 10 81 08 81 08 81 08 .byte $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $08, $81, $38 ; CPU:$BE65 PRG:3E65 81 08 C0 10 81 08 81 08 81 08 81 08 C0 08 81 38 .byte $F0, $02, $1F, $7F, $28, $30, $01, $41, $01, $52, $01, $63, $01, $74, $01, $85 ; CPU:$BE75 PRG:3E75 F0 02 1F 7F 28 30 01 41 01 52 01 63 01 74 01 85 .byte $01, $F0, $01, $9A, $7F, $48, $33, $01, $63, $01, $93, $01, $93, $01, $43, $01 ; CPU:$BE85 PRG:3E85 01 F0 01 9A 7F 48 33 01 63 01 93 01 93 01 43 01 .byte $33, $01, $32, $02, $31, $02, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04 ; CPU:$BE95 PRG:3E95 33 01 32 02 31 02 31 04 30 04 31 04 30 04 31 04 .byte $30, $04, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04 ; CPU:$BEA5 PRG:3EA5 30 04 31 04 30 04 31 04 30 04 31 04 30 04 31 04 .byte $30, $04, $31, $04, $30, $04, $F0, $01, $1F, $7F, $28, $94, $01, $44, $01, $B4 ; CPU:$BEB5 PRG:3EB5 30 04 31 04 30 04 F0 01 1F 7F 28 94 01 44 01 B4 .byte $01, $64, $01, $F0, $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39 ; CPU:$BEC5 PRG:3EC5 01 64 01 F0 43 4F 50 59 52 49 47 48 54 20 31 39 .byte $38, $33, $20, $31, $39, $38, $34, $20, $4E, $41, $4D, $43, $4F, $20, $4C, $54 ; CPU:$BED5 PRG:3ED5 38 33 20 31 39 38 34 20 4E 41 4D 43 4F 20 4C 54 .byte $44, $2E, $20, $41, $4C, $4C, $20, $52, $49, $47, $48, $54, $53, $20, $52, $45 ; CPU:$BEE5 PRG:3EE5 44 2E 20 41 4C 4C 20 52 49 47 48 54 53 20 52 45 .byte $53, $45, $52, $56, $45, $44 ; CPU:$BEF5 PRG:3EF5 53 45 52 56 45 44 ; ----------------------------------------------------------------------------- ; Routine: GameModeDispatch ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameModeDispatch: lda GameMode ; CPU:$BEFB PRG:3EFB A5 10 beq Sub_BF4C ; CPU:$BEFD PRG:3EFD F0 4D ldx #$00 ; CPU:$BEFF PRG:3EFF A2 00 lda Zp60 ; CPU:$BF01 PRG:3F01 A5 60 beq Sub_BF08 ; CPU:$BF03 PRG:3F03 F0 03 jmp DispatchLdyJmp ; CPU:$BF05 PRG:3F05 4C DC F1 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF08 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF08: ldy #$00 ; CPU:$BF08 PRG:3F08 A0 00 lda #$18 ; CPU:$BF0A PRG:3F0A A9 18 sta ObjPtr ; CPU:$BF0C PRG:3F0C 85 13 lda ResetHi ; CPU:$BF0E PRG:3F0E A5 3C and #$01 ; CPU:$BF10 PRG:3F10 29 01 beq Sub_BF18 ; CPU:$BF12 PRG:3F12 F0 04 lda #$A8 ; CPU:$BF14 PRG:3F14 A9 A8 sta ObjPtr ; CPU:$BF16 PRG:3F16 85 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF18: lda #$F0 ; CPU:$BF18 PRG:3F18 A9 F0 sta $0700,y ; CPU:$BF1A PRG:3F1A 99 00 07 lda Zp80,x ; CPU:$BF1D PRG:3F1D B5 80 bne Sub_BF2A ; CPU:$BF1F PRG:3F1F D0 09 iny ; CPU:$BF21 PRG:3F21 C8 iny ; CPU:$BF22 PRG:3F22 C8 iny ; CPU:$BF23 PRG:3F23 C8 iny ; CPU:$BF24 PRG:3F24 C8 inx ; CPU:$BF25 PRG:3F25 E8 cpy #$18 ; CPU:$BF26 PRG:3F26 C0 18 bne Sub_BF18 ; CPU:$BF28 PRG:3F28 D0 EE ; ----------------------------------------------------------------------------- ; Routine: Sub_BF2A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF2A: lda #$18 ; CPU:$BF2A PRG:3F2A A9 18 sta $0700,y ; CPU:$BF2C PRG:3F2C 99 00 07 iny ; CPU:$BF2F PRG:3F2F C8 lda Zp80,x ; CPU:$BF30 PRG:3F30 B5 80 sta $0700,y ; CPU:$BF32 PRG:3F32 99 00 07 iny ; CPU:$BF35 PRG:3F35 C8 inx ; CPU:$BF36 PRG:3F36 E8 lda #$00 ; CPU:$BF37 PRG:3F37 A9 00 sta $0700,y ; CPU:$BF39 PRG:3F39 99 00 07 iny ; CPU:$BF3C PRG:3F3C C8 tya ; CPU:$BF3D PRG:3F3D 98 and #$FC ; CPU:$BF3E PRG:3F3E 29 FC asl a ; CPU:$BF40 PRG:3F40 0A clc ; CPU:$BF41 PRG:3F41 18 adc ObjPtr ; CPU:$BF42 PRG:3F42 65 13 sta $0700,y ; CPU:$BF44 PRG:3F44 99 00 07 iny ; CPU:$BF47 PRG:3F47 C8 cpy #$20 ; CPU:$BF48 PRG:3F48 C0 20 bne Sub_BF2A ; CPU:$BF4A PRG:3F4A D0 DE ; ----------------------------------------------------------------------------- ; Routine: Sub_BF4C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF4C: rts ; CPU:$BF4C PRG:3F4C 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpritesInit6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpritesInit6: stx Zp48 ; CPU:$BF4D PRG:3F4D 86 48 ldx #$06 ; CPU:$BF4F PRG:3F4F A2 06 jmp ObjSpriteLoop ; CPU:$BF51 PRG:3F51 4C 5F BF ; ----------------------------------------------------------------------------- ; Routine: ObjSpritesInit5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpritesInit5: stx Zp48 ; CPU:$BF54 PRG:3F54 86 48 ldx #$05 ; CPU:$BF56 PRG:3F56 A2 05 jmp ObjSpriteLoop ; CPU:$BF58 PRG:3F58 4C 5F BF ; ----------------------------------------------------------------------------- ; Routine: ObjSpritesInit4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpritesInit4: stx Zp48 ; CPU:$BF5B PRG:3F5B 86 48 ldx #$04 ; CPU:$BF5D PRG:3F5D A2 04 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteLoop: sty Zp49 ; CPU:$BF5F PRG:3F5F 84 49 ldy Zp60 ; CPU:$BF61 PRG:3F61 A4 60 bne ObjSpriteReturn ; CPU:$BF63 PRG:3F63 D0 60 clc ; CPU:$BF65 PRG:3F65 18 adc Zp80,x ; CPU:$BF66 PRG:3F66 75 80 ; ----------------------------------------------------------------------------- ; Routine: ObjCoordClamp ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjCoordClamp: cmp #$0A ; CPU:$BF68 PRG:3F68 C9 0A bcc Sub_BF82 ; CPU:$BF6A PRG:3F6A 90 16 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF6C: sec ; CPU:$BF6C PRG:3F6C 38 sbc #$0A ; CPU:$BF6D PRG:3F6D E9 0A inc Zp7F,x ; CPU:$BF6F PRG:3F6F F6 7F sta Zp80,x ; CPU:$BF71 PRG:3F71 95 80 cmp #$0A ; CPU:$BF73 PRG:3F73 C9 0A bcs Sub_BF6C ; CPU:$BF75 PRG:3F75 B0 F5 dex ; CPU:$BF77 PRG:3F77 CA txa ; CPU:$BF78 PRG:3F78 8A and #$07 ; CPU:$BF79 PRG:3F79 29 07 beq Sub_BF84 ; CPU:$BF7B PRG:3F7B F0 07 lda Zp80,x ; CPU:$BF7D PRG:3F7D B5 80 jmp ObjCoordClamp ; CPU:$BF7F PRG:3F7F 4C 68 BF ; ----------------------------------------------------------------------------- ; Routine: Sub_BF82 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF82: sta Zp80,x ; CPU:$BF82 PRG:3F82 95 80 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF84 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF84: ldy #$00 ; CPU:$BF84 PRG:3F84 A0 00 lda #$08 ; CPU:$BF86 PRG:3F86 A9 08 sta ObjUpdateFlag ; CPU:$BF88 PRG:3F88 85 0E ldx #$00 ; CPU:$BF8A PRG:3F8A A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_BF8C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF8C: lda Zp80,x ; CPU:$BF8C PRG:3F8C B5 80 cmp a:$004B,y ; CPU:$BF8E PRG:3F8E D9 4B 00 bcc ObjSpriteLoop2 ; CPU:$BF91 PRG:3F91 90 16 bne Sub_BF9E ; CPU:$BF93 PRG:3F93 D0 09 inx ; CPU:$BF95 PRG:3F95 E8 iny ; CPU:$BF96 PRG:3F96 C8 dec ObjUpdateFlag ; CPU:$BF97 PRG:3F97 C6 0E bne Sub_BF8C ; CPU:$BF99 PRG:3F99 D0 F1 jmp ObjSpriteLoop2 ; CPU:$BF9B PRG:3F9B 4C A9 BF ; ----------------------------------------------------------------------------- ; Routine: Sub_BF9E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BF9E: lda Zp80,x ; CPU:$BF9E PRG:3F9E B5 80 sta a:$004B,y ; CPU:$BFA0 PRG:3FA0 99 4B 00 inx ; CPU:$BFA3 PRG:3FA3 E8 iny ; CPU:$BFA4 PRG:3FA4 C8 dec ObjUpdateFlag ; CPU:$BFA5 PRG:3FA5 C6 0E bne Sub_BF9E ; CPU:$BFA7 PRG:3FA7 D0 F5 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteLoop2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteLoop2: ldx #$00 ; CPU:$BFA9 PRG:3FA9 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_BFAB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BFAB: lda Zp80,x ; CPU:$BFAB PRG:3FAB B5 80 cmp Zp88,x ; CPU:$BFAD PRG:3FAD D5 88 bcc ObjSpriteReturn ; CPU:$BFAF PRG:3FAF 90 14 bne Sub_BFB8 ; CPU:$BFB1 PRG:3FB1 D0 05 inx ; CPU:$BFB3 PRG:3FB3 E8 cpx #$04 ; CPU:$BFB4 PRG:3FB4 E0 04 bne Sub_BFAB ; CPU:$BFB6 PRG:3FB6 D0 F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_BFB8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_BFB8: inc Zp8D ; CPU:$BFB8 PRG:3FB8 E6 8D lda #$01 ; CPU:$BFBA PRG:3FBA A9 01 sta $0603 ; CPU:$BFBC PRG:3FBC 8D 03 06 sta $0604 ; CPU:$BFBF PRG:3FBF 8D 04 06 jsr ObjSpriteInit ; CPU:$BFC2 PRG:3FC2 20 CA BF ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteReturn ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteReturn: ldx Zp48 ; CPU:$BFC5 PRG:3FC5 A6 48 ldy Zp49 ; CPU:$BFC7 PRG:3FC7 A4 49 rts ; CPU:$BFC9 PRG:3FC9 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteInit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteInit: lda Zp8C ; CPU:$BFCA PRG:3FCA A5 8C bne ObjSpriteLoop3 ; CPU:$BFCC PRG:3FCC D0 1C lda #$01 ; CPU:$BFCE PRG:3FCE A9 01 sta Zp8C ; CPU:$BFD0 PRG:3FD0 85 8C ldx #$00 ; CPU:$BFD2 PRG:3FD2 A2 00 lda #$00 ; CPU:$BFD4 PRG:3FD4 A9 00 sta Zp88,x ; CPU:$BFD6 PRG:3FD6 95 88 inx ; CPU:$BFD8 PRG:3FD8 E8 sta Zp88,x ; CPU:$BFD9 PRG:3FD9 95 88 inx ; CPU:$BFDB PRG:3FDB E8 ldy #$00 ; CPU:$BFDC PRG:3FDC A0 00 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteCopyTable ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteCopyTable: lda a:$0055,y ; CPU:$BFDE PRG:3FDE B9 55 00 sta Zp88,x ; CPU:$BFE1 PRG:3FE1 95 88 inx ; CPU:$BFE3 PRG:3FE3 E8 iny ; CPU:$BFE4 PRG:3FE4 C8 cpy #$02 ; CPU:$BFE5 PRG:3FE5 C0 02 bne ObjSpriteCopyTable ; CPU:$BFE7 PRG:3FE7 D0 F5 rts ; CPU:$BFE9 PRG:3FE9 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteLoop3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteLoop3: ldx #$03 ; CPU:$BFEA PRG:3FEA A2 03 ldy #$02 ; CPU:$BFEC PRG:3FEC A0 02 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteAdjust ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteAdjust: lda a:$0054,y ; CPU:$BFEE PRG:3FEE B9 54 00 clc ; CPU:$BFF1 PRG:3FF1 18 adc Zp88,x ; CPU:$BFF2 PRG:3FF2 75 88 cmp #$0A ; CPU:$BFF4 PRG:3FF4 C9 0A bcc ObjSpriteStore ; CPU:$BFF6 PRG:3FF6 90 05 sec ; CPU:$BFF8 PRG:3FF8 38 sbc #$0A ; CPU:$BFF9 PRG:3FF9 E9 0A inc Zp87,x ; CPU:$BFFB PRG:3FFB F6 87 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteStore: sta Zp88,x ; CPU:$BFFD PRG:3FFD 95 88 dex ; CPU:$BFFF PRG:3FFF CA ; ---- data $C000-$C000 (1 bytes) ---- .byte $88 ; CPU:$C000 PRG:4000 88 bne ObjSpriteAdjust ; CPU:$C001 PRG:4001 D0 EB lda Zp88,x ; CPU:$C003 PRG:4003 B5 88 sec ; CPU:$C005 PRG:4005 38 sbc #$0A ; CPU:$C006 PRG:4006 E9 0A bcc Sub_C00E ; CPU:$C008 PRG:4008 90 04 sta Zp88,x ; CPU:$C00A PRG:400A 95 88 inc Zp87,x ; CPU:$C00C PRG:400C F6 87 ; ----------------------------------------------------------------------------- ; Routine: Sub_C00E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C00E: rts ; CPU:$C00E PRG:400E 60 ; ----------------------------------------------------------------------------- ; Routine: ObjNullRoutine ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjNullRoutine: rts ; CPU:$C00F PRG:400F 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpawnInit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpawnInit: lda #$00 ; CPU:$C010 PRG:4010 A9 00 sta Zp30 ; CPU:$C012 PRG:4012 85 30 stx Zp65 ; CPU:$C014 PRG:4014 86 65 lda #$80 ; CPU:$C016 PRG:4016 A9 80 ldx #$07 ; CPU:$C018 PRG:4018 A2 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_C01A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C01A: sta ZpD8,x ; CPU:$C01A PRG:401A 95 D8 dex ; CPU:$C01C PRG:401C CA bpl Sub_C01A ; CPU:$C01D PRG:401D 10 FB ldx Zp65 ; CPU:$C01F PRG:401F A6 65 rts ; CPU:$C021 PRG:4021 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C022 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C022: lda Zp8F ; CPU:$C022 PRG:4022 A5 8F clc ; CPU:$C024 PRG:4024 18 adc #$FE ; CPU:$C025 PRG:4025 69 FE bcs Sub_C02B ; CPU:$C027 PRG:4027 B0 02 lda #$00 ; CPU:$C029 PRG:4029 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C02B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C02B: sta Zp8F ; CPU:$C02B PRG:402B 85 8F rts ; CPU:$C02D PRG:402D 60 ; ----------------------------------------------------------------------------- ; Routine: ObjMoveY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjMoveY: lda Zp8F ; CPU:$C02E PRG:402E A5 8F sec ; CPU:$C030 PRG:4030 38 adc Zp40 ; CPU:$C031 PRG:4031 65 40 cmp #$80 ; CPU:$C033 PRG:4033 C9 80 bcc Sub_C03A ; CPU:$C035 PRG:4035 90 03 sec ; CPU:$C037 PRG:4037 38 sbc #$40 ; CPU:$C038 PRG:4038 E9 40 ; ----------------------------------------------------------------------------- ; Routine: Sub_C03A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C03A: sta Zp8F ; CPU:$C03A PRG:403A 85 8F ; ----------------------------------------------------------------------------- ; Routine: ObjMoveXSign ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjMoveXSign: asl a ; CPU:$C03C PRG:403C 0A tax ; CPU:$C03D PRG:403D AA bcs Sub_C04B ; CPU:$C03E PRG:403E B0 0B lda $C09E,x ; CPU:$C040 PRG:4040 BD 9E C0 sta Zp30 ; CPU:$C043 PRG:4043 85 30 lda $C09F,x ; CPU:$C045 PRG:4045 BD 9F C0 sta Zp31 ; CPU:$C048 PRG:4048 85 31 rts ; CPU:$C04A PRG:404A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C04B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C04B: lda $C0FE,x ; CPU:$C04B PRG:404B BD FE C0 sta Zp30 ; CPU:$C04E PRG:404E 85 30 lda $C0FF,x ; CPU:$C050 PRG:4050 BD FF C0 sta Zp31 ; CPU:$C053 PRG:4053 85 31 rts ; CPU:$C055 PRG:4055 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpawnInit2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpawnInit2: lda (Zp2A),y ; CPU:$C056 PRG:4056 B1 2A dey ; CPU:$C058 PRG:4058 88 dey ; CPU:$C059 PRG:4059 88 jmp ObjMoveXSign ; CPU:$C05A PRG:405A 4C 3C C0 ; ----------------------------------------------------------------------------- ; Routine: ObjSetPosition ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSetPosition: txa ; CPU:$C05D PRG:405D 8A pha ; CPU:$C05E PRG:405E 48 tya ; CPU:$C05F PRG:405F 98 pha ; CPU:$C060 PRG:4060 48 lda Zp83 ; CPU:$C061 PRG:4061 A5 83 asl a ; CPU:$C063 PRG:4063 0A asl a ; CPU:$C064 PRG:4064 0A asl a ; CPU:$C065 PRG:4065 0A asl a ; CPU:$C066 PRG:4066 0A adc Zp84 ; CPU:$C067 PRG:4067 65 84 sta ObjPtr ; CPU:$C069 PRG:4069 85 13 lda Zp81 ; CPU:$C06B PRG:406B A5 81 asl a ; CPU:$C06D PRG:406D 0A asl a ; CPU:$C06E PRG:406E 0A asl a ; CPU:$C06F PRG:406F 0A asl a ; CPU:$C070 PRG:4070 0A adc Zp82 ; CPU:$C071 PRG:4071 65 82 sta ObjectYLo ; CPU:$C073 PRG:4073 85 35 inc ObjectYLo ; CPU:$C075 PRG:4075 E6 35 lda Zp8E ; CPU:$C077 PRG:4077 A5 8E clc ; CPU:$C079 PRG:4079 18 adc #$01 ; CPU:$C07A PRG:407A 69 01 sta ObjectYHi ; CPU:$C07C PRG:407C 85 36 lda ObjPtr ; CPU:$C07E PRG:407E A5 13 ldy #$10 ; CPU:$C080 PRG:4080 A0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_C082 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C082: sec ; CPU:$C082 PRG:4082 38 sbc ObjectYHi ; CPU:$C083 PRG:4083 E5 36 bcs Sub_C08B ; CPU:$C085 PRG:4085 B0 04 dec ObjectYLo ; CPU:$C087 PRG:4087 C6 35 beq Sub_C090 ; CPU:$C089 PRG:4089 F0 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C08B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C08B: inc Zp8F ; CPU:$C08B PRG:408B E6 8F dey ; CPU:$C08D PRG:408D 88 bne Sub_C082 ; CPU:$C08E PRG:408E D0 F2 ; ----------------------------------------------------------------------------- ; Routine: Sub_C090 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C090: lda Zp8F ; CPU:$C090 PRG:4090 A5 8F bpl Sub_C099 ; CPU:$C092 PRG:4092 10 05 sec ; CPU:$C094 PRG:4094 38 sbc #$40 ; CPU:$C095 PRG:4095 E9 40 sta Zp8F ; CPU:$C097 PRG:4097 85 8F ; ----------------------------------------------------------------------------- ; Routine: Sub_C099 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C099: pla ; CPU:$C099 PRG:4099 68 tay ; CPU:$C09A PRG:409A A8 pla ; CPU:$C09B PRG:409B 68 tax ; CPU:$C09C PRG:409C AA ; ----------------------------------------------------------------------------- ; Routine: Sub_C09D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C09D: rts ; CPU:$C09D PRG:409D 60 ObjParamTable: ; Enemy/object parameter table (byte pairs read by lda $C09E,x/$C09F,x) ; ---- data $C09E-$C1FD (352 bytes) ---- ; referenced by `lda $C09E,x` at $C040 (operand $C09E falls inside this region) ; referenced by `lda $C09F,x` at $C045 (operand $C09F falls inside this region) ; referenced by `lda $C0FE,x` at $C04B (operand $C0FE falls inside this region) ; referenced by `lda $C0FF,x` at $C050 (operand $C0FF falls inside this region) ; referenced by `and $C1EF,x` at $D643 (operand $C1EF falls inside this region) .byte $03, $01, $03, $01, $03, $01, $04, $01, $04, $01, $04, $01, $05, $01, $05, $01 ; CPU:$C09E PRG:409E 03 01 03 01 03 01 04 01 04 01 04 01 05 01 05 01 .byte $05, $01, $02, $19, $02, $19, $02, $19, $04, $01, $04, $01, $04, $04, $04, $04 ; CPU:$C0AE PRG:40AE 05 01 02 19 02 19 02 19 04 01 04 01 04 04 04 04 .byte $04, $05, $04, $05, $05, $05, $05, $05, $06, $05, $06, $05, $03, $19, $03, $19 ; CPU:$C0BE PRG:40BE 04 05 04 05 05 05 05 05 06 05 06 05 03 19 03 19 .byte $04, $19, $04, $19, $05, $19, $05, $19, $03, $27, $03, $27, $04, $27, $04, $27 ; CPU:$C0CE PRG:40CE 04 19 04 19 05 19 05 19 03 27 03 27 04 27 04 27 .byte $05, $27, $05, $27, $03, $1F, $03, $1F, $04, $1F, $04, $1F, $05, $1F, $05, $1F ; CPU:$C0DE PRG:40DE 05 27 05 27 03 1F 03 1F 04 1F 04 1F 05 1F 05 1F .byte $03, $13, $03, $13, $04, $13, $04, $13, $05, $13, $05, $13, $03, $36, $03, $36 ; CPU:$C0EE PRG:40EE 03 13 03 13 04 13 04 13 05 13 05 13 03 36 03 36 .byte $03, $37, $03, $37, $04, $37, $04, $37, $03, $2D, $03, $2D, $04, $2D, $04, $2D ; CPU:$C0FE PRG:40FE 03 37 03 37 04 37 04 37 03 2D 03 2D 04 2D 04 2D .byte $05, $2D, $05, $2D, $04, $12, $04, $12, $04, $11, $04, $11, $05, $11, $05, $11 ; CPU:$C10E PRG:410E 05 2D 05 2D 04 12 04 12 04 11 04 11 05 11 05 11 .byte $05, $17, $05, $17, $06, $17, $06, $17, $02, $3C, $03, $3C, $03, $3C, $04, $3C ; CPU:$C11E PRG:411E 05 17 05 17 06 17 06 17 02 3C 03 3C 03 3C 04 3C .byte $04, $3C, $05, $3C, $05, $19, $05, $19, $06, $19, $06, $19, $02, $45, $03, $45 ; CPU:$C12E PRG:412E 04 3C 05 3C 05 19 05 19 06 19 06 19 02 45 03 45 .byte $03, $45, $04, $45, $04, $45, $05, $45, $05, $2D, $05, $2D, $06, $2D, $06, $2D ; CPU:$C13E PRG:413E 03 45 04 45 04 45 05 45 05 2D 05 2D 06 2D 06 2D .byte $04, $27, $04, $27, $05, $27, $05, $27, $06, $27, $06, $27, $05, $0D, $05, $0D ; CPU:$C14E PRG:414E 04 27 04 27 05 27 05 27 06 27 06 27 05 0D 05 0D .byte $06, $0D, $06, $0D, $02, $6D, $03, $6C, $03, $6C, $04, $6C, $04, $6C, $05, $6C ; CPU:$C15E PRG:415E 06 0D 06 0D 02 6D 03 6C 03 6C 04 6C 04 6C 05 6C .byte $06, $0D, $06, $0D, $06, $07, $06, $07, $06, $07, $06, $07, $02, $4E, $03, $4E ; CPU:$C16E PRG:416E 06 0D 06 0D 06 07 06 07 06 07 06 07 02 4E 03 4E .byte $03, $4E, $04, $4E, $04, $4E, $05, $4E, $06, $07, $06, $07, $06, $07, $06, $07 ; CPU:$C17E PRG:417E 03 4E 04 4E 04 4E 05 4E 06 07 06 07 06 07 06 07 .byte $01, $54, $02, $54, $06, $07, $06, $07, $06, $07, $06, $07, $01, $58, $02, $58 ; CPU:$C18E PRG:418E 01 54 02 54 06 07 06 07 06 07 06 07 01 58 02 58 .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$C19E PRG:419E 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$C1AE PRG:41AE 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .byte $04, $0B, $05, $0A, $06, $09, $06, $25, $06, $5C, $06, $29, $06, $5E, $06, $64 ; CPU:$C1BE PRG:41BE 04 0B 05 0A 06 09 06 25 06 5C 06 29 06 5E 06 64 .byte $06, $66, $06, $72, $04, $30, $04, $31, $05, $30, $06, $30, $06, $3F, $06, $48 ; CPU:$C1CE PRG:41CE 06 66 06 72 04 30 04 31 05 30 06 30 06 3F 06 48 .byte $06, $4B, $02, $54, $03, $54, $04, $54, $02, $58, $03, $58, $04, $58, $04, $58 ; CPU:$C1DE PRG:41DE 06 4B 02 54 03 54 04 54 02 58 03 58 04 58 04 58 .byte $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58 ; CPU:$C1EE PRG:41EE 04 58 04 58 04 58 04 58 04 58 04 58 04 58 04 58 ; ----------------------------------------------------------------------------- ; Routine: ObjInitCall ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjInitCall: lda Zp32 ; CPU:$C1FE PRG:41FE A5 32 bne Sub_C203 ; CPU:$C200 PRG:4200 D0 01 rts ; CPU:$C202 PRG:4202 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C203 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C203: lda Zp3E ; CPU:$C203 PRG:4203 A5 3E beq Sub_C22D ; CPU:$C205 PRG:4205 F0 26 ldx #$00 ; CPU:$C207 PRG:4207 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C209 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C209: lda ZpD8,x ; CPU:$C209 PRG:4209 B5 D8 beq Sub_C213 ; CPU:$C20B PRG:420B F0 06 inx ; CPU:$C20D PRG:420D E8 cpx #$07 ; CPU:$C20E PRG:420E E0 07 bne Sub_C209 ; CPU:$C210 PRG:4210 D0 F7 rts ; CPU:$C212 PRG:4212 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C213 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C213: stx ObjPtr ; CPU:$C213 PRG:4213 86 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_C215 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C215: inx ; CPU:$C215 PRG:4215 E8 lda ZpD8,x ; CPU:$C216 PRG:4216 B5 D8 beq Sub_C21F ; CPU:$C218 PRG:4218 F0 05 cpx #$07 ; CPU:$C21A PRG:421A E0 07 bne Sub_C215 ; CPU:$C21C PRG:421C D0 F7 rts ; CPU:$C21E PRG:421E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C21F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C21F: sta Zp3E ; CPU:$C21F PRG:421F 85 3E ldy ObjPtr ; CPU:$C221 PRG:4221 A4 13 lda #$25 ; CPU:$C223 PRG:4223 A9 25 sta a:$00D8,y ; CPU:$C225 PRG:4225 99 D8 00 lda #$27 ; CPU:$C228 PRG:4228 A9 27 sta ZpD8,x ; CPU:$C22A PRG:422A 95 D8 rts ; CPU:$C22C PRG:422C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C22D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C22D: lda Zp44 ; CPU:$C22D PRG:422D A5 44 beq Sub_C23A ; CPU:$C22F PRG:422F F0 09 lda #$00 ; CPU:$C231 PRG:4231 A9 00 sta Zp44 ; CPU:$C233 PRG:4233 85 44 lda #$23 ; CPU:$C235 PRG:4235 A9 23 jsr ObjPushX ; CPU:$C237 PRG:4237 20 7D C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_C23A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C23A: lda Zp3F ; CPU:$C23A PRG:423A A5 3F beq Sub_C249 ; CPU:$C23C PRG:423C F0 0B lda GameSubMode ; CPU:$C23E PRG:423E A5 1B and Zp41 ; CPU:$C240 PRG:4240 25 41 bne Sub_C249 ; CPU:$C242 PRG:4242 D0 05 dec Zp3F ; CPU:$C244 PRG:4244 C6 3F jsr ObjSubRoutine ; CPU:$C246 PRG:4246 20 65 C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_C249 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C249: lda Zp30 ; CPU:$C249 PRG:4249 A5 30 bne Sub_C24E ; CPU:$C24B PRG:424B D0 01 rts ; CPU:$C24D PRG:424D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C24E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C24E: ldx #$00 ; CPU:$C24E PRG:424E A2 00 lda Zp31 ; CPU:$C250 PRG:4250 A5 31 and #$7F ; CPU:$C252 PRG:4252 29 7F tay ; CPU:$C254 PRG:4254 A8 lda Zp30 ; CPU:$C255 PRG:4255 A5 30 sta ObjUpdateFlag ; CPU:$C257 PRG:4257 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_C259 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C259: lda $C28F,y ; CPU:$C259 PRG:4259 B9 8F C2 sta ZpD8,x ; CPU:$C25C PRG:425C 95 D8 iny ; CPU:$C25E PRG:425E C8 inx ; CPU:$C25F PRG:425F E8 dec ObjUpdateFlag ; CPU:$C260 PRG:4260 C6 0E bne Sub_C259 ; CPU:$C262 PRG:4262 D0 F5 rts ; CPU:$C264 PRG:4264 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSubRoutine ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSubRoutine: ldx #$07 ; CPU:$C265 PRG:4265 A2 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_C267 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C267: lda ZpD8,x ; CPU:$C267 PRG:4267 B5 D8 beq Sub_C26F ; CPU:$C269 PRG:4269 F0 04 dex ; CPU:$C26B PRG:426B CA bne Sub_C267 ; CPU:$C26C PRG:426C D0 F9 rts ; CPU:$C26E PRG:426E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C26F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C26F: lda #$29 ; CPU:$C26F PRG:426F A9 29 sta ZpD8,x ; CPU:$C271 PRG:4271 95 D8 rts ; CPU:$C273 PRG:4273 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C274 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C274: lda (Zp2A),y ; CPU:$C274 PRG:4274 B1 2A iny ; CPU:$C276 PRG:4276 C8 iny ; CPU:$C277 PRG:4277 C8 jmp ObjPushX ; CPU:$C278 PRG:4278 4C 7D C2 ; ----------------------------------------------------------------------------- ; Routine: ObjSubRoutine2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSubRoutine2: lda #$07 ; CPU:$C27B PRG:427B A9 07 ; ----------------------------------------------------------------------------- ; Routine: ObjPushX ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjPushX: pha ; CPU:$C27D PRG:427D 48 ldx #$00 ; CPU:$C27E PRG:427E A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C280 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C280: lda ZpD8,x ; CPU:$C280 PRG:4280 B5 D8 beq Sub_C28B ; CPU:$C282 PRG:4282 F0 07 inx ; CPU:$C284 PRG:4284 E8 cpx #$08 ; CPU:$C285 PRG:4285 E0 08 bne Sub_C280 ; CPU:$C287 PRG:4287 D0 F7 pla ; CPU:$C289 PRG:4289 68 rts ; CPU:$C28A PRG:428A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C28B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C28B: pla ; CPU:$C28B PRG:428B 68 sta ZpD8,x ; CPU:$C28C PRG:428C 95 D8 rts ; CPU:$C28E PRG:428E 60 ObjInitDirTable: ; Object initial direction/speed table (read by lda $C28F,y during object init) ; ---- data $C28F-$C304 (118 bytes) ---- ; referenced by `lda $C28F,y` at $C259 (operand $C28F falls inside this region) .byte $00, $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $19, $19, $19 ; CPU:$C28F PRG:428F 00 01 01 01 01 01 01 03 03 03 03 03 03 19 19 19 .byte $19, $19, $19, $05, $05, $05, $05, $05, $05, $07, $07, $07, $07, $07, $07, $09 ; CPU:$C29F PRG:429F 19 19 19 05 05 05 05 05 05 07 07 07 07 07 07 09 .byte $09, $09, $09, $09, $09, $03, $03, $0F, $0F, $0F, $0F, $0F, $0F, $0B, $0B, $0B ; CPU:$C2AF PRG:42AF 09 09 09 09 09 03 03 0F 0F 0F 0F 0F 0F 0B 0B 0B .byte $0B, $0B, $0B, $0D, $0D, $0D, $11, $11, $11, $13, $13, $13, $15, $15, $15, $15 ; CPU:$C2BF PRG:42BF 0B 0B 0B 0D 0D 0D 11 11 11 13 13 13 15 15 15 15 .byte $15, $15, $15, $15, $15, $1B, $1B, $1B, $1B, $1B, $1B, $15, $15, $15, $1D, $1D ; CPU:$C2CF PRG:42CF 15 15 15 15 15 1B 1B 1B 1B 1B 1B 15 15 15 1D 1D .byte $1D, $1D, $1D, $1D, $1F, $1F, $1F, $1F, $21, $21, $21, $21, $07, $07, $0F, $0F ; CPU:$C2DF PRG:42DF 1D 1D 1D 1D 1F 1F 1F 1F 21 21 21 21 07 07 0F 0F .byte $0F, $0F, $19, $19, $1B, $1B, $0F, $0F, $0F, $0F, $1D, $1D, $15, $15, $17, $17 ; CPU:$C2EF PRG:42EF 0F 0F 19 19 1B 1B 0F 0F 0F 0F 1D 1D 15 15 17 17 .byte $17, $17, $0F, $0F, $0F, $0F ; CPU:$C2FF PRG:42FF 17 17 0F 0F 0F 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_C305 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C305: ora $1D0D ; CPU:$C305 PRG:4305 0D 0D 1D ora $1D1D,x ; CPU:$C308 PRG:4308 1D 1D 1D ora $1D1D,x ; CPU:$C30B PRG:430B 1D 1D 1D ; ---- data $C30E-$C30E (1 bytes) ---- .byte $1D ; CPU:$C30E PRG:430E 1D ; ----------------------------------------------------------------------------- ; Routine: Sub_C30F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C30F: ldx #$00 ; CPU:$C30F PRG:430F A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C311 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C311: lda $0500,x ; CPU:$C311 PRG:4311 BD 00 05 beq Sub_C322 ; CPU:$C314 PRG:4314 F0 0C txa ; CPU:$C316 PRG:4316 8A clc ; CPU:$C317 PRG:4317 18 adc #$10 ; CPU:$C318 PRG:4318 69 10 tax ; CPU:$C31A PRG:431A AA cpx #$80 ; CPU:$C31B PRG:431B E0 80 bne Sub_C311 ; CPU:$C31D PRG:431D D0 F2 iny ; CPU:$C31F PRG:431F C8 iny ; CPU:$C320 PRG:4320 C8 rts ; CPU:$C321 PRG:4321 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C322 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C322: lda #$01 ; CPU:$C322 PRG:4322 A9 01 sta $0500,x ; CPU:$C324 PRG:4324 9D 00 05 lda #$04 ; CPU:$C327 PRG:4327 A9 04 sta $050F,x ; CPU:$C329 PRG:4329 9D 0F 05 lda #$00 ; CPU:$C32C PRG:432C A9 00 sta $0501,x ; CPU:$C32E PRG:432E 9D 01 05 sta $0503,x ; CPU:$C331 PRG:4331 9D 03 05 sta $0505,x ; CPU:$C334 PRG:4334 9D 05 05 sta $0508,x ; CPU:$C337 PRG:4337 9D 08 05 sta $050C,x ; CPU:$C33A PRG:433A 9D 0C 05 lda (Zp2A),y ; CPU:$C33D PRG:433D B1 2A sta $0504,x ; CPU:$C33F PRG:433F 9D 04 05 iny ; CPU:$C342 PRG:4342 C8 lda #$FF ; CPU:$C343 PRG:4343 A9 FF sta $0506,x ; CPU:$C345 PRG:4345 9D 06 05 lda #$F1 ; CPU:$C348 PRG:4348 A9 F1 sta $0507,x ; CPU:$C34A PRG:434A 9D 07 05 lda (Zp2A),y ; CPU:$C34D PRG:434D B1 2A iny ; CPU:$C34F PRG:434F C8 sty Zp2C ; CPU:$C350 PRG:4350 84 2C tay ; CPU:$C352 PRG:4352 A8 lda $A8F5,y ; CPU:$C353 PRG:4353 B9 F5 A8 sta $050A,x ; CPU:$C356 PRG:4356 9D 0A 05 lda $A8F6,y ; CPU:$C359 PRG:4359 B9 F6 A8 sta $050B,x ; CPU:$C35C PRG:435C 9D 0B 05 ldy Zp2C ; CPU:$C35F PRG:435F A4 2C jmp ObjSpriteAttrs ; CPU:$C361 PRG:4361 4C A0 C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_C364 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C364: jsr ObjSpriteSetup ; CPU:$C364 PRG:4364 20 76 C3 lda #$00 ; CPU:$C367 PRG:4367 A9 00 sta $050E,x ; CPU:$C369 PRG:4369 9D 0E 05 rts ; CPU:$C36C PRG:436C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C36D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C36D: jsr ObjSpriteSetup ; CPU:$C36D PRG:436D 20 76 C3 lda #$01 ; CPU:$C370 PRG:4370 A9 01 sta $050E,x ; CPU:$C372 PRG:4372 9D 0E 05 rts ; CPU:$C375 PRG:4375 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteSetup ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteSetup: ldx #$00 ; CPU:$C376 PRG:4376 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C378 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C378: lda $0500,x ; CPU:$C378 PRG:4378 BD 00 05 beq Sub_C38B ; CPU:$C37B PRG:437B F0 0E txa ; CPU:$C37D PRG:437D 8A clc ; CPU:$C37E PRG:437E 18 adc #$10 ; CPU:$C37F PRG:437F 69 10 tax ; CPU:$C381 PRG:4381 AA cpx #$80 ; CPU:$C382 PRG:4382 E0 80 bne Sub_C378 ; CPU:$C384 PRG:4384 D0 F2 iny ; CPU:$C386 PRG:4386 C8 iny ; CPU:$C387 PRG:4387 C8 pla ; CPU:$C388 PRG:4388 68 pla ; CPU:$C389 PRG:4389 68 rts ; CPU:$C38A PRG:438A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C38B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C38B: lda #$00 ; CPU:$C38B PRG:438B A9 00 sta $0503,x ; CPU:$C38D PRG:438D 9D 03 05 sta $0505,x ; CPU:$C390 PRG:4390 9D 05 05 sta $0508,x ; CPU:$C393 PRG:4393 9D 08 05 lda #$0B ; CPU:$C396 PRG:4396 A9 0B sta $050C,x ; CPU:$C398 PRG:4398 9D 0C 05 lda (Zp2A),y ; CPU:$C39B PRG:439B B1 2A sta $0504,x ; CPU:$C39D PRG:439D 9D 04 05 iny ; CPU:$C3A0 PRG:43A0 C8 lda #$FF ; CPU:$C3A1 PRG:43A1 A9 FF sta $0506,x ; CPU:$C3A3 PRG:43A3 9D 06 05 lda (Zp2A),y ; CPU:$C3A6 PRG:43A6 B1 2A and #$0F ; CPU:$C3A8 PRG:43A8 29 0F sta $0500,x ; CPU:$C3AA PRG:43AA 9D 00 05 sec ; CPU:$C3AD PRG:43AD 38 sbc #$05 ; CPU:$C3AE PRG:43AE E9 05 sta $050F,x ; CPU:$C3B0 PRG:43B0 9D 0F 05 lda (Zp2A),y ; CPU:$C3B3 PRG:43B3 B1 2A iny ; CPU:$C3B5 PRG:43B5 C8 lsr a ; CPU:$C3B6 PRG:43B6 4A lsr a ; CPU:$C3B7 PRG:43B7 4A lsr a ; CPU:$C3B8 PRG:43B8 4A lsr a ; CPU:$C3B9 PRG:43B9 4A clc ; CPU:$C3BA PRG:43BA 18 adc #$F1 ; CPU:$C3BB PRG:43BB 69 F1 sta $0507,x ; CPU:$C3BD PRG:43BD 9D 07 05 lda #$00 ; CPU:$C3C0 PRG:43C0 A9 00 sta $050E,x ; CPU:$C3C2 PRG:43C2 9D 0E 05 rts ; CPU:$C3C5 PRG:43C5 60 ; ----------------------------------------------------------------------------- ; Routine: ObjDrawCall ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjDrawCall: ldx #$00 ; CPU:$C3C6 PRG:43C6 A2 00 stx Zp2E ; CPU:$C3C8 PRG:43C8 86 2E lda GameSubMode ; CPU:$C3CA PRG:43CA A5 1B and #$01 ; CPU:$C3CC PRG:43CC 29 01 bne Sub_C407 ; CPU:$C3CE PRG:43CE D0 37 ; ----------------------------------------------------------------------------- ; Routine: Sub_C3D0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C3D0: lda $0507,x ; CPU:$C3D0 PRG:43D0 BD 07 05 clc ; CPU:$C3D3 PRG:43D3 18 adc Zp25 ; CPU:$C3D4 PRG:43D4 65 25 bcc Sub_C3E2 ; CPU:$C3D6 PRG:43D6 90 0A inc $0506,x ; CPU:$C3D8 PRG:43D8 FE 06 05 beq Sub_C3E2 ; CPU:$C3DB PRG:43DB F0 05 lda #$00 ; CPU:$C3DD PRG:43DD A9 00 sta $0500,x ; CPU:$C3DF PRG:43DF 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C3E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C3E2: sta $0507,x ; CPU:$C3E2 PRG:43E2 9D 07 05 jsr ObjSpriteAttr ; CPU:$C3E5 PRG:43E5 20 2D C4 txa ; CPU:$C3E8 PRG:43E8 8A clc ; CPU:$C3E9 PRG:43E9 18 adc #$10 ; CPU:$C3EA PRG:43EA 69 10 tax ; CPU:$C3EC PRG:43EC AA cpx #$80 ; CPU:$C3ED PRG:43ED E0 80 bne Sub_C3D0 ; CPU:$C3EF PRG:43EF D0 DF ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteCheck: ldx #$00 ; CPU:$C3F1 PRG:43F1 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C3F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C3F3: lda $0500,x ; CPU:$C3F3 PRG:43F3 BD 00 05 cmp #$04 ; CPU:$C3F6 PRG:43F6 C9 04 bne Sub_C3FD ; CPU:$C3F8 PRG:43F8 D0 03 jsr ObjSpriteIndex ; CPU:$C3FA PRG:43FA 20 99 C6 ; ----------------------------------------------------------------------------- ; Routine: Sub_C3FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C3FD: txa ; CPU:$C3FD PRG:43FD 8A clc ; CPU:$C3FE PRG:43FE 18 adc #$10 ; CPU:$C3FF PRG:43FF 69 10 tax ; CPU:$C401 PRG:4401 AA cpx #$80 ; CPU:$C402 PRG:4402 E0 80 bne Sub_C3F3 ; CPU:$C404 PRG:4404 D0 ED rts ; CPU:$C406 PRG:4406 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C407 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C407: ldx #$70 ; CPU:$C407 PRG:4407 A2 70 ; ----------------------------------------------------------------------------- ; Routine: Sub_C409 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C409: lda $0507,x ; CPU:$C409 PRG:4409 BD 07 05 clc ; CPU:$C40C PRG:440C 18 adc Zp25 ; CPU:$C40D PRG:440D 65 25 bcc Sub_C41B ; CPU:$C40F PRG:440F 90 0A inc $0506,x ; CPU:$C411 PRG:4411 FE 06 05 beq Sub_C41B ; CPU:$C414 PRG:4414 F0 05 lda #$00 ; CPU:$C416 PRG:4416 A9 00 sta $0500,x ; CPU:$C418 PRG:4418 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C41B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C41B: sta $0507,x ; CPU:$C41B PRG:441B 9D 07 05 jsr ObjSpriteAttr ; CPU:$C41E PRG:441E 20 2D C4 txa ; CPU:$C421 PRG:4421 8A sec ; CPU:$C422 PRG:4422 38 sbc #$10 ; CPU:$C423 PRG:4423 E9 10 tax ; CPU:$C425 PRG:4425 AA cpx #$F0 ; CPU:$C426 PRG:4426 E0 F0 bne Sub_C409 ; CPU:$C428 PRG:4428 D0 DF jmp ObjSpriteCheck ; CPU:$C42A PRG:442A 4C F1 C3 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteAttr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteAttr: lda $0500,x ; CPU:$C42D PRG:442D BD 00 05 and #$1F ; CPU:$C430 PRG:4430 29 1F sta $0500,x ; CPU:$C432 PRG:4432 9D 00 05 asl a ; CPU:$C435 PRG:4435 0A tay ; CPU:$C436 PRG:4436 A8 lda $C441,y ; CPU:$C437 PRG:4437 B9 41 C4 pha ; CPU:$C43A PRG:443A 48 ; ----------------------------------------------------------------------------- ; Routine: Sub_C43B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C43B: lda $C440,y ; CPU:$C43B PRG:443B B9 40 C4 pha ; CPU:$C43E PRG:443E 48 rts ; CPU:$C43F PRG:443F 60 ; ---- data $C440-$C444 (5 bytes) ---- ; referenced by `lda $C441,y` at $C437 (operand $C441 falls inside this region) ; referenced by `lda $C440,y` at $C43B (operand $C440 falls inside this region) .byte $3E, $C4, $D0, $C5, $12 ; CPU:$C440 PRG:4440 3E C4 D0 C5 12 ; ----------------------------------------------------------------------------- ; Routine: Sub_C445 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C445: dec Zp5E ; CPU:$C445 PRG:4445 C6 5E dec Zp3E ; CPU:$C447 PRG:4447 C6 3E cpy Zp7B ; CPU:$C449 PRG:4449 C4 7B dec Zp6C ; CPU:$C44B PRG:444B C6 6C cpy Zp69 ; CPU:$C44D PRG:444D C4 69 cpy Zp77 ; CPU:$C44F PRG:444F C4 77 cpy Zp8E ; CPU:$C451 PRG:4451 C4 8E cpy ZpC3 ; CPU:$C453 PRG:4453 C4 C3 ; ----------------------------------------------------------------------------- ; Routine: Sub_C455 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C455: cpy ZpC6 ; CPU:$C455 PRG:4455 C4 C6 cpy ZpC3 ; CPU:$C457 PRG:4457 C4 C3 cpy Zp8B ; CPU:$C459 PRG:4459 C4 8B cpy ZpAD ; CPU:$C45B PRG:445B C4 AD cpy Joypad2Cur2 ; CPU:$C45D PRG:445D C4 0A cmp NmiFrameFlag ; CPU:$C45F PRG:445F C5 0D cmp Zp52 ; CPU:$C461 PRG:4461 C5 52 cmp Zp3A ; CPU:$C463 PRG:4463 C5 3A cmp Zp52 ; CPU:$C465 PRG:4465 C5 52 cmp Zp25 ; CPU:$C467 PRG:4467 C5 25 cmp Zp20 ; CPU:$C469 PRG:4469 C5 20 adc $20C5,y ; CPU:$C46B PRG:446B 79 C5 20 ldy ZpC6,x ; CPU:$C46E PRG:446E B4 C6 lda $0500,x ; CPU:$C470 PRG:4470 BD 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C473 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C473: bmi Sub_C4E6 ; CPU:$C473 PRG:4473 30 71 jmp ObjCommonUpdate ; CPU:$C475 PRG:4475 4C D8 C7 ; ---- data $C478-$C47C (5 bytes) ---- .byte $20, $B4, $C6, $BD, $00 ; CPU:$C478 PRG:4478 20 B4 C6 BD 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C47D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C47D: ora Zp30 ; CPU:$C47D PRG:447D 05 30 ror Zp29 ; CPU:$C47F PRG:447F 66 29 rti ; CPU:$C481 PRG:4481 40 ; ---- data $C482-$C499 (24 bytes) ---- .byte $F0, $05, $A9, $07, $9D, $00, $05, $4C, $D8, $C7, $20, $79, $C5, $20, $B4, $C6 ; CPU:$C482 PRG:4482 F0 05 A9 07 9D 00 05 4C D8 C7 20 79 C5 20 B4 C6 .byte $BD, $00, $05, $30, $4F, $29, $20, $F0 ; CPU:$C492 PRG:4492 BD 00 05 30 4F 29 20 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_C49A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C49A: bpl Sub_C445 ; CPU:$C49A PRG:449A 10 A9 bvc Sub_C43B ; CPU:$C49C PRG:449C 50 9D ora #$05 ; CPU:$C49E PRG:449E 09 05 lda $0500,x ; CPU:$C4A0 PRG:44A0 BD 00 05 and #$1F ; CPU:$C4A3 PRG:44A3 29 1F clc ; CPU:$C4A5 PRG:44A5 18 adc #$06 ; CPU:$C4A6 PRG:44A6 69 06 sta $0500,x ; CPU:$C4A8 PRG:44A8 9D 00 05 jmp ObjCommonUpdate ; CPU:$C4AB PRG:44AB 4C D8 C7 ; ---- data $C4AE-$C4D1 (36 bytes) ---- .byte $20, $B4, $C6, $BD, $00, $05, $30, $30, $29, $20, $F0, $F1, $A9, $38, $9D, $09 ; CPU:$C4AE PRG:44AE 20 B4 C6 BD 00 05 30 30 29 20 F0 F1 A9 38 9D 09 .byte $05, $A9, $14, $4C, $20, $C5, $20, $79, $C5, $20, $B4, $C6, $BD, $00, $05, $30 ; CPU:$C4BE PRG:44BE 05 A9 14 4C 20 C5 20 79 C5 20 B4 C6 BD 00 05 30 .byte $17, $29, $40, $F0 ; CPU:$C4CE PRG:44CE 17 29 40 F0 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4D2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C4D2: bpl Sub_C47D ; CPU:$C4D2 PRG:44D2 10 A9 bvc Sub_C473 ; CPU:$C4D4 PRG:44D4 50 9D ora #$05 ; CPU:$C4D6 PRG:44D6 09 05 lda $0500,x ; CPU:$C4D8 PRG:44D8 BD 00 05 and #$1F ; CPU:$C4DB PRG:44DB 29 1F clc ; CPU:$C4DD PRG:44DD 18 adc #$06 ; CPU:$C4DE PRG:44DE 69 06 sta $0500,x ; CPU:$C4E0 PRG:44E0 9D 00 05 jmp ObjCommonUpdate ; CPU:$C4E3 PRG:44E3 4C D8 C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4E6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C4E6: lda $050E,x ; CPU:$C4E6 PRG:44E6 BD 0E 05 bne Sub_C4FB ; CPU:$C4E9 PRG:44E9 D0 10 lda #$03 ; CPU:$C4EB PRG:44EB A9 03 sta $0500,x ; CPU:$C4ED PRG:44ED 9D 00 05 lda #$05 ; CPU:$C4F0 PRG:44F0 A9 05 ; ---- data $C4F2-$C4F3 (2 bytes) ---- .byte $9D, $0C ; CPU:$C4F2 PRG:44F2 9D 0C ; ----------------------------------------------------------------------------- ; Routine: Sub_C4F4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C4F4: ora ZpA9 ; CPU:$C4F4 PRG:44F4 05 A9 php ; CPU:$C4F6 PRG:44F6 08 sta $050D,x ; CPU:$C4F7 PRG:44F7 9D 0D 05 rts ; CPU:$C4FA PRG:44FA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4FB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C4FB: lda #$05 ; CPU:$C4FB PRG:44FB A9 05 ; ---- data $C4FD-$C4FE (2 bytes) ---- .byte $9D, $00 ; CPU:$C4FD PRG:44FD 9D 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C4FF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C4FF: ora ZpA9 ; CPU:$C4FF PRG:44FF 05 A9 asl $0C9D ; CPU:$C501 PRG:4501 0E 9D 0C ora ZpA9 ; CPU:$C504 PRG:4504 05 A9 php ; CPU:$C506 PRG:4506 08 sta $050D,x ; CPU:$C507 PRG:4507 9D 0D 05 rts ; CPU:$C50A PRG:450A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C50B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C50B: jsr ObjXUpdate ; CPU:$C50B PRG:450B 20 79 C5 jsr ObjSpriteY ; CPU:$C50E PRG:450E 20 B4 C6 lda $0500,x ; CPU:$C511 PRG:4511 BD 00 05 bmi Sub_C4E6 ; CPU:$C514 PRG:4514 30 D0 dec $0509,x ; CPU:$C516 PRG:4516 DE 09 05 bne Sub_C523 ; CPU:$C519 PRG:4519 D0 08 and #$1F ; CPU:$C51B PRG:451B 29 1F sec ; CPU:$C51D PRG:451D 38 sbc #$09 ; CPU:$C51E PRG:451E E9 09 sta $0500,x ; CPU:$C520 PRG:4520 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C523 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C523: jmp ObjCommonUpdate ; CPU:$C523 PRG:4523 4C D8 C7 ; ---- data $C526-$C53A (21 bytes) ---- .byte $20, $74, $C5, $20, $B4, $C6, $BD, $00, $05, $30, $B5, $DE, $09, $05, $D0, $3B ; CPU:$C526 PRG:4526 20 74 C5 20 B4 C6 BD 00 05 30 B5 DE 09 05 D0 3B .byte $A9, $0E, $4C, $20, $C5 ; CPU:$C536 PRG:4536 A9 0E 4C 20 C5 ; ----------------------------------------------------------------------------- ; Routine: Sub_C53B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C53B: jsr ObjYUpdate ; CPU:$C53B PRG:453B 20 74 C5 jsr ObjSpriteY ; CPU:$C53E PRG:453E 20 B4 C6 lda $0500,x ; CPU:$C541 PRG:4541 BD 00 05 bmi Sub_C4E6 ; CPU:$C544 PRG:4544 30 A0 dec $0509,x ; CPU:$C546 PRG:4546 DE 09 05 bne Sub_C571 ; CPU:$C549 PRG:4549 D0 26 and #$1F ; CPU:$C54B PRG:454B 29 1F sec ; CPU:$C54D PRG:454D 38 sbc #$0E ; CPU:$C54E PRG:454E E9 0E jmp ObjYCheck ; CPU:$C550 PRG:4550 4C 68 C5 ; ---- data $C553-$C567 (21 bytes) ---- .byte $20, $A3, $C5, $20, $B4, $C6, $BD, $00, $05, $30, $88, $DE, $09, $05, $D0, $C0 ; CPU:$C553 PRG:4553 20 A3 C5 20 B4 C6 BD 00 05 30 88 DE 09 05 D0 C0 .byte $29, $1F, $38, $E9, $0B ; CPU:$C563 PRG:4563 29 1F 38 E9 0B ; ----------------------------------------------------------------------------- ; Routine: ObjYCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjYCheck: cmp #$06 ; CPU:$C568 PRG:4568 C9 06 beq Sub_C56E ; CPU:$C56A PRG:456A F0 02 lda #$07 ; CPU:$C56C PRG:456C A9 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_C56E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C56E: sta $0500,x ; CPU:$C56E PRG:456E 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C571 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C571: jmp ObjCommonUpdate ; CPU:$C571 PRG:4571 4C D8 C7 ; ----------------------------------------------------------------------------- ; Routine: ObjYUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjYUpdate: lda #$E0 ; CPU:$C574 PRG:4574 A9 E0 jmp ObjXUpdate2 ; CPU:$C576 PRG:4576 4C 7B C5 ; ----------------------------------------------------------------------------- ; Routine: ObjXUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjXUpdate: lda #$60 ; CPU:$C579 PRG:4579 A9 60 ; ----------------------------------------------------------------------------- ; Routine: ObjXUpdate2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjXUpdate2: clc ; CPU:$C57B PRG:457B 18 adc $0508,x ; CPU:$C57C PRG:457C 7D 08 05 sta $0508,x ; CPU:$C57F PRG:457F 9D 08 05 bcc Sub_C58C ; CPU:$C582 PRG:4582 90 08 inc $0507,x ; CPU:$C584 PRG:4584 FE 07 05 bne Sub_C58C ; CPU:$C587 PRG:4587 D0 03 inc $0506,x ; CPU:$C589 PRG:4589 FE 06 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C58C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C58C: lda $0507,x ; CPU:$C58C PRG:458C BD 07 05 and #$03 ; CPU:$C58F PRG:458F 29 03 bne Sub_C5A2 ; CPU:$C591 PRG:4591 D0 0F inc $050C,x ; CPU:$C593 PRG:4593 FE 0C 05 lda $050C,x ; CPU:$C596 PRG:4596 BD 0C 05 cmp #$0E ; CPU:$C599 PRG:4599 C9 0E bne Sub_C5A2 ; CPU:$C59B PRG:459B D0 05 lda #$0B ; CPU:$C59D PRG:459D A9 0B sta $050C,x ; CPU:$C59F PRG:459F 9D 0C 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C5A2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C5A2: rts ; CPU:$C5A2 PRG:45A2 60 ; ---- data $C5A3-$C625 (131 bytes) ---- .byte $BD, $08, $05, $38, $E9, $60, $9D, $08, $05, $B0, $0D, $DE, $07, $05, $BD, $07 ; CPU:$C5A3 PRG:45A3 BD 08 05 38 E9 60 9D 08 05 B0 0D DE 07 05 BD 07 .byte $05, $C9, $FF, $D0, $03, $DE, $06, $05, $A5, $1B, $29, $07, $D0, $0F, $DE, $0C ; CPU:$C5B3 PRG:45B3 05 C9 FF D0 03 DE 06 05 A5 1B 29 07 D0 0F DE 0C .byte $05, $BD, $0C, $05, $C9, $0A, $D0, $05, $A9, $0D, $9D, $0C, $05, $60, $20, $B4 ; CPU:$C5C3 PRG:45C3 05 BD 0C 05 C9 0A D0 05 A9 0D 9D 0C 05 60 20 B4 .byte $C6, $BD, $00, $05, $30, $76, $20, $46, $C7, $20, $D8, $C7, $20, $B4, $C6, $BD ; CPU:$C5D3 PRG:45D3 C6 BD 00 05 30 76 20 46 C7 20 D8 C7 20 B4 C6 BD .byte $00, $05, $30, $68, $BD, $06, $05, $D0, $26, $BD, $07, $05, $C5, $91, $B0, $1F ; CPU:$C5E3 PRG:45E3 00 05 30 68 BD 06 05 D0 26 BD 07 05 C5 91 B0 1F .byte $BD, $0E, $05, $D0, $0B, $20, $5C, $F5, $25, $97, $18, $69, $30, $9D, $0E, $05 ; CPU:$C5F3 PRG:45F3 BD 0E 05 D0 0B 20 5C F5 25 97 18 69 30 9D 0E 05 .byte $DE, $0E, $05, $D0, $0A, $A9, $08, $9D, $0D, $05, $A9, $02, $9D, $00, $05, $60 ; CPU:$C603 PRG:4603 DE 0E 05 D0 0A A9 08 9D 0D 05 A9 02 9D 00 05 60 .byte $20, $B4, $C6, $BD, $00, $05, $30, $34, $20, $46, $C7, $20, $D8, $C7, $20, $B4 ; CPU:$C613 PRG:4613 20 B4 C6 BD 00 05 30 34 20 46 C7 20 D8 C7 20 B4 .byte $C6, $BD, $00 ; CPU:$C623 PRG:4623 C6 BD 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C626 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C626: ora Zp30 ; CPU:$C626 PRG:4626 05 30 rol ZpDE ; CPU:$C628 PRG:4628 26 DE ora $D005 ; CPU:$C62A PRG:462A 0D 05 D0 jsr $08A9 ; CPU:$C62D PRG:462D 20 A9 08 sta $050D,x ; CPU:$C630 PRG:4630 9D 0D 05 inc $050C,x ; CPU:$C633 PRG:4633 FE 0C 05 lda $050C,x ; CPU:$C636 PRG:4636 BD 0C 05 cmp #$03 ; CPU:$C639 PRG:4639 C9 03 bne Sub_C640 ; CPU:$C63B PRG:463B D0 03 jmp DispatchJsrStoreLdaClc2 ; CPU:$C63D PRG:463D 4C 65 CF ; ----------------------------------------------------------------------------- ; Routine: Sub_C640 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C640: cmp #$05 ; CPU:$C640 PRG:4640 C9 05 bne Sub_C64E ; CPU:$C642 PRG:4642 D0 0A lda #$00 ; CPU:$C644 PRG:4644 A9 00 sta $050C,x ; CPU:$C646 PRG:4646 9D 0C 05 lda #$01 ; CPU:$C649 PRG:4649 A9 01 sta $0500,x ; CPU:$C64B PRG:464B 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C64E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C64E: rts ; CPU:$C64E PRG:464E 60 ; ---- data $C64F-$C657 (9 bytes) ---- .byte $A9, $03, $9D, $00, $05, $A9, $05, $9D, $0C ; CPU:$C64F PRG:464F A9 03 9D 00 05 A9 05 9D 0C ; ----------------------------------------------------------------------------- ; Routine: Sub_C658 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C658: ora ZpA9 ; CPU:$C658 PRG:4658 05 A9 php ; CPU:$C65A PRG:465A 08 sta $050D,x ; CPU:$C65B PRG:465B 9D 0D 05 rts ; CPU:$C65E PRG:465E 60 ; ---- data $C65F-$C698 (58 bytes) ---- .byte $20, $D8, $C7, $DE, $0D, $05, $D0, $14, $A9, $08, $9D, $0D, $05, $FE, $0C, $05 ; CPU:$C65F PRG:465F 20 D8 C7 DE 0D 05 D0 14 A9 08 9D 0D 05 FE 0C 05 .byte $BD, $0C, $05, $C9, $0A, $D0, $05, $A9, $04, $9D, $00, $05, $60, $20, $D8, $C7 ; CPU:$C66F PRG:466F BD 0C 05 C9 0A D0 05 A9 04 9D 00 05 60 20 D8 C7 .byte $DE, $0D, $05, $D0, $14, $A9, $08, $9D, $0D, $05, $FE, $0C, $05, $BD, $0C, $05 ; CPU:$C67F PRG:467F DE 0D 05 D0 14 A9 08 9D 0D 05 FE 0C 05 BD 0C 05 .byte $C9, $13, $D0, $05, $A9, $00, $9D, $00, $05, $60 ; CPU:$C68F PRG:468F C9 13 D0 05 A9 00 9D 00 05 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteIndex ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteIndex: txa ; CPU:$C699 PRG:4699 8A lsr a ; CPU:$C69A PRG:469A 4A lsr a ; CPU:$C69B PRG:469B 4A lsr a ; CPU:$C69C PRG:469C 4A lsr a ; CPU:$C69D PRG:469D 4A adc GameSubMode ; CPU:$C69E PRG:469E 65 1B and #$04 ; CPU:$C6A0 PRG:46A0 29 04 beq Sub_C6AC ; CPU:$C6A2 PRG:46A2 F0 08 lda #$13 ; CPU:$C6A4 PRG:46A4 A9 13 sta $050C,x ; CPU:$C6A6 PRG:46A6 9D 0C 05 jsr ObjCommonUpdate ; CPU:$C6A9 PRG:46A9 20 D8 C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C6AC: lda #$0A ; CPU:$C6AC PRG:46AC A9 0A sta $050C,x ; CPU:$C6AE PRG:46AE 9D 0C 05 jmp ObjCommonUpdate ; CPU:$C6B1 PRG:46B1 4C D8 C7 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteY: lda $0506,x ; CPU:$C6B4 PRG:46B4 BD 06 05 bne Sub_C71F ; CPU:$C6B7 PRG:46B7 D0 66 lda $0507,x ; CPU:$C6B9 PRG:46B9 BD 07 05 sec ; CPU:$C6BC PRG:46BC 38 sbc Zp24 ; CPU:$C6BD PRG:46BD E5 24 clc ; CPU:$C6BF PRG:46BF 18 adc #$4B ; CPU:$C6C0 PRG:46C0 69 4B cmp #$17 ; CPU:$C6C2 PRG:46C2 C9 17 bcs Sub_C6DF ; CPU:$C6C4 PRG:46C4 B0 19 lda $0504,x ; CPU:$C6C6 PRG:46C6 BD 04 05 sec ; CPU:$C6C9 PRG:46C9 38 sbc Zp23 ; CPU:$C6CA PRG:46CA E5 23 clc ; CPU:$C6CC PRG:46CC 18 adc #$0B ; CPU:$C6CD PRG:46CD 69 0B cmp #$17 ; CPU:$C6CF PRG:46CF C9 17 bcs Sub_C6DF ; CPU:$C6D1 PRG:46D1 B0 0C ; ---- data $C6D3-$C6D3 (1 bytes) ---- .byte $A9 ; CPU:$C6D3 PRG:46D3 A9 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6D4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C6D4: ora (Zp85,x) ; CPU:$C6D4 PRG:46D4 01 85 rol a:$00BD ; CPU:$C6D6 PRG:46D6 2E BD 00 ora Joypad1Press ; CPU:$C6D9 PRG:46D9 05 09 rti ; CPU:$C6DB PRG:46DB 40 sta $0500,x ; CPU:$C6DC PRG:46DC 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C6DF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C6DF: lda $02A0 ; CPU:$C6DF PRG:46DF AD A0 02 beq Sub_C71F ; CPU:$C6E2 PRG:46E2 F0 3B lda $0507,x ; CPU:$C6E4 PRG:46E4 BD 07 05 sec ; CPU:$C6E7 PRG:46E7 38 sbc $02A4 ; CPU:$C6E8 PRG:46E8 ED A4 02 clc ; CPU:$C6EB PRG:46EB 18 adc #$0C ; CPU:$C6EC PRG:46EC 69 0C cmp #$17 ; CPU:$C6EE PRG:46EE C9 17 bcs Sub_C71F ; CPU:$C6F0 PRG:46F0 B0 2D lda $0504,x ; CPU:$C6F2 PRG:46F2 BD 04 05 sec ; CPU:$C6F5 PRG:46F5 38 sbc $02A3 ; CPU:$C6F6 PRG:46F6 ED A3 02 clc ; CPU:$C6F9 PRG:46F9 18 adc #$0C ; CPU:$C6FA PRG:46FA 69 0C cmp #$17 ; CPU:$C6FC PRG:46FC C9 17 bcs Sub_C71F ; CPU:$C6FE PRG:46FE B0 1F lda $02A0 ; CPU:$C700 PRG:4700 AD A0 02 cmp #$20 ; CPU:$C703 PRG:4703 C9 20 bne Sub_C717 ; CPU:$C705 PRG:4705 D0 10 lda $0500,x ; CPU:$C707 PRG:4707 BD 00 05 ora #$80 ; CPU:$C70A PRG:470A 09 80 sta $0500,x ; CPU:$C70C PRG:470C 9D 00 05 lda #$01 ; CPU:$C70F PRG:470F A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_C711 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C711: sta $0612 ; CPU:$C711 PRG:4711 8D 12 06 jsr ObjSpriteX ; CPU:$C714 PRG:4714 20 20 C7 ; ----------------------------------------------------------------------------- ; Routine: Sub_C717 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C717: lda $0500,x ; CPU:$C717 PRG:4717 BD 00 05 ora #$20 ; CPU:$C71A PRG:471A 09 20 sta $0500,x ; CPU:$C71C PRG:471C 9D 00 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_C71F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C71F: rts ; CPU:$C71F PRG:471F 60 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteX ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteX: lda $050F,x ; CPU:$C720 PRG:4720 BD 0F 05 cmp #$05 ; CPU:$C723 PRG:4723 C9 05 bcs Sub_C72B ; CPU:$C725 PRG:4725 B0 04 asl a ; CPU:$C727 PRG:4727 0A jmp ObjSpritesInit5 ; CPU:$C728 PRG:4728 4C 54 BF ; ----------------------------------------------------------------------------- ; Routine: Sub_C72B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C72B: sec ; CPU:$C72B PRG:472B 38 sbc #$05 ; CPU:$C72C PRG:472C E9 05 tay ; CPU:$C72E PRG:472E A8 lda $C741,y ; CPU:$C72F PRG:472F B9 41 C7 jsr ObjSpritesInit4 ; CPU:$C732 PRG:4732 20 5B BF lda $050F,x ; CPU:$C735 PRG:4735 BD 0F 05 and #$01 ; CPU:$C738 PRG:4738 29 01 bne Sub_C71F ; CPU:$C73A PRG:473A D0 E3 lda #$05 ; CPU:$C73C PRG:473C A9 05 jmp ObjSpritesInit5 ; CPU:$C73E PRG:473E 4C 54 BF ; ---- data $C741-$C79F (95 bytes) ---- ; referenced by `lda $C741,y` at $C72F (operand $C741 falls inside this region) .byte $01, $01, $02, $02, $0A, $BD, $02, $05, $0A, $0A, $29, $7C, $A8, $20, $C4, $C7 ; CPU:$C741 PRG:4741 01 01 02 02 0A BD 02 05 0A 0A 29 7C A8 20 C4 C7 .byte $A5, $35, $18, $7D, $05, $05, $9D, $05, $05, $A5, $36, $7D, $04, $05, $9D, $04 ; CPU:$C751 PRG:4751 A5 35 18 7D 05 05 9D 05 05 A5 36 7D 04 05 9D 04 .byte $05, $A5, $13, $7D, $03, $05, $9D, $03, $05, $F0, $06, $A9, $00, $9D, $00, $05 ; CPU:$C761 PRG:4761 05 A5 13 7D 03 05 9D 03 05 F0 06 A9 00 9D 00 05 .byte $60, $BD, $04, $05, $C9, $F1, $B0, $F3, $C8, $C8, $20, $C4, $C7, $A5, $35, $18 ; CPU:$C771 PRG:4771 60 BD 04 05 C9 F1 B0 F3 C8 C8 20 C4 C7 A5 35 18 .byte $7D, $08, $05, $9D, $08, $05, $A5, $36, $7D, $07, $05, $9D, $07, $05, $A5, $13 ; CPU:$C781 PRG:4781 7D 08 05 9D 08 05 A5 36 7D 07 05 9D 07 05 A5 13 .byte $7D, $06, $05, $9D, $06, $05, $30, $02, $D0, $D1, $DE, $09, $05, $D0, $23 ; CPU:$C791 PRG:4791 7D 06 05 9D 06 05 30 02 D0 D1 DE 09 05 D0 23 ; ----------------------------------------------------------------------------- ; Routine: ObjSpriteAttrs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjSpriteAttrs: lda $050A,x ; CPU:$C7A0 PRG:47A0 BD 0A 05 sta VramPtrLo ; CPU:$C7A3 PRG:47A3 85 04 lda $050B,x ; CPU:$C7A5 PRG:47A5 BD 0B 05 sta VramCopyCount ; CPU:$C7A8 PRG:47A8 85 05 lda $0501,x ; CPU:$C7AA PRG:47AA BD 01 05 sty Zp2C ; CPU:$C7AD PRG:47AD 84 2C tay ; CPU:$C7AF PRG:47AF A8 inc $0501,x ; CPU:$C7B0 PRG:47B0 FE 01 05 inc $0501,x ; CPU:$C7B3 PRG:47B3 FE 01 05 lda (VramPtrLo),y ; CPU:$C7B6 PRG:47B6 B1 04 sta $0502,x ; CPU:$C7B8 PRG:47B8 9D 02 05 iny ; CPU:$C7BB PRG:47BB C8 lda (VramPtrLo),y ; CPU:$C7BC PRG:47BC B1 04 sta $0509,x ; CPU:$C7BE PRG:47BE 9D 09 05 ldy Zp2C ; CPU:$C7C1 PRG:47C1 A4 2C rts ; CPU:$C7C3 PRG:47C3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7C4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C7C4: lda #$00 ; CPU:$C7C4 PRG:47C4 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7C6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C7C6: sta ObjPtr ; CPU:$C7C6 PRG:47C6 85 13 lda $C93C,y ; CPU:$C7C8 PRG:47C8 B9 3C C9 sta ObjectYLo ; CPU:$C7CB PRG:47CB 85 35 lda $C93D,y ; CPU:$C7CD PRG:47CD B9 3D C9 sta ObjectYHi ; CPU:$C7D0 PRG:47D0 85 36 asl a ; CPU:$C7D2 PRG:47D2 0A bcc Sub_C7D7 ; CPU:$C7D3 PRG:47D3 90 02 dec ObjPtr ; CPU:$C7D5 PRG:47D5 C6 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7D7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C7D7: rts ; CPU:$C7D7 PRG:47D7 60 ; ----------------------------------------------------------------------------- ; Routine: ObjCommonUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjCommonUpdate: lda $0506,x ; CPU:$C7D8 PRG:47D8 BD 06 05 ora $0503,x ; CPU:$C7DB PRG:47DB 1D 03 05 beq Sub_C7E1 ; CPU:$C7DE PRG:47DE F0 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7E0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C7E0: rts ; CPU:$C7E0 PRG:47E0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C7E1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C7E1: lda $0504,x ; CPU:$C7E1 PRG:47E1 BD 04 05 cmp #$F1 ; CPU:$C7E4 PRG:47E4 C9 F1 bcs Sub_C7E0 ; CPU:$C7E6 PRG:47E6 B0 F8 sta ObjectXLo ; CPU:$C7E8 PRG:47E8 85 37 lda $0507,x ; CPU:$C7EA PRG:47EA BD 07 05 cmp #$F0 ; CPU:$C7ED PRG:47ED C9 F0 bcs Sub_C7E0 ; CPU:$C7EF PRG:47EF B0 EF sta ObjectXHi ; CPU:$C7F1 PRG:47F1 85 38 lda $050C,x ; CPU:$C7F3 PRG:47F3 BD 0C 05 asl a ; CPU:$C7F6 PRG:47F6 0A tay ; CPU:$C7F7 PRG:47F7 A8 lda $C83A,y ; CPU:$C7F8 PRG:47F8 B9 3A C8 sta VramPtrLo ; CPU:$C7FB PRG:47FB 85 04 lda $C83B,y ; CPU:$C7FD PRG:47FD B9 3B C8 sta VramCopyCount ; CPU:$C800 PRG:4800 85 05 ldy #$00 ; CPU:$C802 PRG:4802 A0 00 lda (VramPtrLo),y ; CPU:$C804 PRG:4804 B1 04 sta ObjUpdateFlag ; CPU:$C806 PRG:4806 85 0E stx ObjPtr ; CPU:$C808 PRG:4808 86 13 iny ; CPU:$C80A PRG:480A C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_C80B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C80B: ldx ObjectDeltaX ; CPU:$C80B PRG:480B A6 2D beq Sub_C837 ; CPU:$C80D PRG:480D F0 28 lda (VramPtrLo),y ; CPU:$C80F PRG:480F B1 04 clc ; CPU:$C811 PRG:4811 18 adc ObjectXHi ; CPU:$C812 PRG:4812 65 38 sta $0700,x ; CPU:$C814 PRG:4814 9D 00 07 inx ; CPU:$C817 PRG:4817 E8 iny ; CPU:$C818 PRG:4818 C8 lda (VramPtrLo),y ; CPU:$C819 PRG:4819 B1 04 sta $0700,x ; CPU:$C81B PRG:481B 9D 00 07 inx ; CPU:$C81E PRG:481E E8 iny ; CPU:$C81F PRG:481F C8 lda (VramPtrLo),y ; CPU:$C820 PRG:4820 B1 04 sta $0700,x ; CPU:$C822 PRG:4822 9D 00 07 inx ; CPU:$C825 PRG:4825 E8 iny ; CPU:$C826 PRG:4826 C8 lda (VramPtrLo),y ; CPU:$C827 PRG:4827 B1 04 clc ; CPU:$C829 PRG:4829 18 adc ObjectXLo ; CPU:$C82A PRG:482A 65 37 sta $0700,x ; CPU:$C82C PRG:482C 9D 00 07 inx ; CPU:$C82F PRG:482F E8 iny ; CPU:$C830 PRG:4830 C8 stx ObjectDeltaX ; CPU:$C831 PRG:4831 86 2D dec ObjUpdateFlag ; CPU:$C833 PRG:4833 C6 0E bne Sub_C80B ; CPU:$C835 PRG:4835 D0 D4 ; ----------------------------------------------------------------------------- ; Routine: Sub_C837 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C837: ldx ObjPtr ; CPU:$C837 PRG:4837 A6 13 rts ; CPU:$C839 PRG:4839 60 ; ---- data $C83A-$C8B3 (122 bytes) ---- ; referenced by `lda $C83A,y` at $C7F8 (operand $C83A falls inside this region) ; referenced by `lda $C83B,y` at $C7FD (operand $C83B falls inside this region) .byte $62, $C8, $73, $C8, $88, $C8, $88, $C8, $73, $C8, $9D, $C8, $AE, $C8, $9D, $C8 ; CPU:$C83A PRG:483A 62 C8 73 C8 88 C8 88 C8 73 C8 9D C8 AE C8 9D C8 .byte $BF, $C8, $D4, $C8, $F8, $C8, $09, $C9, $1A, $C9, $2B, $C9, $9D, $C8, $AE, $C8 ; CPU:$C84A PRG:484A BF C8 D4 C8 F8 C8 09 C9 1A C9 2B C9 9D C8 AE C8 .byte $9D, $C8, $E9, $C8, $EE, $C8, $F3, $C8, $04, $00, $AC, $01, $00, $00, $AD, $01 ; CPU:$C85A PRG:485A 9D C8 E9 C8 EE C8 F3 C8 04 00 AC 01 00 00 AD 01 .byte $08, $08, $AE, $01, $00, $08, $AF, $01, $08, $05, $04, $D2, $00, $04, $00, $AC ; CPU:$C86A PRG:486A 08 08 AE 01 00 08 AF 01 08 05 04 D2 00 04 00 AC .byte $01, $00, $00, $AD, $01, $08, $08, $AE, $01, $00, $08, $AF, $01, $08, $05, $04 ; CPU:$C87A PRG:487A 01 00 00 AD 01 08 08 AE 01 00 08 AF 01 08 05 04 .byte $3F, $00, $04, $00, $AC, $01, $00, $00, $AD, $01, $08, $08, $AE, $01, $00, $08 ; CPU:$C88A PRG:488A 3F 00 04 00 AC 01 00 00 AD 01 08 08 AE 01 00 08 .byte $AF, $01, $08, $04, $00, $E8, $03, $00, $00, $E9, $03, $08, $08, $EA, $03, $00 ; CPU:$C89A PRG:489A AF 01 08 04 00 E8 03 00 00 E9 03 08 08 EA 03 00 .byte $08, $EB, $03, $08, $04, $00, $E4, $03, $00, $00 ; CPU:$C8AA PRG:48AA 08 EB 03 08 04 00 E4 03 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C8B4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C8B4: sbc ScrollY ; CPU:$C8B4 PRG:48B4 E5 03 php ; CPU:$C8B6 PRG:48B6 08 php ; CPU:$C8B7 PRG:48B7 08 inc ScrollY ; CPU:$C8B8 PRG:48B8 E6 03 brk ; CPU:$C8BA PRG:48BA 00 ; ---- data $C8BB-$C8BD (3 bytes) ---- .byte $08, $E7, $03 ; CPU:$C8BB PRG:48BB 08 E7 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_C8BE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C8BE: php ; CPU:$C8BE PRG:48BE 08 ora VramPtrLo ; CPU:$C8BF PRG:48BF 05 04 cpx $0403 ; CPU:$C8C1 PRG:48C1 EC 03 04 brk ; CPU:$C8C4 PRG:48C4 00 ; ---- data $C8C5-$C8D1 (13 bytes) ---- .byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB ; CPU:$C8C5 PRG:48C5 DB 00 00 00 DB 40 08 08 DB 80 00 08 DB ; ----------------------------------------------------------------------------- ; Routine: Sub_C8D2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C8D2: cpy #$08 ; CPU:$C8D2 PRG:48D2 C0 08 ora VramPtrLo ; CPU:$C8D4 PRG:48D4 05 04 sbc $0403 ; CPU:$C8D6 PRG:48D6 ED 03 04 brk ; CPU:$C8D9 PRG:48D9 00 ; ---- data $C8DA-$C90E (53 bytes) ---- .byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB, $C0, $08, $01 ; CPU:$C8DA PRG:48DA DB 00 00 00 DB 40 08 08 DB 80 00 08 DB C0 08 01 .byte $04, $EC, $03, $04, $01, $04, $ED, $03, $04, $01, $04, $EE, $03, $04, $04, $00 ; CPU:$C8EA PRG:48EA 04 EC 03 04 01 04 ED 03 04 01 04 EE 03 04 04 00 .byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB, $C0, $08, $04 ; CPU:$C8FA PRG:48FA DB 00 00 00 DB 40 08 08 DB 80 00 08 DB C0 08 04 .byte $00, $A0, $01, $00, $00 ; CPU:$C90A PRG:490A 00 A0 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C90F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C90F: lda (PPUMASKShadow,x) ; CPU:$C90F PRG:490F A1 01 php ; CPU:$C911 PRG:4911 08 php ; CPU:$C912 PRG:4912 08 ldx #$01 ; CPU:$C913 PRG:4913 A2 01 brk ; CPU:$C915 PRG:4915 00 ; ---- data $C916-$C91F (10 bytes) ---- .byte $08, $A3, $01, $08, $04, $00, $A4, $01, $00, $00 ; CPU:$C916 PRG:4916 08 A3 01 08 04 00 A4 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_C920 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C920: lda PPUMASKShadow ; CPU:$C920 PRG:4920 A5 01 php ; CPU:$C922 PRG:4922 08 php ; CPU:$C923 PRG:4923 08 ldx PPUMASKShadow ; CPU:$C924 PRG:4924 A6 01 brk ; CPU:$C926 PRG:4926 00 ; ---- data $C927-$C9BB (149 bytes) ---- ; referenced by `lda $C93C,y` at $C7C8 (operand $C93C falls inside this region) ; referenced by `lda $C93D,y` at $C7CD (operand $C93D falls inside this region) .byte $08, $A7, $01, $08, $04, $00, $A8, $01, $00, $00, $A9, $01, $08, $08, $AA, $01 ; CPU:$C927 PRG:4927 08 A7 01 08 04 00 A8 01 00 00 A9 01 08 08 AA 01 .byte $00, $08, $AB, $01, $08, $00, $00, $80, $00, $20, $00, $80, $00, $40, $00, $80 ; CPU:$C937 PRG:4937 00 08 AB 01 08 00 00 80 00 20 00 80 00 40 00 80 .byte $00, $60, $00, $80, $00, $80, $00, $80, $00, $80, $00, $60, $00, $80, $00, $40 ; CPU:$C947 PRG:4947 00 60 00 80 00 80 00 80 00 80 00 60 00 80 00 40 .byte $00, $80, $00, $20, $00, $80, $00, $00, $00, $80, $00, $E0, $FF, $80, $00, $C0 ; CPU:$C957 PRG:4957 00 80 00 20 00 80 00 00 00 80 00 E0 FF 80 00 C0 .byte $FF, $80, $00, $A0, $FF, $80, $00, $80, $FF, $60, $00, $80, $FF, $40, $00, $80 ; CPU:$C967 PRG:4967 FF 80 00 A0 FF 80 00 80 FF 60 00 80 FF 40 00 80 .byte $FF, $20, $00, $80, $FF, $00, $00, $80, $FF, $E0, $FF, $80, $FF, $C0, $FF, $80 ; CPU:$C977 PRG:4977 FF 20 00 80 FF 00 00 80 FF E0 FF 80 FF C0 FF 80 .byte $FF, $A0, $FF, $80, $FF, $80, $FF, $80, $FF, $80, $FF, $A0, $FF, $80, $FF, $C0 ; CPU:$C987 PRG:4987 FF A0 FF 80 FF 80 FF 80 FF 80 FF A0 FF 80 FF C0 .byte $FF, $80, $FF, $E0, $FF, $80, $FF, $00, $00, $80, $FF, $20, $00, $80, $FF, $40 ; CPU:$C997 PRG:4997 FF 80 FF E0 FF 80 FF 00 00 80 FF 20 00 80 FF 40 .byte $00, $80, $FF, $60, $00, $80, $FF, $80, $00, $A0, $FF, $80, $00, $C0, $FF, $80 ; CPU:$C9A7 PRG:49A7 00 80 FF 60 00 80 FF 80 00 A0 FF 80 00 C0 FF 80 .byte $00, $E0, $FF, $80, $00 ; CPU:$C9B7 PRG:49B7 00 E0 FF 80 00 ; ----------------------------------------------------------------------------- ; Routine: C9bcCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- C9bcCheck: ldy #$00 ; CPU:$C9BC PRG:49BC A0 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheck: lda (Zp2A),y ; CPU:$C9BE PRG:49BE B1 2A beq Sub_C9E2 ; CPU:$C9C0 PRG:49C0 F0 20 sta ObjPtr ; CPU:$C9C2 PRG:49C2 85 13 lda Zp99 ; CPU:$C9C4 PRG:49C4 A5 99 and #$FE ; CPU:$C9C6 PRG:49C6 29 FE beq Sub_C9E2 ; CPU:$C9C8 PRG:49C8 F0 18 cmp ObjPtr ; CPU:$C9CA PRG:49CA C5 13 beq Sub_C9E3 ; CPU:$C9CC PRG:49CC F0 15 bcs Sub_C9E2 ; CPU:$C9CE PRG:49CE B0 12 ldx #$04 ; CPU:$C9D0 PRG:49D0 A2 04 jsr DispatchInc ; CPU:$C9D2 PRG:49D2 20 D8 C9 jmp DispatchCheck ; CPU:$C9D5 PRG:49D5 4C BE C9 ; ----------------------------------------------------------------------------- ; Routine: DispatchInc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchInc: inc Zp2A ; CPU:$C9D8 PRG:49D8 E6 2A bne Sub_C9DE ; CPU:$C9DA PRG:49DA D0 02 inc Zp2B ; CPU:$C9DC PRG:49DC E6 2B ; ----------------------------------------------------------------------------- ; Routine: Sub_C9DE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C9DE: dex ; CPU:$C9DE PRG:49DE CA bne DispatchInc ; CPU:$C9DF PRG:49DF D0 F7 rts ; CPU:$C9E1 PRG:49E1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C9E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C9E2: rts ; CPU:$C9E2 PRG:49E2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_C9E3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C9E3: iny ; CPU:$C9E3 PRG:49E3 C8 lda (Zp2A),y ; CPU:$C9E4 PRG:49E4 B1 2A tax ; CPU:$C9E6 PRG:49E6 AA iny ; CPU:$C9E7 PRG:49E7 C8 cmp #$28 ; CPU:$C9E8 PRG:49E8 C9 28 bcc Sub_C9F7 ; CPU:$C9EA PRG:49EA 90 0B lda Zp99 ; CPU:$C9EC PRG:49EC A5 99 and #$01 ; CPU:$C9EE PRG:49EE 29 01 bne Sub_C9F7 ; CPU:$C9F0 PRG:49F0 D0 05 iny ; CPU:$C9F2 PRG:49F2 C8 iny ; CPU:$C9F3 PRG:49F3 C8 jmp DispatchCheck ; CPU:$C9F4 PRG:49F4 4C BE C9 ; ----------------------------------------------------------------------------- ; Routine: Sub_C9F7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_C9F7: lda $CA0A,x ; CPU:$C9F7 PRG:49F7 BD 0A CA sta VramPtrLo ; CPU:$C9FA PRG:49FA 85 04 lda $CA0B,x ; CPU:$C9FC PRG:49FC BD 0B CA sta VramCopyCount ; CPU:$C9FF PRG:49FF 85 05 jsr JumpIndirect4 ; CPU:$CA01 PRG:4A01 20 07 CA jmp DispatchCheck ; CPU:$CA04 PRG:4A04 4C BE C9 ; ----------------------------------------------------------------------------- ; Routine: JumpIndirect4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- JumpIndirect4: jmp ($0004) ; CPU:$CA07 PRG:4A07 6C 04 00 ; ---- data $CA0A-$CA61 (88 bytes) ---- JumpTable4: ; referenced by `lda $CA0A,x` at $C9F7 (operand $CA0A falls inside this region) ; referenced by `lda $CA0B,x` at $C9FC (operand $CA0B falls inside this region) .byte $24, $CB, $2E, $CB, $38, $CB, $42, $CB, $4C, $CB, $53, $CB, $5D, $CB, $64, $CB ; CPU:$CA0A PRG:4A0A 24 CB 2E CB 38 CB 42 CB 4C CB 53 CB 5D CB 64 CB .byte $6E, $CB, $77, $CB, $7E, $CB, $85, $CB, $8C, $CB, $93, $CB, $1A, $CB, $1A, $CB ; CPU:$CA1A PRG:4A1A 6E CB 77 CB 7E CB 85 CB 8C CB 93 CB 1A CB 1A CB .byte $0C, $CB, $1A, $CB, $1A, $CB, $02, $CB, $EA, $CA, $80, $CC, $6C, $CA, $80, $CA ; CPU:$CA2A PRG:4A2A 0C CB 1A CB 1A CB 02 CB EA CA 80 CC 6C CA 80 CA .byte $9D, $C0, $76, $CA, $88, $CA, $B2, $CA, $B9, $CA, $C0, $CA, $C7, $CA, $CE, $CA ; CPU:$CA3A PRG:4A3A 9D C0 76 CA 88 CA B2 CA B9 CA C0 CA C7 CA CE CA .byte $D5, $CA, $DC, $CA, $E3, $CA, $A0, $CA, $AB, $CA, $62, $CA, $0F, $C3, $64, $C3 ; CPU:$CA4A PRG:4A4A D5 CA DC CA E3 CA A0 CA AB CA 62 CA 0F C3 64 C3 .byte $6D, $C3, $92, $CA, $99, $CA, $74, $C2 ; CPU:$CA5A PRG:4A5A 6D C3 92 CA 99 CA 74 C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA62 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA62: ldx #$02 ; CPU:$CA62 PRG:4A62 A2 02 jsr DispatchInc ; CPU:$CA64 PRG:4A64 20 D8 C9 dey ; CPU:$CA67 PRG:4A67 88 dey ; CPU:$CA68 PRG:4A68 88 jmp ObjSubRoutine2 ; CPU:$CA69 PRG:4A69 4C 7B C2 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA6C: ldx #$02 ; CPU:$CA6C PRG:4A6C A2 02 jsr DispatchInc ; CPU:$CA6E PRG:4A6E 20 D8 C9 dey ; CPU:$CA71 PRG:4A71 88 dey ; CPU:$CA72 PRG:4A72 88 jmp ObjMoveY ; CPU:$CA73 PRG:4A73 4C 2E C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA76 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA76: ldx #$02 ; CPU:$CA76 PRG:4A76 A2 02 jsr DispatchInc ; CPU:$CA78 PRG:4A78 20 D8 C9 dey ; CPU:$CA7B PRG:4A7B 88 dey ; CPU:$CA7C PRG:4A7C 88 jmp ObjSpawnInit ; CPU:$CA7D PRG:4A7D 4C 10 C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA80 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA80: jsr ObjSpawnInit2 ; CPU:$CA80 PRG:4A80 20 56 C0 ldx #$03 ; CPU:$CA83 PRG:4A83 A2 03 jmp DispatchInc ; CPU:$CA85 PRG:4A85 4C D8 C9 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA88: ldx #$02 ; CPU:$CA88 PRG:4A88 A2 02 jsr DispatchInc ; CPU:$CA8A PRG:4A8A 20 D8 C9 dey ; CPU:$CA8D PRG:4A8D 88 dey ; CPU:$CA8E PRG:4A8E 88 jmp ObjSetPosition ; CPU:$CA8F PRG:4A8F 4C 5D C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA92 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA92: lda #$01 ; CPU:$CA92 PRG:4A92 A9 01 sta Zp3E ; CPU:$CA94 PRG:4A94 85 3E iny ; CPU:$CA96 PRG:4A96 C8 iny ; CPU:$CA97 PRG:4A97 C8 rts ; CPU:$CA98 PRG:4A98 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CA99 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CA99: lda #$01 ; CPU:$CA99 PRG:4A99 A9 01 sta Zp44 ; CPU:$CA9B PRG:4A9B 85 44 iny ; CPU:$CA9D PRG:4A9D C8 iny ; CPU:$CA9E PRG:4A9E C8 rts ; CPU:$CA9F PRG:4A9F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CAA0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAA0: lda (Zp2A),y ; CPU:$CAA0 PRG:4AA0 B1 2A sta Zp41 ; CPU:$CAA2 PRG:4AA2 85 41 iny ; CPU:$CAA4 PRG:4AA4 C8 lda (Zp2A),y ; CPU:$CAA5 PRG:4AA5 B1 2A sta Zp3F ; CPU:$CAA7 PRG:4AA7 85 3F iny ; CPU:$CAA9 PRG:4AA9 C8 rts ; CPU:$CAAA PRG:4AAA 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CAAB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAAB: lda #$00 ; CPU:$CAAB PRG:4AAB A9 00 sta Zp3F ; CPU:$CAAD PRG:4AAD 85 3F jmp DispatchStoreY2Rts ; CPU:$CAAF PRG:4AAF 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAB2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAB2: lda (Zp2A),y ; CPU:$CAB2 PRG:4AB2 B1 2A sta Zp91 ; CPU:$CAB4 PRG:4AB4 85 91 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreY2Rts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreY2Rts: iny ; CPU:$CAB6 PRG:4AB6 C8 iny ; CPU:$CAB7 PRG:4AB7 C8 rts ; CPU:$CAB8 PRG:4AB8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CAB9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAB9: lda (Zp2A),y ; CPU:$CAB9 PRG:4AB9 B1 2A sta Zp94 ; CPU:$CABB PRG:4ABB 85 94 jmp DispatchStoreY2Rts ; CPU:$CABD PRG:4ABD 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAC0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAC0: lda (Zp2A),y ; CPU:$CAC0 PRG:4AC0 B1 2A sta Zp92 ; CPU:$CAC2 PRG:4AC2 85 92 jmp DispatchStoreY2Rts ; CPU:$CAC4 PRG:4AC4 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAC7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAC7: lda (Zp2A),y ; CPU:$CAC7 PRG:4AC7 B1 2A sta Zp93 ; CPU:$CAC9 PRG:4AC9 85 93 jmp DispatchStoreY2Rts ; CPU:$CACB PRG:4ACB 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CACE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CACE: lda (Zp2A),y ; CPU:$CACE PRG:4ACE B1 2A sta Zp95 ; CPU:$CAD0 PRG:4AD0 85 95 jmp DispatchStoreY2Rts ; CPU:$CAD2 PRG:4AD2 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAD5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAD5: lda (Zp2A),y ; CPU:$CAD5 PRG:4AD5 B1 2A sta Zp96 ; CPU:$CAD7 PRG:4AD7 85 96 jmp DispatchStoreY2Rts ; CPU:$CAD9 PRG:4AD9 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CADC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CADC: lda (Zp2A),y ; CPU:$CADC PRG:4ADC B1 2A sta Zp97 ; CPU:$CADE PRG:4ADE 85 97 jmp DispatchStoreY2Rts ; CPU:$CAE0 PRG:4AE0 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAE3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAE3: lda (Zp2A),y ; CPU:$CAE3 PRG:4AE3 B1 2A sta Zp98 ; CPU:$CAE5 PRG:4AE5 85 98 jmp DispatchStoreY2Rts ; CPU:$CAE7 PRG:4AE7 4C B6 CA ; ----------------------------------------------------------------------------- ; Routine: Sub_CAEA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAEA: jsr DispatchLsrsRts ; CPU:$CAEA PRG:4AEA 20 8D CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CAED ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CAED: jsr DispatchLdaEorEorAslAslRol ; CPU:$CAED PRG:4AED 20 5C F5 cmp #$D0 ; CPU:$CAF0 PRG:4AF0 C9 D0 bcs Sub_CAED ; CPU:$CAF2 PRG:4AF2 B0 F9 clc ; CPU:$CAF4 PRG:4AF4 18 adc #$10 ; CPU:$CAF5 PRG:4AF5 69 10 sta $0303,x ; CPU:$CAF7 PRG:4AF7 9D 03 03 ldx #$02 ; CPU:$CAFA PRG:4AFA A2 02 jsr DispatchInc ; CPU:$CAFC PRG:4AFC 20 D8 C9 dey ; CPU:$CAFF PRG:4AFF 88 dey ; CPU:$CB00 PRG:4B00 88 rts ; CPU:$CB01 PRG:4B01 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CB02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB02: jsr DispatchLsrsRts ; CPU:$CB02 PRG:4B02 20 8D CC ldx #$34 ; CPU:$CB05 PRG:4B05 A2 34 lda #$01 ; CPU:$CB07 PRG:4B07 A9 01 jmp DispatchStoreLsrsB ; CPU:$CB09 PRG:4B09 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB0C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB0C: jsr DispatchLsrsRts ; CPU:$CB0C PRG:4B0C 20 8D CC lda #$00 ; CPU:$CB0F PRG:4B0F A9 00 sta Zp58 ; CPU:$CB11 PRG:4B11 85 58 ldx #$30 ; CPU:$CB13 PRG:4B13 A2 30 lda #$01 ; CPU:$CB15 PRG:4B15 A9 01 jmp DispatchStoreLsrsB ; CPU:$CB17 PRG:4B17 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB1A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB1A: jsr DispatchLsrsRts ; CPU:$CB1A PRG:4B1A 20 8D CC ldx #$00 ; CPU:$CB1D PRG:4B1D A2 00 lda #$01 ; CPU:$CB1F PRG:4B1F A9 01 jmp DispatchStoreLsrsB ; CPU:$CB21 PRG:4B21 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB24 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB24: jsr DispatchLsrsRts ; CPU:$CB24 PRG:4B24 20 8D CC ldx #$00 ; CPU:$CB27 PRG:4B27 A2 00 lda #$01 ; CPU:$CB29 PRG:4B29 A9 01 jmp DispatchStoreLsrsB ; CPU:$CB2B PRG:4B2B 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB2E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB2E: jsr DispatchLsrsRts ; CPU:$CB2E PRG:4B2E 20 8D CC ldx #$04 ; CPU:$CB31 PRG:4B31 A2 04 lda #$01 ; CPU:$CB33 PRG:4B33 A9 01 jmp DispatchStoreLsrsB ; CPU:$CB35 PRG:4B35 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB38 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB38: jsr DispatchLsrsRts ; CPU:$CB38 PRG:4B38 20 8D CC ldx #$08 ; CPU:$CB3B PRG:4B3B A2 08 lda #$01 ; CPU:$CB3D PRG:4B3D A9 01 jmp DispatchStoreLsrsB ; CPU:$CB3F PRG:4B3F 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB42 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB42: jsr DispatchLsrsRts ; CPU:$CB42 PRG:4B42 20 8D CC ldx #$0C ; CPU:$CB45 PRG:4B45 A2 0C lda #$01 ; CPU:$CB47 PRG:4B47 A9 01 jmp DispatchStoreLsrsB ; CPU:$CB49 PRG:4B49 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB4C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB4C: ldx #$10 ; CPU:$CB4C PRG:4B4C A2 10 lda #$02 ; CPU:$CB4E PRG:4B4E A9 02 jmp DispatchStoreLsrsB ; CPU:$CB50 PRG:4B50 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB53 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB53: jsr DispatchLsrsRts2 ; CPU:$CB53 PRG:4B53 20 E1 CC ldx #$18 ; CPU:$CB56 PRG:4B56 A2 18 lda #$02 ; CPU:$CB58 PRG:4B58 A9 02 jmp DispatchStoreLsrsB ; CPU:$CB5A PRG:4B5A 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB5D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB5D: ldx #$20 ; CPU:$CB5D PRG:4B5D A2 20 lda #$02 ; CPU:$CB5F PRG:4B5F A9 02 jmp DispatchStoreLsrsB ; CPU:$CB61 PRG:4B61 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB64 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB64: jsr DispatchLsrsRts2 ; CPU:$CB64 PRG:4B64 20 E1 CC ldx #$28 ; CPU:$CB67 PRG:4B67 A2 28 lda #$02 ; CPU:$CB69 PRG:4B69 A9 02 jmp DispatchStoreLsrsB ; CPU:$CB6B PRG:4B6B 4C 12 CC ; ----------------------------------------------------------------------------- ; Routine: Sub_CB6E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB6E: ldx #$38 ; CPU:$CB6E PRG:4B6E A2 38 lda #$04 ; CPU:$CB70 PRG:4B70 A9 04 inc Zp61 ; CPU:$CB72 PRG:4B72 E6 61 jmp DispatchStoreLsrs ; CPU:$CB74 PRG:4B74 4C 9A CB ; ----------------------------------------------------------------------------- ; Routine: Sub_CB77 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB77: ldx #$48 ; CPU:$CB77 PRG:4B77 A2 48 lda #$06 ; CPU:$CB79 PRG:4B79 A9 06 jmp DispatchStoreLsrs ; CPU:$CB7B PRG:4B7B 4C 9A CB ; ----------------------------------------------------------------------------- ; Routine: Sub_CB7E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB7E: ldx #$60 ; CPU:$CB7E PRG:4B7E A2 60 lda #$06 ; CPU:$CB80 PRG:4B80 A9 06 jmp DispatchStoreLsrs ; CPU:$CB82 PRG:4B82 4C 9A CB ; ----------------------------------------------------------------------------- ; Routine: Sub_CB85 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB85: ldx #$78 ; CPU:$CB85 PRG:4B85 A2 78 lda #$06 ; CPU:$CB87 PRG:4B87 A9 06 jmp DispatchStoreLsrs ; CPU:$CB89 PRG:4B89 4C 9A CB ; ----------------------------------------------------------------------------- ; Routine: Sub_CB8C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB8C: ldx #$90 ; CPU:$CB8C PRG:4B8C A2 90 lda #$06 ; CPU:$CB8E PRG:4B8E A9 06 jmp DispatchStoreLsrs ; CPU:$CB90 PRG:4B90 4C 9A CB ; ----------------------------------------------------------------------------- ; Routine: Sub_CB93 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CB93: jsr DispatchLsrsRts ; CPU:$CB93 PRG:4B93 20 8D CC ldx #$A8 ; CPU:$CB96 PRG:4B96 A2 A8 lda #$04 ; CPU:$CB98 PRG:4B98 A9 04 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLsrs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLsrs: sta ObjUpdateFlag ; CPU:$CB9A PRG:4B9A 85 0E lda Zp99 ; CPU:$CB9C PRG:4B9C A5 99 lsr a ; CPU:$CB9E PRG:4B9E 4A bcc Sub_CBAB ; CPU:$CB9F PRG:4B9F 90 0A lda ObjUpdateFlag ; CPU:$CBA1 PRG:4BA1 A5 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_CBA3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CBA3: inx ; CPU:$CBA3 PRG:4BA3 E8 inx ; CPU:$CBA4 PRG:4BA4 E8 dec ObjUpdateFlag ; CPU:$CBA5 PRG:4BA5 C6 0E bne Sub_CBA3 ; CPU:$CBA7 PRG:4BA7 D0 FA sta ObjUpdateFlag ; CPU:$CBA9 PRG:4BA9 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_CBAB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CBAB: lda (Zp2A),y ; CPU:$CBAB PRG:4BAB B1 2A iny ; CPU:$CBAD PRG:4BAD C8 pha ; CPU:$CBAE PRG:4BAE 48 sty Zp2C ; CPU:$CBAF PRG:4BAF 84 2C lda (Zp2A),y ; CPU:$CBB1 PRG:4BB1 B1 2A sta Zp57 ; CPU:$CBB3 PRG:4BB3 85 57 pla ; CPU:$CBB5 PRG:4BB5 68 ; ----------------------------------------------------------------------------- ; Routine: Sub_CBB6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CBB6: pha ; CPU:$CBB6 PRG:4BB6 48 tay ; CPU:$CBB7 PRG:4BB7 A8 lda $CD4C,x ; CPU:$CBB8 PRG:4BB8 BD 4C CD sta $020B,y ; CPU:$CBBB PRG:4BBB 99 0B 02 inx ; CPU:$CBBE PRG:4BBE E8 lda $CD4C,x ; CPU:$CBBF PRG:4BBF BD 4C CD sta $020C,y ; CPU:$CBC2 PRG:4BC2 99 0C 02 inx ; CPU:$CBC5 PRG:4BC5 E8 tya ; CPU:$CBC6 PRG:4BC6 98 ldy Zp57 ; CPU:$CBC7 PRG:4BC7 A4 57 inc Zp57 ; CPU:$CBC9 PRG:4BC9 E6 57 jsr DispatchLsrsPhi ; CPU:$CBCB PRG:4BCB 20 DA CB pla ; CPU:$CBCE PRG:4BCE 68 clc ; CPU:$CBCF PRG:4BCF 18 adc #$02 ; CPU:$CBD0 PRG:4BD0 69 02 dec ObjUpdateFlag ; CPU:$CBD2 PRG:4BD2 C6 0E bne Sub_CBB6 ; CPU:$CBD4 PRG:4BD4 D0 E0 ldy Zp2C ; CPU:$CBD6 PRG:4BD6 A4 2C iny ; CPU:$CBD8 PRG:4BD8 C8 rts ; CPU:$CBD9 PRG:4BD9 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsPhi ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsPhi: lsr a ; CPU:$CBDA PRG:4BDA 4A lsr a ; CPU:$CBDB PRG:4BDB 4A bcs Sub_CBF8 ; CPU:$CBDC PRG:4BDC B0 1A pha ; CPU:$CBDE PRG:4BDE 48 lda $B89F,y ; CPU:$CBDF PRG:4BDF B9 9F B8 and ObjectX ; CPU:$CBE2 PRG:4BE2 25 18 sta ObjPtr ; CPU:$CBE4 PRG:4BE4 85 13 pla ; CPU:$CBE6 PRG:4BE6 68 tay ; CPU:$CBE7 PRG:4BE7 A8 lda ObjectX ; CPU:$CBE8 PRG:4BE8 A5 18 eor #$FF ; CPU:$CBEA PRG:4BEA 49 FF and $022E,y ; CPU:$CBEC PRG:4BEC 39 2E 02 ora ObjPtr ; CPU:$CBEF PRG:4BEF 05 13 sta $022E,y ; CPU:$CBF1 PRG:4BF1 99 2E 02 sta $0200,y ; CPU:$CBF4 PRG:4BF4 99 00 02 rts ; CPU:$CBF7 PRG:4BF7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CBF8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CBF8: pha ; CPU:$CBF8 PRG:4BF8 48 lda $B89F,y ; CPU:$CBF9 PRG:4BF9 B9 9F B8 and ObjectY ; CPU:$CBFC PRG:4BFC 25 19 sta ObjPtr ; CPU:$CBFE PRG:4BFE 85 13 pla ; CPU:$CC00 PRG:4C00 68 tay ; CPU:$CC01 PRG:4C01 A8 lda ObjectY ; CPU:$CC02 PRG:4C02 A5 19 eor #$FF ; CPU:$CC04 PRG:4C04 49 FF and $022E,y ; CPU:$CC06 PRG:4C06 39 2E 02 ora ObjPtr ; CPU:$CC09 PRG:4C09 05 13 sta $022E,y ; CPU:$CC0B PRG:4C0B 99 2E 02 sta $0200,y ; CPU:$CC0E PRG:4C0E 99 00 02 rts ; CPU:$CC11 PRG:4C11 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLsrsB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLsrsB: sta ObjUpdateFlag ; CPU:$CC12 PRG:4C12 85 0E lda Zp99 ; CPU:$CC14 PRG:4C14 A5 99 lsr a ; CPU:$CC16 PRG:4C16 4A bcc Sub_CC23 ; CPU:$CC17 PRG:4C17 90 0A lda ObjUpdateFlag ; CPU:$CC19 PRG:4C19 A5 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_CC1B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC1B: inx ; CPU:$CC1B PRG:4C1B E8 inx ; CPU:$CC1C PRG:4C1C E8 dec ObjUpdateFlag ; CPU:$CC1D PRG:4C1D C6 0E bne Sub_CC1B ; CPU:$CC1F PRG:4C1F D0 FA sta ObjUpdateFlag ; CPU:$CC21 PRG:4C21 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_CC23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC23: lda (Zp2A),y ; CPU:$CC23 PRG:4C23 B1 2A iny ; CPU:$CC25 PRG:4C25 C8 sty Zp2C ; CPU:$CC26 PRG:4C26 84 2C ; ----------------------------------------------------------------------------- ; Routine: Sub_CC28 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC28: pha ; CPU:$CC28 PRG:4C28 48 tay ; CPU:$CC29 PRG:4C29 A8 lda $CD4C,x ; CPU:$CC2A PRG:4C2A BD 4C CD sta $020B,y ; CPU:$CC2D PRG:4C2D 99 0B 02 inx ; CPU:$CC30 PRG:4C30 E8 lda $CD4C,x ; CPU:$CC31 PRG:4C31 BD 4C CD sta $020C,y ; CPU:$CC34 PRG:4C34 99 0C 02 inx ; CPU:$CC37 PRG:4C37 E8 tya ; CPU:$CC38 PRG:4C38 98 ldy Zp2C ; CPU:$CC39 PRG:4C39 A4 2C jsr DispatchLsrsPhiB ; CPU:$CC3B PRG:4C3B 20 4A CC pla ; CPU:$CC3E PRG:4C3E 68 clc ; CPU:$CC3F PRG:4C3F 18 adc #$02 ; CPU:$CC40 PRG:4C40 69 02 dec ObjUpdateFlag ; CPU:$CC42 PRG:4C42 C6 0E bne Sub_CC28 ; CPU:$CC44 PRG:4C44 D0 E2 ldy Zp2C ; CPU:$CC46 PRG:4C46 A4 2C iny ; CPU:$CC48 PRG:4C48 C8 rts ; CPU:$CC49 PRG:4C49 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsPhiB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsPhiB: lsr a ; CPU:$CC4A PRG:4C4A 4A lsr a ; CPU:$CC4B PRG:4C4B 4A bcs Sub_CC67 ; CPU:$CC4C PRG:4C4C B0 19 pha ; CPU:$CC4E PRG:4C4E 48 lda (Zp2A),y ; CPU:$CC4F PRG:4C4F B1 2A and ObjectX ; CPU:$CC51 PRG:4C51 25 18 sta ObjPtr ; CPU:$CC53 PRG:4C53 85 13 pla ; CPU:$CC55 PRG:4C55 68 tay ; CPU:$CC56 PRG:4C56 A8 lda ObjectX ; CPU:$CC57 PRG:4C57 A5 18 eor #$FF ; CPU:$CC59 PRG:4C59 49 FF and $022E,y ; CPU:$CC5B PRG:4C5B 39 2E 02 ora ObjPtr ; CPU:$CC5E PRG:4C5E 05 13 sta $022E,y ; CPU:$CC60 PRG:4C60 99 2E 02 sta $0200,y ; CPU:$CC63 PRG:4C63 99 00 02 rts ; CPU:$CC66 PRG:4C66 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC67 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC67: pha ; CPU:$CC67 PRG:4C67 48 lda (Zp2A),y ; CPU:$CC68 PRG:4C68 B1 2A and ObjectY ; CPU:$CC6A PRG:4C6A 25 19 sta ObjPtr ; CPU:$CC6C PRG:4C6C 85 13 pla ; CPU:$CC6E PRG:4C6E 68 tay ; CPU:$CC6F PRG:4C6F A8 lda ObjectY ; CPU:$CC70 PRG:4C70 A5 19 eor #$FF ; CPU:$CC72 PRG:4C72 49 FF and $022E,y ; CPU:$CC74 PRG:4C74 39 2E 02 ora ObjPtr ; CPU:$CC77 PRG:4C77 05 13 sta $022E,y ; CPU:$CC79 PRG:4C79 99 2E 02 sta $0200,y ; CPU:$CC7C PRG:4C7C 99 00 02 rts ; CPU:$CC7F PRG:4C7F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC80 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC80: lda (Zp2A),y ; CPU:$CC80 PRG:4C80 B1 2A sta $028B ; CPU:$CC82 PRG:4C82 8D 8B 02 iny ; CPU:$CC85 PRG:4C85 C8 lda (Zp2A),y ; CPU:$CC86 PRG:4C86 B1 2A sta $028F ; CPU:$CC88 PRG:4C88 8D 8F 02 iny ; CPU:$CC8B PRG:4C8B C8 rts ; CPU:$CC8C PRG:4C8C 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsRts: lda Zp99 ; CPU:$CC8D PRG:4C8D A5 99 lsr a ; CPU:$CC8F PRG:4C8F 4A bcs Sub_CC93 ; CPU:$CC90 PRG:4C90 B0 01 rts ; CPU:$CC92 PRG:4C92 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC93 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC93: txa ; CPU:$CC93 PRG:4C93 8A lsr a ; CPU:$CC94 PRG:4C94 4A tax ; CPU:$CC95 PRG:4C95 AA lda $CD37,x ; CPU:$CC96 PRG:4C96 BD 37 CD sta ObjPtr ; CPU:$CC99 PRG:4C99 85 13 ldx #$00 ; CPU:$CC9B PRG:4C9B A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_CC9D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CC9D: lda $0300,x ; CPU:$CC9D PRG:4C9D BD 00 03 beq Sub_CCAC ; CPU:$CCA0 PRG:4CA0 F0 0A txa ; CPU:$CCA2 PRG:4CA2 8A clc ; CPU:$CCA3 PRG:4CA3 18 adc #$08 ; CPU:$CCA4 PRG:4CA4 69 08 tax ; CPU:$CCA6 PRG:4CA6 AA cpx #$80 ; CPU:$CCA7 PRG:4CA7 E0 80 bne Sub_CC9D ; CPU:$CCA9 PRG:4CA9 D0 F2 rts ; CPU:$CCAB PRG:4CAB 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CCAC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CCAC: lda ObjPtr ; CPU:$CCAC PRG:4CAC A5 13 sta $0300,x ; CPU:$CCAE PRG:4CAE 9D 00 03 lda #$02 ; CPU:$CCB1 PRG:4CB1 A9 02 sta $0301,x ; CPU:$CCB3 PRG:4CB3 9D 01 03 lda #$00 ; CPU:$CCB6 PRG:4CB6 A9 00 sta $0307,x ; CPU:$CCB8 PRG:4CB8 9D 07 03 sta $0306,x ; CPU:$CCBB PRG:4CBB 9D 06 03 sec ; CPU:$CCBE PRG:4CBE 38 sbc ScrollY ; CPU:$CCBF PRG:4CBF E5 03 and #$07 ; CPU:$CCC1 PRG:4CC1 29 07 clc ; CPU:$CCC3 PRG:4CC3 18 adc #$EF ; CPU:$CCC4 PRG:4CC4 69 EF sta $0302,x ; CPU:$CCC6 PRG:4CC6 9D 02 03 lda (Zp2A),y ; CPU:$CCC9 PRG:4CC9 B1 2A asl a ; CPU:$CCCB PRG:4CCB 0A asl a ; CPU:$CCCC PRG:4CCC 0A asl a ; CPU:$CCCD PRG:4CCD 0A sta $0303,x ; CPU:$CCCE PRG:4CCE 9D 03 03 lda $0208 ; CPU:$CCD1 PRG:4CD1 AD 08 02 sta $0304,x ; CPU:$CCD4 PRG:4CD4 9D 04 03 lda $0209 ; CPU:$CCD7 PRG:4CD7 AD 09 02 clc ; CPU:$CCDA PRG:4CDA 18 adc (Zp2A),y ; CPU:$CCDB PRG:4CDB 71 2A sta $0305,x ; CPU:$CCDD PRG:4CDD 9D 05 03 rts ; CPU:$CCE0 PRG:4CE0 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsRts2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsRts2: lda Zp99 ; CPU:$CCE1 PRG:4CE1 A5 99 lsr a ; CPU:$CCE3 PRG:4CE3 4A bcs Sub_CCE7 ; CPU:$CCE4 PRG:4CE4 B0 01 rts ; CPU:$CCE6 PRG:4CE6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CCE7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CCE7: txa ; CPU:$CCE7 PRG:4CE7 8A lsr a ; CPU:$CCE8 PRG:4CE8 4A tax ; CPU:$CCE9 PRG:4CE9 AA lda $CD37,x ; CPU:$CCEA PRG:4CEA BD 37 CD sta ObjPtr ; CPU:$CCED PRG:4CED 85 13 ldx #$00 ; CPU:$CCEF PRG:4CEF A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_CCF1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CCF1: lda $0300,x ; CPU:$CCF1 PRG:4CF1 BD 00 03 beq Sub_CD00 ; CPU:$CCF4 PRG:4CF4 F0 0A txa ; CPU:$CCF6 PRG:4CF6 8A clc ; CPU:$CCF7 PRG:4CF7 18 adc #$08 ; CPU:$CCF8 PRG:4CF8 69 08 tax ; CPU:$CCFA PRG:4CFA AA cpx #$80 ; CPU:$CCFB PRG:4CFB E0 80 bne Sub_CCF1 ; CPU:$CCFD PRG:4CFD D0 F2 rts ; CPU:$CCFF PRG:4CFF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CD00 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CD00: lda ObjPtr ; CPU:$CD00 PRG:4D00 A5 13 sta $0300,x ; CPU:$CD02 PRG:4D02 9D 00 03 lda #$02 ; CPU:$CD05 PRG:4D05 A9 02 sta $0301,x ; CPU:$CD07 PRG:4D07 9D 01 03 lda ScrollY ; CPU:$CD0A PRG:4D0A A5 03 and #$07 ; CPU:$CD0C PRG:4D0C 29 07 clc ; CPU:$CD0E PRG:4D0E 18 adc #$E7 ; CPU:$CD0F PRG:4D0F 69 E7 sta $0302,x ; CPU:$CD11 PRG:4D11 9D 02 03 lda (Zp2A),y ; CPU:$CD14 PRG:4D14 B1 2A asl a ; CPU:$CD16 PRG:4D16 0A asl a ; CPU:$CD17 PRG:4D17 0A asl a ; CPU:$CD18 PRG:4D18 0A clc ; CPU:$CD19 PRG:4D19 18 adc #$08 ; CPU:$CD1A PRG:4D1A 69 08 sta $0303,x ; CPU:$CD1C PRG:4D1C 9D 03 03 lda $0208 ; CPU:$CD1F PRG:4D1F AD 08 02 sta $0304,x ; CPU:$CD22 PRG:4D22 9D 04 03 lda $0209 ; CPU:$CD25 PRG:4D25 AD 09 02 clc ; CPU:$CD28 PRG:4D28 18 adc (Zp2A),y ; CPU:$CD29 PRG:4D29 71 2A sta $0305,x ; CPU:$CD2B PRG:4D2B 9D 05 03 lda #$00 ; CPU:$CD2E PRG:4D2E A9 00 sta $0306,x ; CPU:$CD30 PRG:4D30 9D 06 03 sta $0307,x ; CPU:$CD33 PRG:4D33 9D 07 03 rts ; CPU:$CD36 PRG:4D36 60 OamSlotTable: ; OAM sprite slot/index table (read by lda $CD37,x) ; ---- data $CD37-$CD44 (14 bytes) ---- ; referenced by `lda $CD37,x` at $CC96 (operand $CD37 falls inside this region) ; referenced by `lda $CD37,x` at $CCEA (operand $CD37 falls inside this region) .byte $02, $04, $06, $08, $00, $0A, $00, $0C, $00, $00, $00, $00, $00, $0E ; CPU:$CD37 PRG:4D37 02 04 06 08 00 0A 00 0C 00 00 00 00 00 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_CD45 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CD45: rol a ; CPU:$CD45 PRG:4D45 2A bit $2E32 ; CPU:$CD46 PRG:4D46 2C 32 2E bmi Sub_CD81 ; CPU:$CD49 PRG:4D49 30 36 sec ; CPU:$CD4B PRG:4D4B 38 ; ---- data $CD4C-$CD4C (1 bytes) ---- .byte $60 ; CPU:$CD4C PRG:4D4C 60 ; ---- data $CD4D-$CD80 (52 bytes) ---- .byte $61, $62, $63, $64, $65, $66, $67, $68, $69, $6A, $6B, $6C, $6D, $6E, $6F, $73 ; CPU:$CD4D PRG:4D4D 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 73 .byte $2D, $2D, $76, $2D, $73, $76, $A5, $2D, $79, $7C, $A5, $79, $8D, $8D, $7C, $70 ; CPU:$CD5D PRG:4D5D 2D 2D 76 2D 73 76 A5 2D 79 7C A5 79 8D 8D 7C 70 .byte $71, $74, $75, $72, $64, $65, $77, $78, $66, $67, $7D, $7A, $7B, $7E, $7F, $5C ; CPU:$CD6D PRG:4D6D 71 74 75 72 64 65 77 78 66 67 7D 7A 7B 7E 7F 5C .byte $5D, $5E, $5F, $2C ; CPU:$CD7D PRG:4D7D 5D 5E 5F 2C ; ----------------------------------------------------------------------------- ; Routine: Sub_CD81 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CD81: bit $2C2C ; CPU:$CD81 PRG:4D81 2C 2C 2C bit $8481 ; CPU:$CD84 PRG:4D84 2C 81 84 sta Zp88 ; CPU:$CD87 PRG:4D87 85 88 ; ---- data $CD89-$CE02 (122 bytes) ---- .byte $89, $8C, $2C, $82, $83, $86, $87, $8A, $8B, $8E, $8F, $2C, $91, $94, $95, $98 ; CPU:$CD89 PRG:4D89 89 8C 2C 82 83 86 87 8A 8B 8E 8F 2C 91 94 95 98 .byte $99, $9C, $9D, $A0, $A1, $A4, $2C, $92, $93, $96, $97, $9A, $9B, $9E, $9F, $A2 ; CPU:$CD99 PRG:4D99 99 9C 9D A0 A1 A4 2C 92 93 96 97 9A 9B 9E 9F A2 .byte $A3, $A6, $A7, $A8, $A9, $AC, $AD, $B0, $B1, $B4, $B5, $B8, $B9, $BC, $BD, $AA ; CPU:$CDA9 PRG:4DA9 A3 A6 A7 A8 A9 AC AD B0 B1 B4 B5 B8 B9 BC BD AA .byte $AB, $AE, $AF, $B2, $A5, $A5, $B7, $BA, $BB, $BE, $BF, $C0, $C1, $C4, $C5, $C8 ; CPU:$CDB9 PRG:4DB9 AB AE AF B2 A5 A5 B7 BA BB BE BF C0 C1 C4 C5 C8 .byte $A5, $A5, $CD, $D0, $D1, $D4, $D5, $C2, $C3, $C6, $C7, $CA, $CB, $CE, $CF, $D2 ; CPU:$CDC9 PRG:4DC9 A5 A5 CD D0 D1 D4 D5 C2 C3 C6 C7 CA CB CE CF D2 .byte $D3, $D6, $D7, $D8, $D9, $DC, $DD, $E0, $E1, $E4, $E5, $E8, $E9, $EC, $ED, $2C ; CPU:$CDD9 PRG:4DD9 D3 D6 D7 D8 D9 DC DD E0 E1 E4 E5 E8 E9 EC ED 2C .byte $DB, $DE, $DF, $E2, $E3, $E6, $E7, $EA, $EB, $EE, $2C, $F0, $F1, $F4, $F5, $F8 ; CPU:$CDE9 PRG:4DE9 DB DE DF E2 E3 E6 E7 EA EB EE 2C F0 F1 F4 F5 F8 .byte $F9, $FC, $FD, $2C, $F3, $F6, $F7, $FA, $FB, $FE ; CPU:$CDF9 PRG:4DF9 F9 FC FD 2C F3 F6 F7 FA FB FE ; ----------------------------------------------------------------------------- ; Routine: Sub_CE03 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE03: bit a:$00A2 ; CPU:$CE03 PRG:4E03 2C A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE06 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE06: jsr DispatchAndCheck ; CPU:$CE06 PRG:4E06 20 11 CE txa ; CPU:$CE09 PRG:4E09 8A clc ; CPU:$CE0A PRG:4E0A 18 adc #$10 ; CPU:$CE0B PRG:4E0B 69 10 tax ; CPU:$CE0D PRG:4E0D AA bne Sub_CE06 ; CPU:$CE0E PRG:4E0E D0 F6 rts ; CPU:$CE10 PRG:4E10 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchAndCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAndCheck: lda $0400,x ; CPU:$CE11 PRG:4E11 BD 00 04 and #$03 ; CPU:$CE14 PRG:4E14 29 03 beq Sub_CE3D ; CPU:$CE16 PRG:4E16 F0 25 sec ; CPU:$CE18 PRG:4E18 38 sbc #$01 ; CPU:$CE19 PRG:4E19 E9 01 beq Sub_CE3E ; CPU:$CE1B PRG:4E1B F0 21 sec ; CPU:$CE1D PRG:4E1D 38 sbc #$01 ; CPU:$CE1E PRG:4E1E E9 01 beq Sub_CE45 ; CPU:$CE20 PRG:4E20 F0 23 lda $0407,x ; CPU:$CE22 PRG:4E22 BD 07 04 clc ; CPU:$CE25 PRG:4E25 18 adc Zp25 ; CPU:$CE26 PRG:4E26 65 25 sta $0407,x ; CPU:$CE28 PRG:4E28 9D 07 04 bcc Sub_CE30 ; CPU:$CE2B PRG:4E2B 90 03 inc $0407,x ; CPU:$CE2D PRG:4E2D FE 07 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE30 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE30: jsr DispatchOraCheck ; CPU:$CE30 PRG:4E30 20 50 CE dec $040B,x ; CPU:$CE33 PRG:4E33 DE 0B 04 bne Sub_CE3D ; CPU:$CE36 PRG:4E36 D0 05 lda #$01 ; CPU:$CE38 PRG:4E38 A9 01 sta $0400,x ; CPU:$CE3A PRG:4E3A 9D 00 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE3D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE3D: rts ; CPU:$CE3D PRG:4E3D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE3E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE3E: jsr DispatchAddStoreLda ; CPU:$CE3E PRG:4E3E 20 3D D0 jsr DispatchOraCheck ; CPU:$CE41 PRG:4E41 20 50 CE rts ; CPU:$CE44 PRG:4E44 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE45 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE45: lda #$03 ; CPU:$CE45 PRG:4E45 A9 03 jsr DispatchStoreB ; CPU:$CE47 PRG:4E47 20 0C D1 lda #$01 ; CPU:$CE4A PRG:4E4A A9 01 sta $0400,x ; CPU:$CE4C PRG:4E4C 9D 00 04 rts ; CPU:$CE4F PRG:4E4F 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchOraCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchOraCheck: lda $0403,x ; CPU:$CE50 PRG:4E50 BD 03 04 ora $0406,x ; CPU:$CE53 PRG:4E53 1D 06 04 bne Sub_CE5F ; CPU:$CE56 PRG:4E56 D0 07 lda $0404,x ; CPU:$CE58 PRG:4E58 BD 04 04 cmp #$F9 ; CPU:$CE5B PRG:4E5B C9 F9 bcc Sub_CE65 ; CPU:$CE5D PRG:4E5D 90 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE5F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE5F: lda #$00 ; CPU:$CE5F PRG:4E5F A9 00 sta $0400,x ; CPU:$CE61 PRG:4E61 9D 00 04 rts ; CPU:$CE64 PRG:4E64 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE65 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE65: lda #$02 ; CPU:$CE65 PRG:4E65 A9 02 sta ObjPtr ; CPU:$CE67 PRG:4E67 85 13 lda $0407,x ; CPU:$CE69 PRG:4E69 BD 07 04 cmp #$F0 ; CPU:$CE6C PRG:4E6C C9 F0 bcs Sub_CEC2 ; CPU:$CE6E PRG:4E6E B0 52 ldy ObjectDeltaX ; CPU:$CE70 PRG:4E70 A4 2D beq Sub_CEC2 ; CPU:$CE72 PRG:4E72 F0 4E sta $0700,y ; CPU:$CE74 PRG:4E74 99 00 07 sec ; CPU:$CE77 PRG:4E77 38 sbc Zp24 ; CPU:$CE78 PRG:4E78 E5 24 clc ; CPU:$CE7A PRG:4E7A 18 adc #$02 ; CPU:$CE7B PRG:4E7B 69 02 cmp #$0D ; CPU:$CE7D PRG:4E7D C9 0D bcs Sub_CE83 ; CPU:$CE7F PRG:4E7F B0 02 dec ObjPtr ; CPU:$CE81 PRG:4E81 C6 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_CE83 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CE83: iny ; CPU:$CE83 PRG:4E83 C8 inc $0409,x ; CPU:$CE84 PRG:4E84 FE 09 04 lda $0409,x ; CPU:$CE87 PRG:4E87 BD 09 04 ror a ; CPU:$CE8A PRG:4E8A 6A ror a ; CPU:$CE8B PRG:4E8B 6A and #$01 ; CPU:$CE8C PRG:4E8C 29 01 ora #$DE ; CPU:$CE8E PRG:4E8E 09 DE sta $0700,y ; CPU:$CE90 PRG:4E90 99 00 07 iny ; CPU:$CE93 PRG:4E93 C8 lda $0409,x ; CPU:$CE94 PRG:4E94 BD 09 04 ror a ; CPU:$CE97 PRG:4E97 6A and #$01 ; CPU:$CE98 PRG:4E98 29 01 ora #$02 ; CPU:$CE9A PRG:4E9A 09 02 sta $0700,y ; CPU:$CE9C PRG:4E9C 99 00 07 iny ; CPU:$CE9F PRG:4E9F C8 lda $0404,x ; CPU:$CEA0 PRG:4EA0 BD 04 04 sta $0700,y ; CPU:$CEA3 PRG:4EA3 99 00 07 iny ; CPU:$CEA6 PRG:4EA6 C8 sty ObjectDeltaX ; CPU:$CEA7 PRG:4EA7 84 2D sec ; CPU:$CEA9 PRG:4EA9 38 sbc Zp23 ; CPU:$CEAA PRG:4EAA E5 23 clc ; CPU:$CEAC PRG:4EAC 18 adc #$02 ; CPU:$CEAD PRG:4EAD 69 02 cmp #$0D ; CPU:$CEAF PRG:4EAF C9 0D bcs Sub_CEB5 ; CPU:$CEB1 PRG:4EB1 B0 02 dec ObjPtr ; CPU:$CEB3 PRG:4EB3 C6 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_CEB5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CEB5: lda ObjPtr ; CPU:$CEB5 PRG:4EB5 A5 13 bne Sub_CEC2 ; CPU:$CEB7 PRG:4EB7 D0 09 lda Zp3B ; CPU:$CEB9 PRG:4EB9 A5 3B bne Sub_CEC2 ; CPU:$CEBB PRG:4EBB D0 05 inc $0611 ; CPU:$CEBD PRG:4EBD EE 11 06 inc Zp3B ; CPU:$CEC0 PRG:4EC0 E6 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_CEC2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CEC2: rts ; CPU:$CEC2 PRG:4EC2 60 ; ---- data $CEC3-$CECE (12 bytes) ---- .byte $20, $F6, $CE, $BD, $82, $03, $18, $69, $02, $9D, $82, $03 ; CPU:$CEC3 PRG:4EC3 20 F6 CE BD 82 03 18 69 02 9D 82 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_CECF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CECF: jsr DispatchJmpA ; CPU:$CECF PRG:4ECF 20 F6 CE lda $0382,x ; CPU:$CED2 PRG:4ED2 BD 82 03 sec ; CPU:$CED5 PRG:4ED5 38 sbc #$04 ; CPU:$CED6 PRG:4ED6 E9 04 sta $0382,x ; CPU:$CED8 PRG:4ED8 9D 82 03 jsr DispatchJmpA ; CPU:$CEDB PRG:4EDB 20 F6 CE lda $0382,x ; CPU:$CEDE PRG:4EDE BD 82 03 clc ; CPU:$CEE1 PRG:4EE1 18 adc #$06 ; CPU:$CEE2 PRG:4EE2 69 06 sta $0382,x ; CPU:$CEE4 PRG:4EE4 9D 82 03 jsr DispatchJmpA ; CPU:$CEE7 PRG:4EE7 20 F6 CE lda $0382,x ; CPU:$CEEA PRG:4EEA BD 82 03 sec ; CPU:$CEED PRG:4EED 38 sbc #$08 ; CPU:$CEEE PRG:4EEE E9 08 sta $0382,x ; CPU:$CEF0 PRG:4EF0 9D 82 03 jmp DispatchJmpA ; CPU:$CEF3 PRG:4EF3 4C F6 CE ; ----------------------------------------------------------------------------- ; Routine: DispatchJmpA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJmpA: lda #$03 ; CPU:$CEF6 PRG:4EF6 A9 03 jmp DispatchStoreJsrStoreLda ; CPU:$CEF8 PRG:4EF8 4C FD CE ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaA: lda #$02 ; CPU:$CEFB PRG:4EFB A9 02 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreJsrStoreLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreJsrStoreLda: sta Zp39 ; CPU:$CEFD PRG:4EFD 85 39 jsr DispatchLdyA ; CPU:$CEFF PRG:4EFF 20 54 D1 lda $0383,x ; CPU:$CF02 PRG:4F02 BD 83 03 sta $0403,y ; CPU:$CF05 PRG:4F05 99 03 04 lda $0384,x ; CPU:$CF08 PRG:4F08 BD 84 03 sta $0404,y ; CPU:$CF0B PRG:4F0B 99 04 04 lda $0386,x ; CPU:$CF0E PRG:4F0E BD 86 03 sta $0406,y ; CPU:$CF11 PRG:4F11 99 06 04 lda $0387,x ; CPU:$CF14 PRG:4F14 BD 87 03 sta $0407,y ; CPU:$CF17 PRG:4F17 99 07 04 lda $0382,x ; CPU:$CF1A PRG:4F1A BD 82 03 sta $0402,y ; CPU:$CF1D PRG:4F1D 99 02 04 lda #$01 ; CPU:$CF20 PRG:4F20 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF22 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CF22: sta $0400,y ; CPU:$CF22 PRG:4F22 99 00 04 txa ; CPU:$CF25 PRG:4F25 8A pha ; CPU:$CF26 PRG:4F26 48 tya ; CPU:$CF27 PRG:4F27 98 tax ; CPU:$CF28 PRG:4F28 AA jsr DispatchStoreStoreStoreStore ; CPU:$CF29 PRG:4F29 20 0E D1 pla ; CPU:$CF2C PRG:4F2C 68 tax ; CPU:$CF2D PRG:4F2D AA rts ; CPU:$CF2E PRG:4F2E 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrStoreLdaClc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrStoreLdaClc: jsr DispatchLdyA ; CPU:$CF2F PRG:4F2F 20 54 D1 lda $0383,x ; CPU:$CF32 PRG:4F32 BD 83 03 sta $0403,y ; CPU:$CF35 PRG:4F35 99 03 04 lda $0384,x ; CPU:$CF38 PRG:4F38 BD 84 03 clc ; CPU:$CF3B PRG:4F3B 18 adc #$04 ; CPU:$CF3C PRG:4F3C 69 04 bcs Sub_CF64 ; CPU:$CF3E PRG:4F3E B0 24 sta $0404,y ; CPU:$CF40 PRG:4F40 99 04 04 lda $0386,x ; CPU:$CF43 PRG:4F43 BD 86 03 sta $0406,y ; CPU:$CF46 PRG:4F46 99 06 04 lda $0387,x ; CPU:$CF49 PRG:4F49 BD 87 03 clc ; CPU:$CF4C PRG:4F4C 18 adc #$04 ; CPU:$CF4D PRG:4F4D 69 04 bcs Sub_CF64 ; CPU:$CF4F PRG:4F4F B0 13 sta $0407,y ; CPU:$CF51 PRG:4F51 99 07 04 lda #$01 ; CPU:$CF54 PRG:4F54 A9 01 sta $0400,y ; CPU:$CF56 PRG:4F56 99 00 04 txa ; CPU:$CF59 PRG:4F59 8A pha ; CPU:$CF5A PRG:4F5A 48 tya ; CPU:$CF5B PRG:4F5B 98 tax ; CPU:$CF5C PRG:4F5C AA lda #$02 ; CPU:$CF5D PRG:4F5D A9 02 jsr DispatchJsrSubBcs ; CPU:$CF5F PRG:4F5F 20 88 D0 pla ; CPU:$CF62 PRG:4F62 68 tax ; CPU:$CF63 PRG:4F63 AA ; ----------------------------------------------------------------------------- ; Routine: Sub_CF64 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CF64: rts ; CPU:$CF64 PRG:4F64 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrStoreLdaClc2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrStoreLdaClc2: jsr DispatchLdyA ; CPU:$CF65 PRG:4F65 20 54 D1 lda $0503,x ; CPU:$CF68 PRG:4F68 BD 03 05 sta $0403,y ; CPU:$CF6B PRG:4F6B 99 03 04 lda $0504,x ; CPU:$CF6E PRG:4F6E BD 04 05 clc ; CPU:$CF71 PRG:4F71 18 adc #$04 ; CPU:$CF72 PRG:4F72 69 04 bcs Sub_CF9A ; CPU:$CF74 PRG:4F74 B0 24 sta $0404,y ; CPU:$CF76 PRG:4F76 99 04 04 lda $0506,x ; CPU:$CF79 PRG:4F79 BD 06 05 sta $0406,y ; CPU:$CF7C PRG:4F7C 99 06 04 lda $0507,x ; CPU:$CF7F PRG:4F7F BD 07 05 clc ; CPU:$CF82 PRG:4F82 18 adc #$04 ; CPU:$CF83 PRG:4F83 69 04 bcs Sub_CF9A ; CPU:$CF85 PRG:4F85 B0 13 sta $0407,y ; CPU:$CF87 PRG:4F87 99 07 04 lda #$01 ; CPU:$CF8A PRG:4F8A A9 01 sta $0400,y ; CPU:$CF8C PRG:4F8C 99 00 04 txa ; CPU:$CF8F PRG:4F8F 8A pha ; CPU:$CF90 PRG:4F90 48 tya ; CPU:$CF91 PRG:4F91 98 tax ; CPU:$CF92 PRG:4F92 AA lda #$02 ; CPU:$CF93 PRG:4F93 A9 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_CF95 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CF95: jsr DispatchJsrSubBcs ; CPU:$CF95 PRG:4F95 20 88 D0 pla ; CPU:$CF98 PRG:4F98 68 tax ; CPU:$CF99 PRG:4F99 AA ; ----------------------------------------------------------------------------- ; Routine: Sub_CF9A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CF9A: rts ; CPU:$CF9A PRG:4F9A 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrStoreLdaClc3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrStoreLdaClc3: jsr DispatchLdyA ; CPU:$CF9B PRG:4F9B 20 54 D1 lda #$00 ; CPU:$CF9E PRG:4F9E A9 00 sta $0403,y ; CPU:$CFA0 PRG:4FA0 99 03 04 lda $0303,x ; CPU:$CFA3 PRG:4FA3 BD 03 03 clc ; CPU:$CFA6 PRG:4FA6 18 adc #$04 ; CPU:$CFA7 PRG:4FA7 69 04 bcs Sub_CFD4 ; CPU:$CFA9 PRG:4FA9 B0 29 sta $0404,y ; CPU:$CFAB PRG:4FAB 99 04 04 lda $0301,x ; CPU:$CFAE PRG:4FAE BD 01 03 sta $0406,y ; CPU:$CFB1 PRG:4FB1 99 06 04 lda $0302,x ; CPU:$CFB4 PRG:4FB4 BD 02 03 clc ; CPU:$CFB7 PRG:4FB7 18 adc #$04 ; CPU:$CFB8 PRG:4FB8 69 04 bcs Sub_CFD4 ; CPU:$CFBA PRG:4FBA B0 18 sta $0407,y ; CPU:$CFBC PRG:4FBC 99 07 04 lda #$03 ; CPU:$CFBF PRG:4FBF A9 03 sta $0400,y ; CPU:$CFC1 PRG:4FC1 99 00 04 lda #$05 ; CPU:$CFC4 PRG:4FC4 A9 05 sta $040B,y ; CPU:$CFC6 PRG:4FC6 99 0B 04 txa ; CPU:$CFC9 PRG:4FC9 8A pha ; CPU:$CFCA PRG:4FCA 48 tya ; CPU:$CFCB PRG:4FCB 98 tax ; CPU:$CFCC PRG:4FCC AA lda #$02 ; CPU:$CFCD PRG:4FCD A9 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_CFCF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CFCF: jsr DispatchJsrSubBcs ; CPU:$CFCF PRG:4FCF 20 88 D0 pla ; CPU:$CFD2 PRG:4FD2 68 tax ; CPU:$CFD3 PRG:4FD3 AA ; ----------------------------------------------------------------------------- ; Routine: Sub_CFD4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CFD4: rts ; CPU:$CFD4 PRG:4FD4 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchTyaPhaLdy ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchTyaPhaLdy: tya ; CPU:$CFD5 PRG:4FD5 98 pha ; CPU:$CFD6 PRG:4FD6 48 ldy #$00 ; CPU:$CFD7 PRG:4FD7 A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_CFD9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CFD9: lda $0400,y ; CPU:$CFD9 PRG:4FD9 B9 00 04 and #$03 ; CPU:$CFDC PRG:4FDC 29 03 beq Sub_CFEA ; CPU:$CFDE PRG:4FDE F0 0A tya ; CPU:$CFE0 PRG:4FE0 98 clc ; CPU:$CFE1 PRG:4FE1 18 adc #$10 ; CPU:$CFE2 PRG:4FE2 69 10 tay ; CPU:$CFE4 PRG:4FE4 A8 bne Sub_CFD9 ; CPU:$CFE5 PRG:4FE5 D0 F2 pla ; CPU:$CFE7 PRG:4FE7 68 tay ; CPU:$CFE8 PRG:4FE8 A8 rts ; CPU:$CFE9 PRG:4FE9 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_CFEA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_CFEA: lda #$00 ; CPU:$CFEA PRG:4FEA A9 00 sta $0403,y ; CPU:$CFEC PRG:4FEC 99 03 04 sta $0406,y ; CPU:$CFEF PRG:4FEF 99 06 04 lda Zp45 ; CPU:$CFF2 PRG:4FF2 A5 45 sta $0404,y ; CPU:$CFF4 PRG:4FF4 99 04 04 lda Zp46 ; CPU:$CFF7 PRG:4FF7 A5 46 sta $0407,y ; CPU:$CFF9 PRG:4FF9 99 07 04 lda #$03 ; CPU:$CFFC PRG:4FFC A9 03 sta $0400,y ; CPU:$CFFE PRG:4FFE 99 00 04 lda #$03 ; CPU:$D001 PRG:5001 A9 03 sta $040B,y ; CPU:$D003 PRG:5003 99 0B 04 txa ; CPU:$D006 PRG:5006 8A pha ; CPU:$D007 PRG:5007 48 tya ; CPU:$D008 PRG:5008 98 tax ; CPU:$D009 PRG:5009 AA lda #$02 ; CPU:$D00A PRG:500A A9 02 jsr DispatchJsrSubBcs ; CPU:$D00C PRG:500C 20 88 D0 pla ; CPU:$D00F PRG:500F 68 tax ; CPU:$D010 PRG:5010 AA pla ; CPU:$D011 PRG:5011 68 tay ; CPU:$D012 PRG:5012 A8 rts ; CPU:$D013 PRG:5013 60 ; ---- data $D014-$D017 (4 bytes) ---- .byte $A2, $00, $A0, $10 ; CPU:$D014 PRG:5014 A2 00 A0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_D018 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D018: lda #$02 ; CPU:$D018 PRG:5018 A9 02 sta $0400,x ; CPU:$D01A PRG:501A 9D 00 04 tya ; CPU:$D01D PRG:501D 98 asl a ; CPU:$D01E PRG:501E 0A sta $0402,x ; CPU:$D01F PRG:501F 9D 02 04 lda #$00 ; CPU:$D022 PRG:5022 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D024 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D024: sta $0403,x ; CPU:$D024 PRG:5024 9D 03 04 sta $0406,x ; CPU:$D027 PRG:5027 9D 06 04 lda ObjectXLo ; CPU:$D02A PRG:502A A5 37 sta $0404,x ; CPU:$D02C PRG:502C 9D 04 04 lda ObjectXHi ; CPU:$D02F PRG:502F A5 38 sta $0407,x ; CPU:$D031 PRG:5031 9D 07 04 txa ; CPU:$D034 PRG:5034 8A clc ; CPU:$D035 PRG:5035 18 adc #$10 ; CPU:$D036 PRG:5036 69 10 tax ; CPU:$D038 PRG:5038 AA dey ; CPU:$D039 PRG:5039 88 bne Sub_D018 ; CPU:$D03A PRG:503A D0 DC rts ; CPU:$D03C PRG:503C 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchAddStoreLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAddStoreLda: lda $040D,x ; CPU:$D03D PRG:503D BD 0D 04 clc ; CPU:$D040 PRG:5040 18 adc $0405,x ; CPU:$D041 PRG:5041 7D 05 04 sta $0405,x ; CPU:$D044 PRG:5044 9D 05 04 lda $040C,x ; CPU:$D047 PRG:5047 BD 0C 04 adc $0404,x ; CPU:$D04A PRG:504A 7D 04 04 sta $0404,x ; CPU:$D04D PRG:504D 9D 04 04 lda $040C,x ; CPU:$D050 PRG:5050 BD 0C 04 bpl Sub_D05A ; CPU:$D053 PRG:5053 10 05 lda #$FF ; CPU:$D055 PRG:5055 A9 FF jmp DispatchAdcStoreLdaAdd ; CPU:$D057 PRG:5057 4C 5C D0 ; ----------------------------------------------------------------------------- ; Routine: Sub_D05A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D05A: lda #$00 ; CPU:$D05A PRG:505A A9 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchAdcStoreLdaAdd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAdcStoreLdaAdd: adc $0403,x ; CPU:$D05C PRG:505C 7D 03 04 sta $0403,x ; CPU:$D05F PRG:505F 9D 03 04 lda $040F,x ; CPU:$D062 PRG:5062 BD 0F 04 clc ; CPU:$D065 PRG:5065 18 adc $0408,x ; CPU:$D066 PRG:5066 7D 08 04 sta $0408,x ; CPU:$D069 PRG:5069 9D 08 04 lda $040E,x ; CPU:$D06C PRG:506C BD 0E 04 adc $0407,x ; CPU:$D06F PRG:506F 7D 07 04 sta $0407,x ; CPU:$D072 PRG:5072 9D 07 04 lda $040E,x ; CPU:$D075 PRG:5075 BD 0E 04 bpl Sub_D07F ; CPU:$D078 PRG:5078 10 05 lda #$FF ; CPU:$D07A PRG:507A A9 FF jmp DispatchAdcStoreRts ; CPU:$D07C PRG:507C 4C 81 D0 ; ----------------------------------------------------------------------------- ; Routine: Sub_D07F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D07F: lda #$00 ; CPU:$D07F PRG:507F A9 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchAdcStoreRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAdcStoreRts: adc $0406,x ; CPU:$D081 PRG:5081 7D 06 04 sta $0406,x ; CPU:$D084 PRG:5084 9D 06 04 rts ; CPU:$D087 PRG:5087 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrSubBcs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrSubBcs: sta Zp39 ; CPU:$D088 PRG:5088 85 39 jsr DispatchCheckLdaRts ; CPU:$D08A PRG:508A 20 F8 D0 sec ; CPU:$D08D PRG:508D 38 sbc $0404,x ; CPU:$D08E PRG:508E FD 04 04 bcs Sub_D0BA ; CPU:$D091 PRG:5091 B0 27 eor #$FF ; CPU:$D093 PRG:5093 49 FF clc ; CPU:$D095 PRG:5095 18 adc #$01 ; CPU:$D096 PRG:5096 69 01 sta ObjectXLo ; CPU:$D098 PRG:5098 85 37 jsr DispatchCheckLdaRts2 ; CPU:$D09A PRG:509A 20 02 D1 sec ; CPU:$D09D PRG:509D 38 sbc $0407,x ; CPU:$D09E PRG:509E FD 07 04 bcs Sub_D0D8 ; CPU:$D0A1 PRG:50A1 B0 35 eor #$FF ; CPU:$D0A3 PRG:50A3 49 FF clc ; CPU:$D0A5 PRG:50A5 18 adc #$01 ; CPU:$D0A6 PRG:50A6 69 01 sta ObjectXHi ; CPU:$D0A8 PRG:50A8 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0AA PRG:50AA 20 5D ED sta ObjPtr ; CPU:$D0AD PRG:50AD 85 13 lda #$18 ; CPU:$D0AF PRG:50AF A9 18 sec ; CPU:$D0B1 PRG:50B1 38 sbc ObjPtr ; CPU:$D0B2 PRG:50B2 E5 13 sta $0402,x ; CPU:$D0B4 PRG:50B4 9D 02 04 jmp DispatchStoreStoreStoreStore ; CPU:$D0B7 PRG:50B7 4C 0E D1 ; ----------------------------------------------------------------------------- ; Routine: Sub_D0BA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D0BA: sta ObjectXLo ; CPU:$D0BA PRG:50BA 85 37 jsr DispatchCheckLdaRts2 ; CPU:$D0BC PRG:50BC 20 02 D1 sec ; CPU:$D0BF PRG:50BF 38 sbc $0407,x ; CPU:$D0C0 PRG:50C0 FD 07 04 bcs Sub_D0E6 ; CPU:$D0C3 PRG:50C3 B0 21 eor #$FF ; CPU:$D0C5 PRG:50C5 49 FF clc ; CPU:$D0C7 PRG:50C7 18 adc #$01 ; CPU:$D0C8 PRG:50C8 69 01 sta ObjectXHi ; CPU:$D0CA PRG:50CA 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0CC PRG:50CC 20 5D ED clc ; CPU:$D0CF PRG:50CF 18 adc #$08 ; CPU:$D0D0 PRG:50D0 69 08 sta $0402,x ; CPU:$D0D2 PRG:50D2 9D 02 04 jmp DispatchStoreStoreStoreStore ; CPU:$D0D5 PRG:50D5 4C 0E D1 ; ----------------------------------------------------------------------------- ; Routine: Sub_D0D8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D0D8: sta ObjectXHi ; CPU:$D0D8 PRG:50D8 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0DA PRG:50DA 20 5D ED clc ; CPU:$D0DD PRG:50DD 18 adc #$18 ; CPU:$D0DE PRG:50DE 69 18 sta $0402,x ; CPU:$D0E0 PRG:50E0 9D 02 04 jmp DispatchStoreStoreStoreStore ; CPU:$D0E3 PRG:50E3 4C 0E D1 ; ----------------------------------------------------------------------------- ; Routine: Sub_D0E6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D0E6: sta ObjectXHi ; CPU:$D0E6 PRG:50E6 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0E8 PRG:50E8 20 5D ED sta ObjPtr ; CPU:$D0EB PRG:50EB 85 13 lda #$08 ; CPU:$D0ED PRG:50ED A9 08 sec ; CPU:$D0EF PRG:50EF 38 sbc ObjPtr ; CPU:$D0F0 PRG:50F0 E5 13 sta $0402,x ; CPU:$D0F2 PRG:50F2 9D 02 04 jmp DispatchStoreStoreStoreStore ; CPU:$D0F5 PRG:50F5 4C 0E D1 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheckLdaRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheckLdaRts: lda Zp3B ; CPU:$D0F8 PRG:50F8 A5 3B bne Sub_D0FF ; CPU:$D0FA PRG:50FA D0 03 lda Zp23 ; CPU:$D0FC PRG:50FC A5 23 rts ; CPU:$D0FE PRG:50FE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D0FF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D0FF: lda #$F0 ; CPU:$D0FF PRG:50FF A9 F0 rts ; CPU:$D101 PRG:5101 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheckLdaRts2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheckLdaRts2: lda Zp3B ; CPU:$D102 PRG:5102 A5 3B bne Sub_D109 ; CPU:$D104 PRG:5104 D0 03 lda Zp24 ; CPU:$D106 PRG:5106 A5 24 rts ; CPU:$D108 PRG:5108 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D109 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D109: lda #$10 ; CPU:$D109 PRG:5109 A9 10 rts ; CPU:$D10B PRG:510B 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreB: sta Zp39 ; CPU:$D10C PRG:510C 85 39 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreStoreStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreStoreStore: lda #$00 ; CPU:$D10E PRG:510E A9 00 sta $040C,x ; CPU:$D110 PRG:5110 9D 0C 04 sta $040D,x ; CPU:$D113 PRG:5113 9D 0D 04 sta $040E,x ; CPU:$D116 PRG:5116 9D 0E 04 sta $040F,x ; CPU:$D119 PRG:5119 9D 0F 04 lda Zp39 ; CPU:$D11C PRG:511C A5 39 bne Sub_D121 ; CPU:$D11E PRG:511E D0 01 rts ; CPU:$D120 PRG:5120 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D121 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D121: lda $0402,x ; CPU:$D121 PRG:5121 BD 02 04 asl a ; CPU:$D124 PRG:5124 0A asl a ; CPU:$D125 PRG:5125 0A and #$7F ; CPU:$D126 PRG:5126 29 7F tay ; CPU:$D128 PRG:5128 A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_D129 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D129: lda $F136,y ; CPU:$D129 PRG:5129 B9 36 F1 clc ; CPU:$D12C PRG:512C 18 adc $040D,x ; CPU:$D12D PRG:512D 7D 0D 04 sta $040D,x ; CPU:$D130 PRG:5130 9D 0D 04 lda $F137,y ; CPU:$D133 PRG:5133 B9 37 F1 adc $040C,x ; CPU:$D136 PRG:5136 7D 0C 04 sta $040C,x ; CPU:$D139 PRG:5139 9D 0C 04 lda $F138,y ; CPU:$D13C PRG:513C B9 38 F1 clc ; CPU:$D13F PRG:513F 18 adc $040F,x ; CPU:$D140 PRG:5140 7D 0F 04 sta $040F,x ; CPU:$D143 PRG:5143 9D 0F 04 lda $F139,y ; CPU:$D146 PRG:5146 B9 39 F1 adc $040E,x ; CPU:$D149 PRG:5149 7D 0E 04 sta $040E,x ; CPU:$D14C PRG:514C 9D 0E 04 dec Zp39 ; CPU:$D14F PRG:514F C6 39 bne Sub_D129 ; CPU:$D151 PRG:5151 D0 D6 rts ; CPU:$D153 PRG:5153 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyA: ldy #$00 ; CPU:$D154 PRG:5154 A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D156 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D156: lda $0400,y ; CPU:$D156 PRG:5156 B9 00 04 and #$03 ; CPU:$D159 PRG:5159 29 03 beq Sub_D166 ; CPU:$D15B PRG:515B F0 09 tya ; CPU:$D15D PRG:515D 98 clc ; CPU:$D15E PRG:515E 18 adc #$10 ; CPU:$D15F PRG:515F 69 10 tay ; CPU:$D161 PRG:5161 A8 bne Sub_D156 ; CPU:$D162 PRG:5162 D0 F2 pla ; CPU:$D164 PRG:5164 68 pla ; CPU:$D165 PRG:5165 68 ; ----------------------------------------------------------------------------- ; Routine: Sub_D166 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D166: rts ; CPU:$D166 PRG:5166 60 ; ----------------------------------------------------------------------------- ; Routine: ObjMoveCall ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjMoveCall: ldx #$00 ; CPU:$D167 PRG:5167 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D169 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D169: lda $0300,x ; CPU:$D169 PRG:5169 BD 00 03 beq DispatchTxAddTaxCpx ; CPU:$D16C PRG:516C F0 2D tay ; CPU:$D16E PRG:516E A8 lda $0301,x ; CPU:$D16F PRG:516F BD 01 03 cmp #$02 ; CPU:$D172 PRG:5172 C9 02 bne Sub_D17E ; CPU:$D174 PRG:5174 D0 08 lda #$FF ; CPU:$D176 PRG:5176 A9 FF sta $0301,x ; CPU:$D178 PRG:5178 9D 01 03 jmp DispatchTxAddTaxCpx ; CPU:$D17B PRG:517B 4C 9B D1 ; ----------------------------------------------------------------------------- ; Routine: Sub_D17E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D17E: lda $0302,x ; CPU:$D17E PRG:517E BD 02 03 clc ; CPU:$D181 PRG:5181 18 adc Zp25 ; CPU:$D182 PRG:5182 65 25 bcc Sub_D198 ; CPU:$D184 PRG:5184 90 12 inc $0301,x ; CPU:$D186 PRG:5186 FE 01 03 beq Sub_D198 ; CPU:$D189 PRG:5189 F0 0D cpy #$0E ; CPU:$D18B PRG:518B C0 0E beq Sub_D198 ; CPU:$D18D PRG:518D F0 09 cpy #$48 ; CPU:$D18F PRG:518F C0 48 beq Sub_D198 ; CPU:$D191 PRG:5191 F0 05 lda #$00 ; CPU:$D193 PRG:5193 A9 00 sta $0300,x ; CPU:$D195 PRG:5195 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D198 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D198: sta $0302,x ; CPU:$D198 PRG:5198 9D 02 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchTxAddTaxCpx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchTxAddTaxCpx: txa ; CPU:$D19B PRG:519B 8A clc ; CPU:$D19C PRG:519C 18 adc #$08 ; CPU:$D19D PRG:519D 69 08 tax ; CPU:$D19F PRG:519F AA cpx #$80 ; CPU:$D1A0 PRG:51A0 E0 80 bne Sub_D169 ; CPU:$D1A2 PRG:51A2 D0 C5 lda GameSubMode ; CPU:$D1A4 PRG:51A4 A5 1B lsr a ; CPU:$D1A6 PRG:51A6 4A bcs Sub_D1DB ; CPU:$D1A7 PRG:51A7 B0 32 ldx #$00 ; CPU:$D1A9 PRG:51A9 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1AB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1AB: jsr DispatchLdyPhaLdaPha ; CPU:$D1AB PRG:51AB 20 09 D2 txa ; CPU:$D1AE PRG:51AE 8A clc ; CPU:$D1AF PRG:51AF 18 adc #$08 ; CPU:$D1B0 PRG:51B0 69 08 tax ; CPU:$D1B2 PRG:51B2 AA cpx #$80 ; CPU:$D1B3 PRG:51B3 E0 80 bne Sub_D1AB ; CPU:$D1B5 PRG:51B5 D0 F4 ldx #$00 ; CPU:$D1B7 PRG:51B7 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1B9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1B9: lda $0300,x ; CPU:$D1B9 PRG:51B9 BD 00 03 cmp #$4A ; CPU:$D1BC PRG:51BC C9 4A beq Sub_D1D5 ; CPU:$D1BE PRG:51BE F0 15 cmp #$3A ; CPU:$D1C0 PRG:51C0 C9 3A beq Sub_D1C8 ; CPU:$D1C2 PRG:51C2 F0 04 cmp #$3C ; CPU:$D1C4 PRG:51C4 C9 3C bne DispatchTxAddTaxCpx2 ; CPU:$D1C6 PRG:51C6 D0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1C8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1C8: jsr DispatchLsrsLsrsAnd ; CPU:$D1C8 PRG:51C8 20 DA D7 ; ----------------------------------------------------------------------------- ; Routine: DispatchTxAddTaxCpx2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchTxAddTaxCpx2: txa ; CPU:$D1CB PRG:51CB 8A clc ; CPU:$D1CC PRG:51CC 18 adc #$08 ; CPU:$D1CD PRG:51CD 69 08 tax ; CPU:$D1CF PRG:51CF AA cpx #$80 ; CPU:$D1D0 PRG:51D0 E0 80 bne Sub_D1B9 ; CPU:$D1D2 PRG:51D2 D0 E5 rts ; CPU:$D1D4 PRG:51D4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1D5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1D5: jsr DispatchCheckBeqRts ; CPU:$D1D5 PRG:51D5 20 CB D2 jmp DispatchTxAddTaxCpx2 ; CPU:$D1D8 PRG:51D8 4C CB D1 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1DB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1DB: ldx #$78 ; CPU:$D1DB PRG:51DB A2 78 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1DD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1DD: jsr DispatchLdyPhaLdaPha ; CPU:$D1DD PRG:51DD 20 09 D2 txa ; CPU:$D1E0 PRG:51E0 8A sec ; CPU:$D1E1 PRG:51E1 38 sbc #$08 ; CPU:$D1E2 PRG:51E2 E9 08 tax ; CPU:$D1E4 PRG:51E4 AA bpl Sub_D1DD ; CPU:$D1E5 PRG:51E5 10 F6 ldx #$78 ; CPU:$D1E7 PRG:51E7 A2 78 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1E9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1E9: lda $0300,x ; CPU:$D1E9 PRG:51E9 BD 00 03 cmp #$4A ; CPU:$D1EC PRG:51EC C9 4A beq Sub_D203 ; CPU:$D1EE PRG:51EE F0 13 cmp #$3A ; CPU:$D1F0 PRG:51F0 C9 3A beq Sub_D1F8 ; CPU:$D1F2 PRG:51F2 F0 04 cmp #$3C ; CPU:$D1F4 PRG:51F4 C9 3C bne DispatchSubTaxBpl ; CPU:$D1F6 PRG:51F6 D0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D1F8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D1F8: jsr DispatchLsrsLsrsAnd ; CPU:$D1F8 PRG:51F8 20 DA D7 ; ----------------------------------------------------------------------------- ; Routine: DispatchSubTaxBpl ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchSubTaxBpl: txa ; CPU:$D1FB PRG:51FB 8A sec ; CPU:$D1FC PRG:51FC 38 sbc #$08 ; CPU:$D1FD PRG:51FD E9 08 tax ; CPU:$D1FF PRG:51FF AA bpl Sub_D1E9 ; CPU:$D200 PRG:5200 10 E7 rts ; CPU:$D202 PRG:5202 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D203 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D203: jsr DispatchCheckBeqRts ; CPU:$D203 PRG:5203 20 CB D2 jmp DispatchSubTaxBpl ; CPU:$D206 PRG:5206 4C FB D1 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyPhaLdaPha ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyPhaLdaPha: ldy $0300,x ; CPU:$D209 PRG:5209 BC 00 03 lda $D216,y ; CPU:$D20C PRG:520C B9 16 D2 pha ; CPU:$D20F PRG:520F 48 lda $D215,y ; CPU:$D210 PRG:5210 B9 15 D2 pha ; CPU:$D213 PRG:5213 48 rts ; CPU:$D214 PRG:5214 60 ObjSubPtrTable: ; Object subroutine pointer table (16-bit entries called via pha/pha/rts) ; ---- data $D215-$D249 (53 bytes) ---- ; referenced by `lda $D216,y` at $D20C (operand $D216 falls inside this region) ; referenced by `lda $D215,y` at $D210 (operand $D215 falls inside this region) .byte $1F, $D7, $C2, $D9, $79, $DA, $B0, $DA, $C2, $DA, $DD, $DA, $F5, $DA, $3A, $D3 ; CPU:$D215 PRG:5215 1F D7 C2 D9 79 DA B0 DA C2 DA DD DA F5 DA 3A D3 .byte $27, $DD, $46, $DE, $A9, $DD, $7C, $DB, $CC, $DB, $02, $DC, $44, $DC, $5E, $DC ; CPU:$D225 PRG:5225 27 DD 46 DE A9 DD 7C DB CC DB 02 DC 44 DC 5E DC .byte $6A, $DB, $B2, $DB, $3D, $DB, $70, $DC, $75, $DC, $AD, $D8, $AD, $D8, $AD, $D8 ; CPU:$D235 PRG:5235 6A DB B2 DB 3D DB 70 DC 75 DC AD D8 AD D8 AD D8 .byte $AD, $D8, $2B, $D9, $FB ; CPU:$D245 PRG:5245 AD D8 2B D9 FB ; ---- data $D24A-$D24A (1 bytes) ---- .byte $D9 ; CPU:$D24A PRG:524A D9 jsr $01D7 ; CPU:$D24B PRG:524B 20 D7 01 .byte $D7, $56 ; CPU:$D24E PRG:524E D7 56 -- dcp Zp56,x (undocumented; ca65 cannot encode) .byte $D7, $40 ; CPU:$D250 PRG:5250 D7 40 -- dcp Zp40,x (undocumented; ca65 cannot encode) ; ---- data $D252-$D2C3 (114 bytes) ---- .byte $D7, $D2, $D6, $96, $D8, $96, $D8, $96, $D8, $96, $D8, $E8, $D2, $1F, $D7, $62 ; CPU:$D252 PRG:5252 D7 D2 D6 96 D8 96 D8 96 D8 96 D8 E8 D2 1F D7 62 .byte $D2, $BD, $02, $03, $38, $E9, $06, $B0, $0A, $A9, $00, $9D, $00, $03, $85, $13 ; CPU:$D262 PRG:5262 D2 BD 02 03 38 E9 06 B0 0A A9 00 9D 00 03 85 13 .byte $4C, $A1, $D2, $9D, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $86, $13, $A2 ; CPU:$D272 PRG:5272 4C A1 D2 9D 02 03 85 38 BD 03 03 85 37 86 13 A2 .byte $A0, $20, $D9, $D5, $E0, $B0, $D0, $F9, $A6, $13, $A5, $1B, $29, $07, $A8, $B9 ; CPU:$D282 PRG:5282 A0 20 D9 D5 E0 B0 D0 F9 A6 13 A5 1B 29 07 A8 B9 .byte $C3, $D2, $85, $13, $A5, $3B, $F0, $07, $A9, $00, $9D, $00, $03, $85, $13, $A4 ; CPU:$D292 PRG:5292 C3 D2 85 13 A5 3B F0 07 A9 00 9D 00 03 85 13 A4 .byte $1A, $A9, $3F, $99, $08, $02, $C8, $A9, $13, $99, $08, $02, $C8, $A9, $01, $99 ; CPU:$D2A2 PRG:52A2 1A A9 3F 99 08 02 C8 A9 13 99 08 02 C8 A9 01 99 .byte $08, $02, $C8, $A5, $13, $99, $08, $02, $C8, $A9, $00, $99, $08, $02, $84, $1A ; CPU:$D2B2 PRG:52B2 08 02 C8 A5 13 99 08 02 C8 A9 00 99 08 02 84 1A .byte $60, $02 ; CPU:$D2C2 PRG:52C2 60 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2C4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2C4: ora Zp16 ; CPU:$D2C4 PRG:52C4 05 16 plp ; CPU:$D2C6 PRG:52C6 28 rol a ; CPU:$D2C7 PRG:52C7 2A rol Zp12 ; CPU:$D2C8 PRG:52C8 26 12 ; ---- data $D2CA-$D2CA (1 bytes) ---- .byte $15 ; CPU:$D2CA PRG:52CA 15 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheckBeqRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheckBeqRts: lda $0301,x ; CPU:$D2CB PRG:52CB BD 01 03 beq Sub_D2D1 ; CPU:$D2CE PRG:52CE F0 01 rts ; CPU:$D2D0 PRG:52D0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2D1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2D1: lda $0302,x ; CPU:$D2D1 PRG:52D1 BD 02 03 sta ObjectXHi ; CPU:$D2D4 PRG:52D4 85 38 lda $0303,x ; CPU:$D2D6 PRG:52D6 BD 03 03 sta ObjectXLo ; CPU:$D2D9 PRG:52D9 85 37 stx ObjPtr ; CPU:$D2DB PRG:52DB 86 13 ldx #$10 ; CPU:$D2DD PRG:52DD A2 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2DF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2DF: jsr DispatchLdyBeqLdaAdd ; CPU:$D2DF PRG:52DF 20 D9 D5 cpx #$20 ; CPU:$D2E2 PRG:52E2 E0 20 bne Sub_D2DF ; CPU:$D2E4 PRG:52E4 D0 F9 ldx ObjPtr ; CPU:$D2E6 PRG:52E6 A6 13 rts ; CPU:$D2E8 PRG:52E8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2E9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2E9: lda $0301,x ; CPU:$D2E9 PRG:52E9 BD 01 03 beq Sub_D2F4 ; CPU:$D2EC PRG:52EC F0 06 bmi Sub_D2F3 ; CPU:$D2EE PRG:52EE 30 03 jmp DispatchCmpBneLdaSub ; CPU:$D2F0 PRG:52F0 4C 14 D3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2F3: rts ; CPU:$D2F3 PRG:52F3 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D2F4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D2F4: lda $0302,x ; CPU:$D2F4 PRG:52F4 BD 02 03 sec ; CPU:$D2F7 PRG:52F7 38 sbc #$50 ; CPU:$D2F8 PRG:52F8 E9 50 sta ObjectXHi ; CPU:$D2FA PRG:52FA 85 38 bcs Sub_D301 ; CPU:$D2FC PRG:52FC B0 03 jmp DispatchStoreStoreStoreStx ; CPU:$D2FE PRG:52FE 4C 28 D3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D301 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D301: lda $0303,x ; CPU:$D301 PRG:5301 BD 03 03 sta ObjectXLo ; CPU:$D304 PRG:5304 85 37 lda $0307,x ; CPU:$D306 PRG:5306 BD 07 03 sta ObjPtr ; CPU:$D309 PRG:5309 85 13 stx Zp2C ; CPU:$D30B PRG:530B 86 2C lda #$00 ; CPU:$D30D PRG:530D A9 00 sta ObjectYLo ; CPU:$D30F PRG:530F 85 35 jmp DispatchLdxC ; CPU:$D311 PRG:5311 4C C3 D3 ; ----------------------------------------------------------------------------- ; Routine: DispatchCmpBneLdaSub ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCmpBneLdaSub: cmp #$01 ; CPU:$D314 PRG:5314 C9 01 bne Sub_D322 ; CPU:$D316 PRG:5316 D0 0A lda $0302,x ; CPU:$D318 PRG:5318 BD 02 03 sec ; CPU:$D31B PRG:531B 38 sbc #$50 ; CPU:$D31C PRG:531C E9 50 sta ObjectXHi ; CPU:$D31E PRG:531E 85 38 bcc Sub_D301 ; CPU:$D320 PRG:5320 90 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_D322 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D322: lda #$00 ; CPU:$D322 PRG:5322 A9 00 sta $0300,x ; CPU:$D324 PRG:5324 9D 00 03 rts ; CPU:$D327 PRG:5327 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreStoreStx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreStoreStx: lda $0303,x ; CPU:$D328 PRG:5328 BD 03 03 sta ObjectXLo ; CPU:$D32B PRG:532B 85 37 lda $0307,x ; CPU:$D32D PRG:532D BD 07 03 sta ObjPtr ; CPU:$D330 PRG:5330 85 13 stx Zp2C ; CPU:$D332 PRG:5332 86 2C lda #$01 ; CPU:$D334 PRG:5334 A9 01 sta ObjectYLo ; CPU:$D336 PRG:5336 85 35 jmp DispatchLdxC ; CPU:$D338 PRG:5338 4C C3 D3 ; ---- data $D33B-$D342 (8 bytes) ---- .byte $A5, $5A, $05, $3B, $D0, $05, $A9, $01 ; CPU:$D33B PRG:533B A5 5A 05 3B D0 05 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_D343 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D343: sta $060B ; CPU:$D343 PRG:5343 8D 0B 06 lda $0301,x ; CPU:$D346 PRG:5346 BD 01 03 beq Sub_D351 ; CPU:$D349 PRG:5349 F0 06 bmi Sub_D350 ; CPU:$D34B PRG:534B 30 03 jmp DispatchCmpBneLdaSub2 ; CPU:$D34D PRG:534D 4C 72 D3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D350 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D350: rts ; CPU:$D350 PRG:5350 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D351 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D351: lda $0302,x ; CPU:$D351 PRG:5351 BD 02 03 sec ; CPU:$D354 PRG:5354 38 sbc #$50 ; CPU:$D355 PRG:5355 E9 50 sta ObjectXHi ; CPU:$D357 PRG:5357 85 38 bcs DispatchStoreJmp ; CPU:$D359 PRG:5359 B0 03 jmp DispatchLdaD ; CPU:$D35B PRG:535B 4C 83 D3 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreJmp ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreJmp: lda #$00 ; CPU:$D35E PRG:535E A9 00 sta ObjectYLo ; CPU:$D360 PRG:5360 85 35 jmp DispatchStoreStoreStoreStx4; CPU:$D362 PRG:5362 4C 87 D3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D365 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D365: lda #$00 ; CPU:$D365 PRG:5365 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D367 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D367: sta $0300,x ; CPU:$D367 PRG:5367 9D 00 03 txa ; CPU:$D36A PRG:536A 8A pha ; CPU:$D36B PRG:536B 48 jsr ClearOamInit ; CPU:$D36C PRG:536C 20 D3 B8 pla ; CPU:$D36F PRG:536F 68 tax ; CPU:$D370 PRG:5370 AA rts ; CPU:$D371 PRG:5371 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchCmpBneLdaSub2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCmpBneLdaSub2: cmp #$01 ; CPU:$D372 PRG:5372 C9 01 bne Sub_D365 ; CPU:$D374 PRG:5374 D0 EF lda $0302,x ; CPU:$D376 PRG:5376 BD 02 03 sec ; CPU:$D379 PRG:5379 38 sbc #$50 ; CPU:$D37A PRG:537A E9 50 sta ObjectXHi ; CPU:$D37C PRG:537C 85 38 bcs Sub_D365 ; CPU:$D37E PRG:537E B0 E5 jmp DispatchStoreJmp ; CPU:$D380 PRG:5380 4C 5E D3 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaD: lda #$01 ; CPU:$D383 PRG:5383 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_D385 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D385: sta ObjectYLo ; CPU:$D385 PRG:5385 85 35 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreStoreStx4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreStoreStx4: lda $0303,x ; CPU:$D387 PRG:5387 BD 03 03 sta ObjectXLo ; CPU:$D38A PRG:538A 85 37 lda $0307,x ; CPU:$D38C PRG:538C BD 07 03 sta ObjPtr ; CPU:$D38F PRG:538F 85 13 stx Zp2C ; CPU:$D391 PRG:5391 86 2C ldx #$00 ; CPU:$D393 PRG:5393 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D395 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D395: jsr DispatchLdaBne ; CPU:$D395 PRG:5395 20 D5 D5 cpx #$10 ; CPU:$D398 PRG:5398 E0 10 bne Sub_D395 ; CPU:$D39A PRG:539A D0 F9 ldx #$20 ; CPU:$D39C PRG:539C A2 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_D39E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D39E: lsr ObjPtr ; CPU:$D39E PRG:539E 46 13 bcs Sub_D3A8 ; CPU:$D3A0 PRG:53A0 B0 06 jsr DispatchLdaBne ; CPU:$D3A2 PRG:53A2 20 D5 D5 jmp DispatchCpxBneLdaAndClc ; CPU:$D3A5 PRG:53A5 4C AC D3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3A8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3A8: inx ; CPU:$D3A8 PRG:53A8 E8 inx ; CPU:$D3A9 PRG:53A9 E8 inx ; CPU:$D3AA PRG:53AA E8 inx ; CPU:$D3AB PRG:53AB E8 ; ----------------------------------------------------------------------------- ; Routine: DispatchCpxBneLdaAndClc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCpxBneLdaAndClc: cpx #$30 ; CPU:$D3AC PRG:53AC E0 30 bne Sub_D39E ; CPU:$D3AE PRG:53AE D0 EE lda GameSubMode ; CPU:$D3B0 PRG:53B0 A5 1B and #$30 ; CPU:$D3B2 PRG:53B2 29 30 clc ; CPU:$D3B4 PRG:53B4 18 adc #$60 ; CPU:$D3B5 PRG:53B5 69 60 tax ; CPU:$D3B7 PRG:53B7 AA lda #$04 ; CPU:$D3B8 PRG:53B8 A9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3BA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3BA: sta ObjUpdateFlag ; CPU:$D3BA PRG:53BA 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_D3BC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3BC: jsr DispatchLdaBne ; CPU:$D3BC PRG:53BC 20 D5 D5 dec ObjUpdateFlag ; CPU:$D3BF PRG:53BF C6 0E bne Sub_D3BC ; CPU:$D3C1 PRG:53C1 D0 F9 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdxC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdxC: ldx #$30 ; CPU:$D3C3 PRG:53C3 A2 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3C5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3C5: jsr DispatchLdaBne ; CPU:$D3C5 PRG:53C5 20 D5 D5 cpx #$60 ; CPU:$D3C8 PRG:53C8 E0 60 bne Sub_D3C5 ; CPU:$D3CA PRG:53CA D0 F9 ldx Zp2C ; CPU:$D3CC PRG:53CC A6 2C lda $0300,x ; CPU:$D3CE PRG:53CE BD 00 03 cmp #$0E ; CPU:$D3D1 PRG:53D1 C9 0E beq Sub_D3D6 ; CPU:$D3D3 PRG:53D3 F0 01 rts ; CPU:$D3D5 PRG:53D5 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3D6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3D6: ldy #$00 ; CPU:$D3D6 PRG:53D6 A0 00 jsr DispatchCheckLdaAdd2 ; CPU:$D3D8 PRG:53D8 20 E3 D4 jsr DispatchCheckLdaAdd2 ; CPU:$D3DB PRG:53DB 20 E3 D4 jsr DispatchCheckLdaAdd2 ; CPU:$D3DE PRG:53DE 20 E3 D4 jsr DispatchCheckLdaAdd2 ; CPU:$D3E1 PRG:53E1 20 E3 D4 lda $0301,x ; CPU:$D3E4 PRG:53E4 BD 01 03 beq Sub_D3F2 ; CPU:$D3E7 PRG:53E7 F0 09 lda $0302,x ; CPU:$D3E9 PRG:53E9 BD 02 03 sec ; CPU:$D3EC PRG:53EC 38 sbc #$28 ; CPU:$D3ED PRG:53ED E9 28 bcc Sub_D3FA ; CPU:$D3EF PRG:53EF 90 09 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3F1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3F1: rts ; CPU:$D3F1 PRG:53F1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3F2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3F2: lda $0302,x ; CPU:$D3F2 PRG:53F2 BD 02 03 sec ; CPU:$D3F5 PRG:53F5 38 sbc #$28 ; CPU:$D3F6 PRG:53F6 E9 28 bcc Sub_D3F1 ; CPU:$D3F8 PRG:53F8 90 F7 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3FA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3FA: sta $0302,x ; CPU:$D3FA PRG:53FA 9D 02 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D3FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D3FD: lda $0303,x ; CPU:$D3FD PRG:53FD BD 03 03 clc ; CPU:$D400 PRG:5400 18 adc #$18 ; CPU:$D401 PRG:5401 69 18 sta $0303,x ; CPU:$D403 PRG:5403 9D 03 03 jsr DispatchSubSecClcAdd ; CPU:$D406 PRG:5406 20 E1 DC lda $0306,x ; CPU:$D409 PRG:5409 BD 06 03 bne Sub_D421 ; CPU:$D40C PRG:540C D0 13 lda $0302,x ; CPU:$D40E PRG:540E BD 02 03 clc ; CPU:$D411 PRG:5411 18 adc #$28 ; CPU:$D412 PRG:5412 69 28 sta $0302,x ; CPU:$D414 PRG:5414 9D 02 03 lda $0303,x ; CPU:$D417 PRG:5417 BD 03 03 sec ; CPU:$D41A PRG:541A 38 sbc #$18 ; CPU:$D41B PRG:541B E9 18 sta $0303,x ; CPU:$D41D PRG:541D 9D 03 03 rts ; CPU:$D420 PRG:5420 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D421 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D421: txa ; CPU:$D421 PRG:5421 8A pha ; CPU:$D422 PRG:5422 48 lda #$04 ; CPU:$D423 PRG:5423 A9 04 jsr ObjSpritesInit4 ; CPU:$D425 PRG:5425 20 5B BF lda #$48 ; CPU:$D428 PRG:5428 A9 48 sta $0300,x ; CPU:$D42A PRG:542A 9D 00 03 ldy #$70 ; CPU:$D42D PRG:542D A0 70 lda $0301,x ; CPU:$D42F PRG:542F BD 01 03 sta $0301,y ; CPU:$D432 PRG:5432 99 01 03 lda $0302,x ; CPU:$D435 PRG:5435 BD 02 03 sta Zp46 ; CPU:$D438 PRG:5438 85 46 sta $0302,y ; CPU:$D43A PRG:543A 99 02 03 lda $0303,x ; CPU:$D43D PRG:543D BD 03 03 sta Zp45 ; CPU:$D440 PRG:5440 85 45 sta $0303,y ; CPU:$D442 PRG:5442 99 03 03 ; ---- data $D445-$D445 (1 bytes) ---- .byte $A9 ; CPU:$D445 PRG:5445 A9 ; ----------------------------------------------------------------------------- ; Routine: Sub_D446 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D446: lsr a ; CPU:$D446 PRG:5446 4A sta $0300,y ; CPU:$D447 PRG:5447 99 00 03 jsr ClearOamInit ; CPU:$D44A PRG:544A 20 D3 B8 ldx #$00 ; CPU:$D44D PRG:544D A2 00 stx Zp61 ; CPU:$D44F PRG:544F 86 61 ; ----------------------------------------------------------------------------- ; Routine: Sub_D451 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D451: lda $0300,x ; CPU:$D451 PRG:5451 BD 00 03 beq Sub_D462 ; CPU:$D454 PRG:5454 F0 0C txa ; CPU:$D456 PRG:5456 8A clc ; CPU:$D457 PRG:5457 18 adc #$08 ; CPU:$D458 PRG:5458 69 08 tax ; CPU:$D45A PRG:545A AA cmp #$80 ; CPU:$D45B PRG:545B C9 80 bne Sub_D451 ; CPU:$D45D PRG:545D D0 F2 pla ; CPU:$D45F PRG:545F 68 tax ; CPU:$D460 PRG:5460 AA rts ; CPU:$D461 PRG:5461 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D462 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D462: lda #$1A ; CPU:$D462 PRG:5462 A9 1A sta $0300,x ; CPU:$D464 PRG:5464 9D 00 03 lda #$4C ; CPU:$D467 PRG:5467 A9 4C sta $0307,x ; CPU:$D469 PRG:5469 9D 07 03 lda #$01 ; CPU:$D46C PRG:546C A9 01 sta $0612 ; CPU:$D46E PRG:546E 8D 12 06 lda #$04 ; CPU:$D471 PRG:5471 A9 04 sta $0306,x ; CPU:$D473 PRG:5473 9D 06 03 lda Zp46 ; CPU:$D476 PRG:5476 A5 46 sta $0302,x ; CPU:$D478 PRG:5478 9D 02 03 lda Zp45 ; CPU:$D47B PRG:547B A5 45 sta $0303,x ; CPU:$D47D PRG:547D 9D 03 03 lda #$00 ; CPU:$D480 PRG:5480 A9 00 sta $0301,x ; CPU:$D482 PRG:5482 9D 01 03 pla ; CPU:$D485 PRG:5485 68 tax ; CPU:$D486 PRG:5486 AA ldy #$00 ; CPU:$D487 PRG:5487 A0 00 lda $0302,x ; CPU:$D489 PRG:5489 BD 02 03 clc ; CPU:$D48C PRG:548C 18 adc #$28 ; CPU:$D48D PRG:548D 69 28 sta $0302,x ; CPU:$D48F PRG:548F 9D 02 03 sta ObjectXHi ; CPU:$D492 PRG:5492 85 38 lda $0303,x ; CPU:$D494 PRG:5494 BD 03 03 sec ; CPU:$D497 PRG:5497 38 ; ----------------------------------------------------------------------------- ; Routine: Sub_D498 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D498: sbc #$18 ; CPU:$D498 PRG:5498 E9 18 sta $0303,x ; CPU:$D49A PRG:549A 9D 03 03 sta ObjectXLo ; CPU:$D49D PRG:549D 85 37 jsr DispatchCheckLdaAdd ; CPU:$D49F PRG:549F 20 A8 D4 jsr DispatchCheckLdaAdd ; CPU:$D4A2 PRG:54A2 20 A8 D4 jsr DispatchCheckLdaAdd ; CPU:$D4A5 PRG:54A5 20 A8 D4 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheckLdaAdd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheckLdaAdd: lda $0301,x ; CPU:$D4A8 PRG:54A8 BD 01 03 beq Sub_D4B9 ; CPU:$D4AB PRG:54AB F0 0C lda ObjectXHi ; CPU:$D4AD PRG:54AD A5 38 clc ; CPU:$D4AF PRG:54AF 18 adc $D6C7,y ; CPU:$D4B0 PRG:54B0 79 C7 D6 bcc Sub_D4C1 ; CPU:$D4B3 PRG:54B3 90 0C ; ----------------------------------------------------------------------------- ; Routine: Sub_D4B5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4B5: iny ; CPU:$D4B5 PRG:54B5 C8 iny ; CPU:$D4B6 PRG:54B6 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4B7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4B7: iny ; CPU:$D4B7 PRG:54B7 C8 rts ; CPU:$D4B8 PRG:54B8 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4B9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4B9: lda ObjectXHi ; CPU:$D4B9 PRG:54B9 A5 38 clc ; CPU:$D4BB PRG:54BB 18 adc $D6C7,y ; CPU:$D4BC PRG:54BC 79 C7 D6 bcc Sub_D4B5 ; CPU:$D4BF PRG:54BF 90 F4 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4C1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4C1: sta Zp46 ; CPU:$D4C1 PRG:54C1 85 46 iny ; CPU:$D4C3 PRG:54C3 C8 lda ObjectXLo ; CPU:$D4C4 PRG:54C4 A5 37 clc ; CPU:$D4C6 PRG:54C6 18 adc $D6C7,y ; CPU:$D4C7 PRG:54C7 79 C7 D6 sta Zp45 ; CPU:$D4CA PRG:54CA 85 45 iny ; CPU:$D4CC PRG:54CC C8 lda $D6C7,y ; CPU:$D4CD PRG:54CD B9 C7 D6 and $0307,x ; CPU:$D4D0 PRG:54D0 3D 07 03 bne Sub_D4B7 ; CPU:$D4D3 PRG:54D3 D0 E2 lda $D6C7,y ; CPU:$D4D5 PRG:54D5 B9 C7 D6 ora $0307,x ; CPU:$D4D8 PRG:54D8 1D 07 03 sta $0307,x ; CPU:$D4DB PRG:54DB 9D 07 03 jsr DispatchTaxPhaLdxLda ; CPU:$D4DE PRG:54DE 20 94 D5 iny ; CPU:$D4E1 PRG:54E1 C8 rts ; CPU:$D4E2 PRG:54E2 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchCheckLdaAdd2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCheckLdaAdd2: lda $0301,x ; CPU:$D4E3 PRG:54E3 BD 01 03 beq Sub_D4F5 ; CPU:$D4E6 PRG:54E6 F0 0D lda $0302,x ; CPU:$D4E8 PRG:54E8 BD 02 03 clc ; CPU:$D4EB PRG:54EB 18 adc $D6C7,y ; CPU:$D4EC PRG:54EC 79 C7 D6 bcc Sub_D4FE ; CPU:$D4EF PRG:54EF 90 0D ; ----------------------------------------------------------------------------- ; Routine: Sub_D4F1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4F1: iny ; CPU:$D4F1 PRG:54F1 C8 iny ; CPU:$D4F2 PRG:54F2 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4F3: iny ; CPU:$D4F3 PRG:54F3 C8 rts ; CPU:$D4F4 PRG:54F4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4F5: lda $0302,x ; CPU:$D4F5 PRG:54F5 BD 02 03 clc ; CPU:$D4F8 PRG:54F8 18 adc $D6C7,y ; CPU:$D4F9 PRG:54F9 79 C7 D6 bcc Sub_D4F1 ; CPU:$D4FC PRG:54FC 90 F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_D4FE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D4FE: sta Zp46 ; CPU:$D4FE PRG:54FE 85 46 iny ; CPU:$D500 PRG:5500 C8 lda $0303,x ; CPU:$D501 PRG:5501 BD 03 03 clc ; CPU:$D504 PRG:5504 18 adc $D6C7,y ; CPU:$D505 PRG:5505 79 C7 D6 sta Zp45 ; CPU:$D508 PRG:5508 85 45 iny ; CPU:$D50A PRG:550A C8 lda $D6C7,y ; CPU:$D50B PRG:550B B9 C7 D6 and $0307,x ; CPU:$D50E PRG:550E 3D 07 03 bne Sub_D4F3 ; CPU:$D511 PRG:5511 D0 E0 lda Zp24 ; CPU:$D513 PRG:5513 A5 24 sec ; CPU:$D515 PRG:5515 38 sbc Zp46 ; CPU:$D516 PRG:5516 E5 46 sec ; CPU:$D518 PRG:5518 38 sbc #$32 ; CPU:$D519 PRG:5519 E9 32 cmp #$15 ; CPU:$D51B PRG:551B C9 15 bcs Sub_D52F ; CPU:$D51D PRG:551D B0 10 lda Zp23 ; CPU:$D51F PRG:551F A5 23 sec ; CPU:$D521 PRG:5521 38 sbc Zp45 ; CPU:$D522 PRG:5522 E5 45 clc ; CPU:$D524 PRG:5524 18 adc #$0E ; CPU:$D525 PRG:5525 69 0E cmp #$15 ; CPU:$D527 PRG:5527 C9 15 bcs Sub_D52F ; CPU:$D529 PRG:5529 B0 04 lda #$01 ; CPU:$D52B PRG:552B A9 01 sta Zp2E ; CPU:$D52D PRG:552D 85 2E ; ----------------------------------------------------------------------------- ; Routine: Sub_D52F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D52F: lda $02A0 ; CPU:$D52F PRG:552F AD A0 02 cmp #$20 ; CPU:$D532 PRG:5532 C9 20 bne Sub_D561 ; CPU:$D534 PRG:5534 D0 2B lda Zp46 ; CPU:$D536 PRG:5536 A5 46 sec ; CPU:$D538 PRG:5538 38 sbc $02A4 ; CPU:$D539 PRG:5539 ED A4 02 clc ; CPU:$D53C PRG:553C 18 adc #$07 ; CPU:$D53D PRG:553D 69 07 cmp #$15 ; CPU:$D53F PRG:553F C9 15 bcs Sub_D561 ; CPU:$D541 PRG:5541 B0 1E lda Zp45 ; CPU:$D543 PRG:5543 A5 45 sec ; CPU:$D545 PRG:5545 38 sbc $02A3 ; CPU:$D546 PRG:5546 ED A3 02 clc ; CPU:$D549 PRG:5549 18 adc #$07 ; CPU:$D54A PRG:554A 69 07 cmp #$15 ; CPU:$D54C PRG:554C C9 15 bcs Sub_D561 ; CPU:$D54E PRG:554E B0 11 jsr DispatchTaxPhaLdxLda ; CPU:$D550 PRG:5550 20 94 D5 lda $D6C7,y ; CPU:$D553 PRG:5553 B9 C7 D6 ora $0307,x ; CPU:$D556 PRG:5556 1D 07 03 sta $0307,x ; CPU:$D559 PRG:5559 9D 07 03 lda #$01 ; CPU:$D55C PRG:555C A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_D55E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D55E: jsr ObjSpritesInit4 ; CPU:$D55E PRG:555E 20 5B BF ; ----------------------------------------------------------------------------- ; Routine: Sub_D561 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D561: lda $D6C7,y ; CPU:$D561 PRG:5561 B9 C7 D6 iny ; CPU:$D564 PRG:5564 C8 and $0307,x ; CPU:$D565 PRG:5565 3D 07 03 beq Sub_D56B ; CPU:$D568 PRG:5568 F0 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_D56A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D56A: rts ; CPU:$D56A PRG:556A 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D56B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D56B: lda GameSubMode ; CPU:$D56B PRG:556B A5 1B clc ; CPU:$D56D PRG:556D 18 adc #$02 ; CPU:$D56E PRG:556E 69 02 and #$03 ; CPU:$D570 PRG:5570 29 03 bne Sub_D56A ; CPU:$D572 PRG:5572 D0 F6 lda Zp46 ; CPU:$D574 PRG:5574 A5 46 cmp Zp91 ; CPU:$D576 PRG:5576 C5 91 bcs Sub_D56A ; CPU:$D578 PRG:5578 B0 F0 lda Zp61 ; CPU:$D57A PRG:557A A5 61 cmp #$FF ; CPU:$D57C PRG:557C C9 FF beq Sub_D58A ; CPU:$D57E PRG:557E F0 0A jsr DispatchLdaEorEorAslAslRol ; CPU:$D580 PRG:5580 20 5C F5 and #$0F ; CPU:$D583 PRG:5583 29 0F bne Sub_D56A ; CPU:$D585 PRG:5585 D0 E3 jmp DispatchTyaPhaLdy ; CPU:$D587 PRG:5587 4C D5 CF ; ----------------------------------------------------------------------------- ; Routine: Sub_D58A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D58A: jsr DispatchLdaEorEorAslAslRol ; CPU:$D58A PRG:558A 20 5C F5 and #$1F ; CPU:$D58D PRG:558D 29 1F bne Sub_D56A ; CPU:$D58F PRG:558F D0 D9 jmp DispatchTyaPhaLdy ; CPU:$D591 PRG:5591 4C D5 CF ; ----------------------------------------------------------------------------- ; Routine: DispatchTaxPhaLdxLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchTaxPhaLdxLda: txa ; CPU:$D594 PRG:5594 8A pha ; CPU:$D595 PRG:5595 48 ldx #$00 ; CPU:$D596 PRG:5596 A2 00 lda #$01 ; CPU:$D598 PRG:5598 A9 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_D59A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D59A: sta $0612 ; CPU:$D59A PRG:559A 8D 12 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_D59D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D59D: lda $0300,x ; CPU:$D59D PRG:559D BD 00 03 beq Sub_D5AE ; CPU:$D5A0 PRG:55A0 F0 0C txa ; CPU:$D5A2 PRG:55A2 8A clc ; CPU:$D5A3 PRG:55A3 18 adc #$08 ; CPU:$D5A4 PRG:55A4 69 08 tax ; CPU:$D5A6 PRG:55A6 AA cmp #$80 ; CPU:$D5A7 PRG:55A7 C9 80 bne Sub_D59D ; CPU:$D5A9 PRG:55A9 D0 F2 pla ; CPU:$D5AB PRG:55AB 68 tax ; CPU:$D5AC PRG:55AC AA rts ; CPU:$D5AD PRG:55AD 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D5AE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D5AE: lda #$1A ; CPU:$D5AE PRG:55AE A9 1A sta $0300,x ; CPU:$D5B0 PRG:55B0 9D 00 03 lda #$80 ; CPU:$D5B3 PRG:55B3 A9 80 sta $0307,x ; CPU:$D5B5 PRG:55B5 9D 07 03 lda Zp46 ; CPU:$D5B8 PRG:55B8 A5 46 sec ; CPU:$D5BA PRG:55BA 38 sbc #$04 ; CPU:$D5BB PRG:55BB E9 04 sta $0302,x ; CPU:$D5BD PRG:55BD 9D 02 03 lda #$00 ; CPU:$D5C0 PRG:55C0 A9 00 sta $0301,x ; CPU:$D5C2 PRG:55C2 9D 01 03 lda Zp45 ; CPU:$D5C5 PRG:55C5 A5 45 sec ; CPU:$D5C7 PRG:55C7 38 sbc #$04 ; CPU:$D5C8 PRG:55C8 E9 04 sta $0303,x ; CPU:$D5CA PRG:55CA 9D 03 03 lda #$04 ; CPU:$D5CD PRG:55CD A9 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_D5CF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D5CF: sta $0306,x ; CPU:$D5CF PRG:55CF 9D 06 03 pla ; CPU:$D5D2 PRG:55D2 68 tax ; CPU:$D5D3 PRG:55D3 AA rts ; CPU:$D5D4 PRG:55D4 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBne ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBne: lda ObjectYLo ; CPU:$D5D5 PRG:55D5 A5 35 bne Sub_D608 ; CPU:$D5D7 PRG:55D7 D0 2F ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyBeqLdaAdd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyBeqLdaAdd: ldy ObjectDeltaX ; CPU:$D5D9 PRG:55D9 A4 2D beq Sub_D603 ; CPU:$D5DB PRG:55DB F0 26 lda $D617,x ; CPU:$D5DD PRG:55DD BD 17 D6 clc ; CPU:$D5E0 PRG:55E0 18 adc ObjectXHi ; CPU:$D5E1 PRG:55E1 65 38 bcs Sub_D603 ; CPU:$D5E3 PRG:55E3 B0 1E ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreIncStoreInc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreIncStoreInc: sta $0700,y ; CPU:$D5E5 PRG:55E5 99 00 07 iny ; CPU:$D5E8 PRG:55E8 C8 lda $D618,x ; CPU:$D5E9 PRG:55E9 BD 18 D6 sta $0700,y ; CPU:$D5EC PRG:55EC 99 00 07 iny ; CPU:$D5EF PRG:55EF C8 lda $D619,x ; CPU:$D5F0 PRG:55F0 BD 19 D6 sta $0700,y ; CPU:$D5F3 PRG:55F3 99 00 07 iny ; CPU:$D5F6 PRG:55F6 C8 lda $D61A,x ; CPU:$D5F7 PRG:55F7 BD 1A D6 clc ; CPU:$D5FA PRG:55FA 18 adc ObjectXLo ; CPU:$D5FB PRG:55FB 65 37 sta $0700,y ; CPU:$D5FD PRG:55FD 99 00 07 iny ; CPU:$D600 PRG:5600 C8 sty ObjectDeltaX ; CPU:$D601 PRG:5601 84 2D ; ----------------------------------------------------------------------------- ; Routine: Sub_D603 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D603: inx ; CPU:$D603 PRG:5603 E8 inx ; CPU:$D604 PRG:5604 E8 inx ; CPU:$D605 PRG:5605 E8 inx ; CPU:$D606 PRG:5606 E8 rts ; CPU:$D607 PRG:5607 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D608 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D608: ldy ObjectDeltaX ; CPU:$D608 PRG:5608 A4 2D beq Sub_D603 ; CPU:$D60A PRG:560A F0 F7 lda $D617,x ; CPU:$D60C PRG:560C BD 17 D6 clc ; CPU:$D60F PRG:560F 18 adc ObjectXHi ; CPU:$D610 PRG:5610 65 38 bcc Sub_D603 ; CPU:$D612 PRG:5612 90 EF jmp DispatchStoreIncStoreInc ; CPU:$D614 PRG:5614 4C E5 D5 ; ----------------------------------------------------------------------------- ; Routine: Sub_D617 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D617: plp ; CPU:$D617 PRG:5617 28 ; ----------------------------------------------------------------------------- ; Routine: Sub_D618 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D618: beq Sub_D61B ; CPU:$D618 PRG:5618 F0 01 clc ; CPU:$D61A PRG:561A 18 ; ----------------------------------------------------------------------------- ; Routine: Sub_D61B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D61B: plp ; CPU:$D61B PRG:561B 28 sbc (PPUMASKShadow),y ; CPU:$D61C PRG:561C F1 01 jsr $F230 ; CPU:$D61E PRG:561E 20 30 F2 ora (ObjectX,x) ; CPU:$D621 PRG:5621 01 18 bmi Sub_D618 ; CPU:$D623 PRG:5623 30 F3 ora (Zp20,x) ; CPU:$D625 PRG:5625 01 20 brk ; CPU:$D627 PRG:5627 00 ; ---- data $D628-$D628 (1 bytes) ---- .byte $F4 ; CPU:$D628 PRG:5628 F4 ; ----------------------------------------------------------------------------- ; Routine: Sub_D629 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D629: ora (PPUCTRLShadow,x) ; CPU:$D629 PRG:5629 01 00 brk ; CPU:$D62B PRG:562B 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_D62C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D62C: sbc PPUMASKShadow,x ; CPU:$D62C PRG:562C F5 01 php ; CPU:$D62E PRG:562E 08 php ; CPU:$D62F PRG:562F 08 inc PPUMASKShadow,x ; CPU:$D630 PRG:5630 F6 01 brk ; CPU:$D632 PRG:5632 00 ; ---- data $D633-$D63D (11 bytes) ---- .byte $08, $F7, $01, $08, $1B, $EF, $01, $0B, $1B, $EF, $41 ; CPU:$D633 PRG:5633 08 F7 01 08 1B EF 01 0B 1B EF 41 ; ----------------------------------------------------------------------------- ; Routine: Sub_D63E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D63E: and $EF3D ; CPU:$D63E PRG:563E 2D 3D EF sta (Joypad2Prev,x) ; CPU:$D641 PRG:5641 81 0B and $C1EF,x ; CPU:$D643 PRG:5643 3D EF C1 and $DA00 ; CPU:$D646 PRG:5646 2D 00 DA ora (PPUCTRLShadow,x) ; CPU:$D649 PRG:5649 01 00 php ; CPU:$D64B PRG:564B 08 cld ; CPU:$D64C PRG:564C D8 ora (ZpF8,x) ; CPU:$D64D PRG:564D 01 F8 bpl Sub_D629 ; CPU:$D64F PRG:564F 10 D8 ora (ZpF0,x) ; CPU:$D651 PRG:5651 01 F0 brk ; CPU:$D653 PRG:5653 00 ObjMoveDeltaTable: ; Object movement delta table (read by adc $D6C7,y) ; ---- data $D654-$D6F8 (165 bytes) ---- ; referenced by `adc $D6C7,y` at $D4B0 (operand $D6C7 falls inside this region) ; referenced by `adc $D6C7,y` at $D4BC (operand $D6C7 falls inside this region) ; referenced by `adc $D6C7,y` at $D4C7 (operand $D6C7 falls inside this region) ; referenced by `lda $D6C7,y` at $D4CD (operand $D6C7 falls inside this region) ; referenced by `lda $D6C7,y` at $D4D5 (operand $D6C7 falls inside this region) ; referenced by `adc $D6C7,y` at $D4EC (operand $D6C7 falls inside this region) ; ... and 5 further references from decoded code .byte $D9, $41, $38, $08, $D9, $41, $40, $10, $D9, $41, $48, $48, $D9, $81, $F0, $50 ; CPU:$D654 PRG:5654 D9 41 38 08 D9 41 40 10 D9 41 48 48 D9 81 F0 50 .byte $D9, $81, $F8, $58, $D9, $81, $00, $48, $D9, $C1, $48, $50, $D9, $C1, $40, $58 ; CPU:$D664 PRG:5664 D9 81 F8 58 D9 81 00 48 D9 C1 48 50 D9 C1 40 58 .byte $D9, $C1, $38, $2C, $93, $23, $F4, $2C, $93, $23, $44, $04, $93, $23, $1C, $54 ; CPU:$D674 PRG:5674 D9 C1 38 2C 93 23 F4 2C 93 23 44 04 93 23 1C 54 .byte $93, $23, $1C, $2E, $93, $23, $FC, $2C, $93, $23, $3C, $0C, $93, $23, $1C, $4C ; CPU:$D684 PRG:5684 93 23 1C 2E 93 23 FC 2C 93 23 3C 0C 93 23 1C 4C .byte $93, $23, $1E, $2E, $93, $23, $FD, $2E, $93, $23, $3A, $0D, $93, $23, $1E, $4B ; CPU:$D694 PRG:5694 93 23 1E 2E 93 23 FD 2E 93 23 3A 0D 93 23 1E 4B .byte $93, $23, $1E, $2B, $93, $23, $0B, $2D, $92, $23, $29, $1C, $93, $23, $1B, $38 ; CPU:$D6A4 PRG:56A4 93 23 1E 2B 93 23 0B 2D 92 23 29 1C 93 23 1B 38 .byte $92, $A3, $1B, $00, $E3, $00, $00, $00, $E3, $40, $08, $08, $E3, $80, $00, $08 ; CPU:$D6B4 PRG:56B4 92 A3 1B 00 E3 00 00 00 E3 40 08 08 E3 80 00 08 .byte $E3, $C0, $08, $CB, $0B, $01, $CB, $2D, $02, $ED, $0B, $04, $ED, $2D, $08, $A9 ; CPU:$D6C4 PRG:56C4 E3 C0 08 CB 0B 01 CB 2D 02 ED 0B 04 ED 2D 08 A9 .byte $08, $20, $72, $D7, $BD, $01, $03, $D0, $43, $A5, $23, $38, $FD, $03, $03, $18 ; CPU:$D6D4 PRG:56D4 08 20 72 D7 BD 01 03 D0 43 A5 23 38 FD 03 03 18 .byte $69, $0E, $C9, $1D, $B0, $36, $A5, $24, $38, $FD, $02, $03, $18, $69, $0E, $C9 ; CPU:$D6E4 PRG:56E4 69 0E C9 1D B0 36 A5 24 38 FD 02 03 18 69 0E C9 .byte $1D, $B0, $29, $EE, $05 ; CPU:$D6F4 PRG:56F4 1D B0 29 EE 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_D6F9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D6F9: asl ZpE6 ; CPU:$D6F9 PRG:56F9 06 E6 sta a:$00A9 ; CPU:$D6FB PRG:56FB 8D A9 00 sta $0300,x ; CPU:$D6FE PRG:56FE 9D 00 03 rts ; CPU:$D701 PRG:5701 60 ; referenced by `cmp $D720,y` at $D24A (operand $D720 falls inside this region) ; ---- data $D702-$D71F (30 bytes) ---- .byte $A5, $2E, $48, $20, $DC, $DC, $68, $85, $2E, $BD, $06, $03, $F0, $10, $A9, $3E ; CPU:$D702 PRG:5702 A5 2E 48 20 DC DC 68 85 2E BD 06 03 F0 10 A9 3E .byte $9D, $00, $03, $A9, $01, $8D, $12, $06, $A9, $01, $20, $5B, $BF, $60 ; CPU:$D712 PRG:5712 9D 00 03 A9 01 8D 12 06 A9 01 20 5B BF 60 rts ; CPU:$D720 PRG:5720 60 ; ---- data $D721-$D793 (115 bytes) ---- .byte $20, $DC, $DC, $BD, $06, $03, $F0, $17, $A9, $3A, $9D, $00, $03, $A9, $00, $9D ; CPU:$D721 PRG:5721 20 DC DC BD 06 03 F0 17 A9 3A 9D 00 03 A9 00 9D .byte $06, $03, $9D, $07, $03, $A9, $01, $8D, $12, $06, $A9, $02, $20, $5B, $BF, $60 ; CPU:$D731 PRG:5731 06 03 9D 07 03 A9 01 8D 12 06 A9 02 20 5B BF 60 .byte $20, $6A, $D7, $20, $DC, $DC, $BD, $06, $03, $F0, $0A, $A9, $10, $9D, $00, $03 ; CPU:$D741 PRG:5741 20 6A D7 20 DC DC BD 06 03 F0 0A A9 10 9D 00 03 .byte $A9, $02, $20, $5B, $BF, $60, $20, $6A, $D7, $FE, $07, $03, $BD, $07, $03, $C9 ; CPU:$D751 PRG:5751 A9 02 20 5B BF 60 20 6A D7 FE 07 03 BD 07 03 C9 .byte $30, $D0, $05, $A9, $3C, $9D, $00, $03, $60, $BD, $07, $03, $4A, $4A, $4A, $29 ; CPU:$D761 PRG:5761 30 D0 05 A9 3C 9D 00 03 60 BD 07 03 4A 4A 4A 29 .byte $06, $A8, $B9, $C3, $D7, $85, $04, $B9, $C4, $D7, $85, $05, $A0, $00, $B1, $04 ; CPU:$D771 PRG:5771 06 A8 B9 C3 D7 85 04 B9 C4 D7 85 05 A0 00 B1 04 .byte $85, $0E, $C8, $BD, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $86, $13, $A6 ; CPU:$D781 PRG:5781 85 0E C8 BD 02 03 85 38 BD 03 03 85 37 86 13 A6 .byte $2D, $F0, $2A ; CPU:$D791 PRG:5791 2D F0 2A ; ----------------------------------------------------------------------------- ; Routine: Sub_D794 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D794: lda (VramPtrLo),y ; CPU:$D794 PRG:5794 B1 04 clc ; CPU:$D796 PRG:5796 18 adc ObjectXHi ; CPU:$D797 PRG:5797 65 38 bcs Sub_D7BE ; CPU:$D799 PRG:5799 B0 23 sta $0700,x ; CPU:$D79B PRG:579B 9D 00 07 inx ; CPU:$D79E PRG:579E E8 iny ; CPU:$D79F PRG:579F C8 lda (VramPtrLo),y ; CPU:$D7A0 PRG:57A0 B1 04 sta $0700,x ; CPU:$D7A2 PRG:57A2 9D 00 07 inx ; CPU:$D7A5 PRG:57A5 E8 iny ; CPU:$D7A6 PRG:57A6 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_D7A7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D7A7: lda (VramPtrLo),y ; CPU:$D7A7 PRG:57A7 B1 04 sta $0700,x ; CPU:$D7A9 PRG:57A9 9D 00 07 inx ; CPU:$D7AC PRG:57AC E8 iny ; CPU:$D7AD PRG:57AD C8 lda (VramPtrLo),y ; CPU:$D7AE PRG:57AE B1 04 clc ; CPU:$D7B0 PRG:57B0 18 adc ObjectXLo ; CPU:$D7B1 PRG:57B1 65 37 sta $0700,x ; CPU:$D7B3 PRG:57B3 9D 00 07 iny ; CPU:$D7B6 PRG:57B6 C8 inx ; CPU:$D7B7 PRG:57B7 E8 beq Sub_D7BE ; CPU:$D7B8 PRG:57B8 F0 04 dec ObjUpdateFlag ; CPU:$D7BA PRG:57BA C6 0E bne Sub_D794 ; CPU:$D7BC PRG:57BC D0 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_D7BE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D7BE: stx ObjectDeltaX ; CPU:$D7BE PRG:57BE 86 2D ldx ObjPtr ; CPU:$D7C0 PRG:57C0 A6 13 rts ; CPU:$D7C2 PRG:57C2 60 ; ---- data $D7C3-$D7D9 (23 bytes) ---- .byte $3B, $D8, $45, $D8, $53, $D8, $71, $D8, $CD, $D7, $03, $01, $1C, $02, $00, $00 ; CPU:$D7C3 PRG:57C3 3B D8 45 D8 53 D8 71 D8 CD D7 03 01 1C 02 00 00 .byte $CD, $03, $08, $08, $CF, $03, $06 ; CPU:$D7D3 PRG:57D3 CD 03 08 08 CF 03 06 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsLsrsAnd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsLsrsAnd: lda $0307,x ; CPU:$D7DA PRG:57DA BD 07 03 lsr a ; CPU:$D7DD PRG:57DD 4A lsr a ; CPU:$D7DE PRG:57DE 4A lsr a ; CPU:$D7DF PRG:57DF 4A and #$06 ; CPU:$D7E0 PRG:57E0 29 06 tay ; CPU:$D7E2 PRG:57E2 A8 lda $D833,y ; CPU:$D7E3 PRG:57E3 B9 33 D8 sta VramPtrLo ; CPU:$D7E6 PRG:57E6 85 04 lda $D834,y ; CPU:$D7E8 PRG:57E8 B9 34 D8 sta VramCopyCount ; CPU:$D7EB PRG:57EB 85 05 ldy #$00 ; CPU:$D7ED PRG:57ED A0 00 lda (VramPtrLo),y ; CPU:$D7EF PRG:57EF B1 04 sta ObjUpdateFlag ; CPU:$D7F1 PRG:57F1 85 0E iny ; CPU:$D7F3 PRG:57F3 C8 lda $0302,x ; CPU:$D7F4 PRG:57F4 BD 02 03 sta ObjectXHi ; CPU:$D7F7 PRG:57F7 85 38 lda $0303,x ; CPU:$D7F9 PRG:57F9 BD 03 03 sta ObjectXLo ; CPU:$D7FC PRG:57FC 85 37 stx ObjPtr ; CPU:$D7FE PRG:57FE 86 13 ldx ObjectDeltaX ; CPU:$D800 PRG:5800 A6 2D beq Sub_D82E ; CPU:$D802 PRG:5802 F0 2A ; ----------------------------------------------------------------------------- ; Routine: Sub_D804 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D804: lda (VramPtrLo),y ; CPU:$D804 PRG:5804 B1 04 clc ; CPU:$D806 PRG:5806 18 adc ObjectXHi ; CPU:$D807 PRG:5807 65 38 bcs Sub_D82E ; CPU:$D809 PRG:5809 B0 23 sta $0700,x ; CPU:$D80B PRG:580B 9D 00 07 inx ; CPU:$D80E PRG:580E E8 iny ; CPU:$D80F PRG:580F C8 lda (VramPtrLo),y ; CPU:$D810 PRG:5810 B1 04 sta $0700,x ; CPU:$D812 PRG:5812 9D 00 07 inx ; CPU:$D815 PRG:5815 E8 iny ; CPU:$D816 PRG:5816 C8 lda (VramPtrLo),y ; CPU:$D817 PRG:5817 B1 04 sta $0700,x ; CPU:$D819 PRG:5819 9D 00 07 inx ; CPU:$D81C PRG:581C E8 iny ; CPU:$D81D PRG:581D C8 lda (VramPtrLo),y ; CPU:$D81E PRG:581E B1 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_D820 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D820: clc ; CPU:$D820 PRG:5820 18 adc ObjectXLo ; CPU:$D821 PRG:5821 65 37 sta $0700,x ; CPU:$D823 PRG:5823 9D 00 07 iny ; CPU:$D826 PRG:5826 C8 inx ; CPU:$D827 PRG:5827 E8 beq Sub_D82E ; CPU:$D828 PRG:5828 F0 04 dec ObjUpdateFlag ; CPU:$D82A PRG:582A C6 0E bne Sub_D804 ; CPU:$D82C PRG:582C D0 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_D82E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D82E: stx ObjectDeltaX ; CPU:$D82E PRG:582E 86 2D ldx ObjPtr ; CPU:$D830 PRG:5830 A6 13 rts ; CPU:$D832 PRG:5832 60 ; ---- data $D833-$D83A (8 bytes) ---- ; referenced by `lda $D833,y` at $D7E3 (operand $D833 falls inside this region) ; referenced by `lda $D834,y` at $D7E8 (operand $D834 falls inside this region) ; 4 x 16-bit pointers to layout records below (read by lda $D833,y / lda $D834,y ; at $D7E3/$D7E8; the index is masked with #$06). ObjDataPtrTable: .byte $40, $D8, $4A, $D8, $64, $D8, $82, $D8 ; CPU:$D833 PRG:5833 40 D8 4A D8 64 D8 82 D8 ; ---- data $D83B-$D8DF (165 bytes) ---- ; Object layout records addressed by the table at $D833 (4-byte entries; targets ; $D840, $D84A, $D864 and $D882). ObjLayoutData: .byte $01, $04, $41, $01, $04, $01, $08, $43, $00, $08, $01, $04, $45, $01, $04, $02 ; CPU:$D83B PRG:583B 01 04 41 01 04 01 08 43 00 08 01 04 45 01 04 02 .byte $07, $47, $00, $07, $0D, $43, $00, $0D, $04, $00, $49, $01, $00, $00, $4B, $C1 ; CPU:$D84B PRG:584B 07 47 00 07 0D 43 00 0D 04 00 49 01 00 00 4B C1 .byte $08, $08, $4B, $01, $00, $08, $4B, $41, $08, $03, $08, $6E, $00, $08, $0A, $47 ; CPU:$D85B PRG:585B 08 08 4B 01 00 08 4B 41 08 03 08 6E 00 08 0A 47 .byte $00, $0A, $10, $43, $00, $10, $04, $00, $4D, $01, $00, $00, $4F, $C1, $08, $08 ; CPU:$D86B PRG:586B 00 0A 10 43 00 10 04 00 4D 01 00 00 4F C1 08 08 .byte $4F, $01, $00, $08, $4F, $41, $08, $05, $0E, $B2, $00, $05, $05, $B3, $00, $0E ; CPU:$D87B PRG:587B 4F 01 00 08 4F 41 08 05 0E B2 00 05 05 B3 00 0E .byte $0D, $6E, $00, $0D, $0F, $47, $00, $0F, $15, $43, $00, $15, $BD, $00, $03, $48 ; CPU:$D88B PRG:588B 0D 6E 00 0D 0F 47 00 0F 15 43 00 15 BD 00 03 48 .byte $20, $04, $DA, $BD, $00, $03, $C9, $02, $D0, $08, $68, $38, $E9, $16, $9D, $00 ; CPU:$D89B PRG:589B 20 04 DA BD 00 03 C9 02 D0 08 68 38 E9 16 9D 00 .byte $03, $48, $68, $BD, $00, $03, $38, $E9, $40, $B0, $03, $18, $69, $16, $A8, $B9 ; CPU:$D8AB PRG:58AB 03 48 68 BD 00 03 38 E9 40 B0 03 18 69 16 A8 B9 .byte $A7, $D9, $48, $18, $7D, $02, $03, $9D, $02, $03, $B9, $A8, $D9, $48, $18, $7D ; CPU:$D8BB PRG:58BB A7 D9 48 18 7D 02 03 9D 02 03 B9 A8 D9 48 18 7D .byte $03, $03, $9D, $03, $03, $20, $DC, $DC, $68, $49, $FF, $38, $7D, $03, $03, $9D ; CPU:$D8CB PRG:58CB 03 03 9D 03 03 20 DC DC 68 49 FF 38 7D 03 03 9D .byte $03, $03, $68, $49, $FF ; CPU:$D8DB PRG:58DB 03 03 68 49 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_D8E0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D8E0: sec ; CPU:$D8E0 PRG:58E0 38 adc $0302,x ; CPU:$D8E1 PRG:58E1 7D 02 03 sta $0302,x ; CPU:$D8E4 PRG:58E4 9D 02 03 lda $0306,x ; CPU:$D8E7 PRG:58E7 BD 06 03 beq Sub_D8F2 ; CPU:$D8EA PRG:58EA F0 06 lda #$10 ; CPU:$D8EC PRG:58EC A9 10 sta $0300,x ; CPU:$D8EE PRG:58EE 9D 00 03 rts ; CPU:$D8F1 PRG:58F1 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_D8F2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D8F2: jsr DispatchLdaBne2 ; CPU:$D8F2 PRG:58F2 20 DC DC lda $0306,x ; CPU:$D8F5 PRG:58F5 BD 06 03 beq Sub_D8FF ; CPU:$D8F8 PRG:58F8 F0 05 inc Zp58 ; CPU:$D8FA PRG:58FA E6 58 jmp DispatchStoreStoreLdaJsrRts; CPU:$D8FC PRG:58FC 4C EC D9 ; ----------------------------------------------------------------------------- ; Routine: Sub_D8FF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D8FF: lda $0302,x ; CPU:$D8FF PRG:58FF BD 02 03 cmp Zp91 ; CPU:$D902 PRG:5902 C5 91 bcs Sub_D92B ; CPU:$D904 PRG:5904 B0 25 lda $0307,x ; CPU:$D906 PRG:5906 BD 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D909 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D909: bne Sub_D916 ; CPU:$D909 PRG:5909 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$D90B PRG:590B 20 5C F5 and Zp94 ; CPU:$D90E PRG:590E 25 94 clc ; CPU:$D910 PRG:5910 18 adc #$40 ; CPU:$D911 PRG:5911 69 40 sta $0307,x ; CPU:$D913 PRG:5913 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D916 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D916: lda $0300,x ; CPU:$D916 PRG:5916 BD 00 03 cmp #$40 ; CPU:$D919 PRG:5919 C9 40 bcs Sub_D92B ; CPU:$D91B PRG:591B B0 0E dec $0307,x ; CPU:$D91D PRG:591D DE 07 03 bne Sub_D92B ; CPU:$D920 PRG:5920 D0 09 lda $0300,x ; CPU:$D922 PRG:5922 BD 00 03 clc ; CPU:$D925 PRG:5925 18 adc #$16 ; CPU:$D926 PRG:5926 69 16 sta $0300,x ; CPU:$D928 PRG:5928 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D92B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D92B: rts ; CPU:$D92B PRG:592B 60 ; ---- data $D92C-$D986 (91 bytes) ---- .byte $8A, $48, $BD, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $A2, $00, $A4, $2D ; CPU:$D92C PRG:592C 8A 48 BD 02 03 85 38 BD 03 03 85 37 A2 00 A4 2D .byte $F0, $2C, $BD, $AF, $D9, $18, $65, $38, $99, $00, $07, $C8, $E8, $BD, $AF, $D9 ; CPU:$D93C PRG:593C F0 2C BD AF D9 18 65 38 99 00 07 C8 E8 BD AF D9 .byte $99, $00, $07, $C8, $E8, $BD, $AF, $D9, $99, $00, $07, $C8, $E8, $BD, $AF, $D9 ; CPU:$D94C PRG:594C 99 00 07 C8 E8 BD AF D9 99 00 07 C8 E8 BD AF D9 .byte $18, $65, $37, $99, $00, $07, $C8, $E8, $84, $2D, $E0, $14, $D0, $D0, $68, $AA ; CPU:$D95C PRG:595C 18 65 37 99 00 07 C8 E8 84 2D E0 14 D0 D0 68 AA .byte $20, $DC, $DC, $BD, $06, $03, $F0, $13, $A9, $10, $9D, $00, $03, $A5, $58, $F0 ; CPU:$D96C PRG:596C 20 DC DC BD 06 03 F0 13 A9 10 9D 00 03 A5 58 F0 .byte $05, $A9, $06, $4C, $54, $BF, $A9, $02, $4C, $5B, $BF ; CPU:$D97C PRG:597C 05 A9 06 4C 54 BF A9 02 4C 5B BF ; ----------------------------------------------------------------------------- ; Routine: Sub_D987 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D987: lda $0302,x ; CPU:$D987 PRG:5987 BD 02 03 cmp Zp91 ; CPU:$D98A PRG:598A C5 91 bcs Sub_D9A6 ; CPU:$D98C PRG:598C B0 18 lda $0307,x ; CPU:$D98E PRG:598E BD 07 03 bne Sub_D99E ; CPU:$D991 PRG:5991 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$D993 PRG:5993 20 5C F5 and Zp92 ; CPU:$D996 PRG:5996 25 92 clc ; CPU:$D998 PRG:5998 18 adc #$40 ; CPU:$D999 PRG:5999 69 40 sta $0307,x ; CPU:$D99B PRG:599B 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D99E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D99E: dec $0307,x ; CPU:$D99E PRG:599E DE 07 03 bne Sub_D9A6 ; CPU:$D9A1 PRG:59A1 D0 03 jsr DispatchJsrStoreLdaClc3 ; CPU:$D9A3 PRG:59A3 20 9B CF ; ----------------------------------------------------------------------------- ; Routine: Sub_D9A6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D9A6: rts ; CPU:$D9A6 PRG:59A6 60 ; ---- data $D9A7-$D9C2 (28 bytes) ---- .byte $F0, $00, $00, $10, $00, $F0, $10, $00, $04, $3E, $01, $04, $10, $3C, $00, $06 ; CPU:$D9A7 PRG:59A7 F0 00 00 10 00 F0 10 00 04 3E 01 04 10 3C 00 06 .byte $06, $3D, $40, $F8, $06, $3D, $00, $10, $F8, $3C, $80, $06 ; CPU:$D9B7 PRG:59B7 06 3D 40 F8 06 3D 00 10 F8 3C 80 06 jsr DispatchLdaBne2 ; CPU:$D9C3 PRG:59C3 20 DC DC lda $0301,x ; CPU:$D9C6 PRG:59C6 BD 01 03 bne Sub_D9E7 ; CPU:$D9C9 PRG:59C9 D0 1C lda $0302,x ; CPU:$D9CB PRG:59CB BD 02 03 cmp Zp91 ; CPU:$D9CE PRG:59CE C5 91 bcs Sub_D9E7 ; CPU:$D9D0 PRG:59D0 B0 15 lda $0307,x ; CPU:$D9D2 PRG:59D2 BD 07 03 bne Sub_D9E2 ; CPU:$D9D5 PRG:59D5 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$D9D7 PRG:59D7 20 5C F5 and Zp94 ; CPU:$D9DA PRG:59DA 25 94 clc ; CPU:$D9DC PRG:59DC 18 adc #$60 ; CPU:$D9DD PRG:59DD 69 60 sta $0307,x ; CPU:$D9DF PRG:59DF 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_D9E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D9E2: dec $0307,x ; CPU:$D9E2 PRG:59E2 DE 07 03 beq Sub_D9F7 ; CPU:$D9E5 PRG:59E5 F0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_D9E7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D9E7: lda $0306,x ; CPU:$D9E7 PRG:59E7 BD 06 03 beq Sub_D9F6 ; CPU:$D9EA PRG:59EA F0 0A ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreLdaJsrRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreLdaJsrRts: lda #$10 ; CPU:$D9EC PRG:59EC A9 10 sta $0300,x ; CPU:$D9EE PRG:59EE 9D 00 03 lda #$03 ; CPU:$D9F1 PRG:59F1 A9 03 jsr ObjSpritesInit5 ; CPU:$D9F3 PRG:59F3 20 54 BF Sub_D9F6: rts ; CPU:$D9F6 PRG:59F6 60 ; referenced by `and $DA00` at $D646 (operand $DA00 falls inside this region) ; ----------------------------------------------------------------------------- ; Routine: Sub_D9F7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_D9F7: lda #$34 ; CPU:$D9F7 PRG:59F7 A9 34 sta $0300,x ; CPU:$D9F9 PRG:59F9 9D 00 03 jsr DispatchLdaBne2 ; CPU:$D9FC PRG:59FC 20 DC DC lda $0306,x ; CPU:$D9FF PRG:59FF BD 06 03 bne DispatchStoreStoreLdaJsrRts; CPU:$DA02 PRG:5A02 D0 E8 lda $0307,x ; CPU:$DA04 PRG:5A04 BD 07 03 inc $0307,x ; CPU:$DA07 PRG:5A07 FE 07 03 lsr a ; CPU:$DA0A PRG:5A0A 4A lsr a ; CPU:$DA0B PRG:5A0B 4A lsr a ; CPU:$DA0C PRG:5A0C 4A cmp #$02 ; CPU:$DA0D PRG:5A0D C9 02 beq Sub_DA3E ; CPU:$DA0F PRG:5A0F F0 2D cmp #$06 ; CPU:$DA11 PRG:5A11 C9 06 beq Sub_DA6D ; CPU:$DA13 PRG:5A13 F0 58 tay ; CPU:$DA15 PRG:5A15 A8 lda $DA73,y ; CPU:$DA16 PRG:5A16 B9 73 DA ldy ObjectDeltaX ; CPU:$DA19 PRG:5A19 A4 2D beq Sub_DA3D ; CPU:$DA1B PRG:5A1B F0 20 sta $0701,y ; CPU:$DA1D PRG:5A1D 99 01 07 lda $0302,x ; CPU:$DA20 PRG:5A20 BD 02 03 clc ; CPU:$DA23 PRG:5A23 18 adc #$04 ; CPU:$DA24 PRG:5A24 69 04 sta $0700,y ; CPU:$DA26 PRG:5A26 99 00 07 iny ; CPU:$DA29 PRG:5A29 C8 iny ; CPU:$DA2A PRG:5A2A C8 lda #$00 ; CPU:$DA2B PRG:5A2B A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA2D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DA2D: sta $0700,y ; CPU:$DA2D PRG:5A2D 99 00 07 iny ; CPU:$DA30 PRG:5A30 C8 lda $0303,x ; CPU:$DA31 PRG:5A31 BD 03 03 clc ; CPU:$DA34 PRG:5A34 18 adc #$04 ; CPU:$DA35 PRG:5A35 69 04 sta $0700,y ; CPU:$DA37 PRG:5A37 99 00 07 iny ; CPU:$DA3A PRG:5A3A C8 sty ObjectDeltaX ; CPU:$DA3B PRG:5A3B 84 2D Sub_DA3D: rts ; CPU:$DA3D PRG:5A3D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA3E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DA3E: lda #$20 ; CPU:$DA3E PRG:5A3E A9 20 sta $0307,x ; CPU:$DA40 PRG:5A40 9D 07 03 jsr DispatchJsrStoreLdaClc3 ; CPU:$DA43 PRG:5A43 20 9B CF ldy ObjectDeltaX ; CPU:$DA46 PRG:5A46 A4 2D beq Sub_DA3D ; CPU:$DA48 PRG:5A48 F0 F3 lda $0302,x ; CPU:$DA4A PRG:5A4A BD 02 03 clc ; CPU:$DA4D PRG:5A4D 18 adc #$04 ; CPU:$DA4E PRG:5A4E 69 04 sta $0700,y ; CPU:$DA50 PRG:5A50 99 00 07 iny ; CPU:$DA53 PRG:5A53 C8 lda #$3B ; CPU:$DA54 PRG:5A54 A9 3B sta $0700,y ; CPU:$DA56 PRG:5A56 99 00 07 iny ; CPU:$DA59 PRG:5A59 C8 lda #$00 ; CPU:$DA5A PRG:5A5A A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA5C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DA5C: sta $0700,y ; CPU:$DA5C PRG:5A5C 99 00 07 iny ; CPU:$DA5F PRG:5A5F C8 lda $0303,x ; CPU:$DA60 PRG:5A60 BD 03 03 clc ; CPU:$DA63 PRG:5A63 18 adc #$04 ; CPU:$DA64 PRG:5A64 69 04 sta $0700,y ; CPU:$DA66 PRG:5A66 99 00 07 iny ; CPU:$DA69 PRG:5A69 C8 sty ObjectDeltaX ; CPU:$DA6A PRG:5A6A 84 2D rts ; CPU:$DA6C PRG:5A6C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DA6D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DA6D: lda #$02 ; CPU:$DA6D PRG:5A6D A9 02 sta $0300,x ; CPU:$DA6F PRG:5A6F 9D 00 03 rts ; CPU:$DA72 PRG:5A72 60 ; ---- data $DA73-$DA90 (30 bytes) ---- .byte $D2, $3F, $3F, $3F, $3F, $D2, $24, $A9, $8D, $20, $78, $DC, $20, $DC, $DC, $BD ; CPU:$DA73 PRG:5A73 D2 3F 3F 3F 3F D2 24 A9 8D 20 78 DC 20 DC DC BD .byte $06, $03, $F0, $0A, $A9, $10, $9D, $00, $03, $A9, $01, $4C, $5B, $BF ; CPU:$DA83 PRG:5A83 06 03 F0 0A A9 10 9D 00 03 A9 01 4C 5B BF ; ----------------------------------------------------------------------------- ; Routine: Sub_DA91 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DA91: lda $0302,x ; CPU:$DA91 PRG:5A91 BD 02 03 cmp Zp91 ; CPU:$DA94 PRG:5A94 C5 91 bcs Sub_DAB0 ; CPU:$DA96 PRG:5A96 B0 18 lda $0307,x ; CPU:$DA98 PRG:5A98 BD 07 03 bne Sub_DAA8 ; CPU:$DA9B PRG:5A9B D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$DA9D PRG:5A9D 20 5C F5 and Zp92 ; CPU:$DAA0 PRG:5AA0 25 92 clc ; CPU:$DAA2 PRG:5AA2 18 adc #$18 ; CPU:$DAA3 PRG:5AA3 69 18 sta $0307,x ; CPU:$DAA5 PRG:5AA5 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DAA8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DAA8: dec $0307,x ; CPU:$DAA8 PRG:5AA8 DE 07 03 bne Sub_DAB0 ; CPU:$DAAB PRG:5AAB D0 03 jsr DispatchJsrStoreLdaClc3 ; CPU:$DAAD PRG:5AAD 20 9B CF ; ----------------------------------------------------------------------------- ; Routine: Sub_DAB0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DAB0: rts ; CPU:$DAB0 PRG:5AB0 60 jsr DispatchLdaBne2 ; CPU:$DAB1 PRG:5AB1 20 DC DC lda $0306,x ; CPU:$DAB4 PRG:5AB4 BD 06 03 beq Sub_DAB0 ; CPU:$DAB7 PRG:5AB7 F0 F7 lda #$10 ; CPU:$DAB9 PRG:5AB9 A9 10 sta $0300,x ; CPU:$DABB PRG:5ABB 9D 00 03 lda #$01 ; CPU:$DABE PRG:5ABE A9 01 jmp ObjSpritesInit5 ; CPU:$DAC0 PRG:5AC0 4C 54 BF lda #$8E ; CPU:$DAC3 PRG:5AC3 A9 8E jsr Sub_DC78 ; CPU:$DAC5 PRG:5AC5 20 78 DC jsr DispatchLdaBne2 ; CPU:$DAC8 PRG:5AC8 20 DC DC lda $0306,x ; CPU:$DACB PRG:5ACB BD 06 03 beq Sub_DADD ; CPU:$DACE PRG:5ACE F0 0D lda #$10 ; CPU:$DAD0 PRG:5AD0 A9 10 sta $0300,x ; CPU:$DAD2 PRG:5AD2 9D 00 03 jsr Sub_C022 ; CPU:$DAD5 PRG:5AD5 20 22 C0 lda #$02 ; CPU:$DAD8 PRG:5AD8 A9 02 jsr ObjSpritesInit5 ; CPU:$DADA PRG:5ADA 20 54 BF ; ----------------------------------------------------------------------------- ; Routine: Sub_DADD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DADD: rts ; CPU:$DADD PRG:5ADD 60 ; ---- data $DADE-$DB19 (60 bytes) ---- .byte $20, $DC, $DC, $BD, $06, $03, $F0, $0F, $A9, $12, $9D, $00, $03, $A9, $26, $9D ; CPU:$DADE PRG:5ADE 20 DC DC BD 06 03 F0 0F A9 12 9D 00 03 A9 26 9D .byte $07, $03, $A9, $03, $20, $54, $BF, $60, $A9, $8C, $20, $78, $DC, $20, $DC, $DC ; CPU:$DAEE PRG:5AEE 07 03 A9 03 20 54 BF 60 A9 8C 20 78 DC 20 DC DC .byte $BD, $06, $03, $F0, $10, $A9, $14, $9D, $00, $03, $A9, $A8, $9D, $07, $03, $A9 ; CPU:$DAFE PRG:5AFE BD 06 03 F0 10 A9 14 9D 00 03 A9 A8 9D 07 03 A9 .byte $02, $20, $5B, $BF, $60, $BD, $02, $03, $C5, $91, $B0, $23 ; CPU:$DB0E PRG:5B0E 02 20 5B BF 60 BD 02 03 C5 91 B0 23 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB1A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DB1A: lda $0307,x ; CPU:$DB1A PRG:5B1A BD 07 03 bne Sub_DB2A ; CPU:$DB1D PRG:5B1D D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$DB1F PRG:5B1F 20 5C F5 and Zp92 ; CPU:$DB22 PRG:5B22 25 92 clc ; CPU:$DB24 PRG:5B24 18 adc #$10 ; CPU:$DB25 PRG:5B25 69 10 sta $0307,x ; CPU:$DB27 PRG:5B27 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB2A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DB2A: dec $0307,x ; CPU:$DB2A PRG:5B2A DE 07 03 bne Sub_DB3D ; CPU:$DB2D PRG:5B2D D0 0E jsr DispatchJsrStoreLdaClc3 ; CPU:$DB2F PRG:5B2F 20 9B CF jsr DispatchLdaEorEorAslAslRol ; CPU:$DB32 PRG:5B32 20 5C F5 and Zp92 ; CPU:$DB35 PRG:5B35 25 92 clc ; CPU:$DB37 PRG:5B37 18 adc #$08 ; CPU:$DB38 PRG:5B38 69 08 sta $0307,x ; CPU:$DB3A PRG:5B3A 9D 07 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB3D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DB3D: rts ; CPU:$DB3D PRG:5B3D 60 ldy ObjectDeltaX ; CPU:$DB3E PRG:5B3E A4 2D beq Sub_DB6A ; CPU:$DB40 PRG:5B40 F0 28 lda $0302,x ; CPU:$DB42 PRG:5B42 BD 02 03 clc ; CPU:$DB45 PRG:5B45 18 adc #$04 ; CPU:$DB46 PRG:5B46 69 04 sta $0700,y ; CPU:$DB48 PRG:5B48 99 00 07 iny ; CPU:$DB4B PRG:5B4B C8 lda #$EE ; CPU:$DB4C PRG:5B4C A9 EE sta $0700,y ; CPU:$DB4E PRG:5B4E 99 00 07 iny ; CPU:$DB51 PRG:5B51 C8 lda GameSubMode ; CPU:$DB52 PRG:5B52 A5 1B and #$04 ; CPU:$DB54 PRG:5B54 29 04 beq Sub_DB5A ; CPU:$DB56 PRG:5B56 F0 02 lda #$03 ; CPU:$DB58 PRG:5B58 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DB5A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DB5A: sta $0700,y ; CPU:$DB5A PRG:5B5A 99 00 07 iny ; CPU:$DB5D PRG:5B5D C8 lda $0303,x ; CPU:$DB5E PRG:5B5E BD 03 03 clc ; CPU:$DB61 PRG:5B61 18 adc #$04 ; CPU:$DB62 PRG:5B62 69 04 sta $0700,y ; CPU:$DB64 PRG:5B64 99 00 07 iny ; CPU:$DB67 PRG:5B67 C8 sty ObjectDeltaX ; CPU:$DB68 PRG:5B68 84 2D Sub_DB6A: rts ; CPU:$DB6A PRG:5B6A 60 dec $0306,x ; CPU:$DB6B PRG:5B6B DE 06 03 bne Sub_DBDC ; CPU:$DB6E PRG:5B6E D0 6C lda #$06 ; CPU:$DB70 PRG:5B70 A9 06 sta $0306,x ; CPU:$DB72 PRG:5B72 9D 06 03 lda #$22 ; CPU:$DB75 PRG:5B75 A9 22 sta $0300,x ; CPU:$DB77 PRG:5B77 9D 00 03 jmp Sub_DBDC ; CPU:$DB7A PRG:5B7A 4C DC DB ; ---- data $DB7D-$DB8B (15 bytes) ---- .byte $DE, $06, $03, $D0, $0A, $A9, $04, $9D, $06, $03, $A9, $18, $9D, $00, $03 ; CPU:$DB7D PRG:5B7D DE 06 03 D0 0A A9 04 9D 06 03 A9 18 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyBeqLdaAdd3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyBeqLdaAdd3: ldy ObjectDeltaX ; CPU:$DB8C PRG:5B8C A4 2D beq Sub_DBB2 ; CPU:$DB8E PRG:5B8E F0 22 lda $0302,x ; CPU:$DB90 PRG:5B90 BD 02 03 clc ; CPU:$DB93 PRG:5B93 18 adc #$04 ; CPU:$DB94 PRG:5B94 69 04 sta $0700,y ; CPU:$DB96 PRG:5B96 99 00 07 iny ; CPU:$DB99 PRG:5B99 C8 lda #$ED ; CPU:$DB9A PRG:5B9A A9 ED sta $0700,y ; CPU:$DB9C PRG:5B9C 99 00 07 iny ; CPU:$DB9F PRG:5B9F C8 lda #$03 ; CPU:$DBA0 PRG:5BA0 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBA2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBA2: sta $0700,y ; CPU:$DBA2 PRG:5BA2 99 00 07 iny ; CPU:$DBA5 PRG:5BA5 C8 lda $0303,x ; CPU:$DBA6 PRG:5BA6 BD 03 03 clc ; CPU:$DBA9 PRG:5BA9 18 adc #$04 ; CPU:$DBAA PRG:5BAA 69 04 sta $0700,y ; CPU:$DBAC PRG:5BAC 99 00 07 iny ; CPU:$DBAF PRG:5BAF C8 sty ObjectDeltaX ; CPU:$DBB0 PRG:5BB0 84 2D ; ----------------------------------------------------------------------------- ; Routine: Sub_DBB2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBB2: rts ; CPU:$DBB2 PRG:5BB2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBB3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBB3: dec $0306,x ; CPU:$DBB3 PRG:5BB3 DE 06 03 bne DispatchLdyBeqLdaAdd3 ; CPU:$DBB6 PRG:5BB6 D0 D4 lda $0307,x ; CPU:$DBB8 PRG:5BB8 BD 07 03 bpl Sub_DBC7 ; CPU:$DBBB PRG:5BBB 10 0A and #$7F ; CPU:$DBBD PRG:5BBD 29 7F beq Sub_DBC7 ; CPU:$DBBF PRG:5BBF F0 06 sta $0300,x ; CPU:$DBC1 PRG:5BC1 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBC4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBC4: jmp DispatchLdaLdy ; CPU:$DBC4 PRG:5BC4 4C 76 DC ; ----------------------------------------------------------------------------- ; Routine: Sub_DBC7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBC7: sta $0300,x ; CPU:$DBC7 PRG:5BC7 9D 00 03 jmp DispatchLdyBeqLdaAdd3 ; CPU:$DBCA PRG:5BCA 4C 8C DB ; ---- data $DBCD-$DBDB (15 bytes) ---- .byte $DE, $06, $03, $D0, $0A, $A9, $06, $9D, $06, $03, $A9, $1A, $9D, $00, $03 ; CPU:$DBCD PRG:5BCD DE 06 03 D0 0A A9 06 9D 06 03 A9 1A 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBDC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBDC: ldy ObjectDeltaX ; CPU:$DBDC PRG:5BDC A4 2D beq Sub_DBB2 ; CPU:$DBDE PRG:5BDE F0 D2 lda $0302,x ; CPU:$DBE0 PRG:5BE0 BD 02 03 clc ; CPU:$DBE3 PRG:5BE3 18 adc #$04 ; CPU:$DBE4 PRG:5BE4 69 04 sta $0700,y ; CPU:$DBE6 PRG:5BE6 99 00 07 iny ; CPU:$DBE9 PRG:5BE9 C8 lda #$EC ; CPU:$DBEA PRG:5BEA A9 EC sta $0700,y ; CPU:$DBEC PRG:5BEC 99 00 07 iny ; CPU:$DBEF PRG:5BEF C8 lda #$03 ; CPU:$DBF0 PRG:5BF0 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DBF2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DBF2: sta $0700,y ; CPU:$DBF2 PRG:5BF2 99 00 07 iny ; CPU:$DBF5 PRG:5BF5 C8 lda $0303,x ; CPU:$DBF6 PRG:5BF6 BD 03 03 clc ; CPU:$DBF9 PRG:5BF9 18 adc #$04 ; CPU:$DBFA PRG:5BFA 69 04 sta $0700,y ; CPU:$DBFC PRG:5BFC 99 00 07 iny ; CPU:$DBFF PRG:5BFF C8 sty ObjectDeltaX ; CPU:$DC00 PRG:5C00 84 2D rts ; CPU:$DC02 PRG:5C02 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchDecBneLdaStoreLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchDecBneLdaStoreLda: dec $0306,x ; CPU:$DC03 PRG:5C03 DE 06 03 bne Sub_DC12 ; CPU:$DC06 PRG:5C06 D0 0A lda #$06 ; CPU:$DC08 PRG:5C08 A9 06 sta $0306,x ; CPU:$DC0A PRG:5C0A 9D 06 03 lda #$1C ; CPU:$DC0D PRG:5C0D A9 1C sta $0300,x ; CPU:$DC0F PRG:5C0F 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC12: ldy ObjectDeltaX ; CPU:$DC12 PRG:5C12 A4 2D beq Sub_DC1E ; CPU:$DC14 PRG:5C14 F0 08 tya ; CPU:$DC16 PRG:5C16 98 clc ; CPU:$DC17 PRG:5C17 18 adc #$10 ; CPU:$DC18 PRG:5C18 69 10 lda #$E8 ; CPU:$DC1A PRG:5C1A A9 E8 bcc Sub_DC1F ; CPU:$DC1C PRG:5C1C 90 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC1E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC1E: rts ; CPU:$DC1E PRG:5C1E 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC1F: sta $0701,y ; CPU:$DC1F PRG:5C1F 99 01 07 clc ; CPU:$DC22 PRG:5C22 18 adc #$01 ; CPU:$DC23 PRG:5C23 69 01 sta $0705,y ; CPU:$DC25 PRG:5C25 99 05 07 clc ; CPU:$DC28 PRG:5C28 18 adc #$01 ; CPU:$DC29 PRG:5C29 69 01 sta $0709,y ; CPU:$DC2B PRG:5C2B 99 09 07 clc ; CPU:$DC2E PRG:5C2E 18 adc #$01 ; CPU:$DC2F PRG:5C2F 69 01 sta $070D,y ; CPU:$DC31 PRG:5C31 99 0D 07 lda #$03 ; CPU:$DC34 PRG:5C34 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC36 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC36: sta $0702,y ; CPU:$DC36 PRG:5C36 99 02 07 sta $0706,y ; CPU:$DC39 PRG:5C39 99 06 07 sta $070A,y ; CPU:$DC3C PRG:5C3C 99 0A 07 sta $070E,y ; CPU:$DC3F PRG:5C3F 99 0E 07 jmp DispatchStoreStoreStore ; CPU:$DC42 PRG:5C42 4C B1 DC dec $0306,x ; CPU:$DC45 PRG:5C45 DE 06 03 bne Sub_DC54 ; CPU:$DC48 PRG:5C48 D0 0A lda #$06 ; CPU:$DC4A PRG:5C4A A9 06 sta $0306,x ; CPU:$DC4C PRG:5C4C 9D 06 03 lda #$1E ; CPU:$DC4F PRG:5C4F A9 1E sta $0300,x ; CPU:$DC51 PRG:5C51 9D 00 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC54 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC54: ldy ObjectDeltaX ; CPU:$DC54 PRG:5C54 A4 2D tya ; CPU:$DC56 PRG:5C56 98 clc ; CPU:$DC57 PRG:5C57 18 adc #$10 ; CPU:$DC58 PRG:5C58 69 10 lda #$E4 ; CPU:$DC5A PRG:5C5A A9 E4 bcc Sub_DC1F ; CPU:$DC5C PRG:5C5C 90 C1 ; ---- data $DC5E-$DC5E (1 bytes) ---- .byte $60 ; CPU:$DC5E PRG:5C5E 60 dec $0306,x ; CPU:$DC5F PRG:5C5F DE 06 03 bne Sub_DC12 ; CPU:$DC62 PRG:5C62 D0 AE lda #$06 ; CPU:$DC64 PRG:5C64 A9 06 sta $0306,x ; CPU:$DC66 PRG:5C66 9D 06 03 lda #$20 ; CPU:$DC69 PRG:5C69 A9 20 sta $0300,x ; CPU:$DC6B PRG:5C6B 9D 00 03 jmp Sub_DC12 ; CPU:$DC6E PRG:5C6E 4C 12 DC ; ---- data $DC71-$DC75 (5 bytes) ---- .byte $A9, $E2, $4C, $78, $DC ; CPU:$DC71 PRG:5C71 A9 E2 4C 78 DC ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaLdy ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaLdy: lda #$E1 ; CPU:$DC76 PRG:5C76 A9 E1 Sub_DC78: ldy ObjectDeltaX ; CPU:$DC78 PRG:5C78 A4 2D beq Sub_DC9C ; CPU:$DC7A PRG:5C7A F0 20 pha ; CPU:$DC7C PRG:5C7C 48 tya ; CPU:$DC7D PRG:5C7D 98 clc ; CPU:$DC7E PRG:5C7E 18 adc #$10 ; CPU:$DC7F PRG:5C7F 69 10 pla ; CPU:$DC81 PRG:5C81 68 bcs Sub_DC9C ; CPU:$DC82 PRG:5C82 B0 18 sta $0701,y ; CPU:$DC84 PRG:5C84 99 01 07 sta $0705,y ; CPU:$DC87 PRG:5C87 99 05 07 sta $0709,y ; CPU:$DC8A PRG:5C8A 99 09 07 sta $070D,y ; CPU:$DC8D PRG:5C8D 99 0D 07 lda $0301,x ; CPU:$DC90 PRG:5C90 BD 01 03 bne Sub_DC9C ; CPU:$DC93 PRG:5C93 D0 07 lda $0302,x ; CPU:$DC95 PRG:5C95 BD 02 03 cmp #$F0 ; CPU:$DC98 PRG:5C98 C9 F0 bcc Sub_DC9D ; CPU:$DC9A PRG:5C9A 90 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC9C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC9C: rts ; CPU:$DC9C PRG:5C9C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DC9D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DC9D: lda #$01 ; CPU:$DC9D PRG:5C9D A9 01 sta $0702,y ; CPU:$DC9F PRG:5C9F 99 02 07 lda #$41 ; CPU:$DCA2 PRG:5CA2 A9 41 sta $0706,y ; CPU:$DCA4 PRG:5CA4 99 06 07 lda #$81 ; CPU:$DCA7 PRG:5CA7 A9 81 sta $070A,y ; CPU:$DCA9 PRG:5CA9 99 0A 07 lda #$C1 ; CPU:$DCAC PRG:5CAC A9 C1 sta $070E,y ; CPU:$DCAE PRG:5CAE 99 0E 07 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreStore: lda $0302,x ; CPU:$DCB1 PRG:5CB1 BD 02 03 sta $0700,y ; CPU:$DCB4 PRG:5CB4 99 00 07 sta $0704,y ; CPU:$DCB7 PRG:5CB7 99 04 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_DCBA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DCBA: clc ; CPU:$DCBA PRG:5CBA 18 adc #$08 ; CPU:$DCBB PRG:5CBB 69 08 sta $0708,y ; CPU:$DCBD PRG:5CBD 99 08 07 sta $070C,y ; CPU:$DCC0 PRG:5CC0 99 0C 07 lda $0303,x ; CPU:$DCC3 PRG:5CC3 BD 03 03 sta $0703,y ; CPU:$DCC6 PRG:5CC6 99 03 07 sta $070B,y ; CPU:$DCC9 PRG:5CC9 99 0B 07 clc ; CPU:$DCCC PRG:5CCC 18 adc #$08 ; CPU:$DCCD PRG:5CCD 69 08 sta $0707,y ; CPU:$DCCF PRG:5CCF 99 07 07 sta $070F,y ; CPU:$DCD2 PRG:5CD2 99 0F 07 tya ; CPU:$DCD5 PRG:5CD5 98 clc ; CPU:$DCD6 PRG:5CD6 18 adc #$10 ; CPU:$DCD7 PRG:5CD7 69 10 sta ObjectDeltaX ; CPU:$DCD9 PRG:5CD9 85 2D rts ; CPU:$DCDB PRG:5CDB 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBne2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBne2: lda $0301,x ; CPU:$DCDC PRG:5CDC BD 01 03 bne Sub_DD27 ; CPU:$DCDF PRG:5CDF D0 46 ; ----------------------------------------------------------------------------- ; Routine: DispatchSubSecClcAdd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchSubSecClcAdd: lda $0302,x ; CPU:$DCE1 PRG:5CE1 BD 02 03 sec ; CPU:$DCE4 PRG:5CE4 38 sbc Zp24 ; CPU:$DCE5 PRG:5CE5 E5 24 clc ; CPU:$DCE7 PRG:5CE7 18 adc #$4B ; CPU:$DCE8 PRG:5CE8 69 4B cmp #$17 ; CPU:$DCEA PRG:5CEA C9 17 bcs Sub_DCFF ; CPU:$DCEC PRG:5CEC B0 11 lda $0303,x ; CPU:$DCEE PRG:5CEE BD 03 03 sec ; CPU:$DCF1 PRG:5CF1 38 sbc Zp23 ; CPU:$DCF2 PRG:5CF2 E5 23 clc ; CPU:$DCF4 PRG:5CF4 18 adc #$0B ; CPU:$DCF5 PRG:5CF5 69 0B cmp #$17 ; CPU:$DCF7 PRG:5CF7 C9 17 bcs Sub_DCFF ; CPU:$DCF9 PRG:5CF9 B0 04 lda #$01 ; CPU:$DCFB PRG:5CFB A9 01 sta Zp2E ; CPU:$DCFD PRG:5CFD 85 2E ; ----------------------------------------------------------------------------- ; Routine: Sub_DCFF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DCFF: lda $02A0 ; CPU:$DCFF PRG:5CFF AD A0 02 cmp #$20 ; CPU:$DD02 PRG:5D02 C9 20 bne Sub_DD27 ; CPU:$DD04 PRG:5D04 D0 21 lda $0302,x ; CPU:$DD06 PRG:5D06 BD 02 03 sec ; CPU:$DD09 PRG:5D09 38 sbc $02A4 ; CPU:$DD0A PRG:5D0A ED A4 02 clc ; CPU:$DD0D PRG:5D0D 18 adc #$0C ; CPU:$DD0E PRG:5D0E 69 0C cmp #$17 ; CPU:$DD10 PRG:5D10 C9 17 bcs Sub_DD27 ; CPU:$DD12 PRG:5D12 B0 13 lda $0303,x ; CPU:$DD14 PRG:5D14 BD 03 03 sec ; CPU:$DD17 PRG:5D17 38 sbc $02A3 ; CPU:$DD18 PRG:5D18 ED A3 02 clc ; CPU:$DD1B PRG:5D1B 18 adc #$0C ; CPU:$DD1C PRG:5D1C 69 0C cmp #$17 ; CPU:$DD1E PRG:5D1E C9 17 bcs Sub_DD27 ; CPU:$DD20 PRG:5D20 B0 05 lda #$01 ; CPU:$DD22 PRG:5D22 A9 01 sta $0306,x ; CPU:$DD24 PRG:5D24 9D 06 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_DD27 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DD27: rts ; CPU:$DD27 PRG:5D27 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DD28 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DD28: ldy Joypad1Press2 ; CPU:$DD28 PRG:5D28 A4 1A lda $0304,x ; CPU:$DD2A PRG:5D2A BD 04 03 sta $0208,y ; CPU:$DD2D PRG:5D2D 99 08 02 iny ; CPU:$DD30 PRG:5D30 C8 lda $0305,x ; CPU:$DD31 PRG:5D31 BD 05 03 sta $0208,y ; CPU:$DD34 PRG:5D34 99 08 02 iny ; CPU:$DD37 PRG:5D37 C8 lda #$02 ; CPU:$DD38 PRG:5D38 A9 02 sta $0208,y ; CPU:$DD3A PRG:5D3A 99 08 02 iny ; CPU:$DD3D PRG:5D3D C8 lda #$C9 ; CPU:$DD3E PRG:5D3E A9 C9 sta $0208,y ; CPU:$DD40 PRG:5D40 99 08 02 iny ; CPU:$DD43 PRG:5D43 C8 lda #$CC ; CPU:$DD44 PRG:5D44 A9 CC sta $0208,y ; CPU:$DD46 PRG:5D46 99 08 02 iny ; CPU:$DD49 PRG:5D49 C8 lda $0304,x ; CPU:$DD4A PRG:5D4A BD 04 03 sta $0208,y ; CPU:$DD4D PRG:5D4D 99 08 02 iny ; CPU:$DD50 PRG:5D50 C8 lda $0305,x ; CPU:$DD51 PRG:5D51 BD 05 03 sec ; CPU:$DD54 PRG:5D54 38 sbc #$20 ; CPU:$DD55 PRG:5D55 E9 20 sta $0208,y ; CPU:$DD57 PRG:5D57 99 08 02 bcs Sub_DD79 ; CPU:$DD5A PRG:5D5A B0 1D lda $0207,y ; CPU:$DD5C PRG:5D5C B9 07 02 sec ; CPU:$DD5F PRG:5D5F 38 sbc #$01 ; CPU:$DD60 PRG:5D60 E9 01 and #$0B ; CPU:$DD62 PRG:5D62 29 0B ora #$20 ; CPU:$DD64 PRG:5D64 09 20 sta $0207,y ; CPU:$DD66 PRG:5D66 99 07 02 and #$03 ; CPU:$DD69 PRG:5D69 29 03 cmp #$03 ; CPU:$DD6B PRG:5D6B C9 03 bne Sub_DD79 ; CPU:$DD6D PRG:5D6D D0 0A lda $0208,y ; CPU:$DD6F PRG:5D6F B9 08 02 and #$1F ; CPU:$DD72 PRG:5D72 29 1F ora #$A0 ; CPU:$DD74 PRG:5D74 09 A0 sta $0208,y ; CPU:$DD76 PRG:5D76 99 08 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_DD79 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DD79: iny ; CPU:$DD79 PRG:5D79 C8 lda #$02 ; CPU:$DD7A PRG:5D7A A9 02 sta $0208,y ; CPU:$DD7C PRG:5D7C 99 08 02 iny ; CPU:$DD7F PRG:5D7F C8 lda #$B3 ; CPU:$DD80 PRG:5D80 A9 B3 sta $0208,y ; CPU:$DD82 PRG:5D82 99 08 02 iny ; CPU:$DD85 PRG:5D85 C8 lda #$B6 ; CPU:$DD86 PRG:5D86 A9 B6 sta $0208,y ; CPU:$DD88 PRG:5D88 99 08 02 iny ; CPU:$DD8B PRG:5D8B C8 lda #$00 ; CPU:$DD8C PRG:5D8C A9 00 sta $0208,y ; CPU:$DD8E PRG:5D8E 99 08 02 lda #$1A ; CPU:$DD91 PRG:5D91 A9 1A sta $0300,x ; CPU:$DD93 PRG:5D93 9D 00 03 lda #$24 ; CPU:$DD96 PRG:5D96 A9 24 sta $0307,x ; CPU:$DD98 PRG:5D98 9D 07 03 lda #$04 ; CPU:$DD9B PRG:5D9B A9 04 sta $0306,x ; CPU:$DD9D PRG:5D9D 9D 06 03 sty Joypad1Press2 ; CPU:$DDA0 PRG:5DA0 84 1A lda #$01 ; CPU:$DDA2 PRG:5DA2 A9 01 sta $0612 ; CPU:$DDA4 PRG:5DA4 8D 12 06 jmp DispatchDecBneLdaStoreLda ; CPU:$DDA7 PRG:5DA7 4C 03 DC ; ---- data $DDAA-$DEDF (310 bytes) ---- .byte $A4, $1A, $BD, $04, $03, $99, $08, $02, $C8, $BD, $05, $03, $38, $E9, $1F, $99 ; CPU:$DDAA PRG:5DAA A4 1A BD 04 03 99 08 02 C8 BD 05 03 38 E9 1F 99 .byte $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B, $09, $20, $99, $07 ; CPU:$DDBA PRG:5DBA 08 02 B0 1D B9 07 02 38 E9 01 29 0B 09 20 99 07 .byte $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F, $09, $A0, $99, $08 ; CPU:$DDCA PRG:5DCA 02 29 03 C9 03 D0 0A B9 08 02 29 1F 09 A0 99 08 .byte $02, $C8, $A9, $02, $99, $08, $02, $C8, $A9, $F2, $99, $08, $02, $C8, $A9, $FF ; CPU:$DDDA PRG:5DDA 02 C8 A9 02 99 08 02 C8 A9 F2 99 08 02 C8 A9 FF .byte $99, $08, $02, $C8, $B9, $03, $02, $99, $08, $02, $C8, $B9, $03, $02, $38, $E9 ; CPU:$DDEA PRG:5DEA 99 08 02 C8 B9 03 02 99 08 02 C8 B9 03 02 38 E9 .byte $20, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B, $09, $20 ; CPU:$DDFA PRG:5DFA 20 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B 09 20 .byte $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F, $09, $A0 ; CPU:$DE0A PRG:5E0A 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F 09 A0 .byte $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A9, $DA, $99, $08, $02, $C8 ; CPU:$DE1A PRG:5E1A 99 08 02 C8 A9 02 99 08 02 C8 A9 DA 99 08 02 C8 .byte $A9, $EF, $99, $08, $02, $C8, $A9, $00, $99, $08, $02, $84, $1A, $A9, $1A, $9D ; CPU:$DE2A PRG:5E2A A9 EF 99 08 02 C8 A9 00 99 08 02 84 1A A9 1A 9D .byte $00, $03, $A9, $04, $9D, $06, $03, $8D, $12, $06, $4C, $03, $DC, $A9, $A5, $20 ; CPU:$DE3A PRG:5E3A 00 03 A9 04 9D 06 03 8D 12 06 4C 03 DC A9 A5 20 .byte $5C, $DE, $A9, $1A, $9D, $00, $03, $A9, $04, $9D, $06, $03, $8D, $12, $06, $4C ; CPU:$DE4A PRG:5E4A 5C DE A9 1A 9D 00 03 A9 04 9D 06 03 8D 12 06 4C .byte $03, $DC, $85, $13, $A4, $1A, $BD, $04, $03, $99, $08, $02, $C8, $BD, $05, $03 ; CPU:$DE5A PRG:5E5A 03 DC 85 13 A4 1A BD 04 03 99 08 02 C8 BD 05 03 .byte $38, $E9, $1F, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B ; CPU:$DE6A PRG:5E6A 38 E9 1F 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B .byte $09, $20, $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F ; CPU:$DE7A PRG:5E7A 09 20 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F .byte $09, $A0, $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A5, $13, $99, $08 ; CPU:$DE8A PRG:5E8A 09 A0 99 08 02 C8 A9 02 99 08 02 C8 A5 13 99 08 .byte $02, $C8, $99, $08, $02, $C8, $B9, $03, $02, $99, $08, $02, $C8, $B9, $03, $02 ; CPU:$DE9A PRG:5E9A 02 C8 99 08 02 C8 B9 03 02 99 08 02 C8 B9 03 02 .byte $38, $E9, $20, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B ; CPU:$DEAA PRG:5EAA 38 E9 20 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B .byte $09, $20, $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F ; CPU:$DEBA PRG:5EBA 09 20 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F .byte $09, $A0, $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A5, $13, $99, $08 ; CPU:$DECA PRG:5ECA 09 A0 99 08 02 C8 A9 02 99 08 02 C8 A5 13 99 08 .byte $02, $C8, $99, $08, $02, $C8 ; CPU:$DEDA PRG:5EDA 02 C8 99 08 02 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_DEE0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DEE0: lda #$00 ; CPU:$DEE0 PRG:5EE0 A9 00 sta $0208,y ; CPU:$DEE2 PRG:5EE2 99 08 02 sty Joypad1Press2 ; CPU:$DEE5 PRG:5EE5 84 1A rts ; CPU:$DEE7 PRG:5EE7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_DEE8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DEE8: ldx #$00 ; CPU:$DEE8 PRG:5EE8 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_DEEA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DEEA: lda $DF0E ; CPU:$DEEA PRG:5EEA AD 0E DF sta $0380,x ; CPU:$DEED PRG:5EED 9D 80 03 lda $DF0F ; CPU:$DEF0 PRG:5EF0 AD 0F DF sta $0381,x ; CPU:$DEF3 PRG:5EF3 9D 81 03 txa ; CPU:$DEF6 PRG:5EF6 8A clc ; CPU:$DEF7 PRG:5EF7 18 adc #$10 ; CPU:$DEF8 PRG:5EF8 69 10 tax ; CPU:$DEFA PRG:5EFA AA cpx #$80 ; CPU:$DEFB PRG:5EFB E0 80 bne Sub_DEEA ; CPU:$DEFD PRG:5EFD D0 EB ldx #$00 ; CPU:$DEFF PRG:5EFF A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_DF01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DF01: lda #$00 ; CPU:$DF01 PRG:5F01 A9 00 sta $0400,x ; CPU:$DF03 PRG:5F03 9D 00 04 txa ; CPU:$DF06 PRG:5F06 8A clc ; CPU:$DF07 PRG:5F07 18 adc #$10 ; CPU:$DF08 PRG:5F08 69 10 tax ; CPU:$DF0A PRG:5F0A AA bne Sub_DF01 ; CPU:$DF0B PRG:5F0B D0 F4 rts ; CPU:$DF0D PRG:5F0D 60 ; ---- data $DF0E-$DF0F (2 bytes) ---- ; referenced by `lda $DF0E` at $DEEA (operand $DF0E falls inside this region) ; referenced by `lda $DF0F` at $DEF0 (operand $DF0F falls inside this region) .byte $14, $DF ; CPU:$DF0E PRG:5F0E 14 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_DF10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DF10: lda #$00 ; CPU:$DF10 PRG:5F10 A9 00 sta a:$00D8,y ; CPU:$DF12 PRG:5F12 99 D8 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrTaxLsrs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrTaxLsrs: jsr PopXY ; CPU:$DF15 PRG:5F15 20 6F DF txa ; CPU:$DF18 PRG:5F18 8A lsr a ; CPU:$DF19 PRG:5F19 4A lsr a ; CPU:$DF1A PRG:5F1A 4A lsr a ; CPU:$DF1B PRG:5F1B 4A lsr a ; CPU:$DF1C PRG:5F1C 4A tay ; CPU:$DF1D PRG:5F1D A8 asl a ; CPU:$DF1E PRG:5F1E 0A eor GameSubMode ; CPU:$DF1F PRG:5F1F 45 1B and #$0E ; CPU:$DF21 PRG:5F21 29 0E bne DispatchJsrTaxLsrs ; CPU:$DF23 PRG:5F23 D0 F0 lda a:$00D8,y ; CPU:$DF25 PRG:5F25 B9 D8 00 beq DispatchJsrTaxLsrs ; CPU:$DF28 PRG:5F28 F0 EB bmi Sub_DF10 ; CPU:$DF2A PRG:5F2A 30 E4 lda a:$00D8,y ; CPU:$DF2C PRG:5F2C B9 D8 00 cmp #$2A ; CPU:$DF2F PRG:5F2F C9 2A bcs Sub_DF10 ; CPU:$DF31 PRG:5F31 B0 DD ora #$80 ; CPU:$DF33 PRG:5F33 09 80 sta a:$00D8,y ; CPU:$DF35 PRG:5F35 99 D8 00 and #$7E ; CPU:$DF38 PRG:5F38 29 7E tay ; CPU:$DF3A PRG:5F3A A8 lda Data_DF78,y ; CPU:$DF3B PRG:5F3B B9 78 DF sta $0380,x ; CPU:$DF3E PRG:5F3E 9D 80 03 lda $DF79,y ; CPU:$DF41 PRG:5F41 B9 79 DF sta $0381,x ; CPU:$DF44 PRG:5F44 9D 81 03 pha ; CPU:$DF47 PRG:5F47 48 lda $0380,x ; CPU:$DF48 PRG:5F48 BD 80 03 pha ; CPU:$DF4B PRG:5F4B 48 rts ; CPU:$DF4C PRG:5F4C 60 ; ----------------------------------------------------------------------------- ; Routine: ObjIterLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjIterLoop: lda Zp32 ; CPU:$DF4D PRG:5F4D A5 32 beq Sub_DEE8 ; CPU:$DF4F PRG:5F4F F0 97 ldx #$00 ; CPU:$DF51 PRG:5F51 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_DF53 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DF53: jsr PushXY ; CPU:$DF53 PRG:5F53 20 66 DF txa ; CPU:$DF56 PRG:5F56 8A clc ; CPU:$DF57 PRG:5F57 18 adc #$10 ; CPU:$DF58 PRG:5F58 69 10 tax ; CPU:$DF5A PRG:5F5A AA lsr a ; CPU:$DF5B PRG:5F5B 4A lsr a ; CPU:$DF5C PRG:5F5C 4A lsr a ; CPU:$DF5D PRG:5F5D 4A lsr a ; CPU:$DF5E PRG:5F5E 4A cmp #$08 ; CPU:$DF5F PRG:5F5F C9 08 bne Sub_DF53 ; CPU:$DF61 PRG:5F61 D0 F0 jmp $CE04 ; CPU:$DF63 PRG:5F63 4C 04 CE ; ----------------------------------------------------------------------------- ; Routine: PushXY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PushXY: lda $0381,x ; CPU:$DF66 PRG:5F66 BD 81 03 pha ; CPU:$DF69 PRG:5F69 48 lda $0380,x ; CPU:$DF6A PRG:5F6A BD 80 03 pha ; CPU:$DF6D PRG:5F6D 48 rts ; CPU:$DF6E PRG:5F6E 60 ; ----------------------------------------------------------------------------- ; Routine: PopXY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PopXY: pla ; CPU:$DF6F PRG:5F6F 68 sta $0380,x ; CPU:$DF70 PRG:5F70 9D 80 03 pla ; CPU:$DF73 PRG:5F73 68 sta $0381,x ; CPU:$DF74 PRG:5F74 9D 81 03 rts ; CPU:$DF77 PRG:5F77 60 ObjPtrTable: ; Object/enemy routine pointer table (16-bit entries read by lda $DF78,y/$DF79,y) ; referenced by `lda $DF78,y` at $DF3B (operand $DF78 falls inside this region) ; referenced by `lda $DF79,y` at $DF41 (operand $DF79 falls inside this region) Data_DF78: ; ---- data $DF78-$DFA1 (42 bytes) ---- .byte $A1, $DF, $A6, $DF, $83, $E0, $A2, $E0, $77, $E1, $DA, $E1, $2F, $E2, $1F, $E4 ; CPU:$DF78 PRG:5F78 A1 DF A6 DF 83 E0 A2 E0 77 E1 DA E1 2F E2 1F E4 .byte $B9, $E4, $00, $E5, $52, $E5, $7D, $E5, $88, $E0, $87, $E2, $31, $E3, $AE, $E5 ; CPU:$DF88 PRG:5F88 B9 E4 00 E5 52 E5 7D E5 88 E0 87 E2 31 E3 AE E5 .byte $F3, $E5, $D6, $E8, $67, $E6, $88, $E6, $C2, $EA ; CPU:$DF98 PRG:5F98 F3 E5 D6 E8 67 E6 88 E6 C2 EA lda #$00 ; CPU:$DFA2 PRG:5FA2 A9 00 jmp Sub_DFA9 ; CPU:$DFA4 PRG:5FA4 4C A9 DF ; ---- data $DFA7-$DFA8 (2 bytes) ---- .byte $A9, $01 ; CPU:$DFA7 PRG:5FA7 A9 01 Sub_DFA9: sta $038B,x ; CPU:$DFA9 PRG:5FA9 9D 8B 03 jsr DispatchCmpLdaBccLda ; CPU:$DFAC PRG:5FAC 20 51 E1 lda #$03 ; CPU:$DFAF PRG:5FAF A9 03 jsr DispatchStoreJsrSubBcsEor ; CPU:$DFB1 PRG:5FB1 20 69 EC lda #$02 ; CPU:$DFB4 PRG:5FB4 A9 02 sta $038A,x ; CPU:$DFB6 PRG:5FB6 9D 8A 03 lda #$10 ; CPU:$DFB9 PRG:5FB9 A9 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFBB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DFBB: sta $0382,x ; CPU:$DFBB PRG:5FBB 9D 82 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrLdaBne ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrLdaBne: jsr PopXY ; CPU:$DFBE PRG:5FBE 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$DFC1 PRG:5FC1 20 3C EB lda $0386,x ; CPU:$DFC4 PRG:5FC4 BD 86 03 bne DispatchJsrJsrLdaBne ; CPU:$DFC7 PRG:5FC7 D0 F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFC9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DFC9: jsr PopXY ; CPU:$DFC9 PRG:5FC9 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$DFCC PRG:5FCC 20 3C EB jsr DispatchLdaI ; CPU:$DFCF PRG:5FCF 20 E5 EB jsr DispatchLdyE ; CPU:$DFD2 PRG:5FD2 20 87 EB lsr a ; CPU:$DFD5 PRG:5FD5 4A bcc Sub_DFDB ; CPU:$DFD6 PRG:5FD6 90 03 jmp DispatchLdaBeqLdaJsr ; CPU:$DFD8 PRG:5FD8 4C 6D E0 ; ----------------------------------------------------------------------------- ; Routine: Sub_DFDB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DFDB: lda $0384,x ; CPU:$DFDB PRG:5FDB BD 84 03 sec ; CPU:$DFDE PRG:5FDE 38 sbc Zp23 ; CPU:$DFDF PRG:5FDF E5 23 clc ; CPU:$DFE1 PRG:5FE1 18 adc #$14 ; CPU:$DFE2 PRG:5FE2 69 14 cmp #$29 ; CPU:$DFE4 PRG:5FE4 C9 29 bcs Sub_DFC9 ; CPU:$DFE6 PRG:5FE6 B0 E1 lda $038B,x ; CPU:$DFE8 PRG:5FE8 BD 8B 03 beq Sub_DFF0 ; CPU:$DFEB PRG:5FEB F0 03 jsr DispatchJsrStoreLdaClc ; CPU:$DFED PRG:5FED 20 2F CF ; ----------------------------------------------------------------------------- ; Routine: Sub_DFF0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DFF0: ldy #$01 ; CPU:$DFF0 PRG:5FF0 A0 01 lda $0384,x ; CPU:$DFF2 PRG:5FF2 BD 84 03 sec ; CPU:$DFF5 PRG:5FF5 38 sbc Zp23 ; CPU:$DFF6 PRG:5FF6 E5 23 bcs Sub_DFFC ; CPU:$DFF8 PRG:5FF8 B0 02 ldy #$FF ; CPU:$DFFA PRG:5FFA A0 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_DFFC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_DFFC: tya ; CPU:$DFFC PRG:5FFC 98 sta $038B,x ; CPU:$DFFD PRG:5FFD 9D 8B 03 lda $038A,x ; CPU:$E000 PRG:6000 BD 8A 03 sta $0389,x ; CPU:$E003 PRG:6003 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJsrLsrsBcs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJsrLsrsBcs: jsr PopXY ; CPU:$E006 PRG:6006 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E009 PRG:6009 20 3C EB jsr DispatchLdyE ; CPU:$E00C PRG:600C 20 87 EB lsr a ; CPU:$E00F PRG:600F 4A bcs DispatchLdaBeqLdaJsr ; CPU:$E010 PRG:6010 B0 5B jsr DispatchLdaI ; CPU:$E012 PRG:6012 20 E5 EB lda GameSubMode ; CPU:$E015 PRG:6015 A5 1B and #$01 ; CPU:$E017 PRG:6017 29 01 bne Sub_E032 ; CPU:$E019 PRG:6019 D0 17 lda $0389,x ; CPU:$E01B PRG:601B BD 89 03 clc ; CPU:$E01E PRG:601E 18 adc $038B,x ; CPU:$E01F PRG:601F 7D 8B 03 and #$03 ; CPU:$E022 PRG:6022 29 03 sta $0389,x ; CPU:$E024 PRG:6024 9D 89 03 lda $038A,x ; CPU:$E027 PRG:6027 BD 8A 03 and #$EC ; CPU:$E02A PRG:602A 29 EC ora $0389,x ; CPU:$E02C PRG:602C 1D 89 03 sta $038A,x ; CPU:$E02F PRG:602F 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E032 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E032: lda $038B,x ; CPU:$E032 PRG:6032 BD 8B 03 bmi Sub_E052 ; CPU:$E035 PRG:6035 30 1B lda $038C,x ; CPU:$E037 PRG:6037 BD 8C 03 bmi Sub_E040 ; CPU:$E03A PRG:603A 30 04 cmp #$04 ; CPU:$E03C PRG:603C C9 04 bcs DispatchJsrJsrJsrLsrsBcs ; CPU:$E03E PRG:603E B0 C6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E040 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E040: lda $038D,x ; CPU:$E040 PRG:6040 BD 8D 03 clc ; CPU:$E043 PRG:6043 18 adc $0382,x ; CPU:$E044 PRG:6044 7D 82 03 sta $038D,x ; CPU:$E047 PRG:6047 9D 8D 03 bcc DispatchJsrJsrJsrLsrsBcs ; CPU:$E04A PRG:604A 90 BA inc $038C,x ; CPU:$E04C PRG:604C FE 8C 03 jmp DispatchJsrJsrJsrLsrsBcs ; CPU:$E04F PRG:604F 4C 06 E0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E052 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E052: lda $038C,x ; CPU:$E052 PRG:6052 BD 8C 03 bpl Sub_E05B ; CPU:$E055 PRG:6055 10 04 cmp #$FD ; CPU:$E057 PRG:6057 C9 FD bcc DispatchJsrJsrJsrLsrsBcs ; CPU:$E059 PRG:6059 90 AB ; ----------------------------------------------------------------------------- ; Routine: Sub_E05B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E05B: lda $038D,x ; CPU:$E05B PRG:605B BD 8D 03 sec ; CPU:$E05E PRG:605E 38 sbc $0382,x ; CPU:$E05F PRG:605F FD 82 03 sta $038D,x ; CPU:$E062 PRG:6062 9D 8D 03 bcs DispatchJsrJsrJsrLsrsBcs ; CPU:$E065 PRG:6065 B0 9F dec $038C,x ; CPU:$E067 PRG:6067 DE 8C 03 jmp DispatchJsrJsrJsrLsrsBcs ; CPU:$E06A PRG:606A 4C 06 E0 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBeqLdaJsr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBeqLdaJsr: lda $0382,x ; CPU:$E06D PRG:606D BD 82 03 cmp #$1C ; CPU:$E070 PRG:6070 C9 1C beq Sub_E07C ; CPU:$E072 PRG:6072 F0 08 lda #$03 ; CPU:$E074 PRG:6074 A9 03 jsr ObjSpritesInit6 ; CPU:$E076 PRG:6076 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E079 PRG:6079 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E07C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E07C: lda #$0F ; CPU:$E07C PRG:607C A9 0F jsr ObjSpritesInit6 ; CPU:$E07E PRG:607E 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E081 PRG:6081 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E084 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E084: lda #$00 ; CPU:$E084 PRG:6084 A9 00 jmp DispatchStoreJsrLdaJsrLda ; CPU:$E086 PRG:6086 4C 8B E0 ; ---- data $E089-$E08A (2 bytes) ---- .byte $A9, $01 ; CPU:$E089 PRG:6089 A9 01 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreJsrLdaJsrLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreJsrLdaJsrLda: sta $038B,x ; CPU:$E08B PRG:608B 9D 8B 03 jsr DispatchCmpLdaBccLda ; CPU:$E08E PRG:608E 20 51 E1 lda #$06 ; CPU:$E091 PRG:6091 A9 06 jsr DispatchStoreJsrSubBcsEor ; CPU:$E093 PRG:6093 20 69 EC lda #$0A ; CPU:$E096 PRG:6096 A9 0A sta $038A,x ; CPU:$E098 PRG:6098 9D 8A 03 lda #$1C ; CPU:$E09B PRG:609B A9 1C sta $0382,x ; CPU:$E09D PRG:609D 9D 82 03 jmp DispatchJsrJsrLdaBne ; CPU:$E0A0 PRG:60A0 4C BE DF jsr DispatchCmpLdaBccLda ; CPU:$E0A3 PRG:60A3 20 51 E1 lda #$04 ; CPU:$E0A6 PRG:60A6 A9 04 jsr DispatchStoreJsrSubBcsEor ; CPU:$E0A8 PRG:60A8 20 69 EC lda #$0C ; CPU:$E0AB PRG:60AB A9 0C sta $038A,x ; CPU:$E0AD PRG:60AD 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E0B0: jsr PopXY ; CPU:$E0B0 PRG:60B0 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E0B3 PRG:60B3 20 3C EB lda $0386,x ; CPU:$E0B6 PRG:60B6 BD 86 03 bmi Sub_E0B0 ; CPU:$E0B9 PRG:60B9 30 F5 jsr DispatchLdaEorEorAslAslRol ; CPU:$E0BB PRG:60BB 20 5C F5 and #$3F ; CPU:$E0BE PRG:60BE 29 3F clc ; CPU:$E0C0 PRG:60C0 18 adc #$20 ; CPU:$E0C1 PRG:60C1 69 20 sta $0389,x ; CPU:$E0C3 PRG:60C3 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0C6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E0C6: jsr PopXY ; CPU:$E0C6 PRG:60C6 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E0C9 PRG:60C9 20 3C EB jsr DispatchLdaI ; CPU:$E0CC PRG:60CC 20 E5 EB jsr DispatchLdyE ; CPU:$E0CF PRG:60CF 20 87 EB lsr a ; CPU:$E0D2 PRG:60D2 4A bcc Sub_E0DD ; CPU:$E0D3 PRG:60D3 90 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_E0D5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E0D5: lda #$05 ; CPU:$E0D5 PRG:60D5 A9 05 jsr ObjSpritesInit6 ; CPU:$E0D7 PRG:60D7 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E0DA PRG:60DA 4C 5B E2 ; referenced by `jsr $E0FF` at $EAAD (operand $E0FF falls inside this region) ; ----------------------------------------------------------------------------- ; Routine: Sub_E0DD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E0DD: dec $0389,x ; CPU:$E0DD PRG:60DD DE 89 03 bne Sub_E0C6 ; CPU:$E0E0 PRG:60E0 D0 E4 jsr DispatchJsrStoreLdaClc ; CPU:$E0E2 PRG:60E2 20 2F CF lda #$08 ; CPU:$E0E5 PRG:60E5 A9 08 sta $0389,x ; CPU:$E0E7 PRG:60E7 9D 89 03 lda #$06 ; CPU:$E0EA PRG:60EA A9 06 jsr DispatchStoreJsrSubBcsEor ; CPU:$E0EC PRG:60EC 20 69 EC lda #$00 ; CPU:$E0EF PRG:60EF A9 00 sec ; CPU:$E0F1 PRG:60F1 38 sbc $038D,x ; CPU:$E0F2 PRG:60F2 FD 8D 03 sta $038D,x ; CPU:$E0F5 PRG:60F5 9D 8D 03 lda #$00 ; CPU:$E0F8 PRG:60F8 A9 00 sbc $038C,x ; CPU:$E0FA PRG:60FA FD 8C 03 sta $038C,x ; CPU:$E0FD PRG:60FD 9D 8C 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E100 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E100: lda #$00 ; CPU:$E100 PRG:6100 A9 00 sec ; CPU:$E102 PRG:6102 38 sbc $038F,x ; CPU:$E103 PRG:6103 FD 8F 03 sta $038F,x ; CPU:$E106 PRG:6106 9D 8F 03 lda #$00 ; CPU:$E109 PRG:6109 A9 00 sbc $038E,x ; CPU:$E10B PRG:610B FD 8E 03 sta $038E,x ; CPU:$E10E PRG:610E 9D 8E 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJsrLsrsBcs2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJsrLsrsBcs2: jsr PopXY ; CPU:$E111 PRG:6111 20 6F DF jsr DispatchLdaI ; CPU:$E114 PRG:6114 20 E5 EB jsr DispatchLdyE ; CPU:$E117 PRG:6117 20 87 EB lsr a ; CPU:$E11A PRG:611A 4A bcs Sub_E0D5 ; CPU:$E11B PRG:611B B0 B8 dec $0389,x ; CPU:$E11D PRG:611D DE 89 03 bne DispatchJsrJsrJsrLsrsBcs2 ; CPU:$E120 PRG:6120 D0 EF lda #$08 ; CPU:$E122 PRG:6122 A9 08 sta $0389,x ; CPU:$E124 PRG:6124 9D 89 03 lda $038A,x ; CPU:$E127 PRG:6127 BD 8A 03 cmp #$0F ; CPU:$E12A PRG:612A C9 0F beq DispatchJsrJsrJsrLsrsBcs3 ; CPU:$E12C PRG:612C F0 06 inc $038A,x ; CPU:$E12E PRG:612E FE 8A 03 jmp DispatchJsrJsrJsrLsrsBcs2 ; CPU:$E131 PRG:6131 4C 11 E1 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJsrLsrsBcs3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJsrLsrsBcs3: jsr PopXY ; CPU:$E134 PRG:6134 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E137 PRG:6137 20 3C EB jsr DispatchLdyE ; CPU:$E13A PRG:613A 20 87 EB lsr a ; CPU:$E13D PRG:613D 4A bcs Sub_E0D5 ; CPU:$E13E PRG:613E B0 95 jsr DispatchLdaI ; CPU:$E140 PRG:6140 20 E5 EB jmp DispatchJsrJsrJsrLsrsBcs3 ; CPU:$E143 PRG:6143 4C 34 E1 ; ---- data $E146-$E150 (11 bytes) ---- .byte $20, $5C, $F5, $29, $E0, $18, $69, $08, $4C, $65, $E1 ; CPU:$E146 PRG:6146 20 5C F5 29 E0 18 69 08 4C 65 E1 ; ----------------------------------------------------------------------------- ; Routine: DispatchCmpLdaBccLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCmpLdaBccLda: lda Zp23 ; CPU:$E151 PRG:6151 A5 23 cmp #$78 ; CPU:$E153 PRG:6153 C9 78 lda #$90 ; CPU:$E155 PRG:6155 A9 90 bcc Sub_E15B ; CPU:$E157 PRG:6157 90 02 lda #$20 ; CPU:$E159 PRG:6159 A9 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_E15B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E15B: sta ObjPtr ; CPU:$E15B PRG:615B 85 13 jsr DispatchLdaEorEorAslAslRol ; CPU:$E15D PRG:615D 20 5C F5 and #$3F ; CPU:$E160 PRG:6160 29 3F clc ; CPU:$E162 PRG:6162 18 adc ObjPtr ; CPU:$E163 PRG:6163 65 13 sta $0384,x ; CPU:$E165 PRG:6165 9D 84 03 lda #$00 ; CPU:$E168 PRG:6168 A9 00 sta $0383,x ; CPU:$E16A PRG:616A 9D 83 03 lda #$DA ; CPU:$E16D PRG:616D A9 DA sta $0387,x ; CPU:$E16F PRG:616F 9D 87 03 lda #$FF ; CPU:$E172 PRG:6172 A9 FF sta $0386,x ; CPU:$E174 PRG:6174 9D 86 03 rts ; CPU:$E177 PRG:6177 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E178 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E178: jsr DispatchCmpLdaBccLda ; CPU:$E178 PRG:6178 20 51 E1 lda #$E1 ; CPU:$E17B PRG:617B A9 E1 sta $0387,x ; CPU:$E17D PRG:617D 9D 87 03 lda #$03 ; CPU:$E180 PRG:6180 A9 03 jsr DispatchStoreJsrSubBcsEor ; CPU:$E182 PRG:6182 20 69 EC lda #$10 ; CPU:$E185 PRG:6185 A9 10 sta $038A,x ; CPU:$E187 PRG:6187 9D 8A 03 jsr DispatchLdaEorEorAslAslRol ; CPU:$E18A PRG:618A 20 5C F5 and Zp95 ; CPU:$E18D PRG:618D 25 95 clc ; CPU:$E18F PRG:618F 18 adc #$30 ; CPU:$E190 PRG:6190 69 30 sta $0389,x ; CPU:$E192 PRG:6192 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E195 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E195: jsr PopXY ; CPU:$E195 PRG:6195 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E198 PRG:6198 20 3C EB lda $0386,x ; CPU:$E19B PRG:619B BD 86 03 bmi Sub_E195 ; CPU:$E19E PRG:619E 30 F5 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJsrJsrLsrs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJsrJsrLsrs: jsr PopXY ; CPU:$E1A0 PRG:61A0 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E1A3 PRG:61A3 20 3C EB jsr DispatchLdaI ; CPU:$E1A6 PRG:61A6 20 E5 EB jsr DispatchLdyE ; CPU:$E1A9 PRG:61A9 20 87 EB lsr a ; CPU:$E1AC PRG:61AC 4A bcs Sub_E1D3 ; CPU:$E1AD PRG:61AD B0 24 jsr DispatchAndBeqIncLda ; CPU:$E1AF PRG:61AF 20 40 E2 dec $0389,x ; CPU:$E1B2 PRG:61B2 DE 89 03 bne DispatchJsrJsrJsrJsrLsrs ; CPU:$E1B5 PRG:61B5 D0 E9 jsr DispatchLdaEorEorAslAslRol ; CPU:$E1B7 PRG:61B7 20 5C F5 sta $0382,x ; CPU:$E1BA PRG:61BA 9D 82 03 lda #$03 ; CPU:$E1BD PRG:61BD A9 03 jsr DispatchStoreLdaStoreStoreStore ; CPU:$E1BF PRG:61BF 20 E3 EC jsr DispatchLdaEorEorAslAslRol ; CPU:$E1C2 PRG:61C2 20 5C F5 and Zp95 ; CPU:$E1C5 PRG:61C5 25 95 clc ; CPU:$E1C7 PRG:61C7 18 adc #$30 ; CPU:$E1C8 PRG:61C8 69 30 sta $0389,x ; CPU:$E1CA PRG:61CA 9D 89 03 jsr DispatchJsrStoreLdaClc ; CPU:$E1CD PRG:61CD 20 2F CF jmp DispatchJsrJsrJsrJsrLsrs ; CPU:$E1D0 PRG:61D0 4C A0 E1 ; ----------------------------------------------------------------------------- ; Routine: Sub_E1D3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E1D3: lda #$07 ; CPU:$E1D3 PRG:61D3 A9 07 jsr ObjSpritesInit6 ; CPU:$E1D5 PRG:61D5 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E1D8 PRG:61D8 4C 5B E2 ; ---- data $E1DB-$E23F (101 bytes) ---- .byte $20, $51, $E1, $A9, $E1, $9D, $87, $03, $A9, $03, $20, $69, $EC, $A9, $10, $9D ; CPU:$E1DB PRG:61DB 20 51 E1 A9 E1 9D 87 03 A9 03 20 69 EC A9 10 9D .byte $8A, $03, $20, $5C, $F5, $25, $95, $18, $69, $30, $9D, $89, $03, $20, $6F, $DF ; CPU:$E1EB PRG:61EB 8A 03 20 5C F5 25 95 18 69 30 9D 89 03 20 6F DF .byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $6F, $DF, $20, $3C, $EB, $20, $E5 ; CPU:$E1FB PRG:61FB 20 3C EB BD 86 03 30 F5 20 6F DF 20 3C EB 20 E5 .byte $EB, $20, $87, $EB, $4A, $B0, $44, $20, $40, $E2, $DE, $89, $03, $D0, $E9, $A9 ; CPU:$E20B PRG:620B EB 20 87 EB 4A B0 44 20 40 E2 DE 89 03 D0 E9 A9 .byte $03, $20, $69, $EC, $20, $5C, $F5, $25, $95, $18, $69, $30, $9D, $89, $03, $20 ; CPU:$E21B PRG:621B 03 20 69 EC 20 5C F5 25 95 18 69 30 9D 89 03 20 .byte $2F, $CF, $4C, $03, $E2, $20, $51, $E1, $A9, $00, $9D, $86, $03, $A9, $F6, $9D ; CPU:$E22B PRG:622B 2F CF 4C 03 E2 20 51 E1 A9 00 9D 86 03 A9 F6 9D .byte $87, $03, $4C, $DE, $E1 ; CPU:$E23B PRG:623B 87 03 4C DE E1 ; ----------------------------------------------------------------------------- ; Routine: DispatchAndBeqIncLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAndBeqIncLda: lda GameSubMode ; CPU:$E240 PRG:6240 A5 1B and #$01 ; CPU:$E242 PRG:6242 29 01 beq Sub_E255 ; CPU:$E244 PRG:6244 F0 0F inc $038A,x ; CPU:$E246 PRG:6246 FE 8A 03 lda $038A,x ; CPU:$E249 PRG:6249 BD 8A 03 cmp #$13 ; CPU:$E24C PRG:624C C9 13 bne Sub_E255 ; CPU:$E24E PRG:624E D0 05 lda #$10 ; CPU:$E250 PRG:6250 A9 10 sta $038A,x ; CPU:$E252 PRG:6252 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E255 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E255: rts ; CPU:$E255 PRG:6255 60 ; ---- data $E256-$E25A (5 bytes) ---- .byte $A9, $01, $20, $54, $BF ; CPU:$E256 PRG:6256 A9 01 20 54 BF ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreStoreStoreLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreStoreStoreLda: lda #$04 ; CPU:$E25B PRG:625B A9 04 sta $0389,x ; CPU:$E25D PRG:625D 9D 89 03 sta $0609 ; CPU:$E260 PRG:6260 8D 09 06 sta $060A ; CPU:$E263 PRG:6263 8D 0A 06 lda #$14 ; CPU:$E266 PRG:6266 A9 14 sta $038A,x ; CPU:$E268 PRG:6268 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E26B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E26B: jsr PopXY ; CPU:$E26B PRG:626B 20 6F DF jsr DispatchLdaI ; CPU:$E26E PRG:626E 20 E5 EB dec $0389,x ; CPU:$E271 PRG:6271 DE 89 03 bne Sub_E26B ; CPU:$E274 PRG:6274 D0 F5 lda #$04 ; CPU:$E276 PRG:6276 A9 04 sta $0389,x ; CPU:$E278 PRG:6278 9D 89 03 inc $038A,x ; CPU:$E27B PRG:627B FE 8A 03 lda $038A,x ; CPU:$E27E PRG:627E BD 8A 03 cmp #$18 ; CPU:$E281 PRG:6281 C9 18 bne Sub_E26B ; CPU:$E283 PRG:6283 D0 E6 jmp DispatchJsrTaxLsrs ; CPU:$E285 PRG:6285 4C 15 DF ; ---- data $E288-$E2CE (71 bytes) ---- .byte $20, $51, $E1, $A9, $04, $20, $69, $EC, $A9, $18, $9D, $8A, $03, $20, $5C, $F5 ; CPU:$E288 PRG:6288 20 51 E1 A9 04 20 69 EC A9 18 9D 8A 03 20 5C F5 .byte $29, $1F, $18, $69, $20, $9D, $89, $03, $A9, $00, $9D, $8B, $03, $20, $6F, $DF ; CPU:$E298 PRG:6298 29 1F 18 69 20 9D 89 03 A9 00 9D 8B 03 20 6F DF .byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $6F, $DF, $20, $3C, $EB, $20, $87 ; CPU:$E2A8 PRG:62A8 20 3C EB BD 86 03 30 F5 20 6F DF 20 3C EB 20 87 .byte $EB, $4A, $90, $03, $4C, $0A, $E3, $20, $E5, $EB, $DE, $89, $03, $D0, $E9, $A9 ; CPU:$E2B8 PRG:62B8 EB 4A 90 03 4C 0A E3 20 E5 EB DE 89 03 D0 E9 A9 .byte $18, $9D, $89, $03, $FD, $82, $03 ; CPU:$E2C8 PRG:62C8 18 9D 89 03 FD 82 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaBneJsrAnd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaBneJsrAnd: jsr PopXY ; CPU:$E2CF PRG:62CF 20 6F DF lda $038B,x ; CPU:$E2D2 PRG:62D2 BD 8B 03 bne Sub_E2E2 ; CPU:$E2D5 PRG:62D5 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$E2D7 PRG:62D7 20 5C F5 and Zp96 ; CPU:$E2DA PRG:62DA 25 96 clc ; CPU:$E2DC PRG:62DC 18 adc #$10 ; CPU:$E2DD PRG:62DD 69 10 sta $038B,x ; CPU:$E2DF PRG:62DF 9D 8B 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E2E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E2E2: dec $038B,x ; CPU:$E2E2 PRG:62E2 DE 8B 03 bne Sub_E2EA ; CPU:$E2E5 PRG:62E5 D0 03 jsr DispatchJsrStoreLdaClc ; CPU:$E2E7 PRG:62E7 20 2F CF ; ----------------------------------------------------------------------------- ; Routine: Sub_E2EA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E2EA: lda $038E,x ; CPU:$E2EA PRG:62EA BD 8E 03 bpl Sub_E2F3 ; CPU:$E2ED PRG:62ED 10 04 cmp #$FD ; CPU:$E2EF PRG:62EF C9 FD bcc Sub_E301 ; CPU:$E2F1 PRG:62F1 90 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_E2F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E2F3: lda $038F,x ; CPU:$E2F3 PRG:62F3 BD 8F 03 sec ; CPU:$E2F6 PRG:62F6 38 sbc #$20 ; CPU:$E2F7 PRG:62F7 E9 20 sta $038F,x ; CPU:$E2F9 PRG:62F9 9D 8F 03 bcs Sub_E301 ; CPU:$E2FC PRG:62FC B0 03 dec $038E,x ; CPU:$E2FE PRG:62FE DE 8E 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E301 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E301: jsr DispatchAddStoreLda6 ; CPU:$E301 PRG:6301 20 3C EB jsr DispatchLdyE ; CPU:$E304 PRG:6304 20 87 EB lsr a ; CPU:$E307 PRG:6307 4A ; ----------------------------------------------------------------------------- ; Routine: Sub_E308 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E308: bcc Sub_E312 ; CPU:$E308 PRG:6308 90 08 lda #$03 ; CPU:$E30A PRG:630A A9 03 jsr ObjSpritesInit5 ; CPU:$E30C PRG:630C 20 54 BF jmp DispatchStoreStoreStoreLda ; CPU:$E30F PRG:630F 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E312 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E312: jsr DispatchLdaI ; CPU:$E312 PRG:6312 20 E5 EB jsr DispatchLdaEorEorAslAslRol ; CPU:$E315 PRG:6315 20 5C F5 dec $0389,x ; CPU:$E318 PRG:6318 DE 89 03 bne DispatchJsrLdaBneJsrAnd ; CPU:$E31B PRG:631B D0 B2 lda #$08 ; CPU:$E31D PRG:631D A9 08 sta $0389,x ; CPU:$E31F PRG:631F 9D 89 03 lda $038A,x ; CPU:$E322 PRG:6322 BD 8A 03 clc ; CPU:$E325 PRG:6325 18 adc #$01 ; CPU:$E326 PRG:6326 69 01 cmp #$1C ; CPU:$E328 PRG:6328 C9 1C beq DispatchJsrLdaBneJsrAnd ; CPU:$E32A PRG:632A F0 A3 sta $038A,x ; CPU:$E32C PRG:632C 9D 8A 03 jmp DispatchJsrLdaBneJsrAnd ; CPU:$E32F PRG:632F 4C CF E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E332 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E332: jsr DispatchCmpLdaBccLda ; CPU:$E332 PRG:6332 20 51 E1 lda #$05 ; CPU:$E335 PRG:6335 A9 05 jsr DispatchStoreJsrSubBcsEor ; CPU:$E337 PRG:6337 20 69 EC lda #$1C ; CPU:$E33A PRG:633A A9 1C sta $038A,x ; CPU:$E33C PRG:633C 9D 8A 03 lda #$00 ; CPU:$E33F PRG:633F A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_E341 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E341: sta $038B,x ; CPU:$E341 PRG:6341 9D 8B 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E344 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E344: jsr PopXY ; CPU:$E344 PRG:6344 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E347 PRG:6347 20 3C EB lda $0386,x ; CPU:$E34A PRG:634A BD 86 03 bmi Sub_E344 ; CPU:$E34D PRG:634D 30 F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_E34F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E34F: jsr PopXY ; CPU:$E34F PRG:634F 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E352 PRG:6352 20 3C EB jsr DispatchLdyE ; CPU:$E355 PRG:6355 20 87 EB lsr a ; CPU:$E358 PRG:6358 4A bcc Sub_E35E ; CPU:$E359 PRG:6359 90 03 jmp DispatchLdaJsrJmpF ; CPU:$E35B PRG:635B 4C FB E3 ; ----------------------------------------------------------------------------- ; Routine: Sub_E35E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E35E: jsr DispatchLdaI ; CPU:$E35E PRG:635E 20 E5 EB lda $038B,x ; CPU:$E361 PRG:6361 BD 8B 03 bne Sub_E371 ; CPU:$E364 PRG:6364 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$E366 PRG:6366 20 5C F5 and Zp98 ; CPU:$E369 PRG:6369 25 98 clc ; CPU:$E36B PRG:636B 18 adc #$10 ; CPU:$E36C PRG:636C 69 10 sta $038B,x ; CPU:$E36E PRG:636E 9D 8B 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E371 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E371: dec $038B,x ; CPU:$E371 PRG:6371 DE 8B 03 bne Sub_E379 ; CPU:$E374 PRG:6374 D0 03 jsr DispatchJsrStoreLdaClc ; CPU:$E376 PRG:6376 20 2F CF ; ----------------------------------------------------------------------------- ; Routine: Sub_E379 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E379: lda $0384,x ; CPU:$E379 PRG:6379 BD 84 03 sec ; CPU:$E37C PRG:637C 38 sbc Zp23 ; CPU:$E37D PRG:637D E5 23 clc ; CPU:$E37F PRG:637F 18 adc #$20 ; CPU:$E380 PRG:6380 69 20 cmp #$41 ; CPU:$E382 PRG:6382 C9 41 bcs Sub_E34F ; CPU:$E384 PRG:6384 B0 C9 lda #$18 ; CPU:$E386 PRG:6386 A9 18 sta $0389,x ; CPU:$E388 PRG:6388 9D 89 03 ldy #$20 ; CPU:$E38B PRG:638B A0 20 lda $0384,x ; CPU:$E38D PRG:638D BD 84 03 sec ; CPU:$E390 PRG:6390 38 sbc Zp23 ; CPU:$E391 PRG:6391 E5 23 bcs Sub_E397 ; CPU:$E393 PRG:6393 B0 02 ldy #$E0 ; CPU:$E395 PRG:6395 A0 E0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E397 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E397: tya ; CPU:$E397 PRG:6397 98 sta $0382,x ; CPU:$E398 PRG:6398 9D 82 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaBneJsrAnd3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaBneJsrAnd3: jsr PopXY ; CPU:$E39B PRG:639B 20 6F DF lda $038B,x ; CPU:$E39E PRG:639E BD 8B 03 bne Sub_E3AE ; CPU:$E3A1 PRG:63A1 D0 0B jsr DispatchLdaEorEorAslAslRol ; CPU:$E3A3 PRG:63A3 20 5C F5 and Zp98 ; CPU:$E3A6 PRG:63A6 25 98 clc ; CPU:$E3A8 PRG:63A8 18 adc #$10 ; CPU:$E3A9 PRG:63A9 69 10 sta $038B,x ; CPU:$E3AB PRG:63AB 9D 8B 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E3AE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3AE: dec $038B,x ; CPU:$E3AE PRG:63AE DE 8B 03 bne Sub_E3B6 ; CPU:$E3B1 PRG:63B1 D0 03 jsr DispatchJsrStoreLdaClc ; CPU:$E3B3 PRG:63B3 20 2F CF ; ----------------------------------------------------------------------------- ; Routine: Sub_E3B6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3B6: lda $038E,x ; CPU:$E3B6 PRG:63B6 BD 8E 03 bpl Sub_E3BF ; CPU:$E3B9 PRG:63B9 10 04 cmp #$FD ; CPU:$E3BB PRG:63BB C9 FD bcc Sub_E3CD ; CPU:$E3BD PRG:63BD 90 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_E3BF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3BF: lda $038F,x ; CPU:$E3BF PRG:63BF BD 8F 03 sec ; CPU:$E3C2 PRG:63C2 38 sbc #$40 ; CPU:$E3C3 PRG:63C3 E9 40 sta $038F,x ; CPU:$E3C5 PRG:63C5 9D 8F 03 bcs Sub_E3CD ; CPU:$E3C8 PRG:63C8 B0 03 dec $038E,x ; CPU:$E3CA PRG:63CA DE 8E 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E3CD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3CD: lda $038C,x ; CPU:$E3CD PRG:63CD BD 8C 03 cmp #$04 ; CPU:$E3D0 PRG:63D0 C9 04 beq Sub_E3F2 ; CPU:$E3D2 PRG:63D2 F0 1E cmp #$FC ; CPU:$E3D4 PRG:63D4 C9 FC beq Sub_E3F2 ; CPU:$E3D6 PRG:63D6 F0 1A lda $038D,x ; CPU:$E3D8 PRG:63D8 BD 8D 03 clc ; CPU:$E3DB PRG:63DB 18 adc $0382,x ; CPU:$E3DC PRG:63DC 7D 82 03 sta $038D,x ; CPU:$E3DF PRG:63DF 9D 8D 03 ldy #$00 ; CPU:$E3E2 PRG:63E2 A0 00 lda $0382,x ; CPU:$E3E4 PRG:63E4 BD 82 03 bpl Sub_E3EB ; CPU:$E3E7 PRG:63E7 10 02 ldy #$FF ; CPU:$E3E9 PRG:63E9 A0 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_E3EB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3EB: tya ; CPU:$E3EB PRG:63EB 98 adc $038C,x ; CPU:$E3EC PRG:63EC 7D 8C 03 sta $038C,x ; CPU:$E3EF PRG:63EF 9D 8C 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E3F2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E3F2: jsr DispatchAddStoreLda6 ; CPU:$E3F2 PRG:63F2 20 3C EB jsr DispatchLdyE ; CPU:$E3F5 PRG:63F5 20 87 EB lsr a ; CPU:$E3F8 PRG:63F8 4A bcc Sub_E403 ; CPU:$E3F9 PRG:63F9 90 08 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaJsrJmpF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaJsrJmpF: lda #$07 ; CPU:$E3FB PRG:63FB A9 07 jsr ObjSpritesInit5 ; CPU:$E3FD PRG:63FD 20 54 BF jmp DispatchStoreStoreStoreLda ; CPU:$E400 PRG:6400 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E403 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E403: jsr DispatchLdaI ; CPU:$E403 PRG:6403 20 E5 EB dec $0389,x ; CPU:$E406 PRG:6406 DE 89 03 ; ---- data $E409-$E409 (1 bytes) ---- .byte $D0 ; CPU:$E409 PRG:6409 D0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E40A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E40A: .byte $90, $A9 ; CPU:$E40A PRG:640A 90 A9 -- bcc $E3B5 (target falls inside jsr operand at $E3B3; dead code) php ; CPU:$E40C PRG:640C 08 sta $0389,x ; CPU:$E40D PRG:640D 9D 89 03 lda $038A,x ; CPU:$E410 PRG:6410 BD 8A 03 clc ; CPU:$E413 PRG:6413 18 adc #$01 ; CPU:$E414 PRG:6414 69 01 cmp #$20 ; CPU:$E416 PRG:6416 C9 20 beq DispatchJsrLdaBneJsrAnd3 ; CPU:$E418 PRG:6418 F0 81 sta $038A,x ; CPU:$E41A PRG:641A 9D 8A 03 jmp DispatchJsrLdaBneJsrAnd3 ; CPU:$E41D PRG:641D 4C 9B E3 ; ---- data $E420-$E44B (44 bytes) ---- .byte $20, $51, $E1, $A9, $08, $20, $69, $EC, $A9, $2C, $9D, $8A, $03, $BD, $82, $03 ; CPU:$E420 PRG:6420 20 51 E1 A9 08 20 69 EC A9 2C 9D 8A 03 BD 82 03 .byte $18, $69, $03, $29, $1F, $C9, $07, $90, $13, $BD, $82, $03, $C9, $10, $A9, $03 ; CPU:$E430 PRG:6430 18 69 03 29 1F C9 07 90 13 BD 82 03 C9 10 A9 03 .byte $90, $02, $A9, $1D, $9D, $82, $03, $A9, $08, $20, $E3, $EC ; CPU:$E440 PRG:6440 90 02 A9 1D 9D 82 03 A9 08 20 E3 EC ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrLdaBmiJsr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrLdaBmiJsr: jsr PopXY ; CPU:$E44C PRG:644C 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E44F PRG:644F 20 3C EB lda $0386,x ; CPU:$E452 PRG:6452 BD 86 03 bmi DispatchJsrJsrLdaBmiJsr ; CPU:$E455 PRG:6455 30 F5 jsr DispatchLdyD ; CPU:$E457 PRG:6457 20 CC E9 lsr a ; CPU:$E45A PRG:645A 4A bcc Sub_E465 ; CPU:$E45B PRG:645B 90 08 lda #$01 ; CPU:$E45D PRG:645D A9 01 jsr ObjSpritesInit6 ; CPU:$E45F PRG:645F 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E462 PRG:6462 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E465 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E465: jsr DispatchLdaI ; CPU:$E465 PRG:6465 20 E5 EB inc $0389,x ; CPU:$E468 PRG:6468 FE 89 03 lda $0389,x ; CPU:$E46B PRG:646B BD 89 03 and #$03 ; CPU:$E46E PRG:646E 29 03 bne DispatchJsrJsrLdaBmiJsr ; CPU:$E470 PRG:6470 D0 DA inc $038A,x ; CPU:$E472 PRG:6472 FE 8A 03 lda $038A,x ; CPU:$E475 PRG:6475 BD 8A 03 and #$03 ; CPU:$E478 PRG:6478 29 03 ora #$2C ; CPU:$E47A PRG:647A 09 2C sta $038A,x ; CPU:$E47C PRG:647C 9D 8A 03 jmp DispatchJsrJsrLdaBmiJsr ; CPU:$E47F PRG:647F 4C 4C E4 ; ---- data $E482-$E4E3 (98 bytes) ---- .byte $A9, $30, $9D, $8A, $03, $20, $5C, $F5, $29, $7F, $C9, $60, $B0, $04, $C9, $20 ; CPU:$E482 PRG:6482 A9 30 9D 8A 03 20 5C F5 29 7F C9 60 B0 04 C9 20 .byte $B0, $08, $20, $5C, $F5, $29, $3F, $18, $69, $20, $9D, $87, $03, $20, $5C, $F5 ; CPU:$E492 PRG:6492 B0 08 20 5C F5 29 3F 18 69 20 9D 87 03 20 5C F5 .byte $C9, $F0, $90, $08, $20, $5C, $F5, $29, $7F, $18, $69, $60, $9D, $84, $03, $A9 ; CPU:$E4A2 PRG:64A2 C9 F0 90 08 20 5C F5 29 7F 18 69 60 9D 84 03 A9 .byte $00, $9D, $83, $03, $9D, $86, $03, $60, $20, $82, $E4, $A9, $0A, $9D, $8B, $03 ; CPU:$E4B2 PRG:64B2 00 9D 83 03 9D 86 03 60 20 82 E4 A9 0A 9D 8B 03 .byte $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3, $EE, $0D, $06 ; CPU:$E4C2 PRG:64C2 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3 EE 0D 06 .byte $20, $5C, $F5, $29, $3F, $18, $69, $10, $9D, $89, $03, $A9, $00, $9D, $82, $03 ; CPU:$E4D2 PRG:64D2 20 5C F5 29 3F 18 69 10 9D 89 03 A9 00 9D 82 03 .byte $A9, $03 ; CPU:$E4E2 PRG:64E2 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4E4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E4E4: jsr DispatchStoreLdaStoreStoreStore ; CPU:$E4E4 PRG:64E4 20 E3 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_E4E7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E4E7: jsr PopXY ; CPU:$E4E7 PRG:64E7 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E4EA PRG:64EA 20 3C EB jsr DispatchLdaI ; CPU:$E4ED PRG:64ED 20 E5 EB jsr DispatchLdyD ; CPU:$E4F0 PRG:64F0 20 CC E9 lsr a ; CPU:$E4F3 PRG:64F3 4A bcc Sub_E4F9 ; CPU:$E4F4 PRG:64F4 90 03 jmp DispatchLdaJsrJmpG ; CPU:$E4F6 PRG:64F6 4C 32 E5 ; ----------------------------------------------------------------------------- ; Routine: Sub_E4F9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E4F9: dec $0389,x ; CPU:$E4F9 PRG:64F9 DE 89 03 bne Sub_E4E7 ; CPU:$E4FC PRG:64FC D0 E9 jmp DispatchJsrJsrJmp3 ; CPU:$E4FE PRG:64FE 4C 48 E5 ; ---- data $E501-$E51F (31 bytes) ---- .byte $20, $82, $E4, $A9, $14, $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E501 PRG:6501 20 82 E4 A9 14 9D 8B 03 20 6F DF 20 9E E5 BD 8A .byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $A9, $00, $9D, $82, $03, $A9, $03 ; CPU:$E511 PRG:6511 03 C9 3C D0 F3 EE 0D 06 A9 00 9D 82 03 A9 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E520 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E520: jsr DispatchStoreLdaStoreStoreStore ; CPU:$E520 PRG:6520 20 E3 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_E523 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E523: jsr PopXY ; CPU:$E523 PRG:6523 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$E526 PRG:6526 20 3C EB jsr DispatchLdaI ; CPU:$E529 PRG:6529 20 E5 EB jsr DispatchLdyD ; CPU:$E52C PRG:652C 20 CC E9 lsr a ; CPU:$E52F PRG:652F 4A bcc Sub_E53B ; CPU:$E530 PRG:6530 90 09 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaJsrJmpG ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaJsrJmpG: lda $038B,x ; CPU:$E532 PRG:6532 BD 8B 03 jsr ObjSpritesInit6 ; CPU:$E535 PRG:6535 20 4D BF jmp DispatchStoreStoreStoreLda ; CPU:$E538 PRG:6538 4C 5B E2 ; ----------------------------------------------------------------------------- ; Routine: Sub_E53B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E53B: lda Zp23 ; CPU:$E53B PRG:653B A5 23 sec ; CPU:$E53D PRG:653D 38 sbc $0384,x ; CPU:$E53E PRG:653E FD 84 03 clc ; CPU:$E541 PRG:6541 18 adc #$15 ; CPU:$E542 PRG:6542 69 15 cmp #$33 ; CPU:$E544 PRG:6544 C9 33 bcs Sub_E523 ; CPU:$E546 PRG:6546 B0 DB ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJmp3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJmp3: lda #$01 ; CPU:$E548 PRG:6548 A9 01 jsr DispatchStoreJsrSubBcsEor ; CPU:$E54A PRG:654A 20 69 EC jsr DispatchLdaA ; CPU:$E54D PRG:654D 20 FB CE jmp DispatchJsrLdaCmpBccLda ; CPU:$E550 PRG:6550 4C 3C E6 ; ---- data $E553-$E599 (71 bytes) ---- .byte $20, $82, $E4, $A9, $0F, $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E553 PRG:6553 20 82 E4 A9 0F 9D 8B 03 20 6F DF 20 9E E5 BD 8A .byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $20, $5C, $F5, $29, $3F, $18, $69, $10 ; CPU:$E563 PRG:6563 03 C9 3C D0 F3 EE 0D 06 20 5C F5 29 3F 18 69 10 .byte $9D, $89, $03, $A9, $03, $20, $69, $EC, $4C, $E7, $E4, $20, $82, $E4, $A9, $1E ; CPU:$E573 PRG:6573 9D 89 03 A9 03 20 69 EC 4C E7 E4 20 82 E4 A9 1E .byte $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3 ; CPU:$E583 PRG:6583 9D 8B 03 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3 .byte $EE, $0D, $06, $A9, $03, $20, $69 ; CPU:$E593 PRG:6593 EE 0D 06 A9 03 20 69 ; ----------------------------------------------------------------------------- ; Routine: Sub_E59A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E59A: cpx $234C ; CPU:$E59A PRG:659A EC 4C 23 sbc Zp20 ; CPU:$E59D PRG:659D E5 20 sbc ZpEB ; CPU:$E59F PRG:659F E5 EB inc $0389,x ; CPU:$E5A1 PRG:65A1 FE 89 03 lda $0389,x ; CPU:$E5A4 PRG:65A4 BD 89 03 and #$01 ; CPU:$E5A7 PRG:65A7 29 01 bne Sub_E5AE ; CPU:$E5A9 PRG:65A9 D0 03 inc $038A,x ; CPU:$E5AB PRG:65AB FE 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E5AE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E5AE: rts ; CPU:$E5AE PRG:65AE 60 ; ---- data $E5AF-$E63B (141 bytes) ---- .byte $20, $82, $E4, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3 ; CPU:$E5AF PRG:65AF 20 82 E4 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3 .byte $EE, $0D, $06, $FE, $8A, $03, $20, $5C, $F5, $29, $3F, $18, $69, $10, $9D, $89 ; CPU:$E5BF PRG:65BF EE 0D 06 FE 8A 03 20 5C F5 29 3F 18 69 10 9D 89 .byte $03, $A9, $03, $20, $69, $EC, $20, $6F, $DF, $20, $3C, $EB, $20, $E5, $EB, $20 ; CPU:$E5CF PRG:65CF 03 A9 03 20 69 EC 20 6F DF 20 3C EB 20 E5 EB 20 .byte $CC, $E9, $4A, $90, $08, $A9, $06, $20, $54, $BF, $4C, $5B, $E2, $DE, $89, $03 ; CPU:$E5DF PRG:65DF CC E9 4A 90 08 A9 06 20 54 BF 4C 5B E2 DE 89 03 .byte $D0, $E4, $4C, $34, $E6, $20, $82, $E4, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E5EF PRG:65EF D0 E4 4C 34 E6 20 82 E4 20 6F DF 20 9E E5 BD 8A .byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $FE, $8A, $03, $A9, $03, $20, $69, $EC ; CPU:$E5FF PRG:65FF 03 C9 3C D0 F3 EE 0D 06 FE 8A 03 A9 03 20 69 EC .byte $20, $6F, $DF, $20, $3C, $EB, $20, $E5, $EB, $20, $CC, $E9, $4A, $90, $08, $A9 ; CPU:$E60F PRG:660F 20 6F DF 20 3C EB 20 E5 EB 20 CC E9 4A 90 08 A9 .byte $0F, $20, $54, $BF, $4C, $5B, $E2, $20, $F8, $D0, $38, $FD, $84, $03, $18, $69 ; CPU:$E61F PRG:661F 0F 20 54 BF 4C 5B E2 20 F8 D0 38 FD 84 03 18 69 .byte $15, $C9, $33, $B0, $DB, $A9, $01, $20, $69, $EC, $20, $C3, $CE ; CPU:$E62F PRG:662F 15 C9 33 B0 DB A9 01 20 69 EC 20 C3 CE ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaCmpBccLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaCmpBccLda: jsr PopXY ; CPU:$E63C PRG:663C 20 6F DF lda $038A,x ; CPU:$E63F PRG:663F BD 8A 03 cmp #$3C ; CPU:$E642 PRG:6642 C9 3C bcc Sub_E64B ; CPU:$E644 PRG:6644 90 05 lda #$3B ; CPU:$E646 PRG:6646 A9 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_E648 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E648: sta $038A,x ; CPU:$E648 PRG:6648 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E64B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E64B: jsr DispatchLdaI ; CPU:$E64B PRG:664B 20 E5 EB jsr PopXY ; CPU:$E64E PRG:664E 20 6F DF dec $0389,x ; CPU:$E651 PRG:6651 DE 89 03 lda $0389,x ; CPU:$E654 PRG:6654 BD 89 03 and #$01 ; CPU:$E657 PRG:6657 29 01 bne Sub_E64B ; CPU:$E659 PRG:6659 D0 F0 dec $038A,x ; CPU:$E65B PRG:665B DE 8A 03 lda $038A,x ; CPU:$E65E PRG:665E BD 8A 03 cmp #$2F ; CPU:$E661 PRG:6661 C9 2F bne Sub_E64B ; CPU:$E663 PRG:6663 D0 E6 jmp DispatchJsrTaxLsrs ; CPU:$E665 PRG:6665 4C 15 DF ; ---- data $E668-$E6B8 (81 bytes) ---- ; referenced by `lda $E680,y` at $E86D (operand $E680 falls inside this region) .byte $A9, $F0, $9D, $8B, $03, $A9, $E0, $9D, $84, $03, $20, $6F, $DF, $A5, $3A, $F0 ; CPU:$E668 PRG:6668 A9 F0 9D 8B 03 A9 E0 9D 84 03 20 6F DF A5 3A F0 .byte $F9, $A9, $00, $85, $3A, $4C, $9C, $E6, $24, $27, $26, $25, $24, $27, $26, $25 ; CPU:$E678 PRG:6678 F9 A9 00 85 3A 4C 9C E6 24 27 26 25 24 27 26 25 .byte $24, $A9, $10, $9D, $84, $03, $9D, $8B, $03, $A9, $01, $85, $3A, $20, $6F, $DF ; CPU:$E688 PRG:6688 24 A9 10 9D 84 03 9D 8B 03 A9 01 85 3A 20 6F DF .byte $A5, $3A, $D0, $F9, $A9, $00, $9D, $83, $03, $9D, $85, $03, $9D, $88, $03, $A9 ; CPU:$E698 PRG:6698 A5 3A D0 F9 A9 00 9D 83 03 9D 85 03 9D 88 03 A9 .byte $20, $9D, $8A, $03, $A9, $FF, $9D, $86, $03, $A5, $24, $18, $69, $20, $9D, $87 ; CPU:$E6A8 PRG:66A8 20 9D 8A 03 A9 FF 9D 86 03 A5 24 18 69 20 9D 87 .byte $03 ; CPU:$E6B8 PRG:66B8 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaOraBneLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaOraBneLda: jsr PopXY ; CPU:$E6B9 PRG:66B9 20 6F DF lda $0386,x ; CPU:$E6BC PRG:66BC BD 86 03 ora $0383,x ; CPU:$E6BF PRG:66BF 1D 83 03 bne Sub_E6CE ; CPU:$E6C2 PRG:66C2 D0 0A lda $0384,x ; CPU:$E6C4 PRG:66C4 BD 84 03 cmp #$F1 ; CPU:$E6C7 PRG:66C7 C9 F1 bcs Sub_E6CE ; CPU:$E6C9 PRG:66C9 B0 03 jsr DispatchLdaI ; CPU:$E6CB PRG:66CB 20 E5 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_E6CE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E6CE: ldy #$03 ; CPU:$E6CE PRG:66CE A0 03 lda Zp24 ; CPU:$E6D0 PRG:66D0 A5 24 sec ; CPU:$E6D2 PRG:66D2 38 sbc #$10 ; CPU:$E6D3 PRG:66D3 E9 10 sec ; CPU:$E6D5 PRG:66D5 38 sbc $0387,x ; CPU:$E6D6 PRG:66D6 FD 87 03 sta ObjectXLo ; CPU:$E6D9 PRG:66D9 85 37 lda $0386,x ; CPU:$E6DB PRG:66DB BD 86 03 bmi Sub_E6FD ; CPU:$E6DE PRG:66DE 30 1D lda ObjectXLo ; CPU:$E6E0 PRG:66E0 A5 37 cmp #$03 ; CPU:$E6E2 PRG:66E2 C9 03 bcc Sub_E744 ; CPU:$E6E4 PRG:66E4 90 5E cmp #$FE ; CPU:$E6E6 PRG:66E6 C9 FE bcs Sub_E744 ; CPU:$E6E8 PRG:66E8 B0 5A lda Zp24 ; CPU:$E6EA PRG:66EA A5 24 sec ; CPU:$E6EC PRG:66EC 38 sbc #$10 ; CPU:$E6ED PRG:66ED E9 10 sec ; CPU:$E6EF PRG:66EF 38 sbc $0387,x ; CPU:$E6F0 PRG:66F0 FD 87 03 bcs Sub_E6FD ; CPU:$E6F3 PRG:66F3 B0 08 eor #$FF ; CPU:$E6F5 PRG:66F5 49 FF sta ObjectXLo ; CPU:$E6F7 PRG:66F7 85 37 inc ObjectXLo ; CPU:$E6F9 PRG:66F9 E6 37 ldy #$FF ; CPU:$E6FB PRG:66FB A0 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_E6FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E6FD: tya ; CPU:$E6FD PRG:66FD 98 clc ; CPU:$E6FE PRG:66FE 18 adc $0387,x ; CPU:$E6FF PRG:66FF 7D 87 03 sta $0387,x ; CPU:$E702 PRG:6702 9D 87 03 bcc Sub_E70D ; CPU:$E705 PRG:6705 90 06 tya ; CPU:$E707 PRG:6707 98 bmi Sub_E70D ; CPU:$E708 PRG:6708 30 03 inc $0386,x ; CPU:$E70A PRG:670A FE 86 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E70D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E70D: jsr DispatchDecLdaBplIncInc ; CPU:$E70D PRG:670D 20 87 E8 lda Zp23 ; CPU:$E710 PRG:6710 A5 23 clc ; CPU:$E712 PRG:6712 18 adc $038B,x ; CPU:$E713 PRG:6713 7D 8B 03 cmp #$F1 ; CPU:$E716 PRG:6716 C9 F1 ; ----------------------------------------------------------------------------- ; Routine: Sub_E718 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E718: bcc Sub_E722 ; CPU:$E718 PRG:6718 90 08 lda $038B,x ; CPU:$E71A PRG:671A BD 8B 03 eor #$FF ; CPU:$E71D PRG:671D 49 FF clc ; CPU:$E71F PRG:671F 18 adc #$01 ; CPU:$E720 PRG:6720 69 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_E722 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E722: sec ; CPU:$E722 PRG:6722 38 sbc $0384,x ; CPU:$E723 PRG:6723 FD 84 03 beq DispatchJsrLdaOraBneLda ; CPU:$E726 PRG:6726 F0 91 sta ObjectXHi ; CPU:$E728 PRG:6728 85 38 bcs Sub_E73B ; CPU:$E72A PRG:672A B0 0F eor #$FF ; CPU:$E72C PRG:672C 49 FF sta ObjectXHi ; CPU:$E72E PRG:672E 85 38 inc ObjectXHi ; CPU:$E730 PRG:6730 E6 38 jsr DispatchLdaStoreLdaStoreLdy; CPU:$E732 PRG:6732 20 3F ED jsr DispatchLdyB ; CPU:$E735 PRG:6735 20 A9 E8 jmp DispatchJsrLdaOraBneLda ; CPU:$E738 PRG:6738 4C B9 E6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E73B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E73B: jsr DispatchLdaStoreLdaStoreLdy; CPU:$E73B PRG:673B 20 3F ED jsr DispatchLdyC ; CPU:$E73E PRG:673E 20 C0 E8 jmp DispatchJsrLdaOraBneLda ; CPU:$E741 PRG:6741 4C B9 E6 ; ----------------------------------------------------------------------------- ; Routine: Sub_E744 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E744: lda #$F0 ; CPU:$E744 PRG:6744 A9 F0 sta $0389,x ; CPU:$E746 PRG:6746 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E749 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E749: jsr PopXY ; CPU:$E749 PRG:6749 20 6F DF lda $0384,x ; CPU:$E74C PRG:674C BD 84 03 cmp #$F1 ; CPU:$E74F PRG:674F C9 F1 bcs Sub_E756 ; CPU:$E751 PRG:6751 B0 03 jsr DispatchLdaI ; CPU:$E753 PRG:6753 20 E5 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_E756 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E756: lda Zp23 ; CPU:$E756 PRG:6756 A5 23 clc ; CPU:$E758 PRG:6758 18 adc $038B,x ; CPU:$E759 PRG:6759 7D 8B 03 sta $0384,x ; CPU:$E75C PRG:675C 9D 84 03 lda Zp24 ; CPU:$E75F PRG:675F A5 24 sec ; CPU:$E761 PRG:6761 38 sbc #$10 ; CPU:$E762 PRG:6762 E9 10 sta $0387,x ; CPU:$E764 PRG:6764 9D 87 03 jsr DispatchLdaCmpBcsCmpBcs ; CPU:$E767 PRG:6767 20 55 E8 dec $0389,x ; CPU:$E76A PRG:676A DE 89 03 bne Sub_E749 ; CPU:$E76D PRG:676D D0 DA ldy #$28 ; CPU:$E76F PRG:676F A0 28 lda $038B,x ; CPU:$E771 PRG:6771 BD 8B 03 bpl Sub_E778 ; CPU:$E774 PRG:6774 10 02 ldy #$24 ; CPU:$E776 PRG:6776 A0 24 ; ----------------------------------------------------------------------------- ; Routine: Sub_E778 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E778: tya ; CPU:$E778 PRG:6778 98 sta $038A,x ; CPU:$E779 PRG:6779 9D 8A 03 lda #$20 ; CPU:$E77C PRG:677C A9 20 sta $0389,x ; CPU:$E77E PRG:677E 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E781 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E781: jsr PopXY ; CPU:$E781 PRG:6781 20 6F DF lda $0384,x ; CPU:$E784 PRG:6784 BD 84 03 cmp #$F1 ; CPU:$E787 PRG:6787 C9 F1 bcs Sub_E78E ; CPU:$E789 PRG:6789 B0 03 jsr DispatchLdaI ; CPU:$E78B PRG:678B 20 E5 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_E78E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E78E: lda Zp23 ; CPU:$E78E PRG:678E A5 23 clc ; CPU:$E790 PRG:6790 18 adc $038B,x ; CPU:$E791 PRG:6791 7D 8B 03 sta $0384,x ; CPU:$E794 PRG:6794 9D 84 03 lda Zp24 ; CPU:$E797 PRG:6797 A5 24 sec ; CPU:$E799 PRG:6799 38 sbc #$10 ; CPU:$E79A PRG:679A E9 10 sta $0387,x ; CPU:$E79C PRG:679C 9D 87 03 dec $0389,x ; CPU:$E79F PRG:679F DE 89 03 bne Sub_E781 ; CPU:$E7A2 PRG:67A2 D0 DD lda #$04 ; CPU:$E7A4 PRG:67A4 A9 04 sta $0389,x ; CPU:$E7A6 PRG:67A6 9D 89 03 inc $038A,x ; CPU:$E7A9 PRG:67A9 FE 8A 03 lda $038A,x ; CPU:$E7AC PRG:67AC BD 8A 03 and #$03 ; CPU:$E7AF PRG:67AF 29 03 cmp #$03 ; CPU:$E7B1 PRG:67B1 C9 03 bne Sub_E781 ; CPU:$E7B3 PRG:67B3 D0 CC lda $038B,x ; CPU:$E7B5 PRG:67B5 BD 8B 03 sta $0389,x ; CPU:$E7B8 PRG:67B8 9D 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E7BB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7BB: jsr PopXY ; CPU:$E7BB PRG:67BB 20 6F DF lda $0384,x ; CPU:$E7BE PRG:67BE BD 84 03 cmp #$F1 ; CPU:$E7C1 PRG:67C1 C9 F1 bcs Sub_E7C8 ; CPU:$E7C3 PRG:67C3 B0 03 jsr DispatchLdaI ; CPU:$E7C5 PRG:67C5 20 E5 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_E7C8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7C8: lda $0389,x ; CPU:$E7C8 PRG:67C8 BD 89 03 clc ; CPU:$E7CB PRG:67CB 18 adc Zp23 ; CPU:$E7CC PRG:67CC 65 23 sta $0384,x ; CPU:$E7CE PRG:67CE 9D 84 03 lda Zp24 ; CPU:$E7D1 PRG:67D1 A5 24 sec ; CPU:$E7D3 PRG:67D3 38 sbc #$10 ; CPU:$E7D4 PRG:67D4 E9 10 sta $0387,x ; CPU:$E7D6 PRG:67D6 9D 87 03 dec $0389,x ; CPU:$E7D9 PRG:67D9 DE 89 03 lda $038B,x ; CPU:$E7DC PRG:67DC BD 8B 03 bpl Sub_E7E7 ; CPU:$E7DF PRG:67DF 10 06 inc $0389,x ; CPU:$E7E1 PRG:67E1 FE 89 03 inc $0389,x ; CPU:$E7E4 PRG:67E4 FE 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E7E7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7E7: lda $0389,x ; CPU:$E7E7 PRG:67E7 BD 89 03 and #$07 ; CPU:$E7EA PRG:67EA 29 07 bne Sub_E7BB ; CPU:$E7EC PRG:67EC D0 CD ; ----------------------------------------------------------------------------- ; Routine: Sub_E7EE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7EE: jsr PopXY ; CPU:$E7EE PRG:67EE 20 6F DF lda $0384,x ; CPU:$E7F1 PRG:67F1 BD 84 03 cmp #$F1 ; CPU:$E7F4 PRG:67F4 C9 F1 ; ----------------------------------------------------------------------------- ; Routine: Sub_E7F6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7F6: bcs Sub_E7FB ; CPU:$E7F6 PRG:67F6 B0 03 jsr DispatchLdaI ; CPU:$E7F8 PRG:67F8 20 E5 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_E7FB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E7FB: lda $038B,x ; CPU:$E7FB PRG:67FB BD 8B 03 cmp #$80 ; CPU:$E7FE PRG:67FE C9 80 ror a ; CPU:$E800 PRG:6800 6A adc Zp23 ; CPU:$E801 PRG:6801 65 23 sta $0384,x ; CPU:$E803 PRG:6803 9D 84 03 lda Zp24 ; CPU:$E806 PRG:6806 A5 24 sec ; CPU:$E808 PRG:6808 38 sbc #$10 ; CPU:$E809 PRG:6809 E9 10 sta $0387,x ; CPU:$E80B PRG:680B 9D 87 03 lda $038B,x ; CPU:$E80E PRG:680E BD 8B 03 bpl Sub_E81B ; CPU:$E811 PRG:6811 10 08 inc $0389,x ; CPU:$E813 PRG:6813 FE 89 03 bne Sub_E7EE ; CPU:$E816 PRG:6816 D0 D6 jmp DispatchJsrTaxLsrs ; CPU:$E818 PRG:6818 4C 15 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_E81B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E81B: dec $0389,x ; CPU:$E81B PRG:681B DE 89 03 bne Sub_E7EE ; CPU:$E81E PRG:681E D0 CE lda $0384,x ; CPU:$E820 PRG:6820 BD 84 03 sec ; CPU:$E823 PRG:6823 38 sbc #$08 ; CPU:$E824 PRG:6824 E9 08 sta $0384,x ; CPU:$E826 PRG:6826 9D 84 03 lda #$20 ; CPU:$E829 PRG:6829 A9 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_E82B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E82B: sta $038A,x ; CPU:$E82B PRG:682B 9D 8A 03 sta $0606 ; CPU:$E82E PRG:682E 8D 06 06 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaSubStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaSubStore: jsr PopXY ; CPU:$E831 PRG:6831 20 6F DF lda $0387,x ; CPU:$E834 PRG:6834 BD 87 03 sec ; CPU:$E837 PRG:6837 38 sbc #$08 ; CPU:$E838 PRG:6838 E9 08 sta $0387,x ; CPU:$E83A PRG:683A 9D 87 03 bcs Sub_E845 ; CPU:$E83D PRG:683D B0 06 dec $0386,x ; CPU:$E83F PRG:683F DE 86 03 jmp DispatchJsrG ; CPU:$E842 PRG:6842 4C 4F E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E845 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E845: lda $0384,x ; CPU:$E845 PRG:6845 BD 84 03 cmp #$F1 ; CPU:$E848 PRG:6848 C9 F1 bcc DispatchJsrG ; CPU:$E84A PRG:684A 90 03 jmp DispatchJsrLdaSubStore ; CPU:$E84C PRG:684C 4C 31 E8 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrG ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrG: jsr DispatchLdaI ; CPU:$E84F PRG:684F 20 E5 EB ; ---- data $E852-$E852 (1 bytes) ---- .byte $4C ; CPU:$E852 PRG:6852 4C ; ----------------------------------------------------------------------------- ; Routine: Sub_E853 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E853: and (SpriteAttr),y ; CPU:$E853 PRG:6853 31 E8 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaCmpBcsCmpBcs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaCmpBcsCmpBcs: lda $0389,x ; CPU:$E855 PRG:6855 BD 89 03 cmp #$78 ; CPU:$E858 PRG:6858 C9 78 bcs DispatchDecLdaBplIncInc ; CPU:$E85A PRG:685A B0 2B cmp #$5A ; CPU:$E85C PRG:685C C9 5A bcs Sub_E883 ; CPU:$E85E PRG:685E B0 23 cmp #$41 ; CPU:$E860 PRG:6860 C9 41 bcs Sub_E87E ; CPU:$E862 PRG:6862 B0 1A lsr a ; CPU:$E864 PRG:6864 4A lsr a ; CPU:$E865 PRG:6865 4A lsr a ; CPU:$E866 PRG:6866 4A tay ; CPU:$E867 PRG:6867 A8 lda $038B,x ; CPU:$E868 PRG:6868 BD 8B 03 bpl Sub_E873 ; CPU:$E86B PRG:686B 10 06 lda $E680,y ; CPU:$E86D PRG:686D B9 80 E6 jmp DispatchCmpBeqLda ; CPU:$E870 PRG:6870 4C 76 E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E873 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E873: lda $E8A0,y ; CPU:$E873 PRG:6873 B9 A0 E8 ; ----------------------------------------------------------------------------- ; Routine: DispatchCmpBeqLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCmpBeqLda: cmp $038A,x ; CPU:$E876 PRG:6876 DD 8A 03 beq Sub_E89F ; CPU:$E879 PRG:6879 F0 24 lda $0389,x ; CPU:$E87B PRG:687B BD 89 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E87E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E87E: and #$03 ; CPU:$E87E PRG:687E 29 03 beq DispatchDecLdaBplIncInc ; CPU:$E880 PRG:6880 F0 05 rts ; CPU:$E882 PRG:6882 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E883 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E883: and #$01 ; CPU:$E883 PRG:6883 29 01 bne Sub_E89F ; CPU:$E885 PRG:6885 D0 18 ; ----------------------------------------------------------------------------- ; Routine: DispatchDecLdaBplIncInc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchDecLdaBplIncInc: dec $038A,x ; CPU:$E887 PRG:6887 DE 8A 03 lda $038B,x ; CPU:$E88A PRG:688A BD 8B 03 bpl Sub_E895 ; CPU:$E88D PRG:688D 10 06 inc $038A,x ; CPU:$E88F PRG:688F FE 8A 03 inc $038A,x ; CPU:$E892 PRG:6892 FE 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E895 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E895: lda $038A,x ; CPU:$E895 PRG:6895 BD 8A 03 and #$03 ; CPU:$E898 PRG:6898 29 03 ora #$20 ; CPU:$E89A PRG:689A 09 20 sta $038A,x ; CPU:$E89C PRG:689C 9D 8A 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E89F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E89F: rts ; CPU:$E89F PRG:689F 60 ; ---- data $E8A0-$E8A8 (9 bytes) ---- ; referenced by `lda $E8A0,y` at $E873 (operand $E8A0 falls inside this region) .byte $24, $25, $26, $27, $24, $25, $26, $27, $24 ; CPU:$E8A0 PRG:68A0 24 25 26 27 24 25 26 27 24 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyB: ldy #$03 ; CPU:$E8A9 PRG:68A9 A0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E8AB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E8AB: lda $0385,x ; CPU:$E8AB PRG:68AB BD 85 03 sec ; CPU:$E8AE PRG:68AE 38 sbc ObjectYLo ; CPU:$E8AF PRG:68AF E5 35 sta $0385,x ; CPU:$E8B1 PRG:68B1 9D 85 03 lda $0384,x ; CPU:$E8B4 PRG:68B4 BD 84 03 sbc ObjectYHi ; CPU:$E8B7 PRG:68B7 E5 36 sta $0384,x ; CPU:$E8B9 PRG:68B9 9D 84 03 dey ; CPU:$E8BC PRG:68BC 88 bne Sub_E8AB ; CPU:$E8BD PRG:68BD D0 EC rts ; CPU:$E8BF PRG:68BF 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyC: ldy #$03 ; CPU:$E8C0 PRG:68C0 A0 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_E8C2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E8C2: lda $0385,x ; CPU:$E8C2 PRG:68C2 BD 85 03 clc ; CPU:$E8C5 PRG:68C5 18 adc ObjectYLo ; CPU:$E8C6 PRG:68C6 65 35 sta $0385,x ; CPU:$E8C8 PRG:68C8 9D 85 03 lda $0384,x ; CPU:$E8CB PRG:68CB BD 84 03 adc ObjectYHi ; CPU:$E8CE PRG:68CE 65 36 sta $0384,x ; CPU:$E8D0 PRG:68D0 9D 84 03 dey ; CPU:$E8D3 PRG:68D3 88 bne Sub_E8C2 ; CPU:$E8D4 PRG:68D4 D0 EC rts ; CPU:$E8D6 PRG:68D6 60 ; ---- data $E8D7-$E982 (172 bytes) ---- .byte $20, $46, $E1, $A9, $00, $9D, $82, $03, $A9, $06, $20, $E3, $EC, $20, $5C, $F5 ; CPU:$E8D7 PRG:68D7 20 46 E1 A9 00 9D 82 03 A9 06 20 E3 EC 20 5C F5 .byte $29, $1F, $18, $69, $14, $9D, $89, $03, $A9, $13, $9D, $8A, $03, $20, $6F, $DF ; CPU:$E8E7 PRG:68E7 29 1F 18 69 14 9D 89 03 A9 13 9D 8A 03 20 6F DF .byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $E5, $EB, $20, $87, $EB, $4A, $90 ; CPU:$E8F7 PRG:68F7 20 3C EB BD 86 03 30 F5 20 E5 EB 20 87 EB 4A 90 .byte $08, $A9, $01, $20, $5B, $BF, $4C, $5B, $E2, $BD, $87, $03, $C5, $24, $B0, $05 ; CPU:$E907 PRG:6907 08 A9 01 20 5B BF 4C 5B E2 BD 87 03 C5 24 B0 05 .byte $DE, $89, $03, $D0, $D8, $BD, $84, $03, $18, $69, $04, $85, $37, $BD, $87, $03 ; CPU:$E917 PRG:6917 DE 89 03 D0 D8 BD 84 03 18 69 04 85 37 BD 87 03 .byte $18, $69, $04, $85, $38, $A2, $00, $A0, $00, $B9, $93, $EA, $9D, $80, $03, $C8 ; CPU:$E927 PRG:6927 18 69 04 85 38 A2 00 A0 00 B9 93 EA 9D 80 03 C8 .byte $B9, $93, $EA, $9D, $81, $03, $C8, $B9, $93, $EA, $9D, $8D, $03, $C8, $B9, $93 ; CPU:$E937 PRG:6937 B9 93 EA 9D 81 03 C8 B9 93 EA 9D 8D 03 C8 B9 93 .byte $EA, $9D, $8C, $03, $C8, $B9, $93, $EA, $9D, $8F, $03, $C8, $B9, $93, $EA, $9D ; CPU:$E947 PRG:6947 EA 9D 8C 03 C8 B9 93 EA 9D 8F 03 C8 B9 93 EA 9D .byte $8E, $03, $C8, $A9, $00, $9D, $83, $03, $9D, $86, $03, $A5, $37, $9D, $84, $03 ; CPU:$E957 PRG:6957 8E 03 C8 A9 00 9D 83 03 9D 86 03 A5 37 9D 84 03 .byte $A5, $38, $9D, $87, $03, $A9, $08, $9D, $89, $03, $8A, $18, $69, $10, $AA, $4A ; CPU:$E967 PRG:6967 A5 38 9D 87 03 A9 08 9D 89 03 8A 18 69 10 AA 4A .byte $4A, $4A, $4A, $C9, $08, $D0, $B2, $20, $14, $D0, $A9, $00 ; CPU:$E977 PRG:6977 4A 4A 4A C9 08 D0 B2 20 14 D0 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_E983 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E983: sta Zp30 ; CPU:$E983 PRG:6983 85 30 ldx #$F0 ; CPU:$E985 PRG:6985 A2 F0 stx $060C ; CPU:$E987 PRG:6987 8E 0C 06 rts ; CPU:$E98A PRG:698A 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaOraBeq ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaOraBeq: lda $0386,x ; CPU:$E98B PRG:698B BD 86 03 ora $0383,x ; CPU:$E98E PRG:698E 1D 83 03 beq Sub_E998 ; CPU:$E991 PRG:6991 F0 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_E993 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E993: pla ; CPU:$E993 PRG:6993 68 pla ; CPU:$E994 PRG:6994 68 jmp DispatchJsrTaxLsrs ; CPU:$E995 PRG:6995 4C 15 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_E998 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E998: lda $0384,x ; CPU:$E998 PRG:6998 BD 84 03 cmp #$F8 ; CPU:$E99B PRG:699B C9 F8 bcs Sub_E993 ; CPU:$E99D PRG:699D B0 F4 lda $0387,x ; CPU:$E99F PRG:699F BD 87 03 ldy ObjectDeltaX ; CPU:$E9A2 PRG:69A2 A4 2D beq Sub_E9CB ; CPU:$E9A4 PRG:69A4 F0 25 sta $0700,y ; CPU:$E9A6 PRG:69A6 99 00 07 iny ; CPU:$E9A9 PRG:69A9 C8 lda #$DC ; CPU:$E9AA PRG:69AA A9 DC sta $0700,y ; CPU:$E9AC PRG:69AC 99 00 07 iny ; CPU:$E9AF PRG:69AF C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E9B0: lda GameSubMode ; CPU:$E9B0 PRG:69B0 A5 1B lsr a ; CPU:$E9B2 PRG:69B2 4A and #$08 ; CPU:$E9B3 PRG:69B3 29 08 eor GameSubMode ; CPU:$E9B5 PRG:69B5 45 1B asl a ; CPU:$E9B7 PRG:69B7 0A asl a ; CPU:$E9B8 PRG:69B8 0A asl a ; CPU:$E9B9 PRG:69B9 0A and #$C0 ; CPU:$E9BA PRG:69BA 29 C0 ora #$03 ; CPU:$E9BC PRG:69BC 09 03 sta $0700,y ; CPU:$E9BE PRG:69BE 99 00 07 iny ; CPU:$E9C1 PRG:69C1 C8 lda $0384,x ; CPU:$E9C2 PRG:69C2 BD 84 03 sta $0700,y ; CPU:$E9C5 PRG:69C5 99 00 07 iny ; CPU:$E9C8 PRG:69C8 C8 sty ObjectDeltaX ; CPU:$E9C9 PRG:69C9 84 2D ; ----------------------------------------------------------------------------- ; Routine: Sub_E9CB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E9CB: rts ; CPU:$E9CB PRG:69CB 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyD: ldy #$00 ; CPU:$E9CC PRG:69CC A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9CE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E9CE: lda $02A6,y ; CPU:$E9CE PRG:69CE B9 A6 02 beq Sub_E9F5 ; CPU:$E9D1 PRG:69D1 F0 22 lda $0384,x ; CPU:$E9D3 PRG:69D3 BD 84 03 sec ; CPU:$E9D6 PRG:69D6 38 sbc $02A7,y ; CPU:$E9D7 PRG:69D7 F9 A7 02 clc ; CPU:$E9DA PRG:69DA 18 adc #$06 ; CPU:$E9DB PRG:69DB 69 06 cmp #$15 ; CPU:$E9DD PRG:69DD C9 15 bcs Sub_E9F5 ; CPU:$E9DF PRG:69DF B0 14 lda $0387,x ; CPU:$E9E1 PRG:69E1 BD 87 03 sec ; CPU:$E9E4 PRG:69E4 38 sbc $02A8,y ; CPU:$E9E5 PRG:69E5 F9 A8 02 clc ; CPU:$E9E8 PRG:69E8 18 adc #$06 ; CPU:$E9E9 PRG:69E9 69 06 cmp #$1D ; CPU:$E9EB PRG:69EB C9 1D ; ---- data $E9ED-$E9ED (1 bytes) ---- .byte $B0 ; CPU:$E9ED PRG:69ED B0 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9EE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E9EE: asl ZpA9 ; CPU:$E9EE PRG:69EE 06 A9 ora (Zp99,x) ; CPU:$E9F0 PRG:69F0 01 99 ldx ScrollX ; CPU:$E9F2 PRG:69F2 A6 02 rts ; CPU:$E9F4 PRG:69F4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_E9F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_E9F5: iny ; CPU:$E9F5 PRG:69F5 C8 iny ; CPU:$E9F6 PRG:69F6 C8 iny ; CPU:$E9F7 PRG:69F7 C8 cpy #$09 ; CPU:$E9F8 PRG:69F8 C0 09 bne Sub_E9CE ; CPU:$E9FA PRG:69FA D0 D2 lda Zp3B ; CPU:$E9FC PRG:69FC A5 3B bne Sub_EA1F ; CPU:$E9FE PRG:69FE D0 1F lda $0384,x ; CPU:$EA00 PRG:6A00 BD 84 03 sec ; CPU:$EA03 PRG:6A03 38 sbc Zp23 ; CPU:$EA04 PRG:6A04 E5 23 clc ; CPU:$EA06 PRG:6A06 18 adc #$02 ; CPU:$EA07 PRG:6A07 69 02 cmp #$0D ; CPU:$EA09 PRG:6A09 C9 0D bcs Sub_EA1F ; CPU:$EA0B PRG:6A0B B0 12 lda $0387,x ; CPU:$EA0D PRG:6A0D BD 87 03 sec ; CPU:$EA10 PRG:6A10 38 sbc Zp24 ; CPU:$EA11 PRG:6A11 E5 24 clc ; CPU:$EA13 PRG:6A13 18 adc #$02 ; CPU:$EA14 PRG:6A14 69 02 cmp #$0D ; CPU:$EA16 PRG:6A16 C9 0D bcs Sub_EA1F ; CPU:$EA18 PRG:6A18 B0 05 inc $0611 ; CPU:$EA1A PRG:6A1A EE 11 06 inc Zp3B ; CPU:$EA1D PRG:6A1D E6 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_EA1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA1F: lda #$00 ; CPU:$EA1F PRG:6A1F A9 00 rts ; CPU:$EA21 PRG:6A21 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrJsrJsrJsrLsrs4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrJsrJsrJsrLsrs4: jsr PopXY ; CPU:$EA22 PRG:6A22 20 6F DF jsr DispatchAddStoreLda6 ; CPU:$EA25 PRG:6A25 20 3C EB jsr DispatchLdaOraBeq ; CPU:$EA28 PRG:6A28 20 8B E9 jsr DispatchLdyD ; CPU:$EA2B PRG:6A2B 20 CC E9 lsr a ; CPU:$EA2E PRG:6A2E 4A bcc Sub_EA3E ; CPU:$EA2F PRG:6A2F 90 0D lda #$01 ; CPU:$EA31 PRG:6A31 A9 01 sta $0609 ; CPU:$EA33 PRG:6A33 8D 09 06 sta $060A ; CPU:$EA36 PRG:6A36 8D 0A 06 lda #$05 ; CPU:$EA39 PRG:6A39 A9 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_EA3B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA3B: jsr ObjSpritesInit5 ; CPU:$EA3B PRG:6A3B 20 54 BF ; ----------------------------------------------------------------------------- ; Routine: Sub_EA3E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA3E: jsr DispatchCheckLdaRts ; CPU:$EA3E PRG:6A3E 20 F8 D0 cmp $0384,x ; CPU:$EA41 PRG:6A41 DD 84 03 beq DispatchJsrCmpBeqBcsLda2 ; CPU:$EA44 PRG:6A44 F0 21 bcs Sub_EA59 ; CPU:$EA46 PRG:6A46 B0 11 lda $038D,x ; CPU:$EA48 PRG:6A48 BD 8D 03 sec ; CPU:$EA4B PRG:6A4B 38 sbc #$20 ; CPU:$EA4C PRG:6A4C E9 20 sta $038D,x ; CPU:$EA4E PRG:6A4E 9D 8D 03 bcs DispatchJsrCmpBeqBcsLda2 ; CPU:$EA51 PRG:6A51 B0 14 dec $038C,x ; CPU:$EA53 PRG:6A53 DE 8C 03 jmp DispatchJsrCmpBeqBcsLda2 ; CPU:$EA56 PRG:6A56 4C 67 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_EA59 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA59: lda $038D,x ; CPU:$EA59 PRG:6A59 BD 8D 03 clc ; CPU:$EA5C PRG:6A5C 18 adc #$20 ; CPU:$EA5D PRG:6A5D 69 20 sta $038D,x ; CPU:$EA5F PRG:6A5F 9D 8D 03 bcc DispatchJsrCmpBeqBcsLda2 ; CPU:$EA62 PRG:6A62 90 03 inc $038C,x ; CPU:$EA64 PRG:6A64 FE 8C 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrCmpBeqBcsLda2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrCmpBeqBcsLda2: jsr DispatchCheckLdaRts2 ; CPU:$EA67 PRG:6A67 20 02 D1 cmp $0387,x ; CPU:$EA6A PRG:6A6A DD 87 03 beq DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA6D PRG:6A6D F0 B3 bcs Sub_EA82 ; CPU:$EA6F PRG:6A6F B0 11 lda $038F,x ; CPU:$EA71 PRG:6A71 BD 8F 03 sec ; CPU:$EA74 PRG:6A74 38 sbc #$20 ; CPU:$EA75 PRG:6A75 E9 20 sta $038F,x ; CPU:$EA77 PRG:6A77 9D 8F 03 bcs DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA7A PRG:6A7A B0 A6 dec $038E,x ; CPU:$EA7C PRG:6A7C DE 8E 03 jmp DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA7F PRG:6A7F 4C 22 EA ; ----------------------------------------------------------------------------- ; Routine: Sub_EA82 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA82: lda $038F,x ; CPU:$EA82 PRG:6A82 BD 8F 03 clc ; CPU:$EA85 PRG:6A85 18 adc #$20 ; CPU:$EA86 PRG:6A86 69 20 sta $038F,x ; CPU:$EA88 PRG:6A88 9D 8F 03 bcc DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA8B PRG:6A8B 90 95 inc $038E,x ; CPU:$EA8D PRG:6A8D FE 8E 03 jmp DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA90 PRG:6A90 4C 22 EA ; ---- data $EA93-$EA9E (12 bytes) ---- .byte $14, $DF, $00, $00, $00, $00, $14, $DF, $00, $00, $00, $00 ; CPU:$EA93 PRG:6A93 14 DF 00 00 00 00 14 DF 00 00 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EA9F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EA9F: and (ZpEA,x) ; CPU:$EA9F PRG:6A9F 21 EA cpx #$00 ; CPU:$EAA1 PRG:6AA1 E0 00 cpx #$00 ; CPU:$EAA3 PRG:6AA3 E0 00 and (ZpEA,x) ; CPU:$EAA5 PRG:6AA5 21 EA cpx #$00 ; CPU:$EAA7 PRG:6AA7 E0 00 jsr $21FF ; CPU:$EAA9 PRG:6AA9 20 FF 21 nop ; CPU:$EAAC PRG:6AAC EA jsr $E0FF ; CPU:$EAAD PRG:6AAD 20 FF E0 brk ; CPU:$EAB0 PRG:6AB0 00 ; ---- data $EAB1-$EAE2 (50 bytes) ---- .byte $21, $EA, $20, $FF, $20, $FF, $14, $DF, $00, $00, $00, $00, $14, $DF, $00, $00 ; CPU:$EAB1 PRG:6AB1 21 EA 20 FF 20 FF 14 DF 00 00 00 00 14 DF 00 00 .byte $00, $00, $A9, $E9, $9D, $87, $03, $A9, $FF, $9D, $86, $03, $20, $5C, $F5, $C9 ; CPU:$EAC1 PRG:6AC1 00 00 A9 E9 9D 87 03 A9 FF 9D 86 03 20 5C F5 C9 .byte $D2, $90, $03, $38, $E9, $80, $C9, $0A, $B0, $03, $18, $69, $50, $9D, $84, $03 ; CPU:$EAD1 PRG:6AD1 D2 90 03 38 E9 80 C9 0A B0 03 18 69 50 9D 84 03 .byte $A9, $00 ; CPU:$EAE1 PRG:6AE1 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EAE3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EAE3: sta $0383,x ; CPU:$EAE3 PRG:6AE3 9D 83 03 sta $0382,x ; CPU:$EAE6 PRG:6AE6 9D 82 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrIncBneInc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrIncBneInc: jsr PopXY ; CPU:$EAE9 PRG:6AE9 20 6F DF inc $0387,x ; CPU:$EAEC PRG:6AEC FE 87 03 bne Sub_EAF4 ; CPU:$EAEF PRG:6AEF D0 03 inc $0386,x ; CPU:$EAF1 PRG:6AF1 FE 86 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_EAF4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EAF4: lda $0386,x ; CPU:$EAF4 PRG:6AF4 BD 86 03 beq Sub_EAFE ; CPU:$EAF7 PRG:6AF7 F0 05 bmi DispatchJsrIncBneInc ; CPU:$EAF9 PRG:6AF9 30 EE jmp DispatchJsrTaxLsrs ; CPU:$EAFB PRG:6AFB 4C 15 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_EAFE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EAFE: jsr DispatchLdyE ; CPU:$EAFE PRG:6AFE 20 87 EB lsr a ; CPU:$EB01 PRG:6B01 4A bcc Sub_EB0C ; CPU:$EB02 PRG:6B02 90 08 lda #$01 ; CPU:$EB04 PRG:6B04 A9 01 sta $0607 ; CPU:$EB06 PRG:6B06 8D 07 06 sta $0608 ; CPU:$EB09 PRG:6B09 8D 08 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_EB0C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB0C: lda $0384,x ; CPU:$EB0C PRG:6B0C BD 84 03 clc ; CPU:$EB0F PRG:6B0F 18 adc #$08 ; CPU:$EB10 PRG:6B10 69 08 sta $0384,x ; CPU:$EB12 PRG:6B12 9D 84 03 jsr DispatchLdyE ; CPU:$EB15 PRG:6B15 20 87 EB lsr a ; CPU:$EB18 PRG:6B18 4A bcc Sub_EB21 ; CPU:$EB19 PRG:6B19 90 06 inc $0607 ; CPU:$EB1B PRG:6B1B EE 07 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_EB1E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB1E: inc $0608 ; CPU:$EB1E PRG:6B1E EE 08 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_EB21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB21: lda $0384,x ; CPU:$EB21 PRG:6B21 BD 84 03 sec ; CPU:$EB24 PRG:6B24 38 sbc #$08 ; CPU:$EB25 PRG:6B25 E9 08 sta $0384,x ; CPU:$EB27 PRG:6B27 9D 84 03 txa ; CPU:$EB2A PRG:6B2A 8A lsr a ; CPU:$EB2B PRG:6B2B 4A clc ; CPU:$EB2C PRG:6B2C 18 adc GameSubMode ; CPU:$EB2D PRG:6B2D 65 1B lsr a ; CPU:$EB2F PRG:6B2F 4A ; ----------------------------------------------------------------------------- ; Routine: Sub_EB30 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB30: lsr a ; CPU:$EB30 PRG:6B30 4A lsr a ; CPU:$EB31 PRG:6B31 4A and #$03 ; CPU:$EB32 PRG:6B32 29 03 ora #$04 ; CPU:$EB34 PRG:6B34 09 04 jsr DispatchLsrsTayStoreLda ; CPU:$EB36 PRG:6B36 20 E8 EB jmp DispatchJsrIncBneInc ; CPU:$EB39 PRG:6B39 4C E9 EA ; ----------------------------------------------------------------------------- ; Routine: DispatchAddStoreLda6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAddStoreLda6: lda $038D,x ; CPU:$EB3C PRG:6B3C BD 8D 03 clc ; CPU:$EB3F PRG:6B3F 18 adc $0385,x ; CPU:$EB40 PRG:6B40 7D 85 03 sta $0385,x ; CPU:$EB43 PRG:6B43 9D 85 03 lda $038C,x ; CPU:$EB46 PRG:6B46 BD 8C 03 adc $0384,x ; CPU:$EB49 PRG:6B49 7D 84 03 sta $0384,x ; CPU:$EB4C PRG:6B4C 9D 84 03 lda $038C,x ; CPU:$EB4F PRG:6B4F BD 8C 03 bpl Sub_EB59 ; CPU:$EB52 PRG:6B52 10 05 lda #$FF ; CPU:$EB54 PRG:6B54 A9 FF jmp DispatchAdcStoreLdaAdd2 ; CPU:$EB56 PRG:6B56 4C 5B EB ; ----------------------------------------------------------------------------- ; Routine: Sub_EB59 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB59: lda #$00 ; CPU:$EB59 PRG:6B59 A9 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchAdcStoreLdaAdd2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAdcStoreLdaAdd2: adc $0383,x ; CPU:$EB5B PRG:6B5B 7D 83 03 sta $0383,x ; CPU:$EB5E PRG:6B5E 9D 83 03 lda $038F,x ; CPU:$EB61 PRG:6B61 BD 8F 03 clc ; CPU:$EB64 PRG:6B64 18 adc $0388,x ; CPU:$EB65 PRG:6B65 7D 88 03 sta $0388,x ; CPU:$EB68 PRG:6B68 9D 88 03 lda $038E,x ; CPU:$EB6B PRG:6B6B BD 8E 03 adc $0387,x ; CPU:$EB6E PRG:6B6E 7D 87 03 sta $0387,x ; CPU:$EB71 PRG:6B71 9D 87 03 lda $038E,x ; CPU:$EB74 PRG:6B74 BD 8E 03 bpl Sub_EB7E ; CPU:$EB77 PRG:6B77 10 05 lda #$FF ; CPU:$EB79 PRG:6B79 A9 FF jmp DispatchAdcStoreRts2 ; CPU:$EB7B PRG:6B7B 4C 80 EB ; ----------------------------------------------------------------------------- ; Routine: Sub_EB7E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB7E: lda #$00 ; CPU:$EB7E PRG:6B7E A9 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchAdcStoreRts2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAdcStoreRts2: adc $0386,x ; CPU:$EB80 PRG:6B80 7D 86 03 sta $0386,x ; CPU:$EB83 PRG:6B83 9D 86 03 rts ; CPU:$EB86 PRG:6B86 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyE: ldy #$00 ; CPU:$EB87 PRG:6B87 A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EB89 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EB89: lda $02A6,y ; CPU:$EB89 PRG:6B89 B9 A6 02 beq Sub_EBB8 ; CPU:$EB8C PRG:6B8C F0 2A lda $0384,x ; CPU:$EB8E PRG:6B8E BD 84 03 sec ; CPU:$EB91 PRG:6B91 38 sbc $02A7,y ; CPU:$EB92 PRG:6B92 F9 A7 02 clc ; CPU:$EB95 PRG:6B95 18 adc #$0E ; CPU:$EB96 PRG:6B96 69 0E cmp #$1D ; CPU:$EB98 PRG:6B98 C9 1D bcs Sub_EBB8 ; CPU:$EB9A PRG:6B9A B0 1C lda $0387,x ; CPU:$EB9C PRG:6B9C BD 87 03 cmp #$F0 ; CPU:$EB9F PRG:6B9F C9 F0 bcs Sub_EBB8 ; CPU:$EBA1 PRG:6BA1 B0 15 cmp #$10 ; CPU:$EBA3 PRG:6BA3 C9 10 bcc Sub_EBB8 ; CPU:$EBA5 PRG:6BA5 90 11 sec ; CPU:$EBA7 PRG:6BA7 38 sbc $02A8,y ; CPU:$EBA8 PRG:6BA8 F9 A8 02 clc ; CPU:$EBAB PRG:6BAB 18 adc #$0E ; CPU:$EBAC PRG:6BAC 69 0E cmp #$25 ; CPU:$EBAE PRG:6BAE C9 25 bcs Sub_EBB8 ; CPU:$EBB0 PRG:6BB0 B0 06 lda #$01 ; CPU:$EBB2 PRG:6BB2 A9 01 sta $02A6,y ; CPU:$EBB4 PRG:6BB4 99 A6 02 rts ; CPU:$EBB7 PRG:6BB7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EBB8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EBB8: iny ; CPU:$EBB8 PRG:6BB8 C8 iny ; CPU:$EBB9 PRG:6BB9 C8 iny ; CPU:$EBBA PRG:6BBA C8 cpy #$09 ; CPU:$EBBB PRG:6BBB C0 09 bne Sub_EB89 ; CPU:$EBBD PRG:6BBD D0 CA lda Zp3B ; CPU:$EBBF PRG:6BBF A5 3B bne Sub_EBE2 ; CPU:$EBC1 PRG:6BC1 D0 1F lda $0384,x ; CPU:$EBC3 PRG:6BC3 BD 84 03 sec ; CPU:$EBC6 PRG:6BC6 38 sbc Zp23 ; CPU:$EBC7 PRG:6BC7 E5 23 clc ; CPU:$EBC9 PRG:6BC9 18 adc #$0B ; CPU:$EBCA PRG:6BCA 69 0B cmp #$17 ; CPU:$EBCC PRG:6BCC C9 17 bcs Sub_EBE2 ; CPU:$EBCE PRG:6BCE B0 12 lda $0387,x ; CPU:$EBD0 PRG:6BD0 BD 87 03 sec ; CPU:$EBD3 PRG:6BD3 38 sbc Zp24 ; CPU:$EBD4 PRG:6BD4 E5 24 clc ; CPU:$EBD6 PRG:6BD6 18 adc #$0B ; CPU:$EBD7 PRG:6BD7 69 0B cmp #$17 ; CPU:$EBD9 PRG:6BD9 C9 17 bcs Sub_EBE2 ; CPU:$EBDB PRG:6BDB B0 05 inc $0611 ; CPU:$EBDD PRG:6BDD EE 11 06 inc Zp3B ; CPU:$EBE0 PRG:6BE0 E6 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_EBE2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EBE2: lda #$00 ; CPU:$EBE2 PRG:6BE2 A9 00 rts ; CPU:$EBE4 PRG:6BE4 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaI ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaI: lda $038A,x ; CPU:$EBE5 PRG:6BE5 BD 8A 03 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsTayStoreLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsTayStoreLda: asl a ; CPU:$EBE8 PRG:6BE8 0A tay ; CPU:$EBE9 PRG:6BE9 A8 lda $ED8C,y ; CPU:$EBEA PRG:6BEA B9 8C ED sta VramPtrLo ; CPU:$EBED PRG:6BED 85 04 lda $ED8D,y ; CPU:$EBEF PRG:6BEF B9 8D ED sta VramCopyCount ; CPU:$EBF2 PRG:6BF2 85 05 lda $0386,x ; CPU:$EBF4 PRG:6BF4 BD 86 03 ora $0383,x ; CPU:$EBF7 PRG:6BF7 1D 83 03 bne Sub_EC03 ; CPU:$EBFA PRG:6BFA D0 07 lda $0384,x ; CPU:$EBFC PRG:6BFC BD 84 03 cmp #$F1 ; CPU:$EBFF PRG:6BFF C9 F1 bcc Sub_EC08 ; CPU:$EC01 PRG:6C01 90 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC03 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC03: pla ; CPU:$EC03 PRG:6C03 68 pla ; CPU:$EC04 PRG:6C04 68 jmp DispatchJsrTaxLsrs ; CPU:$EC05 PRG:6C05 4C 15 DF ; ----------------------------------------------------------------------------- ; Routine: Sub_EC08 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC08: lda $0387,x ; CPU:$EC08 PRG:6C08 BD 87 03 ldy #$00 ; CPU:$EC0B PRG:6C0B A0 00 lda (VramPtrLo),y ; CPU:$EC0D PRG:6C0D B1 04 sta ObjUpdateFlag ; CPU:$EC0F PRG:6C0F 85 0E lda $0384,x ; CPU:$EC11 PRG:6C11 BD 84 03 sta Zp33 ; CPU:$EC14 PRG:6C14 85 33 lda $0387,x ; CPU:$EC16 PRG:6C16 BD 87 03 sta Zp34 ; CPU:$EC19 PRG:6C19 85 34 stx ObjPtr ; CPU:$EC1B PRG:6C1B 86 13 ldx ObjectDeltaX ; CPU:$EC1D PRG:6C1D A6 2D beq Sub_EC2A ; CPU:$EC1F PRG:6C1F F0 09 lda ObjUpdateFlag ; CPU:$EC21 PRG:6C21 A5 0E asl a ; CPU:$EC23 PRG:6C23 0A asl a ; CPU:$EC24 PRG:6C24 0A clc ; CPU:$EC25 PRG:6C25 18 adc ObjectDeltaX ; CPU:$EC26 PRG:6C26 65 2D bcc Sub_EC34 ; CPU:$EC28 PRG:6C28 90 0A ; ----------------------------------------------------------------------------- ; Routine: Sub_EC2A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC2A: ldx ObjPtr ; CPU:$EC2A PRG:6C2A A6 13 rts ; CPU:$EC2C PRG:6C2C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC2D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC2D: iny ; CPU:$EC2D PRG:6C2D C8 iny ; CPU:$EC2E PRG:6C2E C8 iny ; CPU:$EC2F PRG:6C2F C8 dec ObjUpdateFlag ; CPU:$EC30 PRG:6C30 C6 0E beq Sub_EC64 ; CPU:$EC32 PRG:6C32 F0 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC34: iny ; CPU:$EC34 PRG:6C34 C8 lda (VramPtrLo),y ; CPU:$EC35 PRG:6C35 B1 04 bmi Sub_EC41 ; CPU:$EC37 PRG:6C37 30 08 clc ; CPU:$EC39 PRG:6C39 18 adc Zp34 ; CPU:$EC3A PRG:6C3A 65 34 bcs Sub_EC2D ; CPU:$EC3C PRG:6C3C B0 EF jmp DispatchStoreIncIncLdaStoreInc ; CPU:$EC3E PRG:6C3E 4C 44 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_EC41 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC41: clc ; CPU:$EC41 PRG:6C41 18 adc Zp34 ; CPU:$EC42 PRG:6C42 65 34 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreIncIncLdaStoreInc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreIncIncLdaStoreInc: sta $0700,x ; CPU:$EC44 PRG:6C44 9D 00 07 inx ; CPU:$EC47 PRG:6C47 E8 iny ; CPU:$EC48 PRG:6C48 C8 lda (VramPtrLo),y ; CPU:$EC49 PRG:6C49 B1 04 sta $0700,x ; CPU:$EC4B PRG:6C4B 9D 00 07 inx ; CPU:$EC4E PRG:6C4E E8 iny ; CPU:$EC4F PRG:6C4F C8 lda (VramPtrLo),y ; CPU:$EC50 PRG:6C50 B1 04 sta $0700,x ; CPU:$EC52 PRG:6C52 9D 00 07 inx ; CPU:$EC55 PRG:6C55 E8 iny ; CPU:$EC56 PRG:6C56 C8 lda (VramPtrLo),y ; CPU:$EC57 PRG:6C57 B1 04 clc ; CPU:$EC59 PRG:6C59 18 adc Zp33 ; CPU:$EC5A PRG:6C5A 65 33 sta $0700,x ; CPU:$EC5C PRG:6C5C 9D 00 07 inx ; CPU:$EC5F PRG:6C5F E8 dec ObjUpdateFlag ; CPU:$EC60 PRG:6C60 C6 0E bne Sub_EC34 ; CPU:$EC62 PRG:6C62 D0 D0 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC64 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC64: stx ObjectDeltaX ; CPU:$EC64 PRG:6C64 86 2D ldx ObjPtr ; CPU:$EC66 PRG:6C66 A6 13 rts ; CPU:$EC68 PRG:6C68 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreJsrSubBcsEor ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreJsrSubBcsEor: sta Zp39 ; CPU:$EC69 PRG:6C69 85 39 jsr DispatchCheckLdaRts ; CPU:$EC6B PRG:6C6B 20 F8 D0 sec ; CPU:$EC6E PRG:6C6E 38 sbc $0384,x ; CPU:$EC6F PRG:6C6F FD 84 03 bcs Sub_ECA0 ; CPU:$EC72 PRG:6C72 B0 2C eor #$FF ; CPU:$EC74 PRG:6C74 49 FF clc ; CPU:$EC76 PRG:6C76 18 adc #$01 ; CPU:$EC77 PRG:6C77 69 01 sta ObjectXLo ; CPU:$EC79 PRG:6C79 85 37 jsr DispatchCheckLdaRts2 ; CPU:$EC7B PRG:6C7B 20 02 D1 sec ; CPU:$EC7E PRG:6C7E 38 sbc $0387,x ; CPU:$EC7F PRG:6C7F FD 87 03 bcs Sub_ECC3 ; CPU:$EC82 PRG:6C82 B0 3F ldy $0386,x ; CPU:$EC84 PRG:6C84 BC 86 03 bmi Sub_ECC3 ; CPU:$EC87 PRG:6C87 30 3A eor #$FF ; CPU:$EC89 PRG:6C89 49 FF clc ; CPU:$EC8B PRG:6C8B 18 adc #$01 ; CPU:$EC8C PRG:6C8C 69 01 sta ObjectXHi ; CPU:$EC8E PRG:6C8E 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$EC90 PRG:6C90 20 5D ED sta ObjPtr ; CPU:$EC93 PRG:6C93 85 13 ; ---- data $EC95-$EC95 (1 bytes) ---- .byte $A9 ; CPU:$EC95 PRG:6C95 A9 ; ----------------------------------------------------------------------------- ; Routine: Sub_EC96 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EC96: clc ; CPU:$EC96 PRG:6C96 18 sec ; CPU:$EC97 PRG:6C97 38 sbc ObjPtr ; CPU:$EC98 PRG:6C98 E5 13 sta $0382,x ; CPU:$EC9A PRG:6C9A 9D 82 03 jmp Sub_ECE5 ; CPU:$EC9D PRG:6C9D 4C E5 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_ECA0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ECA0: sta ObjectXLo ; CPU:$ECA0 PRG:6CA0 85 37 jsr DispatchCheckLdaRts2 ; CPU:$ECA2 PRG:6CA2 20 02 D1 sec ; CPU:$ECA5 PRG:6CA5 38 sbc $0387,x ; CPU:$ECA6 PRG:6CA6 FD 87 03 bcs Sub_ECD1 ; CPU:$ECA9 PRG:6CA9 B0 26 ldy $0386,x ; CPU:$ECAB PRG:6CAB BC 86 03 bmi Sub_ECD1 ; CPU:$ECAE PRG:6CAE 30 21 eor #$FF ; CPU:$ECB0 PRG:6CB0 49 FF clc ; CPU:$ECB2 PRG:6CB2 18 adc #$01 ; CPU:$ECB3 PRG:6CB3 69 01 sta ObjectXHi ; CPU:$ECB5 PRG:6CB5 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECB7 PRG:6CB7 20 5D ED clc ; CPU:$ECBA PRG:6CBA 18 adc #$08 ; CPU:$ECBB PRG:6CBB 69 08 sta $0382,x ; CPU:$ECBD PRG:6CBD 9D 82 03 jmp Sub_ECE5 ; CPU:$ECC0 PRG:6CC0 4C E5 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_ECC3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ECC3: sta ObjectXHi ; CPU:$ECC3 PRG:6CC3 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECC5 PRG:6CC5 20 5D ED clc ; CPU:$ECC8 PRG:6CC8 18 adc #$18 ; CPU:$ECC9 PRG:6CC9 69 18 sta $0382,x ; CPU:$ECCB PRG:6CCB 9D 82 03 jmp Sub_ECE5 ; CPU:$ECCE PRG:6CCE 4C E5 EC ; ----------------------------------------------------------------------------- ; Routine: Sub_ECD1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ECD1: sta ObjectXHi ; CPU:$ECD1 PRG:6CD1 85 38 jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECD3 PRG:6CD3 20 5D ED sta ObjPtr ; CPU:$ECD6 PRG:6CD6 85 13 lda #$08 ; CPU:$ECD8 PRG:6CD8 A9 08 sec ; CPU:$ECDA PRG:6CDA 38 sbc ObjPtr ; CPU:$ECDB PRG:6CDB E5 13 sta $0382,x ; CPU:$ECDD PRG:6CDD 9D 82 03 jmp Sub_ECE5 ; CPU:$ECE0 PRG:6CE0 4C E5 EC ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLdaStoreStoreStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLdaStoreStoreStore: sta Zp39 ; CPU:$ECE3 PRG:6CE3 85 39 Sub_ECE5: lda #$00 ; CPU:$ECE5 PRG:6CE5 A9 00 sta $038C,x ; CPU:$ECE7 PRG:6CE7 9D 8C 03 sta $038D,x ; CPU:$ECEA PRG:6CEA 9D 8D 03 sta $038E,x ; CPU:$ECED PRG:6CED 9D 8E 03 sta $038F,x ; CPU:$ECF0 PRG:6CF0 9D 8F 03 lda Zp39 ; CPU:$ECF3 PRG:6CF3 A5 39 bne Sub_ECF8 ; CPU:$ECF5 PRG:6CF5 D0 01 rts ; CPU:$ECF7 PRG:6CF7 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_ECF8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ECF8: lda $0382,x ; CPU:$ECF8 PRG:6CF8 BD 82 03 asl a ; CPU:$ECFB PRG:6CFB 0A asl a ; CPU:$ECFC PRG:6CFC 0A and #$7F ; CPU:$ECFD PRG:6CFD 29 7F tay ; CPU:$ECFF PRG:6CFF A8 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED00 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED00: lda $F136,y ; CPU:$ED00 PRG:6D00 B9 36 F1 clc ; CPU:$ED03 PRG:6D03 18 adc $038D,x ; CPU:$ED04 PRG:6D04 7D 8D 03 sta $038D,x ; CPU:$ED07 PRG:6D07 9D 8D 03 lda $F137,y ; CPU:$ED0A PRG:6D0A B9 37 F1 adc $038C,x ; CPU:$ED0D PRG:6D0D 7D 8C 03 sta $038C,x ; CPU:$ED10 PRG:6D10 9D 8C 03 lda $F138,y ; CPU:$ED13 PRG:6D13 B9 38 F1 clc ; CPU:$ED16 PRG:6D16 18 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED17 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED17: adc $038F,x ; CPU:$ED17 PRG:6D17 7D 8F 03 sta $038F,x ; CPU:$ED1A PRG:6D1A 9D 8F 03 lda $F139,y ; CPU:$ED1D PRG:6D1D B9 39 F1 adc $038E,x ; CPU:$ED20 PRG:6D20 7D 8E 03 sta $038E,x ; CPU:$ED23 PRG:6D23 9D 8E 03 dec Zp39 ; CPU:$ED26 PRG:6D26 C6 39 bne Sub_ED00 ; CPU:$ED28 PRG:6D28 D0 D6 lda $038C,x ; CPU:$ED2A PRG:6D2A BD 8C 03 asl a ; CPU:$ED2D PRG:6D2D 0A ror $038C,x ; CPU:$ED2E PRG:6D2E 7E 8C 03 ror $038D,x ; CPU:$ED31 PRG:6D31 7E 8D 03 lda $038E,x ; CPU:$ED34 PRG:6D34 BD 8E 03 asl a ; CPU:$ED37 PRG:6D37 0A ror $038E,x ; CPU:$ED38 PRG:6D38 7E 8E 03 ror $038F,x ; CPU:$ED3B PRG:6D3B 7E 8F 03 rts ; CPU:$ED3E PRG:6D3E 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaStoreLdaStoreLdy ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaStoreLdaStoreLdy: lda ObjectXHi ; CPU:$ED3F PRG:6D3F A5 38 sta ObjectYHi ; CPU:$ED41 PRG:6D41 85 36 lda #$00 ; CPU:$ED43 PRG:6D43 A9 00 sta ObjectYLo ; CPU:$ED45 PRG:6D45 85 35 ldy #$10 ; CPU:$ED47 PRG:6D47 A0 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED49 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED49: asl ObjectYLo ; CPU:$ED49 PRG:6D49 06 35 rol ObjectYHi ; CPU:$ED4B PRG:6D4B 26 36 rol a ; CPU:$ED4D PRG:6D4D 2A bcs Sub_ED54 ; CPU:$ED4E PRG:6D4E B0 04 cmp ObjectXLo ; CPU:$ED50 PRG:6D50 C5 37 bcc Sub_ED59 ; CPU:$ED52 PRG:6D52 90 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED54 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED54: sec ; CPU:$ED54 PRG:6D54 38 sbc ObjectXLo ; CPU:$ED55 PRG:6D55 E5 37 inc ObjectYLo ; CPU:$ED57 PRG:6D57 E6 35 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED59 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED59: dey ; CPU:$ED59 PRG:6D59 88 bne Sub_ED49 ; CPU:$ED5A PRG:6D5A D0 ED rts ; CPU:$ED5C PRG:6D5C 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaCmpBccBneLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaCmpBccBneLda: jsr DispatchLdaStoreLdaStoreLdy; CPU:$ED5D PRG:6D5D 20 3F ED ; ----------------------------------------------------------------------------- ; Routine: Sub_ED60 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED60: lda $ED7D,y ; CPU:$ED60 PRG:6D60 B9 7D ED cmp ObjectYHi ; CPU:$ED63 PRG:6D63 C5 36 bcc Sub_ED73 ; CPU:$ED65 PRG:6D65 90 0C bne Sub_ED70 ; CPU:$ED67 PRG:6D67 D0 07 lda $ED7C,y ; CPU:$ED69 PRG:6D69 B9 7C ED cmp ObjectYLo ; CPU:$ED6C PRG:6D6C C5 35 bcc Sub_ED73 ; CPU:$ED6E PRG:6D6E 90 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED70 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED70: tya ; CPU:$ED70 PRG:6D70 98 lsr a ; CPU:$ED71 PRG:6D71 4A rts ; CPU:$ED72 PRG:6D72 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_ED73 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_ED73: iny ; CPU:$ED73 PRG:6D73 C8 iny ; CPU:$ED74 PRG:6D74 C8 cpy #$10 ; CPU:$ED75 PRG:6D75 C0 10 bne Sub_ED60 ; CPU:$ED77 PRG:6D77 D0 E7 lda #$08 ; CPU:$ED79 PRG:6D79 A9 08 rts ; CPU:$ED7B PRG:6D7B 60 EnemyPtrTable: ; Enemy routine pointer table (16-bit entries mostly in $F0xx-$F1xx) ; ---- data $ED7C-$EE27 (172 bytes) ---- ; referenced by `lda $ED8C,y` at $EBEA (operand $ED8C falls inside this region) ; referenced by `lda $ED8D,y` at $EBEF (operand $ED8D falls inside this region) ; referenced by `lda $ED7D,y` at $ED60 (operand $ED7D falls inside this region) ; referenced by `lda $ED7C,y` at $ED69 (operand $ED7C falls inside this region) .byte $19, $00, $4E, $00, $89, $00, $D2, $00, $38, $01, $DF, $01, $4C, $03, $27, $0A ; CPU:$ED7C PRG:6D7C 19 00 4E 00 89 00 D2 00 38 01 DF 01 4C 03 27 0A .byte $02, $F1, $29, $F1, $18, $F1, $0B, $F1, $AA, $F0, $C3, $F0, $DC, $F0, $E9, $F0 ; CPU:$ED8C PRG:6D8C 02 F1 29 F1 18 F1 0B F1 AA F0 C3 F0 DC F0 E9 F0 .byte $90, $F0, $9D, $F0, $6E, $F0, $7F, $F0, $1A, $F0, $2F, $F0, $44, $F0, $59, $F0 ; CPU:$ED9C PRG:6D9C 90 F0 9D F0 6E F0 7F F0 1A F0 2F F0 44 F0 59 F0 .byte $E7, $EF, $F8, $EF, $09, $F0, $66, $EE, $AF, $EF, $C0, $EF, $D1, $EF, $E2, $EF ; CPU:$EDAC PRG:6DAC E7 EF F8 EF 09 F0 66 EE AF EF C0 EF D1 EF E2 EF .byte $73, $EF, $84, $EF, $91, $EF, $9E, $EF, $3B, $EF, $4C, $EF, $59, $EF, $62, $EF ; CPU:$EDBC PRG:6DBC 73 EF 84 EF 91 EF 9E EF 3B EF 4C EF 59 EF 62 EF .byte $87, $EE, $98, $EE, $A9, $EE, $BA, $EE, $CB, $EE, $DC, $EE, $ED, $EE, $FA, $EE ; CPU:$EDCC PRG:6DCC 87 EE 98 EE A9 EE BA EE CB EE DC EE ED EE FA EE .byte $03, $EF, $14, $EF, $25, $EF, $32, $EF, $52, $EE, $57, $EE, $5C, $EE, $61, $EE ; CPU:$EDDC PRG:6DDC 03 EF 14 EF 25 EF 32 EF 52 EE 57 EE 5C EE 61 EE .byte $16, $EE, $1B, $EE, $20, $EE, $25, $EE, $2A, $EE, $2F, $EE, $34, $EE, $39, $EE ; CPU:$EDEC PRG:6DEC 16 EE 1B EE 20 EE 25 EE 2A EE 2F EE 34 EE 39 EE .byte $3E, $EE, $43, $EE, $48, $EE, $4D, $EE, $08, $EE, $0D, $EE, $01, $00, $D7, $00 ; CPU:$EDFC PRG:6DFC 3E EE 43 EE 48 EE 4D EE 08 EE 0D EE 01 00 D7 00 .byte $00, $02, $00, $D2, $03, $00, $00, $D7, $00, $00, $01, $00, $D4, $00, $00, $01 ; CPU:$EE0C PRG:6E0C 00 02 00 D2 03 00 00 D7 00 00 01 00 D4 00 00 01 .byte $00, $D4, $40, $00, $01, $00, $D4, $80, $00, $01, $00, $D4 ; CPU:$EE1C PRG:6E1C 00 D4 40 00 01 00 D4 80 00 01 00 D4 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE28 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE28: cpy #$00 ; CPU:$EE28 PRG:6E28 C0 00 ora (PPUCTRLShadow,x) ; CPU:$EE2A PRG:6E2A 01 00 cmp PPUCTRLShadow,x ; CPU:$EE2C PRG:6E2C D5 00 brk ; CPU:$EE2E PRG:6E2E 00 ; ---- data $EE2F-$EE3B (13 bytes) ---- .byte $01, $00, $D5, $40, $00, $01, $00, $D5, $80, $00, $01, $00, $D5 ; CPU:$EE2F PRG:6E2F 01 00 D5 40 00 01 00 D5 80 00 01 00 D5 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE3C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE3C: cpy #$00 ; CPU:$EE3C PRG:6E3C C0 00 ora (PPUCTRLShadow,x) ; CPU:$EE3E PRG:6E3E 01 00 dec PPUCTRLShadow,x ; CPU:$EE40 PRG:6E40 D6 00 brk ; CPU:$EE42 PRG:6E42 00 ; ---- data $EE43-$EE4F (13 bytes) ---- .byte $01, $00, $D6, $40, $00, $01, $00, $D6, $80, $00, $01, $00, $D6 ; CPU:$EE43 PRG:6E43 01 00 D6 40 00 01 00 D6 80 00 01 00 D6 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE50 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE50: cpy #$00 ; CPU:$EE50 PRG:6E50 C0 00 ora (PPUCTRLShadow,x) ; CPU:$EE52 PRG:6E52 01 00 cpx #$02 ; CPU:$EE54 PRG:6E54 E0 02 brk ; CPU:$EE56 PRG:6E56 00 ; ---- data $EE57-$EE6B (21 bytes) ---- .byte $01, $00, $E0, $42, $00, $01, $00, $E0, $03, $00, $01, $00, $E0, $43, $00, $08 ; CPU:$EE57 PRG:6E57 01 00 E0 42 00 01 00 E0 03 00 01 00 E0 43 00 08 .byte $00, $94, $01, $00, $00 ; CPU:$EE67 PRG:6E67 00 94 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE6C: stx ZpC1,y ; CPU:$EE6C PRG:6E6C 96 C1 php ; CPU:$EE6E PRG:6E6E 08 php ; CPU:$EE6F PRG:6E6F 08 stx PPUMASKShadow,y ; CPU:$EE70 PRG:6E70 96 01 brk ; CPU:$EE72 PRG:6E72 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE73 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE73: php ; CPU:$EE73 PRG:6E73 08 stx Zp41,y ; CPU:$EE74 PRG:6E74 96 41 php ; CPU:$EE76 PRG:6E76 08 brk ; CPU:$EE77 PRG:6E77 00 ; ---- data $EE78-$EE7B (4 bytes) ---- .byte $86, $00, $00, $00 ; CPU:$EE78 PRG:6E78 86 00 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE7C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE7C: stx Zp40 ; CPU:$EE7C PRG:6E7C 86 40 php ; CPU:$EE7E PRG:6E7E 08 php ; CPU:$EE7F PRG:6E7F 08 stx Zp80 ; CPU:$EE80 PRG:6E80 86 80 brk ; CPU:$EE82 PRG:6E82 00 ; ---- data $EE83-$EE8C (10 bytes) ---- .byte $08, $86, $C0, $08, $04, $00, $B0, $01, $00, $00 ; CPU:$EE83 PRG:6E83 08 86 C0 08 04 00 B0 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE8D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE8D: lda (PPUMASKShadow),y ; CPU:$EE8D PRG:6E8D B1 01 php ; CPU:$EE8F PRG:6E8F 08 php ; CPU:$EE90 PRG:6E90 08 lda (ZpC1),y ; CPU:$EE91 PRG:6E91 B1 C1 brk ; CPU:$EE93 PRG:6E93 00 ; ---- data $EE94-$EE9D (10 bytes) ---- .byte $08, $B1, $81, $08, $04, $00, $B4, $01, $00, $00 ; CPU:$EE94 PRG:6E94 08 B1 81 08 04 00 B4 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EE9E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EE9E: lda PPUMASKShadow,x ; CPU:$EE9E PRG:6E9E B5 01 php ; CPU:$EEA0 PRG:6EA0 08 php ; CPU:$EEA1 PRG:6EA1 08 ldx PPUMASKShadow,y ; CPU:$EEA2 PRG:6EA2 B6 01 brk ; CPU:$EEA4 PRG:6EA4 00 ; ---- data $EEA5-$EED0 (44 bytes) ---- .byte $08, $B7, $01, $08, $04, $00, $B8, $01, $00, $00, $B9, $01, $08, $08, $BA, $01 ; CPU:$EEA5 PRG:6EA5 08 B7 01 08 04 00 B8 01 00 00 B9 01 08 08 BA 01 .byte $00, $08, $BB, $01, $08, $04, $00, $BC, $01, $00, $00, $BD, $01, $08, $08, $BE ; CPU:$EEB5 PRG:6EB5 00 08 BB 01 08 04 00 BC 01 00 00 BD 01 08 08 BE .byte $01, $00, $08, $BF, $01, $08, $04, $00, $B0, $01, $00, $00 ; CPU:$EEC5 PRG:6EC5 01 00 08 BF 01 08 04 00 B0 01 00 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EED1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EED1: lda (PPUMASKShadow),y ; CPU:$EED1 PRG:6ED1 B1 01 php ; CPU:$EED3 PRG:6ED3 08 php ; CPU:$EED4 PRG:6ED4 08 lda (ZpC1),y ; CPU:$EED5 PRG:6ED5 B1 C1 brk ; CPU:$EED7 PRG:6ED7 00 ; ---- data $EED8-$EF08 (49 bytes) ---- .byte $08, $B1, $81, $08, $04, $00, $C0, $41, $08, $00, $C1, $41, $00, $08, $C2, $41 ; CPU:$EED8 PRG:6ED8 08 B1 81 08 04 00 C0 41 08 00 C1 41 00 08 C2 41 .byte $08, $08, $C3, $41, $00, $03, $00, $C4, $41, $08, $04, $C5, $41, $00, $08, $C6 ; CPU:$EEE8 PRG:6EE8 08 08 C3 41 00 03 00 C4 41 08 04 C5 41 00 08 C6 .byte $41, $08, $02, $00, $B0, $01, $08, $08, $B1, $C1, $08, $04, $00, $B0, $01, $00 ; CPU:$EEF8 PRG:6EF8 41 08 02 00 B0 01 08 08 B1 C1 08 04 00 B0 01 00 .byte $00 ; CPU:$EF08 PRG:6F08 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF09 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EF09: lda (PPUMASKShadow),y ; CPU:$EF09 PRG:6F09 B1 01 php ; CPU:$EF0B PRG:6F0B 08 php ; CPU:$EF0C PRG:6F0C 08 lda (ZpC1),y ; CPU:$EF0D PRG:6F0D B1 C1 brk ; CPU:$EF0F PRG:6F0F 00 ; ---- data $EF10-$EF2A (27 bytes) ---- .byte $08, $B1, $81, $08, $04, $00, $C0, $01, $00, $00, $C1, $01, $08, $08, $C2, $01 ; CPU:$EF10 PRG:6F10 08 B1 81 08 04 00 C0 01 00 00 C1 01 08 08 C2 01 .byte $00, $08, $C3, $01, $08, $03, $00, $C4, $01, $00, $04 ; CPU:$EF20 PRG:6F20 00 08 C3 01 08 03 00 C4 01 00 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF2B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EF2B: cmp PPUMASKShadow ; CPU:$EF2B PRG:6F2B C5 01 php ; CPU:$EF2D PRG:6F2D 08 php ; CPU:$EF2E PRG:6F2E 08 dec PPUMASKShadow ; CPU:$EF2F PRG:6F2F C6 01 brk ; CPU:$EF31 PRG:6F31 00 ; ---- data $EF32-$EF34 (3 bytes) ---- .byte $02, $00, $B1 ; CPU:$EF32 PRG:6F32 02 00 B1 ; ----------------------------------------------------------------------------- ; Routine: Sub_EF35 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EF35: ora (PPUCTRLShadow,x) ; CPU:$EF35 PRG:6F35 01 00 php ; CPU:$EF37 PRG:6F37 08 lda (Zp81),y ; CPU:$EF38 PRG:6F38 B1 81 brk ; CPU:$EF3A PRG:6F3A 00 SpriteLayoutData2: ; Sprite layout records: 4-byte entries (x offset, y offset, tile index, attribute), ; e.g. $04 $00 $7C $01 at $EF3B; the same record format as the table at $F9BD. ; No instruction reference is known: the only operand found, `and $EF3D` at $D63E, ; sits in a misdecoded data region (see the Pass 1 residue notes in README.md). ; ---- data $EF3B-$EFC5 (139 bytes) ---- .byte $04, $00, $7C, $01, $00, $00, $7D, $01, $08, $08, $7E, $01, $00, $08, $7F, $01 ; CPU:$EF3B PRG:6F3B 04 00 7C 01 00 00 7D 01 08 08 7E 01 00 08 7F 01 .byte $08, $03, $04, $80, $01, $00, $04, $81, $01, $08, $0C, $82, $01, $04, $02, $04 ; CPU:$EF4B PRG:6F4B 08 03 04 80 01 00 04 81 01 08 0C 82 01 04 02 04 .byte $84, $01, $00, $04, $85, $01, $08, $04, $00, $88, $01, $00, $00, $89, $01, $08 ; CPU:$EF5B PRG:6F5B 84 01 00 04 85 01 08 04 00 88 01 00 00 89 01 08 .byte $08, $8A, $01, $00, $08, $8B, $01, $08, $04, $00, $5C, $01, $00, $00, $5D, $01 ; CPU:$EF6B PRG:6F6B 08 8A 01 00 08 8B 01 08 04 00 5C 01 00 00 5D 01 .byte $08, $08, $5F, $41, $00, $08, $5F, $01, $08, $03, $04, $60, $01, $00, $04, $61 ; CPU:$EF7B PRG:6F7B 08 08 5F 41 00 08 5F 01 08 03 04 60 01 00 04 61 .byte $01, $08, $0C, $62, $01, $04, $03, $04, $64, $01, $04, $0C, $66, $01, $00, $0C ; CPU:$EF8B PRG:6F8B 01 08 0C 62 01 04 03 04 64 01 04 0C 66 01 00 0C .byte $67, $01, $08, $04, $00, $69, $41, $00, $00, $69, $01, $08, $08, $6A, $01, $00 ; CPU:$EF9B PRG:6F9B 67 01 08 04 00 69 41 00 00 69 01 08 08 6A 01 00 .byte $08, $6B, $01, $08, $04, $00, $63, $01, $00, $00, $63, $41, $08, $08, $63, $81 ; CPU:$EFAB PRG:6FAB 08 6B 01 08 04 00 63 01 00 00 63 41 08 08 63 81 .byte $00, $08, $63, $C1, $08, $04, $00, $65, $01, $00, $00 ; CPU:$EFBB PRG:6FBB 00 08 63 C1 08 04 00 65 01 00 00 ; ---- data $EFC6-$EFCC (7 bytes) ---- .byte $65, $41, $08, $08, $65, $81, $00 ; CPU:$EFC6 PRG:6FC6 65 41 08 08 65 81 00 ; ---- data $EFCD-$EFFD (49 bytes) ---- .byte $08, $65, $C1, $08, $04, $00, $77, $01, $00, $00, $77, $41, $08, $08, $77, $81 ; CPU:$EFCD PRG:6FCD 08 65 C1 08 04 00 77 01 00 00 77 41 08 08 77 81 .byte $00, $08, $77, $C1, $08, $01, $04, $7B, $01, $04, $04, $00, $50, $01, $00, $00 ; CPU:$EFDD PRG:6FDD 00 08 77 C1 08 01 04 7B 01 04 04 00 50 01 00 00 .byte $51, $01, $08, $08, $52, $01, $00, $08, $53, $01, $08, $04, $00, $54, $01, $00 ; CPU:$EFED PRG:6FED 51 01 08 08 52 01 00 08 53 01 08 04 00 54 01 00 .byte $00 ; CPU:$EFFD PRG:6FFD 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_EFFE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_EFFE: eor PPUMASKShadow,x ; CPU:$EFFE PRG:6FFE 55 01 php ; CPU:$F000 PRG:7000 08 php ; CPU:$F001 PRG:7001 08 lsr PPUMASKShadow,x ; CPU:$F002 PRG:7002 56 01 brk ; CPU:$F004 PRG:7004 00 ; ---- data $F005-$F017 (19 bytes) ---- .byte $08, $57, $01, $08, $04, $00, $58, $01, $00, $00, $59, $01, $08, $08, $5A, $01 ; CPU:$F005 PRG:7005 08 57 01 08 04 00 58 01 00 00 59 01 08 08 5A 01 .byte $00, $08, $5B ; CPU:$F015 PRG:7015 00 08 5B ; ----------------------------------------------------------------------------- ; Routine: Sub_F018 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F018: ora (Joypad2Cur,x) ; CPU:$F018 PRG:7018 01 08 ; ---- data $F01A-$F01F (6 bytes) ---- .byte $05, $00, $FD, $01, $FE, $00 ; CPU:$F01A PRG:701A 05 00 FD 01 FE 00 ; ---- data $F020-$F029 (10 bytes) ---- .byte $40, $01, $06, $08, $FF, $01, $FE, $08, $42, $01 ; CPU:$F020 PRG:7020 40 01 06 08 FF 01 FE 08 42 01 ; ---- data $F02A-$F034 (11 bytes) ---- .byte $06, $03, $38, $01, $07, $05, $00, $FD, $01, $FE, $00 ; CPU:$F02A PRG:702A 06 03 38 01 07 05 00 FD 01 FE 00 ; ---- data $F035-$F039 (5 bytes) ---- .byte $44, $01, $06, $08, $FF ; CPU:$F035 PRG:7035 44 01 06 08 FF ; ---- data $F03A-$F049 (16 bytes) ---- .byte $01, $FE, $08, $46, $01, $06, $03, $38, $01, $07, $05, $00, $FD, $01, $FE, $00 ; CPU:$F03A PRG:703A 01 FE 08 46 01 06 03 38 01 07 05 00 FD 01 FE 00 ; ---- data $F04A-$F053 (10 bytes) ---- .byte $48, $01, $06, $08, $FF, $01, $FE, $08, $4A, $01 ; CPU:$F04A PRG:704A 48 01 06 08 FF 01 FE 08 4A 01 ; ---- data $F054-$F058 (5 bytes) ---- .byte $06, $03, $38, $01, $07 ; CPU:$F054 PRG:7054 06 03 38 01 07 ora PPUCTRLShadow ; CPU:$F059 PRG:7059 05 00 sbc $FE01,x ; CPU:$F05B PRG:705B FD 01 FE brk ; CPU:$F05E PRG:705E 00 ; ---- data $F05F-$F0E1 (131 bytes) ---- .byte $4C, $01, $06, $08, $FF, $01, $FE, $08, $4E, $01, $06, $03, $38, $01, $07, $04 ; CPU:$F05F PRG:705F 4C 01 06 08 FF 01 FE 08 4E 01 06 03 38 01 07 04 .byte $03, $6C, $01, $FC, $00, $6D, $01, $04, $03, $6C, $01, $08, $08, $6F, $01, $04 ; CPU:$F06F PRG:706F 03 6C 01 FC 00 6D 01 04 03 6C 01 08 08 6F 01 04 .byte $04, $00, $70, $01, $00, $00, $71, $01, $08, $08, $72, $01, $00, $08, $73, $01 ; CPU:$F07F PRG:707F 04 00 70 01 00 00 71 01 08 08 72 01 00 08 73 01 .byte $08, $03, $00, $74, $01, $00, $00, $75, $01, $08, $08, $76, $01, $04, $03, $00 ; CPU:$F08F PRG:708F 08 03 00 74 01 00 00 75 01 08 08 76 01 04 03 00 .byte $78, $01, $00, $00, $79, $01, $08, $08, $7A, $01, $04, $06, $00, $83, $00, $FE ; CPU:$F09F PRG:709F 78 01 00 00 79 01 08 08 7A 01 04 06 00 83 00 FE .byte $00, $8F, $00, $06, $00, $8F, $00, $0E, $08, $83, $00, $FE, $08, $8F, $00, $06 ; CPU:$F0AF PRG:70AF 00 8F 00 06 00 8F 00 0E 08 83 00 FE 08 8F 00 06 .byte $08, $8F, $00, $0E, $06, $FE, $91, $00, $00, $FE, $91, $00, $08, $FE, $91, $00 ; CPU:$F0BF PRG:70BF 08 8F 00 0E 06 FE 91 00 00 FE 91 00 08 FE 91 00 .byte $10, $06, $92, $00, $00, $06, $93, $00, $08, $06, $92, $40, $10, $03, $01, $90 ; CPU:$F0CF PRG:70CF 10 06 92 00 00 06 93 00 08 06 92 40 10 03 01 90 .byte $00, $00, $01 ; CPU:$F0DF PRG:70DF 00 00 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F0E2: bcc Sub_F0E4 ; CPU:$F0E2 PRG:70E2 90 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F0E4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F0E4: php ; CPU:$F0E4 PRG:70E4 08 ora (Zp90,x) ; CPU:$F0E5 PRG:70E5 01 90 brk ; CPU:$F0E7 PRG:70E7 00 EnemySpawnTable: ; Enemy spawn parameter table (4-byte entries read by lda $F136..$F139,y) ; referenced by `lda $F136,y` at $D129 (operand $F136 falls inside this region) ; referenced by `lda $F137,y` at $D133 (operand $F137 falls inside this region) ; referenced by `lda $F138,y` at $D13C (operand $F138 falls inside this region) ; referenced by `lda $F139,y` at $D146 (operand $F139 falls inside this region) ; referenced by `lda $F136,y` at $ED00 (operand $F136 falls inside this region) ; referenced by `lda $F137,y` at $ED0A (operand $F137 falls inside this region) ; ... and 4 further references from decoded code ; ---- data $F0E8-$F1D9 (242 bytes) ---- .byte $10, $06, $02, $95, $00, $00, $02, $8F, $00, $08, $02, $95, $40, $10, $0A, $97 ; CPU:$F0E8 PRG:70E8 10 06 02 95 00 00 02 8F 00 08 02 95 40 10 0A 97 .byte $00, $00, $0A, $97, $00, $08, $0A, $97, $00, $10, $02, $00, $38, $01, $01, $08 ; CPU:$F0F8 PRG:70F8 00 00 0A 97 00 08 0A 97 00 10 02 00 38 01 01 08 .byte $3A, $01, $01, $03, $00, $36, $81, $04, $08, $36, $01, $04, $04, $35, $01, $0B ; CPU:$F108 PRG:7108 3A 01 01 03 00 36 81 04 08 36 01 04 04 35 01 0B .byte $04, $00, $30, $01, $00, $00, $31, $01, $08, $08, $32, $01, $00, $08, $33, $01 ; CPU:$F118 PRG:7118 04 00 30 01 00 00 31 01 08 08 32 01 00 08 33 01 .byte $08, $03, $00, $34, $01, $04, $08, $34, $81, $04, $04, $35, $01, $03, $00, $00 ; CPU:$F128 PRG:7128 08 03 00 34 01 04 08 34 81 04 04 35 01 03 00 00 .byte $00, $01, $32, $00, $FA, $00, $62, $00, $EC, $00, $8E, $00, $D4, $00, $B4, $00 ; CPU:$F138 PRG:7138 00 01 32 00 FA 00 62 00 EC 00 8E 00 D4 00 B4 00 .byte $B4, $00, $D4, $00, $8E, $00, $EC, $00, $62, $00, $FA, $00, $32, $00, $00, $01 ; CPU:$F148 PRG:7148 B4 00 D4 00 8E 00 EC 00 62 00 FA 00 32 00 00 01 .byte $00, $00, $FA, $00, $CE, $FF, $EC, $00, $9E, $FF, $D4, $00, $72, $FF, $B4, $00 ; CPU:$F158 PRG:7158 00 00 FA 00 CE FF EC 00 9E FF D4 00 72 FF B4 00 .byte $4C, $FF, $8E, $00, $2C, $FF, $62, $00, $14, $FF, $32, $00, $06, $FF, $00, $00 ; CPU:$F168 PRG:7168 4C FF 8E 00 2C FF 62 00 14 FF 32 00 06 FF 00 00 .byte $00, $FF, $CE, $FF, $06, $FF, $9E, $FF, $14, $FF, $72, $FF, $2C, $FF, $4C, $FF ; CPU:$F178 PRG:7178 00 FF CE FF 06 FF 9E FF 14 FF 72 FF 2C FF 4C FF .byte $4C, $FF, $2C, $FF, $72, $FF, $14, $FF, $9E, $FF, $06, $FF, $CE, $FF, $00, $FF ; CPU:$F188 PRG:7188 4C FF 2C FF 72 FF 14 FF 9E FF 06 FF CE FF 00 FF .byte $00, $00, $06, $FF, $32, $00, $14, $FF, $62, $00, $2C, $FF, $8E, $00, $4C, $FF ; CPU:$F198 PRG:7198 00 00 06 FF 32 00 14 FF 62 00 2C FF 8E 00 4C FF .byte $B4, $00, $72, $FF, $D4, $00, $9E, $FF, $EC, $00, $CE, $FF, $FA, $00, $C5, $F1 ; CPU:$F1A8 PRG:71A8 B4 00 72 FF D4 00 9E FF EC 00 CE FF FA 00 C5 F1 .byte $CF, $F1, $D9, $F1, $E0, $F1, $E0, $F1, $ED, $F1, $ED, $F1, $ED, $F1, $20, $DA ; CPU:$F1B8 PRG:71B8 CF F1 D9 F1 E0 F1 E0 F1 ED F1 ED F1 ED F1 20 DA .byte $F1, $A9, $01, $A0, $00, $4C, $93, $F5, $20, $DA, $F1, $A9, $02, $A0, $00, $4C ; CPU:$F1C8 PRG:71C8 F1 A9 01 A0 00 4C 93 F5 20 DA F1 A9 02 A0 00 4C .byte $93, $F5 ; CPU:$F1D8 PRG:71D8 93 F5 ldx #$40 ; CPU:$F1DA PRG:71DA A2 40 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyJmp ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyJmp: ldy #$01 ; CPU:$F1DC PRG:71DC A0 01 jmp DispatchStoreLdaTayLdaStoreIny ; CPU:$F1DE PRG:71DE 4C 93 F5 ; ---- data $F1E1-$F1ED (13 bytes) ---- .byte $A5, $5B, $10, $08, $A9, $B4, $85, $5A, $A9, $02, $85, $5B, $60 ; CPU:$F1E1 PRG:71E1 A5 5B 10 08 A9 B4 85 5A A9 02 85 5B 60 lda #$00 ; CPU:$F1EE PRG:71EE A9 00 sta GameMode ; CPU:$F1F0 PRG:71F0 85 10 sta Zp42 ; CPU:$F1F2 PRG:71F2 85 42 rts ; CPU:$F1F4 PRG:71F4 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F1F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F1F5: jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F1F5 PRG:71F5 20 1D F6 lda Zp5B ; CPU:$F1F8 PRG:71F8 A5 5B dec Zp5A ; CPU:$F1FA PRG:71FA C6 5A bne Sub_F201 ; CPU:$F1FC PRG:71FC D0 03 clc ; CPU:$F1FE PRG:71FE 18 adc #$03 ; CPU:$F1FF PRG:71FF 69 03 ; ----------------------------------------------------------------------------- ; Routine: Sub_F201 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F201: and #$07 ; CPU:$F201 PRG:7201 29 07 asl a ; CPU:$F203 PRG:7203 0A tax ; CPU:$F204 PRG:7204 AA lda $F1B7,x ; CPU:$F205 PRG:7205 BD B7 F1 pha ; CPU:$F208 PRG:7208 48 lda $F1B6,x ; CPU:$F209 PRG:7209 BD B6 F1 pha ; CPU:$F20C PRG:720C 48 rts ; CPU:$F20D PRG:720D 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F20E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F20E: stx Zp3B ; CPU:$F20E PRG:720E 86 3B lda Zp42 ; CPU:$F210 PRG:7210 A5 42 asl a ; CPU:$F212 PRG:7212 0A tax ; CPU:$F213 PRG:7213 AA lda $A3F1,x ; CPU:$F214 PRG:7214 BD F1 A3 pha ; CPU:$F217 PRG:7217 48 lda $A3F0,x ; CPU:$F218 PRG:7218 BD F0 A3 pha ; CPU:$F21B PRG:721B 48 rts ; CPU:$F21C PRG:721C 60 ; ----------------------------------------------------------------------------- ; Routine: InputRead ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InputRead: ldx GameMode ; CPU:$F21D PRG:721D A6 10 beq Sub_F20E ; CPU:$F21F PRG:721F F0 ED dex ; CPU:$F221 PRG:7221 CA beq Sub_F227 ; CPU:$F222 PRG:7222 F0 03 jmp DispatchLdaBeqDecLdxStx ; CPU:$F224 PRG:7224 4C 4D F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_F227 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F227: lda Zp5A ; CPU:$F227 PRG:7227 A5 5A bne Sub_F1F5 ; CPU:$F229 PRG:7229 D0 CA sta PPUMASK ; CPU:$F22B PRG:722B 8D 01 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_F22E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F22E: jsr DispatchLdaStoreStoreStoreDec ; CPU:$F22E PRG:722E 20 55 F2 lda Zp14 ; CPU:$F231 PRG:7231 A5 14 beq Sub_F252 ; CPU:$F233 PRG:7233 F0 1D jsr NmiOamDmaCopy ; CPU:$F235 PRG:7235 20 0A FE lda Zp14 ; CPU:$F238 PRG:7238 A5 14 cmp #$01 ; CPU:$F23A PRG:723A C9 01 bne Sub_F22E ; CPU:$F23C PRG:723C D0 F0 lda Zp3B ; CPU:$F23E PRG:723E A5 3B beq Sub_F251 ; CPU:$F240 PRG:7240 F0 0F lda ResetHi ; CPU:$F242 PRG:7242 A5 3C and #$01 ; CPU:$F244 PRG:7244 29 01 eor #$01 ; CPU:$F246 PRG:7246 49 01 ldx ZpA7 ; CPU:$F248 PRG:7248 A6 A7 beq Sub_F251 ; CPU:$F24A PRG:724A F0 05 sta ResetHi ; CPU:$F24C PRG:724C 85 3C jsr DispatchLdxLdaTayLdaStoreTya ; CPU:$F24E PRG:724E 20 7F F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F251 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F251: rts ; CPU:$F251 PRG:7251 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F252 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F252: jmp ObjSpawnInit ; CPU:$F252 PRG:7252 4C 10 C0 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaStoreStoreStoreDec ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaStoreStoreStoreDec: lda #$01 ; CPU:$F255 PRG:7255 A9 01 sta $0600 ; CPU:$F257 PRG:7257 8D 00 06 sta $0601 ; CPU:$F25A PRG:725A 8D 01 06 sta $0602 ; CPU:$F25D PRG:725D 8D 02 06 dec Zp14 ; CPU:$F260 PRG:7260 C6 14 bne DispatchLdyJsrLdxLdaStoreIny ; CPU:$F262 PRG:7262 D0 4B lda Zp60 ; CPU:$F264 PRG:7264 A5 60 bne Sub_F26C ; CPU:$F266 PRG:7266 D0 04 lda #$D2 ; CPU:$F268 PRG:7268 A9 D2 sta Zp3D ; CPU:$F26A PRG:726A 85 3D ; ----------------------------------------------------------------------------- ; Routine: Sub_F26C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F26C: lda #$02 ; CPU:$F26C PRG:726C A9 02 sta GameMode ; CPU:$F26E PRG:726E 85 10 lda Zp99 ; CPU:$F270 PRG:7270 A5 99 cmp #$40 ; CPU:$F272 PRG:7272 C9 40 bcc Sub_F278 ; CPU:$F274 PRG:7274 90 02 dec Zp90 ; CPU:$F276 PRG:7276 C6 90 ; ----------------------------------------------------------------------------- ; Routine: Sub_F278 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F278: lda #$01 ; CPU:$F278 PRG:7278 A9 01 sta Zp14 ; CPU:$F27A PRG:727A 85 14 lda #$78 ; CPU:$F27C PRG:727C A9 78 sta Zp23 ; CPU:$F27E PRG:727E 85 23 lda #$D0 ; CPU:$F280 PRG:7280 A9 D0 sta Zp24 ; CPU:$F282 PRG:7282 85 24 lda PPUCTRLShadow ; CPU:$F284 PRG:7284 A5 00 eor #$FF ; CPU:$F286 PRG:7286 49 FF and #$10 ; CPU:$F288 PRG:7288 29 10 ora #$02 ; CPU:$F28A PRG:728A 09 02 sta NmiToggle ; CPU:$F28C PRG:728C 85 0F ldx #$00 ; CPU:$F28E PRG:728E A2 00 lda #$00 ; CPU:$F290 PRG:7290 A9 00 sta Zp3F ; CPU:$F292 PRG:7292 85 3F sta Zp3E ; CPU:$F294 PRG:7294 85 3E sta Zp44 ; CPU:$F296 PRG:7296 85 44 sta Zp3A ; CPU:$F298 PRG:7298 85 3A sta Zp99 ; CPU:$F29A PRG:729A 85 99 sta Zp3B ; CPU:$F29C PRG:729C 85 3B sta Zp32 ; CPU:$F29E PRG:729E 85 32 ; ----------------------------------------------------------------------------- ; Routine: Sub_F2A0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F2A0: sta $0300,x ; CPU:$F2A0 PRG:72A0 9D 00 03 sta $0400,x ; CPU:$F2A3 PRG:72A3 9D 00 04 sta $0500,x ; CPU:$F2A6 PRG:72A6 9D 00 05 inx ; CPU:$F2A9 PRG:72A9 E8 bne Sub_F2A0 ; CPU:$F2AA PRG:72AA D0 F4 jmp ObjSpawnInit ; CPU:$F2AC PRG:72AC 4C 10 C0 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyJsrLdxLdaStoreIny ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyJsrLdxLdaStoreIny: ldy Joypad1Press2 ; CPU:$F2AF PRG:72AF A4 1A jsr DispatchDecLdaBplLdaStore ; CPU:$F2B1 PRG:72B1 20 00 F3 ldx #$20 ; CPU:$F2B4 PRG:72B4 A2 20 lda #$20 ; CPU:$F2B6 PRG:72B6 A9 20 sta $0208,y ; CPU:$F2B8 PRG:72B8 99 08 02 iny ; CPU:$F2BB PRG:72BB C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F2BC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F2BC: jsr DispatchLdaEorEorAslAslRol ; CPU:$F2BC PRG:72BC 20 5C F5 and #$03 ; CPU:$F2BF PRG:72BF 29 03 ora #$54 ; CPU:$F2C1 PRG:72C1 09 54 sta $0208,y ; CPU:$F2C3 PRG:72C3 99 08 02 iny ; CPU:$F2C6 PRG:72C6 C8 dex ; CPU:$F2C7 PRG:72C7 CA bne Sub_F2BC ; CPU:$F2C8 PRG:72C8 D0 F2 jsr DispatchLdaCmpBmiClcAdd ; CPU:$F2CA PRG:72CA 20 31 F3 lda Zp15 ; CPU:$F2CD PRG:72CD A5 15 lsr a ; CPU:$F2CF PRG:72CF 4A ldx #$F0 ; CPU:$F2D0 PRG:72D0 A2 F0 cmp #$0F ; CPU:$F2D2 PRG:72D2 C9 0F bmi Sub_F2D9 ; CPU:$F2D4 PRG:72D4 30 03 clc ; CPU:$F2D6 PRG:72D6 18 adc #$01 ; CPU:$F2D7 PRG:72D7 69 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_F2D9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F2D9: and #$01 ; CPU:$F2D9 PRG:72D9 29 01 beq Sub_F2DF ; CPU:$F2DB PRG:72DB F0 02 ldx #$0F ; CPU:$F2DD PRG:72DD A2 0F ; ----------------------------------------------------------------------------- ; Routine: Sub_F2DF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F2DF: stx ObjectX ; CPU:$F2DF PRG:72DF 86 18 lda #$08 ; CPU:$F2E1 PRG:72E1 A9 08 sta $0208,y ; CPU:$F2E3 PRG:72E3 99 08 02 iny ; CPU:$F2E6 PRG:72E6 C8 ldx #$00 ; CPU:$F2E7 PRG:72E7 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F2E9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F2E9: lda $0200,x ; CPU:$F2E9 PRG:72E9 BD 00 02 and ObjectX ; CPU:$F2EC PRG:72EC 25 18 sta $0208,y ; CPU:$F2EE PRG:72EE 99 08 02 sta $0200,x ; CPU:$F2F1 PRG:72F1 9D 00 02 iny ; CPU:$F2F4 PRG:72F4 C8 inx ; CPU:$F2F5 PRG:72F5 E8 cpx #$08 ; CPU:$F2F6 PRG:72F6 E0 08 bne Sub_F2E9 ; CPU:$F2F8 PRG:72F8 D0 EF sty Joypad1Press2 ; CPU:$F2FA PRG:72FA 84 1A sta $0208,y ; CPU:$F2FC PRG:72FC 99 08 02 rts ; CPU:$F2FF PRG:72FF 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchDecLdaBplLdaStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchDecLdaBplLdaStore: dec Zp15 ; CPU:$F300 PRG:7300 C6 15 lda Zp15 ; CPU:$F302 PRG:7302 A5 15 bpl Sub_F30A ; CPU:$F304 PRG:7304 10 04 lda #$3B ; CPU:$F306 PRG:7306 A9 3B sta Zp15 ; CPU:$F308 PRG:7308 85 15 ; ----------------------------------------------------------------------------- ; Routine: Sub_F30A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F30A: cmp #$1E ; CPU:$F30A PRG:730A C9 1E bcc Sub_F311 ; CPU:$F30C PRG:730C 90 03 clc ; CPU:$F30E PRG:730E 18 adc #$22 ; CPU:$F30F PRG:730F 69 22 ; ----------------------------------------------------------------------------- ; Routine: Sub_F311 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F311: sta ObjectYLo ; CPU:$F311 PRG:7311 85 35 lda #$00 ; CPU:$F313 PRG:7313 A9 00 sta ObjectYHi ; CPU:$F315 PRG:7315 85 36 sec ; CPU:$F317 PRG:7317 38 ror ObjectYLo ; CPU:$F318 PRG:7318 66 35 ror ObjectYHi ; CPU:$F31A PRG:731A 66 36 lsr ObjectYLo ; CPU:$F31C PRG:731C 46 35 ror ObjectYHi ; CPU:$F31E PRG:731E 66 36 lsr ObjectYLo ; CPU:$F320 PRG:7320 46 35 ror ObjectYHi ; CPU:$F322 PRG:7322 66 36 lda ObjectYLo ; CPU:$F324 PRG:7324 A5 35 sta $0208,y ; CPU:$F326 PRG:7326 99 08 02 iny ; CPU:$F329 PRG:7329 C8 lda ObjectYHi ; CPU:$F32A PRG:732A A5 36 sta $0208,y ; CPU:$F32C PRG:732C 99 08 02 iny ; CPU:$F32F PRG:732F C8 rts ; CPU:$F330 PRG:7330 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaCmpBmiClcAdd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaCmpBmiClcAdd: lda Zp15 ; CPU:$F331 PRG:7331 A5 15 cmp #$1E ; CPU:$F333 PRG:7333 C9 1E bmi Sub_F33A ; CPU:$F335 PRG:7335 30 03 clc ; CPU:$F337 PRG:7337 18 adc #$02 ; CPU:$F338 PRG:7338 69 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F33A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F33A: ror a ; CPU:$F33A PRG:733A 6A and #$1E ; CPU:$F33B PRG:733B 29 1E tax ; CPU:$F33D PRG:733D AA lda $F53D,x ; CPU:$F33E PRG:733E BD 3D F5 sta $0208,y ; CPU:$F341 PRG:7341 99 08 02 iny ; CPU:$F344 PRG:7344 C8 lda $F53C,x ; CPU:$F345 PRG:7345 BD 3C F5 sta $0208,y ; CPU:$F348 PRG:7348 99 08 02 iny ; CPU:$F34B PRG:734B C8 rts ; CPU:$F34C PRG:734C 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBeqDecLdxStx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBeqDecLdxStx: lda Zp3D ; CPU:$F34D PRG:734D A5 3D beq Sub_F381 ; CPU:$F34F PRG:734F F0 30 dec Zp3D ; CPU:$F351 PRG:7351 C6 3D ldx #$00 ; CPU:$F353 PRG:7353 A2 00 stx Zp32 ; CPU:$F355 PRG:7355 86 32 ldx #$80 ; CPU:$F357 PRG:7357 A2 80 lda ResetHi ; CPU:$F359 PRG:7359 A5 3C and #$01 ; CPU:$F35B PRG:735B 29 01 clc ; CPU:$F35D PRG:735D 18 adc #$01 ; CPU:$F35E PRG:735E 69 01 ldy #$00 ; CPU:$F360 PRG:7360 A0 00 jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F362 PRG:7362 20 93 F5 ldy #$02 ; CPU:$F365 PRG:7365 A0 02 jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F367 PRG:7367 20 93 F5 lda Zp8D ; CPU:$F36A PRG:736A A5 8D sec ; CPU:$F36C PRG:736C 38 sbc #$01 ; CPU:$F36D PRG:736D E9 01 ldy #$03 ; CPU:$F36F PRG:736F A0 03 jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F371 PRG:7371 20 93 F5 ldy #$04 ; CPU:$F374 PRG:7374 A0 04 jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F376 PRG:7376 20 93 F5 ldy #$05 ; CPU:$F379 PRG:7379 A0 05 jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F37B PRG:737B 20 93 F5 jmp DispatchLdaStoreLdaClcAddStore ; CPU:$F37E PRG:737E 4C 85 F3 ; ----------------------------------------------------------------------------- ; Routine: Sub_F381 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F381: lda #$01 ; CPU:$F381 PRG:7381 A9 01 sta Zp32 ; CPU:$F383 PRG:7383 85 32 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaStoreLdaClcAddStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaStoreLdaClcAddStore: lda #$01 ; CPU:$F385 PRG:7385 A9 01 sta $0610 ; CPU:$F387 PRG:7387 8D 10 06 lda Zp26 ; CPU:$F38A PRG:738A A5 26 clc ; CPU:$F38C PRG:738C 18 adc Zp27 ; CPU:$F38D PRG:738D 65 27 sta Zp25 ; CPU:$F38F PRG:738F 85 25 and #$0F ; CPU:$F391 PRG:7391 29 0F sta Zp26 ; CPU:$F393 PRG:7393 85 26 lsr Zp25 ; CPU:$F395 PRG:7395 46 25 lsr Zp25 ; CPU:$F397 PRG:7397 46 25 lsr Zp25 ; CPU:$F399 PRG:7399 46 25 lsr Zp25 ; CPU:$F39B PRG:739B 46 25 bne Sub_F3A0 ; CPU:$F39D PRG:739D D0 01 rts ; CPU:$F39F PRG:739F 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3A0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3A0: lda ScrollY ; CPU:$F3A0 PRG:73A0 A5 03 sec ; CPU:$F3A2 PRG:73A2 38 sbc Zp25 ; CPU:$F3A3 PRG:73A3 E5 25 cmp #$F0 ; CPU:$F3A5 PRG:73A5 C9 F0 bcc Sub_F3B0 ; CPU:$F3A7 PRG:73A7 90 07 ldx #$02 ; CPU:$F3A9 PRG:73A9 A2 02 stx NmiToggle ; CPU:$F3AB PRG:73AB 86 0F sec ; CPU:$F3AD PRG:73AD 38 sbc #$10 ; CPU:$F3AE PRG:73AE E9 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3B0: sta ScrollY ; CPU:$F3B0 PRG:73B0 85 03 lda #$00 ; CPU:$F3B2 PRG:73B2 A9 00 sta Zp6E ; CPU:$F3B4 PRG:73B4 85 6E lda Zp29 ; CPU:$F3B6 PRG:73B6 A5 29 clc ; CPU:$F3B8 PRG:73B8 18 adc Zp25 ; CPU:$F3B9 PRG:73B9 65 25 sta Zp29 ; CPU:$F3BB PRG:73BB 85 29 sec ; CPU:$F3BD PRG:73BD 38 sbc #$08 ; CPU:$F3BE PRG:73BE E9 08 bcs Sub_F3C7 ; CPU:$F3C0 PRG:73C0 B0 05 Sub_F3C2: lda #$01 ; CPU:$F3C2 PRG:73C2 A9 01 sta Zp6E ; CPU:$F3C4 PRG:73C4 85 6E rts ; CPU:$F3C6 PRG:73C6 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3C7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3C7: sta Zp29 ; CPU:$F3C7 PRG:73C7 85 29 lda Zp99 ; CPU:$F3C9 PRG:73C9 A5 99 bne Sub_F3FA ; CPU:$F3CB PRG:73CB D0 2D lda Zp14 ; CPU:$F3CD PRG:73CD A5 14 beq Sub_F3D6 ; CPU:$F3CF PRG:73CF F0 05 dec Zp14 ; CPU:$F3D1 PRG:73D1 C6 14 jmp DispatchLdyJsrLdxLdaStoreIny ; CPU:$F3D3 PRG:73D3 4C AF F2 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3D6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3D6: inc Zp90 ; CPU:$F3D6 PRG:73D6 E6 90 lda Zp90 ; CPU:$F3D8 PRG:73D8 A5 90 cmp #$10 ; CPU:$F3DA PRG:73DA C9 10 bne Sub_F3E2 ; CPU:$F3DC PRG:73DC D0 04 lda #$06 ; CPU:$F3DE PRG:73DE A9 06 sta Zp90 ; CPU:$F3E0 PRG:73E0 85 90 ; ----------------------------------------------------------------------------- ; Routine: Sub_F3E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3E2: asl a ; CPU:$F3E2 PRG:73E2 0A tax ; CPU:$F3E3 PRG:73E3 AA lda $A8D5,x ; CPU:$F3E4 PRG:73E4 BD D5 A8 sta Zp2A ; CPU:$F3E7 PRG:73E7 85 2A lda $A8D6,x ; CPU:$F3E9 PRG:73E9 BD D6 A8 sta Zp2B ; CPU:$F3EC PRG:73EC 85 2B ldy #$00 ; CPU:$F3EE PRG:73EE A0 00 lda (Zp2A),y ; CPU:$F3F0 PRG:73F0 B1 2A sta Zp12 ; CPU:$F3F2 PRG:73F2 85 12 inc Zp2A ; CPU:$F3F4 PRG:73F4 E6 2A bne Sub_F3FA ; CPU:$F3F6 PRG:73F6 D0 02 inc Zp2B ; CPU:$F3F8 PRG:73F8 E6 2B ; ----------------------------------------------------------------------------- ; Routine: Sub_F3FA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F3FA: lda #$04 ; CPU:$F3FA PRG:73FA A9 04 sta Zp14 ; CPU:$F3FC PRG:73FC 85 14 ldy Joypad1Press2 ; CPU:$F3FE PRG:73FE A4 1A jsr DispatchDecLdaBplLdaStore ; CPU:$F400 PRG:7400 20 00 F3 lda #$20 ; CPU:$F403 PRG:7403 A9 20 sta $0208,y ; CPU:$F405 PRG:7405 99 08 02 iny ; CPU:$F408 PRG:7408 C8 dec Zp99 ; CPU:$F409 PRG:7409 C6 99 lda Zp99 ; CPU:$F40B PRG:740B A5 99 and #$FE ; CPU:$F40D PRG:740D 29 FE sta VramPtrLo ; CPU:$F40F PRG:740F 85 04 lda #$04 ; CPU:$F411 PRG:7411 A9 04 sta VramCopyCount ; CPU:$F413 PRG:7413 85 05 ldx #$05 ; CPU:$F415 PRG:7415 A2 05 ; ----------------------------------------------------------------------------- ; Routine: Sub_F417 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F417: asl VramPtrLo ; CPU:$F417 PRG:7417 06 04 rol VramCopyCount ; CPU:$F419 PRG:7419 26 05 dex ; CPU:$F41B PRG:741B CA bne Sub_F417 ; CPU:$F41C PRG:741C D0 F9 lda VramPtrLo ; CPU:$F41E PRG:741E A5 04 adc Zp12 ; CPU:$F420 PRG:7420 65 12 sta VramPtrLo ; CPU:$F422 PRG:7422 85 04 lda Zp15 ; CPU:$F424 PRG:7424 A5 15 lsr a ; CPU:$F426 PRG:7426 4A ldx #$03 ; CPU:$F427 PRG:7427 A2 03 cmp #$0F ; CPU:$F429 PRG:7429 C9 0F bmi Sub_F430 ; CPU:$F42B PRG:742B 30 03 clc ; CPU:$F42D PRG:742D 18 adc #$01 ; CPU:$F42E PRG:742E 69 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_F430 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F430: and #$01 ; CPU:$F430 PRG:7430 29 01 beq Sub_F436 ; CPU:$F432 PRG:7432 F0 02 ldx #$30 ; CPU:$F434 PRG:7434 A2 30 ; ----------------------------------------------------------------------------- ; Routine: Sub_F436 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F436: txa ; CPU:$F436 PRG:7436 8A sta ObjectX ; CPU:$F437 PRG:7437 85 18 asl a ; CPU:$F439 PRG:7439 0A asl a ; CPU:$F43A PRG:743A 0A sta ObjectY ; CPU:$F43B PRG:743B 85 19 lda #$08 ; CPU:$F43D PRG:743D A9 08 sta ObjUpdateFlag ; CPU:$F43F PRG:743F 85 0E lda Zp99 ; CPU:$F441 PRG:7441 A5 99 and #$01 ; CPU:$F443 PRG:7443 29 01 beq Sub_F4AA ; CPU:$F445 PRG:7445 F0 63 ; ----------------------------------------------------------------------------- ; Routine: Sub_F447 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F447: ldx #$00 ; CPU:$F447 PRG:7447 A2 00 lda (VramPtrLo,x) ; CPU:$F449 PRG:7449 A1 04 tax ; CPU:$F44B PRG:744B AA lda $A1EE,x ; CPU:$F44C PRG:744C BD EE A1 sta $0208,y ; CPU:$F44F PRG:744F 99 08 02 iny ; CPU:$F452 PRG:7452 C8 lda $A2E5,x ; CPU:$F453 PRG:7453 BD E5 A2 sta $0208,y ; CPU:$F456 PRG:7456 99 08 02 iny ; CPU:$F459 PRG:7459 C8 jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F45A PRG:745A 20 2B F5 and ObjectX ; CPU:$F45D PRG:745D 25 18 sta ObjPtr ; CPU:$F45F PRG:745F 85 13 lda #$08 ; CPU:$F461 PRG:7461 A9 08 sec ; CPU:$F463 PRG:7463 38 sbc ObjUpdateFlag ; CPU:$F464 PRG:7464 E5 0E tax ; CPU:$F466 PRG:7466 AA lda ObjectX ; CPU:$F467 PRG:7467 A5 18 eor #$FF ; CPU:$F469 PRG:7469 49 FF and $0200,x ; CPU:$F46B PRG:746B 3D 00 02 ora ObjPtr ; CPU:$F46E PRG:746E 05 13 sta $0200,x ; CPU:$F470 PRG:7470 9D 00 02 inc VramPtrLo ; CPU:$F473 PRG:7473 E6 04 ldx #$00 ; CPU:$F475 PRG:7475 A2 00 lda (VramPtrLo,x) ; CPU:$F477 PRG:7477 A1 04 tax ; CPU:$F479 PRG:7479 AA lda $A1EE,x ; CPU:$F47A PRG:747A BD EE A1 sta $0208,y ; CPU:$F47D PRG:747D 99 08 02 iny ; CPU:$F480 PRG:7480 C8 lda $A2E5,x ; CPU:$F481 PRG:7481 BD E5 A2 sta $0208,y ; CPU:$F484 PRG:7484 99 08 02 iny ; CPU:$F487 PRG:7487 C8 jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F488 PRG:7488 20 2B F5 and ObjectY ; CPU:$F48B PRG:748B 25 19 sta ObjPtr ; CPU:$F48D PRG:748D 85 13 lda #$08 ; CPU:$F48F PRG:748F A9 08 sec ; CPU:$F491 PRG:7491 38 sbc ObjUpdateFlag ; CPU:$F492 PRG:7492 E5 0E tax ; CPU:$F494 PRG:7494 AA lda ObjectY ; CPU:$F495 PRG:7495 A5 19 eor #$FF ; CPU:$F497 PRG:7497 49 FF and $0200,x ; CPU:$F499 PRG:7499 3D 00 02 ora ObjPtr ; CPU:$F49C PRG:749C 05 13 sta $0200,x ; CPU:$F49E PRG:749E 9D 00 02 inc VramPtrLo ; CPU:$F4A1 PRG:74A1 E6 04 dec ObjUpdateFlag ; CPU:$F4A3 PRG:74A3 C6 0E bne Sub_F447 ; CPU:$F4A5 PRG:74A5 D0 A0 jmp DispatchJsrLdaStoreInyLdx ; CPU:$F4A7 PRG:74A7 4C 0A F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_F4AA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F4AA: ldx #$00 ; CPU:$F4AA PRG:74AA A2 00 lda (VramPtrLo,x) ; CPU:$F4AC PRG:74AC A1 04 tax ; CPU:$F4AE PRG:74AE AA lda $A000,x ; CPU:$F4AF PRG:74AF BD 00 A0 sta $0208,y ; CPU:$F4B2 PRG:74B2 99 08 02 iny ; CPU:$F4B5 PRG:74B5 C8 lda $A0F7,x ; CPU:$F4B6 PRG:74B6 BD F7 A0 sta $0208,y ; CPU:$F4B9 PRG:74B9 99 08 02 iny ; CPU:$F4BC PRG:74BC C8 jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F4BD PRG:74BD 20 2B F5 and ObjectX ; CPU:$F4C0 PRG:74C0 25 18 sta ObjPtr ; CPU:$F4C2 PRG:74C2 85 13 lda #$08 ; CPU:$F4C4 PRG:74C4 A9 08 sec ; CPU:$F4C6 PRG:74C6 38 sbc ObjUpdateFlag ; CPU:$F4C7 PRG:74C7 E5 0E tax ; CPU:$F4C9 PRG:74C9 AA lda ObjectX ; CPU:$F4CA PRG:74CA A5 18 eor #$FF ; CPU:$F4CC PRG:74CC 49 FF and $0200,x ; CPU:$F4CE PRG:74CE 3D 00 02 ora ObjPtr ; CPU:$F4D1 PRG:74D1 05 13 sta $0200,x ; CPU:$F4D3 PRG:74D3 9D 00 02 inc VramPtrLo ; CPU:$F4D6 PRG:74D6 E6 04 ldx #$00 ; CPU:$F4D8 PRG:74D8 A2 00 lda (VramPtrLo,x) ; CPU:$F4DA PRG:74DA A1 04 tax ; CPU:$F4DC PRG:74DC AA lda $A000,x ; CPU:$F4DD PRG:74DD BD 00 A0 sta $0208,y ; CPU:$F4E0 PRG:74E0 99 08 02 iny ; CPU:$F4E3 PRG:74E3 C8 lda $A0F7,x ; CPU:$F4E4 PRG:74E4 BD F7 A0 sta $0208,y ; CPU:$F4E7 PRG:74E7 99 08 02 iny ; CPU:$F4EA PRG:74EA C8 jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F4EB PRG:74EB 20 2B F5 and ObjectY ; CPU:$F4EE PRG:74EE 25 19 sta ObjPtr ; CPU:$F4F0 PRG:74F0 85 13 lda #$08 ; CPU:$F4F2 PRG:74F2 A9 08 sec ; CPU:$F4F4 PRG:74F4 38 sbc ObjUpdateFlag ; CPU:$F4F5 PRG:74F5 E5 0E tax ; CPU:$F4F7 PRG:74F7 AA lda ObjectY ; CPU:$F4F8 PRG:74F8 A5 19 eor #$FF ; CPU:$F4FA PRG:74FA 49 FF and $0200,x ; CPU:$F4FC PRG:74FC 3D 00 02 ora ObjPtr ; CPU:$F4FF PRG:74FF 05 13 sta $0200,x ; CPU:$F501 PRG:7501 9D 00 02 inc VramPtrLo ; CPU:$F504 PRG:7504 E6 04 dec ObjUpdateFlag ; CPU:$F506 PRG:7506 C6 0E bne Sub_F4AA ; CPU:$F508 PRG:7508 D0 A0 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrLdaStoreInyLdx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrLdaStoreInyLdx: jsr DispatchLdaCmpBmiClcAdd ; CPU:$F50A PRG:750A 20 31 F3 lda #$08 ; CPU:$F50D PRG:750D A9 08 sta $0208,y ; CPU:$F50F PRG:750F 99 08 02 iny ; CPU:$F512 PRG:7512 C8 ldx #$00 ; CPU:$F513 PRG:7513 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F515 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F515: lda $0200,x ; CPU:$F515 PRG:7515 BD 00 02 sta $0208,y ; CPU:$F518 PRG:7518 99 08 02 iny ; CPU:$F51B PRG:751B C8 inx ; CPU:$F51C PRG:751C E8 cpx #$08 ; CPU:$F51D PRG:751D E0 08 bne Sub_F515 ; CPU:$F51F PRG:751F D0 F4 sty Joypad1Press2 ; CPU:$F521 PRG:7521 84 1A lda #$00 ; CPU:$F523 PRG:7523 A9 00 sta $0208,y ; CPU:$F525 PRG:7525 99 08 02 jmp C9bcCheck ; CPU:$F528 PRG:7528 4C BC C9 ; ----------------------------------------------------------------------------- ; Routine: DispatchTaxLdxCmpBccInxInx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchTaxLdxCmpBccInxInx: txa ; CPU:$F52B PRG:752B 8A ldx #$00 ; CPU:$F52C PRG:752C A2 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchCmpBccInxInxJmpLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchCmpBccInxInxJmpLda: cmp $A3DC,x ; CPU:$F52E PRG:752E DD DC A3 bcc Sub_F538 ; CPU:$F531 PRG:7531 90 05 inx ; CPU:$F533 PRG:7533 E8 inx ; CPU:$F534 PRG:7534 E8 jmp DispatchCmpBccInxInxJmpLda ; CPU:$F535 PRG:7535 4C 2E F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_F538 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F538: lda $A3DD,x ; CPU:$F538 PRG:7538 BD DD A3 rts ; CPU:$F53B PRG:753B 60 AttrAddrTable: ; 16 x 16-bit PPU attribute-table addresses ($23C0-$23F8 and $2BC0-$2BF8), read by ; lda $F53C,x / lda $F53D,x at $F345 / $F33E and stored into the $0208 buffer. ; ---- data $F53C-$F55B (32 bytes) ---- ; referenced by `lda $F53D,x` at $F33E (operand $F53D falls inside this region) ; referenced by `lda $F53C,x` at $F345 (operand $F53C falls inside this region) .byte $C0, $23, $C8, $23, $D0, $23, $D8, $23, $E0, $23, $E8, $23, $F0, $23, $F8, $23 ; CPU:$F53C PRG:753C C0 23 C8 23 D0 23 D8 23 E0 23 E8 23 F0 23 F8 23 .byte $C0, $2B, $C8, $2B, $D0, $2B, $D8, $2B, $E0, $2B, $E8, $2B, $F0, $2B, $F8, $2B ; CPU:$F54C PRG:754C C0 2B C8 2B D0 2B D8 2B E0 2B E8 2B F0 2B F8 2B ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaEorEorAslAslRol ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaEorEorAslAslRol: lda Zp1C ; CPU:$F55C PRG:755C A5 1C eor Zp1D ; CPU:$F55E PRG:755E 45 1D eor #$FF ; CPU:$F560 PRG:7560 49 FF asl a ; CPU:$F562 PRG:7562 0A asl a ; CPU:$F563 PRG:7563 0A rol Zp1C ; CPU:$F564 PRG:7564 26 1C rol Zp1D ; CPU:$F566 PRG:7566 26 1D lda Zp1E ; CPU:$F568 PRG:7568 A5 1E asl a ; CPU:$F56A PRG:756A 0A asl a ; CPU:$F56B PRG:756B 0A sec ; CPU:$F56C PRG:756C 38 adc Zp1E ; CPU:$F56D PRG:756D 65 1E sta Zp1E ; CPU:$F56F PRG:756F 85 1E adc Zp1C ; CPU:$F571 PRG:7571 65 1C rts ; CPU:$F573 PRG:7573 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdxLdaStoreLdaCmpBcs ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdxLdaStoreLdaCmpBcs: ldx #$00 ; CPU:$F574 PRG:7574 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F576 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F576: lda #$F0 ; CPU:$F576 PRG:7576 A9 F0 sta $0714,x ; CPU:$F578 PRG:7578 9D 14 07 lda $0721,x ; CPU:$F57B PRG:757B BD 21 07 cmp #$24 ; CPU:$F57E PRG:757E C9 24 bcs Sub_F587 ; CPU:$F580 PRG:7580 B0 05 lda #$F0 ; CPU:$F582 PRG:7582 A9 F0 sta $0720,x ; CPU:$F584 PRG:7584 9D 20 07 ; ----------------------------------------------------------------------------- ; Routine: Sub_F587 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F587: inx ; CPU:$F587 PRG:7587 E8 inx ; CPU:$F588 PRG:7588 E8 inx ; CPU:$F589 PRG:7589 E8 inx ; CPU:$F58A PRG:758A E8 cpx #$0C ; CPU:$F58B PRG:758B E0 0C bne Sub_F576 ; CPU:$F58D PRG:758D D0 E7 ldy #$06 ; CPU:$F58F PRG:758F A0 06 ldx #$00 ; CPU:$F591 PRG:7591 A2 00 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLdaTayLdaStoreIny ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLdaTayLdaStoreIny: sta ObjPtr ; CPU:$F593 PRG:7593 85 13 lda $F5D8,y ; CPU:$F595 PRG:7595 B9 D8 F5 tay ; CPU:$F598 PRG:7598 A8 lda $F5DF,y ; CPU:$F599 PRG:7599 B9 DF F5 sta ObjectXHi ; CPU:$F59C PRG:759C 85 38 iny ; CPU:$F59E PRG:759E C8 lda $F5DF,y ; CPU:$F59F PRG:759F B9 DF F5 sta ObjectXLo ; CPU:$F5A2 PRG:75A2 85 37 iny ; CPU:$F5A4 PRG:75A4 C8 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaCmpBeqCmpBneRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaCmpBeqCmpBneRts: lda $F5DF,y ; CPU:$F5A5 PRG:75A5 B9 DF F5 cmp #$24 ; CPU:$F5A8 PRG:75A8 C9 24 beq Sub_F5CD ; CPU:$F5AA PRG:75AA F0 21 cmp #$FF ; CPU:$F5AC PRG:75AC C9 FF bne Sub_F5B1 ; CPU:$F5AE PRG:75AE D0 01 rts ; CPU:$F5B0 PRG:75B0 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5B1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F5B1: cmp #$FE ; CPU:$F5B1 PRG:75B1 C9 FE bne Sub_F5B7 ; CPU:$F5B3 PRG:75B3 D0 02 lda ObjPtr ; CPU:$F5B5 PRG:75B5 A5 13 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5B7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F5B7: sta $0701,x ; CPU:$F5B7 PRG:75B7 9D 01 07 lda ObjectXHi ; CPU:$F5BA PRG:75BA A5 38 sta $0700,x ; CPU:$F5BC PRG:75BC 9D 00 07 inx ; CPU:$F5BF PRG:75BF E8 inx ; CPU:$F5C0 PRG:75C0 E8 lda #$00 ; CPU:$F5C1 PRG:75C1 A9 00 sta $0700,x ; CPU:$F5C3 PRG:75C3 9D 00 07 inx ; CPU:$F5C6 PRG:75C6 E8 lda ObjectXLo ; CPU:$F5C7 PRG:75C7 A5 37 sta $0700,x ; CPU:$F5C9 PRG:75C9 9D 00 07 inx ; CPU:$F5CC PRG:75CC E8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F5CD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F5CD: lda ObjectXLo ; CPU:$F5CD PRG:75CD A5 37 clc ; CPU:$F5CF PRG:75CF 18 adc #$08 ; CPU:$F5D0 PRG:75D0 69 08 sta ObjectXLo ; CPU:$F5D2 PRG:75D2 85 37 iny ; CPU:$F5D4 PRG:75D4 C8 jmp DispatchLdaCmpBeqCmpBneRts ; CPU:$F5D5 PRG:75D5 4C A5 F5 TextTileData: ; Text strings as font tile indices (tile $0A = 'A', $0B = 'B', ... $24 = space). ; $FE/$FF and $5C/$6x/$7x/$8x/$9x/$A5 bytes are control codes. Decoded strings: ; "PLAYER", "GAME OVER", "READY", "SOLVALOU", "LEFT", "PAUSE". ; ---- data $F5D8-$F61C (69 bytes) ---- ; referenced by `lda $F5D8,y` at $F595 (operand $F5D8 falls inside this region) ; referenced by `lda $F5DF,y` at $F599 (operand $F5DF falls inside this region) ; referenced by `lda $F5DF,y` at $F59F (operand $F5DF falls inside this region) ; referenced by `lda $F5DF,y` at $F5A5 (operand $F5DF falls inside this region) .byte $00, $0B, $17, $20, $24, $2F, $36, $58, $60, $19, $15, $0A, $22, $0E, $1B, $24 ; CPU:$F5D8 PRG:75D8 00 0B 17 20 24 2F 36 58 60 19 15 0A 22 0E 1B 24 .byte $FE, $FF, $68, $5C, $10, $0A, $16, $0E, $24, $18, $1F, $0E, $1B, $FF, $68, $68 ; CPU:$F5E8 PRG:75E8 FE FF 68 5C 10 0A 16 0E 24 18 1F 0E 1B FF 68 68 .byte $1B, $0E, $0A, $0D, $22, $27, $FF, $78, $80, $FE, $FF, $88, $60, $1C, $18, $15 ; CPU:$F5F8 PRG:75F8 1B 0E 0A 0D 22 27 FF 78 80 FE FF 88 60 1C 18 15 .byte $1F, $0A, $15, $18, $1E, $FF, $98, $70, $15, $0E, $0F, $1D, $FF, $70, $68, $19 ; CPU:$F608 PRG:7608 1F 0A 15 18 1E FF 98 70 15 0E 0F 1D FF 70 68 19 .byte $0A, $1E, $1C, $0E, $FF ; CPU:$F618 PRG:7618 0A 1E 1C 0E FF ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBneStoreStoreLdxLdy ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBneStoreStoreLdxLdy: lda Zp60 ; CPU:$F61D PRG:761D A5 60 bne Sub_F634 ; CPU:$F61F PRG:761F D0 13 sta ObjectXLo ; CPU:$F621 PRG:7621 85 37 sta ObjectXHi ; CPU:$F623 PRG:7623 85 38 ldx #$20 ; CPU:$F625 PRG:7625 A2 20 ldy #$22 ; CPU:$F627 PRG:7627 A0 22 lda ResetHi ; CPU:$F629 PRG:7629 A5 3C and #$01 ; CPU:$F62B PRG:762B 29 01 beq Sub_F631 ; CPU:$F62D PRG:762D F0 02 ldy #$24 ; CPU:$F62F PRG:762F A0 24 ; ----------------------------------------------------------------------------- ; Routine: Sub_F631 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F631: jmp DispatchLdaStoreLdaStoreLdyLda ; CPU:$F631 PRG:7631 4C 20 F9 ; ----------------------------------------------------------------------------- ; Routine: Sub_F634 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F634: rts ; CPU:$F634 PRG:7634 60 ; ----------------------------------------------------------------------------- ; Routine: ObjUpdateCall ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ObjUpdateCall: ldx #$20 ; CPU:$F635 PRG:7635 A2 20 lda GameSubMode ; CPU:$F637 PRG:7637 A5 1B and #$10 ; CPU:$F639 PRG:7639 29 10 bne Sub_F640 ; CPU:$F63B PRG:763B D0 03 jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F63D PRG:763D 20 1D F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F640 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F640: lda Zp3B ; CPU:$F640 PRG:7640 A5 3B beq Sub_F650 ; CPU:$F642 PRG:7642 F0 0C lda ZpEE ; CPU:$F644 PRG:7644 A5 EE beq Sub_F64E ; CPU:$F646 PRG:7646 F0 06 jsr ObjSpawnInit ; CPU:$F648 PRG:7648 20 10 C0 jmp DispatchJsrStxLdaStoreStoreLda2 ; CPU:$F64B PRG:764B 4C F8 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F64E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F64E: sta Zp3B ; CPU:$F64E PRG:764E 85 3B ; ----------------------------------------------------------------------------- ; Routine: Sub_F650 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F650: lda ResetHi ; CPU:$F650 PRG:7650 A5 3C and #$01 ; CPU:$F652 PRG:7652 29 01 asl a ; CPU:$F654 PRG:7654 0A asl a ; CPU:$F655 PRG:7655 0A tay ; CPU:$F656 PRG:7656 A8 lda a:$0006,y ; CPU:$F657 PRG:7657 B9 06 00 ldy Zp60 ; CPU:$F65A PRG:765A A4 60 beq Sub_F6DC ; CPU:$F65C PRG:765C F0 7E ldy #$00 ; CPU:$F65E PRG:765E A0 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F660 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F660: lda $0300,y ; CPU:$F660 PRG:7660 B9 00 03 beq Sub_F669 ; CPU:$F663 PRG:7663 F0 04 cmp #$24 ; CPU:$F665 PRG:7665 C9 24 bne Sub_F694 ; CPU:$F667 PRG:7667 D0 2B ; ----------------------------------------------------------------------------- ; Routine: Sub_F669 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F669: tya ; CPU:$F669 PRG:7669 98 clc ; CPU:$F66A PRG:766A 18 adc #$08 ; CPU:$F66B PRG:766B 69 08 tay ; CPU:$F66D PRG:766D A8 cmp #$80 ; CPU:$F66E PRG:766E C9 80 bne Sub_F660 ; CPU:$F670 PRG:7670 D0 EE lda GameSubMode ; CPU:$F672 PRG:7672 A5 1B and #$1F ; CPU:$F674 PRG:7674 29 1F bne Sub_F6D8 ; CPU:$F676 PRG:7676 D0 60 lda Zp23 ; CPU:$F678 PRG:7678 A5 23 cmp #$30 ; CPU:$F67A PRG:767A C9 30 bcc Sub_F68A ; CPU:$F67C PRG:767C 90 0C cmp #$C8 ; CPU:$F67E PRG:767E C9 C8 bcs Sub_F68F ; CPU:$F680 PRG:7680 B0 0D jsr DispatchLdaEorEorAslAslRol ; CPU:$F682 PRG:7682 20 5C F5 and #$F2 ; CPU:$F685 PRG:7685 29 F2 jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F687 PRG:7687 4C D6 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F68A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F68A: lda #$A2 ; CPU:$F68A PRG:768A A9 A2 jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F68C PRG:768C 4C D6 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F68F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F68F: lda #$62 ; CPU:$F68F PRG:768F A9 62 jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F691 PRG:7691 4C D6 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F694 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F694: lda #$03 ; CPU:$F694 PRG:7694 A9 03 sta Zp59 ; CPU:$F696 PRG:7696 85 59 lda $0301,y ; CPU:$F698 PRG:7698 B9 01 03 bne Sub_F669 ; CPU:$F69B PRG:769B D0 CC lda $0302,y ; CPU:$F69D PRG:769D B9 02 03 clc ; CPU:$F6A0 PRG:76A0 18 adc #$40 ; CPU:$F6A1 PRG:76A1 69 40 bcs Sub_F6B7 ; CPU:$F6A3 PRG:76A3 B0 12 sec ; CPU:$F6A5 PRG:76A5 38 sbc Zp24 ; CPU:$F6A6 PRG:76A6 E5 24 bcs Sub_F6B3 ; CPU:$F6A8 PRG:76A8 B0 09 cmp #$F8 ; CPU:$F6AA PRG:76AA C9 F8 bcs Sub_F6BB ; CPU:$F6AC PRG:76AC B0 0D lda #$10 ; CPU:$F6AE PRG:76AE A9 10 jmp DispatchStoreLdaSecSbcBcsCmp ; CPU:$F6B0 PRG:76B0 4C B9 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6B3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6B3: cmp #$08 ; CPU:$F6B3 PRG:76B3 C9 08 bcc Sub_F6BB ; CPU:$F6B5 PRG:76B5 90 04 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6B7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6B7: lda #$20 ; CPU:$F6B7 PRG:76B7 A9 20 ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLdaSecSbcBcsCmp ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLdaSecSbcBcsCmp: sta Zp59 ; CPU:$F6B9 PRG:76B9 85 59 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6BB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6BB: lda $0303,y ; CPU:$F6BB PRG:76BB B9 03 03 sec ; CPU:$F6BE PRG:76BE 38 sbc Zp23 ; CPU:$F6BF PRG:76BF E5 23 bcs Sub_F6CC ; CPU:$F6C1 PRG:76C1 B0 09 cmp #$F8 ; CPU:$F6C3 PRG:76C3 C9 F8 bcs Sub_F6D8 ; CPU:$F6C5 PRG:76C5 B0 11 lda #$40 ; CPU:$F6C7 PRG:76C7 A9 40 jmp DispatchOraAndStore ; CPU:$F6C9 PRG:76C9 4C D2 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6CC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6CC: cmp #$08 ; CPU:$F6CC PRG:76CC C9 08 bcc Sub_F6D8 ; CPU:$F6CE PRG:76CE 90 08 lda #$80 ; CPU:$F6D0 PRG:76D0 A9 80 ; ----------------------------------------------------------------------------- ; Routine: DispatchOraAndStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchOraAndStore: ora Zp59 ; CPU:$F6D2 PRG:76D2 05 59 and #$FE ; CPU:$F6D4 PRG:76D4 29 FE ; ----------------------------------------------------------------------------- ; Routine: DispatchStoreLdaOraStaJsrLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchStoreLdaOraStaJsrLda: sta Zp59 ; CPU:$F6D6 PRG:76D6 85 59 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6D8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6D8: lda Zp59 ; CPU:$F6D8 PRG:76D8 A5 59 ora Zp2E ; CPU:$F6DA PRG:76DA 05 2E ; ----------------------------------------------------------------------------- ; Routine: Sub_F6DC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6DC: sta Zp59 ; CPU:$F6DC PRG:76DC 85 59 jsr DispatchLsrsLsrsLsrsAndTayLda ; CPU:$F6DE PRG:76DE 20 8F F8 lda #$07 ; CPU:$F6E1 PRG:76E1 A9 07 jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F6E3 PRG:76E3 20 16 F9 jsr DispatchLdaBneLdaRorBcsLda2; CPU:$F6E6 PRG:76E6 20 65 F7 jsr DispatchLdyLdaAndBneLdaStore ; CPU:$F6E9 PRG:76E9 20 F4 F7 stx ObjectDeltaX ; CPU:$F6EC PRG:76EC 86 2D rts ; CPU:$F6EE PRG:76EE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F6EF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F6EF: lda #$00 ; CPU:$F6EF PRG:76EF A9 00 sta GameMode ; CPU:$F6F1 PRG:76F1 85 10 sta Zp42 ; CPU:$F6F3 PRG:76F3 85 42 sta Zp3B ; CPU:$F6F5 PRG:76F5 85 3B rts ; CPU:$F6F7 PRG:76F7 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchJsrStxLdaStoreStoreLda2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchJsrStxLdaStoreStoreLda2: jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F6F8 PRG:76F8 20 1D F6 stx ObjectDeltaX ; CPU:$F6FB PRG:76FB 86 2D lda #$00 ; CPU:$F6FD PRG:76FD A9 00 sta Zp30 ; CPU:$F6FF PRG:76FF 85 30 sta Zp59 ; CPU:$F701 PRG:7701 85 59 lda Zp3B ; CPU:$F703 PRG:7703 A5 3B inc Zp3B ; CPU:$F705 PRG:7705 E6 3B lsr a ; CPU:$F707 PRG:7707 4A lsr a ; CPU:$F708 PRG:7708 4A cmp #$07 ; CPU:$F709 PRG:7709 C9 07 bcc Sub_F759 ; CPU:$F70B PRG:770B 90 4C cmp #$0F ; CPU:$F70D PRG:770D C9 0F bcc Sub_F758 ; CPU:$F70F PRG:770F 90 47 jsr ClearOamInit ; CPU:$F711 PRG:7711 20 D3 B8 lda Zp60 ; CPU:$F714 PRG:7714 A5 60 bne Sub_F6EF ; CPU:$F716 PRG:7716 D0 D7 dec Zp3B ; CPU:$F718 PRG:7718 C6 3B lda Zp15 ; CPU:$F71A PRG:771A A5 15 and #$01 ; CPU:$F71C PRG:771C 29 01 beq Sub_F758 ; CPU:$F71E PRG:771E F0 38 lda ScrollY ; CPU:$F720 PRG:7720 A5 03 sec ; CPU:$F722 PRG:7722 38 sbc #$01 ; CPU:$F723 PRG:7723 E9 01 and #$07 ; CPU:$F725 PRG:7725 29 07 bne Sub_F758 ; CPU:$F727 PRG:7727 D0 2F lda Zp8F ; CPU:$F729 PRG:7729 A5 8F sec ; CPU:$F72B PRG:772B 38 sbc Zp66 ; CPU:$F72C PRG:772C E5 66 bpl Sub_F732 ; CPU:$F72E PRG:772E 10 02 lda #$00 ; CPU:$F730 PRG:7730 A9 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_F732 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F732: sta Zp8F ; CPU:$F732 PRG:7732 85 8F lda #$00 ; CPU:$F734 PRG:7734 A9 00 sta Zp5A ; CPU:$F736 PRG:7736 85 5A inc Zp8E ; CPU:$F738 PRG:7738 E6 8E dec Zp8D ; CPU:$F73A PRG:773A C6 8D bne Sub_F750 ; CPU:$F73C PRG:773C D0 12 lda #$96 ; CPU:$F73E PRG:773E A9 96 sta Zp5A ; CPU:$F740 PRG:7740 85 5A lda ResetHi ; CPU:$F742 PRG:7742 A5 3C and #$01 ; CPU:$F744 PRG:7744 29 01 sta Zp5B ; CPU:$F746 PRG:7746 85 5B lda ZpA7 ; CPU:$F748 PRG:7748 A5 A7 bne Sub_F750 ; CPU:$F74A PRG:774A D0 04 lda #$02 ; CPU:$F74C PRG:774C A9 02 sta Zp5B ; CPU:$F74E PRG:774E 85 5B ; ----------------------------------------------------------------------------- ; Routine: Sub_F750 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F750: lda #$1F ; CPU:$F750 PRG:7750 A9 1F sta Zp14 ; CPU:$F752 PRG:7752 85 14 lda #$01 ; CPU:$F754 PRG:7754 A9 01 sta GameMode ; CPU:$F756 PRG:7756 85 10 ; ----------------------------------------------------------------------------- ; Routine: Sub_F758 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F758: rts ; CPU:$F758 PRG:7758 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F759 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F759: jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F759 PRG:7759 20 16 F9 jsr DispatchLdaBneLdaRorBcsLda2; CPU:$F75C PRG:775C 20 65 F7 jsr DispatchLdyLdaAndBneLdaStore ; CPU:$F75F PRG:775F 20 F4 F7 stx ObjectDeltaX ; CPU:$F762 PRG:7762 86 2D rts ; CPU:$F764 PRG:7764 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBneLdaRorBcsLda2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBneLdaRorBcsLda2: lda $02A0 ; CPU:$F765 PRG:7765 AD A0 02 bne Sub_F79E ; CPU:$F768 PRG:7768 D0 34 lda Zp59 ; CPU:$F76A PRG:776A A5 59 ror a ; CPU:$F76C PRG:776C 6A bcs Sub_F77F ; CPU:$F76D PRG:776D B0 10 lda Zp2E ; CPU:$F76F PRG:776F A5 2E beq Sub_F779 ; CPU:$F771 PRG:7771 F0 06 lda GameSubMode ; CPU:$F773 PRG:7773 A5 1B lsr a ; CPU:$F775 PRG:7775 4A lsr a ; CPU:$F776 PRG:7776 4A and #$01 ; CPU:$F777 PRG:7777 29 01 ; ----------------------------------------------------------------------------- ; Routine: Sub_F779 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F779: clc ; CPU:$F779 PRG:7779 18 adc #$08 ; CPU:$F77A PRG:777A 69 08 jmp DispatchAslTayLdaStoreLdaStore2 ; CPU:$F77C PRG:777C 4C 16 F9 ; ----------------------------------------------------------------------------- ; Routine: Sub_F77F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F77F: inc $02A0 ; CPU:$F77F PRG:777F EE A0 02 lda Zp23 ; CPU:$F782 PRG:7782 A5 23 sta $02A3 ; CPU:$F784 PRG:7784 8D A3 02 inc $02A3 ; CPU:$F787 PRG:7787 EE A3 02 clc ; CPU:$F78A PRG:778A 18 adc #$04 ; CPU:$F78B PRG:778B 69 04 sta $02A1 ; CPU:$F78D PRG:778D 8D A1 02 lda Zp24 ; CPU:$F790 PRG:7790 A5 24 sta $02A2 ; CPU:$F792 PRG:7792 8D A2 02 sec ; CPU:$F795 PRG:7795 38 sbc #$3F ; CPU:$F796 PRG:7796 E9 3F sta $02A4 ; CPU:$F798 PRG:7798 8D A4 02 inc $060F ; CPU:$F79B PRG:779B EE 0F 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_F79E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F79E: lda #$0A ; CPU:$F79E PRG:779E A9 0A jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F7A0 PRG:77A0 20 16 F9 ldy #$16 ; CPU:$F7A3 PRG:77A3 A0 16 lda $02A3 ; CPU:$F7A5 PRG:77A5 AD A3 02 sta ObjectXLo ; CPU:$F7A8 PRG:77A8 85 37 lda $02A4 ; CPU:$F7AA PRG:77AA AD A4 02 sta ObjectXHi ; CPU:$F7AD PRG:77AD 85 38 clc ; CPU:$F7AF PRG:77AF 18 adc Zp25 ; CPU:$F7B0 PRG:77B0 65 25 sta $02A4 ; CPU:$F7B2 PRG:77B2 8D A4 02 jsr DispatchLdaStoreLdaStoreLdyLda ; CPU:$F7B5 PRG:77B5 20 20 F9 ldy $02A0 ; CPU:$F7B8 PRG:77B8 AC A0 02 lda $02A2 ; CPU:$F7BB PRG:77BB AD A2 02 sta $0700,x ; CPU:$F7BE PRG:77BE 9D 00 07 clc ; CPU:$F7C1 PRG:77C1 18 adc Zp25 ; CPU:$F7C2 PRG:77C2 65 25 sec ; CPU:$F7C4 PRG:77C4 38 sbc $F976,y ; CPU:$F7C5 PRG:77C5 F9 76 F9 sta $02A2 ; CPU:$F7C8 PRG:77C8 8D A2 02 inx ; CPU:$F7CB PRG:77CB E8 lda $F956,y ; CPU:$F7CC PRG:77CC B9 56 F9 sta $0700,x ; CPU:$F7CF PRG:77CF 9D 00 07 inx ; CPU:$F7D2 PRG:77D2 E8 lda GameSubMode ; CPU:$F7D3 PRG:77D3 A5 1B and #$01 ; CPU:$F7D5 PRG:77D5 29 01 ora #$02 ; CPU:$F7D7 PRG:77D7 09 02 sta $0700,x ; CPU:$F7D9 PRG:77D9 9D 00 07 inx ; CPU:$F7DC PRG:77DC E8 lda $02A1 ; CPU:$F7DD PRG:77DD AD A1 02 sta $0700,x ; CPU:$F7E0 PRG:77E0 9D 00 07 inx ; CPU:$F7E3 PRG:77E3 E8 inc $02A0 ; CPU:$F7E4 PRG:77E4 EE A0 02 lda $02A0 ; CPU:$F7E7 PRG:77E7 AD A0 02 cmp #$21 ; CPU:$F7EA PRG:77EA C9 21 bne Sub_F7F3 ; CPU:$F7EC PRG:77EC D0 05 lda #$00 ; CPU:$F7EE PRG:77EE A9 00 sta $02A0 ; CPU:$F7F0 PRG:77F0 8D A0 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F7F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F7F3: rts ; CPU:$F7F3 PRG:77F3 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyLdaAndBneLdaStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyLdaAndBneLdaStore: ldy #$00 ; CPU:$F7F4 PRG:77F4 A0 00 lda Zp59 ; CPU:$F7F6 PRG:77F6 A5 59 and #$02 ; CPU:$F7F8 PRG:77F8 29 02 bne Sub_F804 ; CPU:$F7FA PRG:77FA D0 08 lda #$FE ; CPU:$F7FC PRG:77FC A9 FE sta $02A5 ; CPU:$F7FE PRG:77FE 8D A5 02 jmp DispatchLdyJsrLdyJsrLdyLda ; CPU:$F801 PRG:7801 4C 35 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F804 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F804: inc $02A5 ; CPU:$F804 PRG:7804 EE A5 02 bne DispatchLdyJsrLdyJsrLdyLda ; CPU:$F807 PRG:7807 D0 2C lda #$F0 ; CPU:$F809 PRG:7809 A9 F0 clc ; CPU:$F80B PRG:780B 18 adc Zp60 ; CPU:$F80C PRG:780C 65 60 sta $02A5 ; CPU:$F80E PRG:780E 8D A5 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F811 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F811: lda $02A6,y ; CPU:$F811 PRG:7811 B9 A6 02 beq Sub_F820 ; CPU:$F814 PRG:7814 F0 0A iny ; CPU:$F816 PRG:7816 C8 iny ; CPU:$F817 PRG:7817 C8 iny ; CPU:$F818 PRG:7818 C8 cpy #$09 ; CPU:$F819 PRG:7819 C0 09 bne Sub_F811 ; CPU:$F81B PRG:781B D0 F4 jmp DispatchLdyJsrLdyJsrLdyLda ; CPU:$F81D PRG:781D 4C 35 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F820 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F820: lda #$FF ; CPU:$F820 PRG:7820 A9 FF sta $02A6,y ; CPU:$F822 PRG:7822 99 A6 02 lda Zp23 ; CPU:$F825 PRG:7825 A5 23 sta $02A7,y ; CPU:$F827 PRG:7827 99 A7 02 lda Zp24 ; CPU:$F82A PRG:782A A5 24 clc ; CPU:$F82C PRG:782C 18 adc #$0A ; CPU:$F82D PRG:782D 69 0A sta $02A8,y ; CPU:$F82F PRG:782F 99 A8 02 inc $060E ; CPU:$F832 PRG:7832 EE 0E 06 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdyJsrLdyJsrLdyLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdyJsrLdyJsrLdyLda: ldy #$00 ; CPU:$F835 PRG:7835 A0 00 jsr DispatchLdaBmiBeqLdaStoreLda2 ; CPU:$F837 PRG:7837 20 41 F8 ldy #$03 ; CPU:$F83A PRG:783A A0 03 jsr DispatchLdaBmiBeqLdaStoreLda2 ; CPU:$F83C PRG:783C 20 41 F8 ldy #$06 ; CPU:$F83F PRG:783F A0 06 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBmiBeqLdaStoreLda2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBmiBeqLdaStoreLda2: lda $02A6,y ; CPU:$F841 PRG:7841 B9 A6 02 bmi Sub_F85D ; CPU:$F844 PRG:7844 30 17 beq Sub_F85C ; CPU:$F846 PRG:7846 F0 14 lda #$00 ; CPU:$F848 PRG:7848 A9 00 sta $02A6,y ; CPU:$F84A PRG:784A 99 A6 02 lda $02A7,y ; CPU:$F84D PRG:784D B9 A7 02 sta ObjectXLo ; CPU:$F850 PRG:7850 85 37 lda $02A8,y ; CPU:$F852 PRG:7852 B9 A8 02 sta ObjectXHi ; CPU:$F855 PRG:7855 85 38 ldy #$20 ; CPU:$F857 PRG:7857 A0 20 jsr DispatchLdaStoreLdaStoreLdyLda ; CPU:$F859 PRG:7859 20 20 F9 ; ----------------------------------------------------------------------------- ; Routine: Sub_F85C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F85C: rts ; CPU:$F85C PRG:785C 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_F85D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F85D: lda $02A7,y ; CPU:$F85D PRG:785D B9 A7 02 sta ObjectXLo ; CPU:$F860 PRG:7860 85 37 lda $02A8,y ; CPU:$F862 PRG:7862 B9 A8 02 sta ObjectXHi ; CPU:$F865 PRG:7865 85 38 clc ; CPU:$F867 PRG:7867 18 adc Zp28 ; CPU:$F868 PRG:7868 65 28 bcs Sub_F871 ; CPU:$F86A PRG:786A B0 05 lda #$00 ; CPU:$F86C PRG:786C A9 00 sta $02A6,y ; CPU:$F86E PRG:786E 99 A6 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_F871 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F871: sta $02A8,y ; CPU:$F871 PRG:7871 99 A8 02 lda GameSubMode ; CPU:$F874 PRG:7874 A5 1B and #$03 ; CPU:$F876 PRG:7876 29 03 ora #$0C ; CPU:$F878 PRG:7878 09 0C asl a ; CPU:$F87A PRG:787A 0A tay ; CPU:$F87B PRG:787B A8 jmp DispatchLdaStoreLdaStoreLdyLda ; CPU:$F87C PRG:787C 4C 20 F9 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdxLdaTayLdaStoreTya ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdxLdaTayLdaStoreTya: ldx #$19 ; CPU:$F87F PRG:787F A2 19 ; ----------------------------------------------------------------------------- ; Routine: Sub_F881 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F881: lda Zp80,x ; CPU:$F881 PRG:7881 B5 80 tay ; CPU:$F883 PRG:7883 A8 lda Zp9A,x ; CPU:$F884 PRG:7884 B5 9A sta Zp80,x ; CPU:$F886 PRG:7886 95 80 tya ; CPU:$F888 PRG:7888 98 sta Zp9A,x ; CPU:$F889 PRG:7889 95 9A dex ; CPU:$F88B PRG:788B CA bpl Sub_F881 ; CPU:$F88C PRG:788C 10 F3 rts ; CPU:$F88E PRG:788E 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchLsrsLsrsLsrsAndTayLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLsrsLsrsLsrsAndTayLda: lsr a ; CPU:$F88F PRG:788F 4A lsr a ; CPU:$F890 PRG:7890 4A lsr a ; CPU:$F891 PRG:7891 4A and #$1E ; CPU:$F892 PRG:7892 29 1E tay ; CPU:$F894 PRG:7894 A8 lda $F89F,y ; CPU:$F895 PRG:7895 B9 9F F8 pha ; CPU:$F898 PRG:7898 48 lda $F89E,y ; CPU:$F899 PRG:7899 B9 9E F8 pha ; CPU:$F89C PRG:789C 48 rts ; CPU:$F89D PRG:789D 60 HandlerPtrTable: ; 16 x 16-bit handler pointers called through pha/pha/rts; each stored value is the ; target address minus one, because RTS adds one to the popped address. ; referenced by `lda $F89F,y` at $F895 (operand $F89F falls inside this region) ; referenced by `lda $F89E,y` at $F899 (operand $F89E falls inside this region) ; ---- data $F89E-$F8BD (32 bytes) ---- .byte $DC, $F8, $C0, $F8, $D0, $F8, $DC, $F8, $DD, $F8, $BD, $F8, $E9, $F8, $DC, $F8 ; CPU:$F89E PRG:789E DC F8 C0 F8 D0 F8 DC F8 DD F8 BD F8 E9 F8 DC F8 .byte $F9, $F8, $05, $F9, $CD, $F8, $DC, $F8, $DC, $F8, $DC, $F8, $DC, $F8, $DC, $F8 ; CPU:$F8AE PRG:78AE F9 F8 05 F9 CD F8 DC F8 DC F8 DC F8 DC F8 DC F8 jsr Sub_F8ED ; CPU:$F8BE PRG:78BE 20 ED F8 Sub_F8C1: dec Zp24 ; CPU:$F8C1 PRG:78C1 C6 24 lda Zp24 ; CPU:$F8C3 PRG:78C3 A5 24 cmp #$50 ; CPU:$F8C5 PRG:78C5 C9 50 bcs Sub_F8DD ; CPU:$F8C7 PRG:78C7 B0 14 lda #$50 ; CPU:$F8C9 PRG:78C9 A9 50 sta Zp24 ; CPU:$F8CB PRG:78CB 85 24 rts ; CPU:$F8CD PRG:78CD 60 jsr Sub_F909 ; CPU:$F8CE PRG:78CE 20 09 F9 Sub_F8D1: inc Zp24 ; CPU:$F8D1 PRG:78D1 E6 24 lda Zp24 ; CPU:$F8D3 PRG:78D3 A5 24 cmp #$D8 ; CPU:$F8D5 PRG:78D5 C9 D8 bcc Sub_F8DD ; CPU:$F8D7 PRG:78D7 90 04 lda #$D8 ; CPU:$F8D9 PRG:78D9 A9 D8 sta Zp24 ; CPU:$F8DB PRG:78DB 85 24 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8DD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F8DD: rts ; CPU:$F8DD PRG:78DD 60 lda GameSubMode ; CPU:$F8DE PRG:78DE A5 1B and #$01 ; CPU:$F8E0 PRG:78E0 29 01 bne Sub_F8ED ; CPU:$F8E2 PRG:78E2 D0 09 jsr Sub_F8ED ; CPU:$F8E4 PRG:78E4 20 ED F8 jmp Sub_F8ED ; CPU:$F8E7 PRG:78E7 4C ED F8 jsr Sub_F8D1 ; CPU:$F8EA PRG:78EA 20 D1 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F8ED ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F8ED: dec Zp23 ; CPU:$F8ED PRG:78ED C6 23 lda Zp23 ; CPU:$F8EF PRG:78EF A5 23 cmp #$04 ; CPU:$F8F1 PRG:78F1 C9 04 bcs Sub_F8DD ; CPU:$F8F3 PRG:78F3 B0 E8 ; ---- data $F8F5-$F8F9 (5 bytes) ---- .byte $A9, $04, $85, $23, $60 ; CPU:$F8F5 PRG:78F5 A9 04 85 23 60 lda GameSubMode ; CPU:$F8FA PRG:78FA A5 1B and #$01 ; CPU:$F8FC PRG:78FC 29 01 bne Sub_F909 ; CPU:$F8FE PRG:78FE D0 09 jsr Sub_F909 ; CPU:$F900 PRG:7900 20 09 F9 jmp Sub_F909 ; CPU:$F903 PRG:7903 4C 09 F9 jsr Sub_F8C1 ; CPU:$F906 PRG:7906 20 C1 F8 ; ----------------------------------------------------------------------------- ; Routine: Sub_F909 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F909: inc Zp23 ; CPU:$F909 PRG:7909 E6 23 lda Zp23 ; CPU:$F90B PRG:790B A5 23 cmp #$EC ; CPU:$F90D PRG:790D C9 EC bcc Sub_F8DD ; CPU:$F90F PRG:790F 90 CC ; ---- data $F911-$F915 (5 bytes) ---- .byte $A9, $EC, $85, $23, $60 ; CPU:$F911 PRG:7911 A9 EC 85 23 60 ; ----------------------------------------------------------------------------- ; Routine: DispatchAslTayLdaStoreLdaStore2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchAslTayLdaStoreLdaStore2: asl a ; CPU:$F916 PRG:7916 0A tay ; CPU:$F917 PRG:7917 A8 lda Zp23 ; CPU:$F918 PRG:7918 A5 23 sta ObjectXLo ; CPU:$F91A PRG:791A 85 37 lda Zp24 ; CPU:$F91C PRG:791C A5 24 sta ObjectXHi ; CPU:$F91E PRG:791E 85 38 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaStoreLdaStoreLdyLda ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaStoreLdaStoreLdyLda: lda $F997,y ; CPU:$F920 PRG:7920 B9 97 F9 sta VramPtrLo ; CPU:$F923 PRG:7923 85 04 lda $F998,y ; CPU:$F925 PRG:7925 B9 98 F9 sta VramCopyCount ; CPU:$F928 PRG:7928 85 05 ldy #$00 ; CPU:$F92A PRG:792A A0 00 lda (VramPtrLo),y ; CPU:$F92C PRG:792C B1 04 sta ObjUpdateFlag ; CPU:$F92E PRG:792E 85 0E ; ----------------------------------------------------------------------------- ; Routine: Sub_F930 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_F930: iny ; CPU:$F930 PRG:7930 C8 lda (VramPtrLo),y ; CPU:$F931 PRG:7931 B1 04 clc ; CPU:$F933 PRG:7933 18 adc ObjectXHi ; CPU:$F934 PRG:7934 65 38 sta $0700,x ; CPU:$F936 PRG:7936 9D 00 07 inx ; CPU:$F939 PRG:7939 E8 iny ; CPU:$F93A PRG:793A C8 lda (VramPtrLo),y ; CPU:$F93B PRG:793B B1 04 sta $0700,x ; CPU:$F93D PRG:793D 9D 00 07 inx ; CPU:$F940 PRG:7940 E8 iny ; CPU:$F941 PRG:7941 C8 lda (VramPtrLo),y ; CPU:$F942 PRG:7942 B1 04 sta $0700,x ; CPU:$F944 PRG:7944 9D 00 07 inx ; CPU:$F947 PRG:7947 E8 iny ; CPU:$F948 PRG:7948 C8 lda (VramPtrLo),y ; CPU:$F949 PRG:7949 B1 04 clc ; CPU:$F94B PRG:794B 18 adc ObjectXLo ; CPU:$F94C PRG:794C 65 37 sta $0700,x ; CPU:$F94E PRG:794E 9D 00 07 inx ; CPU:$F951 PRG:7951 E8 dec ObjUpdateFlag ; CPU:$F952 PRG:7952 C6 0E bne Sub_F930 ; CPU:$F954 PRG:7954 D0 DA rts ; CPU:$F956 PRG:7956 60 ; ---- data $F957-$F976 (32 bytes) ---- ; referenced by `sbc $F976,y` at $F7C5 (operand $F976 falls inside this region) ; 32 speed bytes indexed by object number through the base $F956 (index 1 -> $F957); ; read by lda $F956,y at $F7CC and stored to $0700,x. ObjSpeedTable: .byte $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D1, $D1, $D1, $D1, $D1, $D1 ; CPU:$F957 PRG:7957 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D1 D1 D1 D1 D1 D1 .byte $DF, $DF, $DF, $DF, $DF, $DE, $DE, $DE, $DE, $DE, $D3, $D3, $D3, $D3, $D2, $D2 ; CPU:$F967 PRG:7967 DF DF DF DF DF DE DE DE DE DE D3 D3 D3 D3 D2 D2 ; ---- data $F977-$F996 (32 bytes) ---- ; 32 speed bytes indexed through the base $F976 (index 1 -> $F977); subtracted ; from $02A2 by sbc $F976,y at $F7C5. ObjSpeedTable2: .byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $02 ; CPU:$F977 PRG:7977 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 .byte $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $04, $04, $04, $04 ; CPU:$F987 PRG:7987 02 02 02 02 02 02 03 03 03 03 03 03 04 04 04 04 ; ---- data $F997-$F9BC (38 bytes) ---- ; referenced by `lda $F997,y` at $F920 (operand $F997 falls inside this region) ; referenced by `lda $F998,y` at $F925 (operand $F998 falls inside this region) ; 19 x 16-bit pointers to the records at $F9BD-$FAF5 (read by lda $F997,y / ; lda $F998,y at $F920 / $F925). SpriteLayoutPtrTable: .byte $BD, $F9, $DE, $F9, $EF, $F9, $00, $FA, $29, $FA, $EF, $F9, $DE, $F9, $6A, $FA ; CPU:$F997 PRG:7997 BD F9 DE F9 EF F9 00 FA 29 FA EF F9 DE F9 6A FA .byte $7B, $FA, $8C, $FA, $9D, $FA, $A6, $FA, $AF, $FA, $B8, $FA, $C1, $FA, $CA, $FA ; CPU:$F9A7 PRG:79A7 7B FA 8C FA 9D FA A6 FA AF FA B8 FA C1 FA CA FA .byte $D3, $FA, $DC, $FA, $E9, $FA ; CPU:$F9B7 PRG:79B7 D3 FA DC FA E9 FA ; ---- data $F9BD-$FAF5 (313 bytes) ---- ; Sprite layout records: 4-byte entries (x offset, y offset, tile index, attribute). SpriteLayoutData: .byte $08, $00, $37, $03, $00, $00, $39, $03, $08, $08, $5E, $03, $00, $08, $3B, $03 ; CPU:$F9BD PRG:79BD 08 00 37 03 00 00 39 03 08 08 5E 03 00 08 3B 03 .byte $08, $00, $2A, $82, $00, $00, $2B, $82, $08, $08, $28, $82, $00, $08, $29, $82 ; CPU:$F9CD PRG:79CD 08 00 2A 82 00 00 2B 82 08 08 28 82 00 08 29 82 .byte $08, $04, $00, $39, $43, $00, $00, $37, $43, $08, $08, $3B, $43, $00, $08, $39 ; CPU:$F9DD PRG:79DD 08 04 00 39 43 00 00 37 43 08 08 3B 43 00 08 39 .byte $83, $08, $04, $00, $68, $03, $00, $00, $3B, $83, $08, $08, $37, $83, $00, $08 ; CPU:$F9ED PRG:79ED 83 08 04 00 68 03 00 00 3B 83 08 08 37 83 00 08 .byte $68, $C3, $08, $0A, $00, $FC, $03, $00, $F8, $C8, $03, $08, $F8, $C9, $03, $10 ; CPU:$F9FD PRG:79FD 68 C3 08 0A 00 FC 03 00 F8 C8 03 08 F8 C9 03 10 .byte $00, $CA, $03, $08, $00, $CB, $03, $10, $08, $CB, $C3, $F8, $08, $CA, $C3, $00 ; CPU:$FA0D PRG:7A0D 00 CA 03 08 00 CB 03 10 08 CB C3 F8 08 CA C3 00 .byte $08, $FC, $C3, $08, $10, $C9, $C3, $F8, $10, $C8, $C3, $00, $10, $F8, $C9, $43 ; CPU:$FA1D PRG:7A1D 08 FC C3 08 10 C9 C3 F8 10 C8 C3 00 10 F8 C9 43 .byte $F8, $F8, $C8, $43, $00, $F8, $C8, $03, $08, $F8, $C9, $03, $10, $00, $CB, $43 ; CPU:$FA2D PRG:7A2D F8 F8 C8 43 00 F8 C8 03 08 F8 C9 03 10 00 CB 43 .byte $F8, $00, $CA, $43, $00, $00, $CA, $03, $08, $00, $CB, $03, $10, $08, $CB, $C3 ; CPU:$FA3D PRG:7A3D F8 00 CA 43 00 00 CA 03 08 00 CB 03 10 08 CB C3 .byte $F8, $08, $CA, $C3, $00, $08, $CA, $83, $08, $08, $CB, $83, $10, $10, $C9, $C3 ; CPU:$FA4D PRG:7A4D F8 08 CA C3 00 08 CA 83 08 08 CB 83 10 10 C9 C3 .byte $F8, $10, $C8, $C3, $00, $10, $C8, $83, $08, $10, $C9, $83, $10, $04, $00, $28 ; CPU:$FA5D PRG:7A5D F8 10 C8 C3 00 10 C8 83 08 10 C9 83 10 04 00 28 .byte $02, $00, $00, $29, $02, $08, $08, $2A, $02, $00, $08, $2B, $02, $08, $04, $C0 ; CPU:$FA6D PRG:7A6D 02 00 00 29 02 08 08 2A 02 00 08 2B 02 08 04 C0 .byte $2C, $02, $00, $C0, $2C, $42, $08, $C8, $2C, $82, $00, $C8, $2C, $C2, $08, $04 ; CPU:$FA7D PRG:7A7D 2C 02 00 C0 2C 42 08 C8 2C 82 00 C8 2C C2 08 04 .byte $C0, $2F, $02, $00, $C0, $2F, $42, $08, $C8, $2F, $82, $00, $C8, $2F, $C2, $08 ; CPU:$FA8D PRG:7A8D C0 2F 02 00 C0 2F 42 08 C8 2F 82 00 C8 2F C2 08 .byte $02, $C1, $2D, $02, $01, $C7, $2D, $C2, $07, $02, $00, $2E, $03, $00, $06, $2E ; CPU:$FA9D PRG:7A9D 02 C1 2D 02 01 C7 2D C2 07 02 00 2E 03 00 06 2E .byte $C3, $06, $02, $00, $DE, $02, $00, $00, $DF, $03, $08, $02, $00, $DE, $03, $00 ; CPU:$FAAD PRG:7AAD C3 06 02 00 DE 02 00 00 DF 03 08 02 00 DE 03 00 .byte $00, $DF, $02, $08, $02, $00, $DF, $02, $00, $00, $DE, $03, $08, $02, $00, $DF ; CPU:$FABD PRG:7ABD 00 DF 02 08 02 00 DF 02 00 00 DE 03 08 02 00 DF .byte $03, $00, $00, $DE, $02, $08, $02, $00, $7B, $01, $00, $00, $7B, $01, $08, $03 ; CPU:$FACD PRG:7ACD 03 00 00 DE 02 08 02 00 7B 01 00 00 7B 01 08 03 .byte $10, $01, $02, $18, $10, $1E, $02, $20, $10, $19, $02, $28, $03, $10, $02, $02 ; CPU:$FADD PRG:7ADD 10 01 02 18 10 1E 02 20 10 19 02 28 03 10 02 02 .byte $A8, $10, $1E, $02, $B0, $10, $19, $02, $B8 ; CPU:$FAED PRG:7AED A8 10 1E 02 B0 10 19 02 B8 ; ----------------------------------------------------------------------------- ; Routine: Reset ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Reset: sei ; CPU:$FAF6 PRG:7AF6 78 cld ; CPU:$FAF7 PRG:7AF7 D8 ldx #$FF ; CPU:$FAF8 PRG:7AF8 A2 FF txs ; CPU:$FAFA PRG:7AFA 9A lda #$10 ; CPU:$FAFB PRG:7AFB A9 10 sta PPUCTRL ; CPU:$FAFD PRG:7AFD 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: WaitVblank ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVblank: lda PPUSTATUS ; CPU:$FB00 PRG:7B00 AD 02 20 bpl WaitVblank ; CPU:$FB03 PRG:7B03 10 FB ldx #$07 ; CPU:$FB05 PRG:7B05 A2 07 ; ----------------------------------------------------------------------------- ; Routine: CopyResetVars ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyResetVars: lda Zp4B,x ; CPU:$FB07 PRG:7B07 B5 4B sta $0110,x ; CPU:$FB09 PRG:7B09 9D 10 01 lda Zp80,x ; CPU:$FB0C PRG:7B0C B5 80 sta $0120,x ; CPU:$FB0E PRG:7B0E 9D 20 01 lda Zp9A,x ; CPU:$FB11 PRG:7B11 B5 9A sta $0130,x ; CPU:$FB13 PRG:7B13 9D 30 01 dex ; CPU:$FB16 PRG:7B16 CA bpl CopyResetVars ; CPU:$FB17 PRG:7B17 10 EE lda Zp5E ; CPU:$FB19 PRG:7B19 A5 5E sta $0140 ; CPU:$FB1B PRG:7B1B 8D 40 01 lda ObjIndex ; CPU:$FB1E PRG:7B1E A5 63 sta $0141 ; CPU:$FB20 PRG:7B20 8D 41 01 lda ResetHi ; CPU:$FB23 PRG:7B23 A5 3C sta $0142 ; CPU:$FB25 PRG:7B25 8D 42 01 ldy #$07 ; CPU:$FB28 PRG:7B28 A0 07 sty VramCopyCount ; CPU:$FB2A PRG:7B2A 84 05 ldy #$00 ; CPU:$FB2C PRG:7B2C A0 00 sty VramPtrLo ; CPU:$FB2E PRG:7B2E 84 04 ; ----------------------------------------------------------------------------- ; Routine: ClearVramByte ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearVramByte: lda #$00 ; CPU:$FB30 PRG:7B30 A9 00 ; ----------------------------------------------------------------------------- ; Routine: ClearVramLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearVramLoop: sta (VramPtrLo),y ; CPU:$FB32 PRG:7B32 91 04 iny ; CPU:$FB34 PRG:7B34 C8 bne ClearVramLoop ; CPU:$FB35 PRG:7B35 D0 FB ; ----------------------------------------------------------------------------- ; Routine: VramClearLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- VramClearLoop: dec VramCopyCount ; CPU:$FB37 PRG:7B37 C6 05 lda VramCopyCount ; CPU:$FB39 PRG:7B39 A5 05 cmp #$01 ; CPU:$FB3B PRG:7B3B C9 01 beq VramClearLoop ; CPU:$FB3D PRG:7B3D F0 F8 lda VramCopyCount ; CPU:$FB3F PRG:7B3F A5 05 bpl ClearVramByte ; CPU:$FB41 PRG:7B41 10 ED jsr SetOamPtrs ; CPU:$FB43 PRG:7B43 20 AB B8 lda #$06 ; CPU:$FB46 PRG:7B46 A9 06 sta PPUMASK ; CPU:$FB48 PRG:7B48 8D 01 20 lda #$1E ; CPU:$FB4B PRG:7B4B A9 1E sta PPUMASKShadow ; CPU:$FB4D PRG:7B4D 85 01 lda #$10 ; CPU:$FB4F PRG:7B4F A9 10 sta PPUCTRL ; CPU:$FB51 PRG:7B51 8D 00 20 sta PPUCTRLShadow ; CPU:$FB54 PRG:7B54 85 00 lda #$00 ; CPU:$FB56 PRG:7B56 A9 00 sta PPUSCROLL ; CPU:$FB58 PRG:7B58 8D 05 20 sta ScrollX ; CPU:$FB5B PRG:7B5B 85 02 sta PPUSCROLL ; CPU:$FB5D PRG:7B5D 8D 05 20 sta ScrollY ; CPU:$FB60 PRG:7B60 85 03 lda #$00 ; CPU:$FB62 PRG:7B62 A9 00 sta PPUMASK ; CPU:$FB64 PRG:7B64 8D 01 20 lda PPUSTATUS ; CPU:$FB67 PRG:7B67 AD 02 20 lda #$3F ; CPU:$FB6A PRG:7B6A A9 3F sta PPUADDR ; CPU:$FB6C PRG:7B6C 8D 06 20 lda #$00 ; CPU:$FB6F PRG:7B6F A9 00 sta PPUADDR ; CPU:$FB71 PRG:7B71 8D 06 20 ldy #$00 ; CPU:$FB74 PRG:7B74 A0 00 ; ----------------------------------------------------------------------------- ; Routine: CopyPaletteToOam ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyPaletteToOam: lda PaletteData,y ; CPU:$FB76 PRG:7B76 B9 E6 FE sta $0280,y ; CPU:$FB79 PRG:7B79 99 80 02 sta PPUDATA ; CPU:$FB7C PRG:7B7C 8D 07 20 iny ; CPU:$FB7F PRG:7B7F C8 cpy #$20 ; CPU:$FB80 PRG:7B80 C0 20 bne CopyPaletteToOam ; CPU:$FB82 PRG:7B82 D0 F2 lda #$F8 ; CPU:$FB84 PRG:7B84 A9 F8 sta Zp28 ; CPU:$FB86 PRG:7B86 85 28 lda #$08 ; CPU:$FB88 PRG:7B88 A9 08 sta Zp27 ; CPU:$FB8A PRG:7B8A 85 27 sta SpriteAttr ; CPU:$FB8C PRG:7B8C 85 E8 lda #$02 ; CPU:$FB8E PRG:7B8E A9 02 sta Zp4E ; CPU:$FB90 PRG:7B90 85 4E inc Zp5E ; CPU:$FB92 PRG:7B92 E6 5E ldx #$08 ; CPU:$FB94 PRG:7B94 A2 08 ; ----------------------------------------------------------------------------- ; Routine: CompareResetVars ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CompareResetVars: lda $0100,x ; CPU:$FB96 PRG:7B96 BD 00 01 cmp $FC45,x ; CPU:$FB99 PRG:7B99 DD 45 FC bne CopyResetLoop ; CPU:$FB9C PRG:7B9C D0 26 dex ; CPU:$FB9E PRG:7B9E CA bpl CompareResetVars ; CPU:$FB9F PRG:7B9F 10 F5 ldx #$07 ; CPU:$FBA1 PRG:7BA1 A2 07 ; ----------------------------------------------------------------------------- ; Routine: CopyResetVars2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyResetVars2: lda $0110,x ; CPU:$FBA3 PRG:7BA3 BD 10 01 sta Zp4B,x ; CPU:$FBA6 PRG:7BA6 95 4B lda $0120,x ; CPU:$FBA8 PRG:7BA8 BD 20 01 sta Zp80,x ; CPU:$FBAB PRG:7BAB 95 80 lda $0130,x ; CPU:$FBAD PRG:7BAD BD 30 01 sta Zp9A,x ; CPU:$FBB0 PRG:7BB0 95 9A dex ; CPU:$FBB2 PRG:7BB2 CA bpl CopyResetVars2 ; CPU:$FBB3 PRG:7BB3 10 EE lda $0140 ; CPU:$FBB5 PRG:7BB5 AD 40 01 sta Zp5E ; CPU:$FBB8 PRG:7BB8 85 5E lda $0141 ; CPU:$FBBA PRG:7BBA AD 41 01 sta ObjIndex ; CPU:$FBBD PRG:7BBD 85 63 lda $0142 ; CPU:$FBBF PRG:7BBF AD 42 01 sta ResetHi ; CPU:$FBC2 PRG:7BC2 85 3C ; ----------------------------------------------------------------------------- ; Routine: CopyResetLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyResetLoop: ldx #$08 ; CPU:$FBC4 PRG:7BC4 A2 08 ; ----------------------------------------------------------------------------- ; Routine: CopyResetByte ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyResetByte: lda $FC45,x ; CPU:$FBC6 PRG:7BC6 BD 45 FC sta $0100,x ; CPU:$FBC9 PRG:7BC9 9D 00 01 dex ; CPU:$FBCC PRG:7BCC CA bpl CopyResetByte ; CPU:$FBCD PRG:7BCD 10 F7 lda ObjIndex ; CPU:$FBCF PRG:7BCF A5 63 and #$80 ; CPU:$FBD1 PRG:7BD1 29 80 eor #$80 ; CPU:$FBD3 PRG:7BD3 49 80 sta ZpEE ; CPU:$FBD5 PRG:7BD5 85 EE lda ObjIndex ; CPU:$FBD7 PRG:7BD7 A5 63 lsr a ; CPU:$FBD9 PRG:7BD9 4A lsr a ; CPU:$FBDA PRG:7BDA 4A and #$1C ; CPU:$FBDB PRG:7BDB 29 1C tax ; CPU:$FBDD PRG:7BDD AA lda $FC25,x ; CPU:$FBDE PRG:7BDE BD 25 FC sta Zp53 ; CPU:$FBE1 PRG:7BE1 85 53 lda $FC26,x ; CPU:$FBE3 PRG:7BE3 BD 26 FC sta Zp54 ; CPU:$FBE6 PRG:7BE6 85 54 lda $FC27,x ; CPU:$FBE8 PRG:7BE8 BD 27 FC sta Zp55 ; CPU:$FBEB PRG:7BEB 85 55 lda $FC28,x ; CPU:$FBED PRG:7BED BD 28 FC sta Zp56 ; CPU:$FBF0 PRG:7BF0 85 56 lda ObjIndex ; CPU:$FBF2 PRG:7BF2 A5 63 and #$03 ; CPU:$FBF4 PRG:7BF4 29 03 tax ; CPU:$FBF6 PRG:7BF6 AA lda $FC21,x ; CPU:$FBF7 PRG:7BF7 BD 21 FC sta Zp5F ; CPU:$FBFA PRG:7BFA 85 5F lda ObjIndex ; CPU:$FBFC PRG:7BFC A5 63 lsr a ; CPU:$FBFE PRG:7BFE 4A lsr a ; CPU:$FBFF PRG:7BFF 4A and #$03 ; CPU:$FC00 PRG:7C00 29 03 tax ; CPU:$FC02 PRG:7C02 AA lda $FC19,x ; CPU:$FC03 PRG:7C03 BD 19 FC sta Zp40 ; CPU:$FC06 PRG:7C06 85 40 lda $FC1D,x ; CPU:$FC08 PRG:7C08 BD 1D FC sta Zp66 ; CPU:$FC0B PRG:7C0B 85 66 lda PPUCTRLShadow ; CPU:$FC0D PRG:7C0D A5 00 ora #$80 ; CPU:$FC0F PRG:7C0F 09 80 sta PPUCTRLShadow ; CPU:$FC11 PRG:7C11 85 00 sta PPUCTRL ; CPU:$FC13 PRG:7C13 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: NmiSpinLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiSpinLoop: jmp NmiSpinLoop ; CPU:$FC16 PRG:7C16 4C 16 FC ; ---- data $FC19-$FC4D (53 bytes) ---- ResetVarTable: ; referenced by `cmp $FC45,x` at $FB99 (operand $FC45 falls inside this region) ; referenced by `lda $FC45,x` at $FBC6 (operand $FC45 falls inside this region) ; referenced by `lda $FC25,x` at $FBDE (operand $FC25 falls inside this region) ; referenced by `lda $FC26,x` at $FBE3 (operand $FC26 falls inside this region) ; referenced by `lda $FC27,x` at $FBE8 (operand $FC27 falls inside this region) ; referenced by `lda $FC28,x` at $FBED (operand $FC28 falls inside this region) ; ... and 3 further references from decoded code .byte $01, $FF, $05, $09, $10, $18, $08, $00, $03, $01, $02, $05, $00, $02, $00, $06 ; CPU:$FC19 PRG:7C19 01 FF 05 09 10 18 08 00 03 01 02 05 00 02 00 06 .byte $00, $02, $00, $05, $00, $02, $00, $08, $00, $03, $00, $08, $00, $03, $01, $02 ; CPU:$FC29 PRG:7C29 00 02 00 05 00 02 00 08 00 03 00 08 00 03 01 02 .byte $00, $04, $00, $08, $00, $04, $01, $00, $00, $05, $01, $05, $4B, $65, $69, $20 ; CPU:$FC39 PRG:7C39 00 04 00 08 00 04 01 00 00 05 01 05 4B 65 69 20 .byte $43, $72, $6F, $73, $73 ; CPU:$FC49 PRG:7C49 43 72 6F 73 73 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiHandler: lda PPUCTRLShadow ; CPU:$FC4E PRG:7C4E A5 00 eor NmiToggle ; CPU:$FC50 PRG:7C50 45 0F and #$7F ; CPU:$FC52 PRG:7C52 29 7F sta PPUCTRL ; CPU:$FC54 PRG:7C54 8D 00 20 sta PPUCTRLShadow ; CPU:$FC57 PRG:7C57 85 00 lda #$00 ; CPU:$FC59 PRG:7C59 A9 00 sta OAMADDR ; CPU:$FC5B PRG:7C5B 8D 03 20 lda #$07 ; CPU:$FC5E PRG:7C5E A9 07 sta OAMDMA ; CPU:$FC60 PRG:7C60 8D 14 40 lda #$00 ; CPU:$FC63 PRG:7C63 A9 00 sta PPUMASK ; CPU:$FC65 PRG:7C65 8D 01 20 jsr NmiOamDmaCopy ; CPU:$FC68 PRG:7C68 20 0A FE lda #$3F ; CPU:$FC6B PRG:7C6B A9 3F sta PPUADDR ; CPU:$FC6D PRG:7C6D 8D 06 20 lda #$00 ; CPU:$FC70 PRG:7C70 A9 00 sta PPUADDR ; CPU:$FC72 PRG:7C72 8D 06 20 sta PPUADDR ; CPU:$FC75 PRG:7C75 8D 06 20 sta PPUADDR ; CPU:$FC78 PRG:7C78 8D 06 20 lda PPUSTATUS ; CPU:$FC7B PRG:7C7B AD 02 20 lda ScrollX ; CPU:$FC7E PRG:7C7E A5 02 sta PPUSCROLL ; CPU:$FC80 PRG:7C80 8D 05 20 lda ScrollY ; CPU:$FC83 PRG:7C83 A5 03 sta PPUSCROLL ; CPU:$FC85 PRG:7C85 8D 05 20 lda PPUCTRLShadow ; CPU:$FC88 PRG:7C88 A5 00 sta PPUCTRL ; CPU:$FC8A PRG:7C8A 8D 00 20 lda PPUMASKShadow ; CPU:$FC8D PRG:7C8D A5 01 sta PPUMASK ; CPU:$FC8F PRG:7C8F 8D 01 20 lda #$00 ; CPU:$FC92 PRG:7C92 A9 00 sta Zp25 ; CPU:$FC94 PRG:7C94 85 25 sta NmiToggle ; CPU:$FC96 PRG:7C96 85 0F jsr ReadJoypad ; CPU:$FC98 PRG:7C98 20 37 FE lda GameMode ; CPU:$FC9B PRG:7C9B A5 10 bne Sub_FCCA ; CPU:$FC9D PRG:7C9D D0 2B sta FrameToggle ; CPU:$FC9F PRG:7C9F 85 22 lda Joypad2Cur2 ; CPU:$FCA1 PRG:7CA1 A5 0A and #$03 ; CPU:$FCA3 PRG:7CA3 29 03 beq NmiClearOam ; CPU:$FCA5 PRG:7CA5 F0 67 lda NmiFrameFlag ; CPU:$FCA7 PRG:7CA7 A5 0D beq NmiClearOam ; CPU:$FCA9 PRG:7CA9 F0 63 ldy NmiCounter ; CPU:$FCAB PRG:7CAB A4 ED lda $FF06,y ; CPU:$FCAD PRG:7CAD B9 06 FF beq NmiClearOam ; CPU:$FCB0 PRG:7CB0 F0 5C sta SpriteAttr ; CPU:$FCB2 PRG:7CB2 85 E8 cmp NmiFrameFlag ; CPU:$FCB4 PRG:7CB4 C5 0D beq Sub_FCBF ; CPU:$FCB6 PRG:7CB6 F0 07 lda #$00 ; CPU:$FCB8 PRG:7CB8 A9 00 sta NmiCounter ; CPU:$FCBA PRG:7CBA 85 ED jmp NmiClearOam ; CPU:$FCBC PRG:7CBC 4C 0E FD ; ----------------------------------------------------------------------------- ; Routine: Sub_FCBF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FCBF: inc NmiCounter ; CPU:$FCBF PRG:7CBF E6 ED iny ; CPU:$FCC1 PRG:7CC1 C8 lda $FF06,y ; CPU:$FCC2 PRG:7CC2 B9 06 FF sta SpriteAttr ; CPU:$FCC5 PRG:7CC5 85 E8 jmp NmiClearOam ; CPU:$FCC7 PRG:7CC7 4C 0E FD ; ----------------------------------------------------------------------------- ; Routine: Sub_FCCA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FCCA: lda Zp60 ; CPU:$FCCA PRG:7CCA A5 60 beq Sub_FCDC ; CPU:$FCCC PRG:7CCC F0 0E lda Joypad1Press ; CPU:$FCCE PRG:7CCE A5 09 and #$0C ; CPU:$FCD0 PRG:7CD0 29 0C beq Sub_FCDC ; CPU:$FCD2 PRG:7CD2 F0 08 lda #$00 ; CPU:$FCD4 PRG:7CD4 A9 00 sta GameMode ; CPU:$FCD6 PRG:7CD6 85 10 lda #$07 ; CPU:$FCD8 PRG:7CD8 A9 07 sta Zp42 ; CPU:$FCDA PRG:7CDA 85 42 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCDC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FCDC: lda Zp3D ; CPU:$FCDC PRG:7CDC A5 3D ora Zp5A ; CPU:$FCDE PRG:7CDE 05 5A ora Zp3B ; CPU:$FCE0 PRG:7CE0 05 3B bne Sub_FD0A ; CPU:$FCE2 PRG:7CE2 D0 26 lda GameMode ; CPU:$FCE4 PRG:7CE4 A5 10 cmp #$02 ; CPU:$FCE6 PRG:7CE6 C9 02 bne Sub_FD0A ; CPU:$FCE8 PRG:7CE8 D0 20 lda Joypad1Press ; CPU:$FCEA PRG:7CEA A5 09 and #$08 ; CPU:$FCEC PRG:7CEC 29 08 beq Sub_FCFF ; CPU:$FCEE PRG:7CEE F0 0F inc FrameToggle ; CPU:$FCF0 PRG:7CF0 E6 22 jsr ClearOamInit ; CPU:$FCF2 PRG:7CF2 20 D3 B8 lda FrameToggle ; CPU:$FCF5 PRG:7CF5 A5 22 ror a ; CPU:$FCF7 PRG:7CF7 6A bcc Sub_FCFF ; CPU:$FCF8 PRG:7CF8 90 05 lda #$01 ; CPU:$FCFA PRG:7CFA A9 01 sta $0613 ; CPU:$FCFC PRG:7CFC 8D 13 06 ; ----------------------------------------------------------------------------- ; Routine: Sub_FCFF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FCFF: lda FrameToggle ; CPU:$FCFF PRG:7CFF A5 22 ror a ; CPU:$FD01 PRG:7D01 6A bcc NmiClearOam ; CPU:$FD02 PRG:7D02 90 0A jsr JoypadRts ; CPU:$FD04 PRG:7D04 20 B9 FE jmp NmiGameModeCheck ; CPU:$FD07 PRG:7D07 4C 3E FD ; ----------------------------------------------------------------------------- ; Routine: Sub_FD0A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD0A: lda #$00 ; CPU:$FD0A PRG:7D0A A9 00 sta FrameToggle ; CPU:$FD0C PRG:7D0C 85 22 ; ----------------------------------------------------------------------------- ; Routine: NmiClearOam ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiClearOam: ldx #$00 ; CPU:$FD0E PRG:7D0E A2 00 lda #$F0 ; CPU:$FD10 PRG:7D10 A9 F0 ; ----------------------------------------------------------------------------- ; Routine: NmiClearOamLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiClearOamLoop: sta $0700,x ; CPU:$FD12 PRG:7D12 9D 00 07 inx ; CPU:$FD15 PRG:7D15 E8 inx ; CPU:$FD16 PRG:7D16 E8 inx ; CPU:$FD17 PRG:7D17 E8 inx ; CPU:$FD18 PRG:7D18 E8 bne NmiClearOamLoop ; CPU:$FD19 PRG:7D19 D0 F7 jsr InputRead ; CPU:$FD1B PRG:7D1B 20 1D F2 lda GameMode ; CPU:$FD1E PRG:7D1E A5 10 cmp #$02 ; CPU:$FD20 PRG:7D20 C9 02 beq NmiGameMode2Update ; CPU:$FD22 PRG:7D22 F0 0B cmp #$01 ; CPU:$FD24 PRG:7D24 C9 01 bne NmiGameModeCheck ; CPU:$FD26 PRG:7D26 D0 16 lda #$80 ; CPU:$FD28 PRG:7D28 A9 80 sta ObjectDeltaX ; CPU:$FD2A PRG:7D2A 85 2D jmp NmiCallObjMove ; CPU:$FD2C PRG:7D2C 4C 3B FD ; ----------------------------------------------------------------------------- ; Routine: NmiGameMode2Update ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiGameMode2Update: jsr ObjUpdateCall ; CPU:$FD2F PRG:7D2F 20 35 F6 jsr ObjInitCall ; CPU:$FD32 PRG:7D32 20 FE C1 jsr ObjIterLoop ; CPU:$FD35 PRG:7D35 20 4D DF jsr ObjDrawCall ; CPU:$FD38 PRG:7D38 20 C6 C3 ; ----------------------------------------------------------------------------- ; Routine: NmiCallObjMove ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiCallObjMove: jsr ObjMoveCall ; CPU:$FD3B PRG:7D3B 20 67 D1 ; ----------------------------------------------------------------------------- ; Routine: NmiGameModeCheck ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiGameModeCheck: lda GameMode ; CPU:$FD3E PRG:7D3E A5 10 beq Sub_FD87 ; CPU:$FD40 PRG:7D40 F0 45 lda GameSubMode ; CPU:$FD42 PRG:7D42 A5 1B lsr a ; CPU:$FD44 PRG:7D44 4A lsr a ; CPU:$FD45 PRG:7D45 4A and #$07 ; CPU:$FD46 PRG:7D46 29 07 tax ; CPU:$FD48 PRG:7D48 AA lda $FE02,x ; CPU:$FD49 PRG:7D49 BD 02 FE sta $0295 ; CPU:$FD4C PRG:7D4C 8D 95 02 lda Zp6E ; CPU:$FD4F PRG:7D4F A5 6E beq Sub_FD7C ; CPU:$FD51 PRG:7D51 F0 29 ldy Joypad1Press2 ; CPU:$FD53 PRG:7D53 A4 1A lda #$3F ; CPU:$FD55 PRG:7D55 A9 3F sta $0208,y ; CPU:$FD57 PRG:7D57 99 08 02 iny ; CPU:$FD5A PRG:7D5A C8 lda #$00 ; CPU:$FD5B PRG:7D5B A9 00 sta $0208,y ; CPU:$FD5D PRG:7D5D 99 08 02 iny ; CPU:$FD60 PRG:7D60 C8 lda #$20 ; CPU:$FD61 PRG:7D61 A9 20 sta $0208,y ; CPU:$FD63 PRG:7D63 99 08 02 iny ; CPU:$FD66 PRG:7D66 C8 ldx #$00 ; CPU:$FD67 PRG:7D67 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_FD69 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD69: lda $0280,x ; CPU:$FD69 PRG:7D69 BD 80 02 sta $0208,y ; CPU:$FD6C PRG:7D6C 99 08 02 iny ; CPU:$FD6F PRG:7D6F C8 inx ; CPU:$FD70 PRG:7D70 E8 cpx #$20 ; CPU:$FD71 PRG:7D71 E0 20 bne Sub_FD69 ; CPU:$FD73 PRG:7D73 D0 F4 lda #$00 ; CPU:$FD75 PRG:7D75 A9 00 sta $0208,y ; CPU:$FD77 PRG:7D77 99 08 02 sty Joypad1Press2 ; CPU:$FD7A PRG:7D7A 84 1A ; ----------------------------------------------------------------------------- ; Routine: Sub_FD7C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD7C: jsr GameModeDispatch ; CPU:$FD7C PRG:7D7C 20 FB BE lda FrameToggle ; CPU:$FD7F PRG:7D7F A5 22 ror a ; CPU:$FD81 PRG:7D81 6A bcc Sub_FD87 ; CPU:$FD82 PRG:7D82 90 03 jsr DispatchLdxLdaStoreLdaCmpBcs ; CPU:$FD84 PRG:7D84 20 74 F5 ; ----------------------------------------------------------------------------- ; Routine: Sub_FD87 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD87: inc GameSubMode ; CPU:$FD87 PRG:7D87 E6 1B lda Zp60 ; CPU:$FD89 PRG:7D89 A5 60 beq Sub_FD90 ; CPU:$FD8B PRG:7D8B F0 03 jsr ClearOamInit ; CPU:$FD8D PRG:7D8D 20 D3 B8 ; ----------------------------------------------------------------------------- ; Routine: Sub_FD90 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD90: jsr DispatchLdaBneStoreLdaOraBeq ; CPU:$FD90 PRG:7D90 20 BD FD jsr ClearZpVars ; CPU:$FD93 PRG:7D93 20 EF B8 lda SpriteAttr ; CPU:$FD96 PRG:7D96 A5 E8 bne Sub_FD9D ; CPU:$FD98 PRG:7D98 D0 03 jsr ObjNullRoutine ; CPU:$FD9A PRG:7D9A 20 0F C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_FD9D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FD9D: lda GameSubMode ; CPU:$FD9D PRG:7D9D A5 1B lsr a ; CPU:$FD9F PRG:7D9F 4A ldx #$00 ; CPU:$FDA0 PRG:7DA0 A2 00 bcc Sub_FDAE ; CPU:$FDA2 PRG:7DA2 90 0A ldx #$80 ; CPU:$FDA4 PRG:7DA4 A2 80 lda Zp3D ; CPU:$FDA6 PRG:7DA6 A5 3D ora Zp5A ; CPU:$FDA8 PRG:7DA8 05 5A bne Sub_FDAE ; CPU:$FDAA PRG:7DAA D0 02 ldx #$20 ; CPU:$FDAC PRG:7DAC A2 20 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDAE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDAE: stx Zp2F ; CPU:$FDAE PRG:7DAE 86 2F jsr JoypadDone ; CPU:$FDB0 PRG:7DB0 20 7E FE lda PPUCTRLShadow ; CPU:$FDB3 PRG:7DB3 A5 00 ora #$80 ; CPU:$FDB5 PRG:7DB5 09 80 sta PPUCTRLShadow ; CPU:$FDB7 PRG:7DB7 85 00 sta PPUCTRL ; CPU:$FDB9 PRG:7DB9 8D 00 20 rti ; CPU:$FDBC PRG:7DBC 40 ; ----------------------------------------------------------------------------- ; Routine: DispatchLdaBneStoreLdaOraBeq ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DispatchLdaBneStoreLdaOraBeq: lda $060B ; CPU:$FDBD PRG:7DBD AD 0B 06 bne Sub_FDC4 ; CPU:$FDC0 PRG:7DC0 D0 02 sta Zp61 ; CPU:$FDC2 PRG:7DC2 85 61 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDC4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDC4: lda Zp3B ; CPU:$FDC4 PRG:7DC4 A5 3B ora Zp5A ; CPU:$FDC6 PRG:7DC6 05 5A beq Sub_FDCE ; CPU:$FDC8 PRG:7DC8 F0 04 lda #$00 ; CPU:$FDCA PRG:7DCA A9 00 sta Zp61 ; CPU:$FDCC PRG:7DCC 85 61 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDCE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDCE: lda Zp61 ; CPU:$FDCE PRG:7DCE A5 61 beq Sub_FDE0 ; CPU:$FDD0 PRG:7DD0 F0 0E bpl Sub_FDEF ; CPU:$FDD2 PRG:7DD2 10 1B dec Zp62 ; CPU:$FDD4 PRG:7DD4 C6 62 bne Sub_FDDF ; CPU:$FDD6 PRG:7DD6 D0 07 inc Zp61 ; CPU:$FDD8 PRG:7DD8 E6 61 beq Sub_FDDF ; CPU:$FDDA PRG:7DDA F0 03 jsr ObjSpawnInit ; CPU:$FDDC PRG:7DDC 20 10 C0 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDDF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDDF: rts ; CPU:$FDDF PRG:7DDF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDE0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDE0: lda Zp27 ; CPU:$FDE0 PRG:7DE0 A5 27 cmp #$08 ; CPU:$FDE2 PRG:7DE2 C9 08 beq Sub_FDDF ; CPU:$FDE4 PRG:7DE4 F0 F9 lda GameSubMode ; CPU:$FDE6 PRG:7DE6 A5 1B and #$07 ; CPU:$FDE8 PRG:7DE8 29 07 bne Sub_FDDF ; CPU:$FDEA PRG:7DEA D0 F3 inc Zp27 ; CPU:$FDEC PRG:7DEC E6 27 rts ; CPU:$FDEE PRG:7DEE 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FDEF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FDEF: lda GameSubMode ; CPU:$FDEF PRG:7DEF A5 1B and #$0F ; CPU:$FDF1 PRG:7DF1 29 0F bne Sub_FDDF ; CPU:$FDF3 PRG:7DF3 D0 EA dec Zp27 ; CPU:$FDF5 PRG:7DF5 C6 27 bpl Sub_FDDF ; CPU:$FDF7 PRG:7DF7 10 E6 inc Zp27 ; CPU:$FDF9 PRG:7DF9 E6 27 lda #$FE ; CPU:$FDFB PRG:7DFB A9 FE sta Zp61 ; CPU:$FDFD PRG:7DFD 85 61 sta Zp62 ; CPU:$FDFF PRG:7DFF 85 62 rts ; CPU:$FE01 PRG:7E01 60 OamIndexTable: ; OAM sprite index table (read by lda $FE02,x) ; ---- data $FE02-$FE09 (8 bytes) ---- ; referenced by `lda $FE02,x` at $FD49 (operand $FE02 falls inside this region) .byte $1F, $08, $07, $06, $16, $06, $07, $08 ; CPU:$FE02 PRG:7E02 1F 08 07 06 16 06 07 08 ; ----------------------------------------------------------------------------- ; Routine: NmiOamDmaCopy ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiOamDmaCopy: ldy #$00 ; CPU:$FE0A PRG:7E0A A0 00 ; ----------------------------------------------------------------------------- ; Routine: NmiOamAddrLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiOamAddrLoop: lda PPUSTATUS ; CPU:$FE0C PRG:7E0C AD 02 20 lda $0208,y ; CPU:$FE0F PRG:7E0F B9 08 02 beq Sub_FE31 ; CPU:$FE12 PRG:7E12 F0 1D sta PPUADDR ; CPU:$FE14 PRG:7E14 8D 06 20 iny ; CPU:$FE17 PRG:7E17 C8 lda $0208,y ; CPU:$FE18 PRG:7E18 B9 08 02 sta PPUADDR ; CPU:$FE1B PRG:7E1B 8D 06 20 iny ; CPU:$FE1E PRG:7E1E C8 lda $0208,y ; CPU:$FE1F PRG:7E1F B9 08 02 tax ; CPU:$FE22 PRG:7E22 AA iny ; CPU:$FE23 PRG:7E23 C8 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE24 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE24: lda $0208,y ; CPU:$FE24 PRG:7E24 B9 08 02 sta PPUDATA ; CPU:$FE27 PRG:7E27 8D 07 20 iny ; CPU:$FE2A PRG:7E2A C8 dex ; CPU:$FE2B PRG:7E2B CA bne Sub_FE24 ; CPU:$FE2C PRG:7E2C D0 F6 jmp NmiOamAddrLoop ; CPU:$FE2E PRG:7E2E 4C 0C FE ; ----------------------------------------------------------------------------- ; Routine: Sub_FE31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE31: sta Joypad1Press2 ; CPU:$FE31 PRG:7E31 85 1A sta $0208 ; CPU:$FE33 PRG:7E33 8D 08 02 rts ; CPU:$FE36 PRG:7E36 60 ; ----------------------------------------------------------------------------- ; Routine: ReadJoypad ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ReadJoypad: ldx #$02 ; CPU:$FE37 PRG:7E37 A2 02 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE39 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE39: lda Joypad1Cur,x ; CPU:$FE39 PRG:7E39 B5 06 sta Joypad1Prev,x ; CPU:$FE3B PRG:7E3B 95 07 lda Joypad2Cur2,x ; CPU:$FE3D PRG:7E3D B5 0A sta Joypad2Prev,x ; CPU:$FE3F PRG:7E3F 95 0B dex ; CPU:$FE41 PRG:7E41 CA bpl Sub_FE39 ; CPU:$FE42 PRG:7E42 10 F5 lda #$01 ; CPU:$FE44 PRG:7E44 A9 01 sta JOY1 ; CPU:$FE46 PRG:7E46 8D 16 40 lda #$00 ; CPU:$FE49 PRG:7E49 A9 00 sta JOY1 ; CPU:$FE4B PRG:7E4B 8D 16 40 ldx #$08 ; CPU:$FE4E PRG:7E4E A2 08 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE50 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE50: lda JOY1 ; CPU:$FE50 PRG:7E50 AD 16 40 ror a ; CPU:$FE53 PRG:7E53 6A bcs Sub_FE57 ; CPU:$FE54 PRG:7E54 B0 01 ror a ; CPU:$FE56 PRG:7E56 6A ; ----------------------------------------------------------------------------- ; Routine: Sub_FE57 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE57: ror Joypad1Cur ; CPU:$FE57 PRG:7E57 66 06 lda $4017 ; CPU:$FE59 PRG:7E59 AD 17 40 ror a ; CPU:$FE5C PRG:7E5C 6A bcs Sub_FE60 ; CPU:$FE5D PRG:7E5D B0 01 ror a ; CPU:$FE5F PRG:7E5F 6A ; ----------------------------------------------------------------------------- ; Routine: Sub_FE60 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE60: ror Joypad2Cur2 ; CPU:$FE60 PRG:7E60 66 0A dex ; CPU:$FE62 PRG:7E62 CA bne Sub_FE50 ; CPU:$FE63 PRG:7E63 D0 EB lda Joypad1Press ; CPU:$FE65 PRG:7E65 A5 09 ora Joypad2Cur ; CPU:$FE67 PRG:7E67 05 08 eor #$FF ; CPU:$FE69 PRG:7E69 49 FF and Joypad1Prev ; CPU:$FE6B PRG:7E6B 25 07 and Joypad1Cur ; CPU:$FE6D PRG:7E6D 25 06 sta Joypad1Press ; CPU:$FE6F PRG:7E6F 85 09 lda NmiFrameFlag ; CPU:$FE71 PRG:7E71 A5 0D ora UnusedZp0C ; CPU:$FE73 PRG:7E73 05 0C eor #$FF ; CPU:$FE75 PRG:7E75 49 FF and Joypad2Prev ; CPU:$FE77 PRG:7E77 25 0B and Joypad2Cur2 ; CPU:$FE79 PRG:7E79 25 0A sta NmiFrameFlag ; CPU:$FE7B PRG:7E7B 85 0D rts ; CPU:$FE7D PRG:7E7D 60 ; ----------------------------------------------------------------------------- ; Routine: JoypadDone ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- JoypadDone: lda Zp2F ; CPU:$FE7E PRG:7E7E A5 2F bne Sub_FE83 ; CPU:$FE80 PRG:7E80 D0 01 rts ; CPU:$FE82 PRG:7E82 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE83 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE83: bmi Sub_FEA3 ; CPU:$FE83 PRG:7E83 30 1E tax ; CPU:$FE85 PRG:7E85 AA ; ----------------------------------------------------------------------------- ; Routine: Sub_FE86 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE86: lda $06FF,x ; CPU:$FE86 PRG:7E86 BD FF 06 pha ; CPU:$FE89 PRG:7E89 48 dex ; CPU:$FE8A PRG:7E8A CA bne Sub_FE86 ; CPU:$FE8B PRG:7E8B D0 F9 ldy #$00 ; CPU:$FE8D PRG:7E8D A0 00 ldx Zp2F ; CPU:$FE8F PRG:7E8F A6 2F ; ----------------------------------------------------------------------------- ; Routine: Sub_FE91 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE91: lda $0700,x ; CPU:$FE91 PRG:7E91 BD 00 07 sta $0700,y ; CPU:$FE94 PRG:7E94 99 00 07 iny ; CPU:$FE97 PRG:7E97 C8 inx ; CPU:$FE98 PRG:7E98 E8 bne Sub_FE91 ; CPU:$FE99 PRG:7E99 D0 F6 ; ----------------------------------------------------------------------------- ; Routine: Sub_FE9B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FE9B: pla ; CPU:$FE9B PRG:7E9B 68 sta $0700,y ; CPU:$FE9C PRG:7E9C 99 00 07 iny ; CPU:$FE9F PRG:7E9F C8 bne Sub_FE9B ; CPU:$FEA0 PRG:7EA0 D0 F9 rts ; CPU:$FEA2 PRG:7EA2 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FEA3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FEA3: ldx #$00 ; CPU:$FEA3 PRG:7EA3 A2 00 ; ----------------------------------------------------------------------------- ; Routine: Sub_FEA5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FEA5: lda $0700,x ; CPU:$FEA5 PRG:7EA5 BD 00 07 pha ; CPU:$FEA8 PRG:7EA8 48 lda $0780,x ; CPU:$FEA9 PRG:7EA9 BD 80 07 sta $0700,x ; CPU:$FEAC PRG:7EAC 9D 00 07 pla ; CPU:$FEAF PRG:7EAF 68 sta $0780,x ; CPU:$FEB0 PRG:7EB0 9D 80 07 inx ; CPU:$FEB3 PRG:7EB3 E8 cpx #$80 ; CPU:$FEB4 PRG:7EB4 E0 80 bne Sub_FEA5 ; CPU:$FEB6 PRG:7EB6 D0 ED rts ; CPU:$FEB8 PRG:7EB8 60 ; ----------------------------------------------------------------------------- ; Routine: JoypadRts ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- JoypadRts: lda Zp2F ; CPU:$FEB9 PRG:7EB9 A5 2F bmi Sub_FEA3 ; CPU:$FEBB PRG:7EBB 30 E6 bne Sub_FEC0 ; CPU:$FEBD PRG:7EBD D0 01 rts ; CPU:$FEBF PRG:7EBF 60 ; ----------------------------------------------------------------------------- ; Routine: Sub_FEC0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FEC0: tay ; CPU:$FEC0 PRG:7EC0 A8 ldx #$FF ; CPU:$FEC1 PRG:7EC1 A2 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_FEC3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FEC3: lda $0700,x ; CPU:$FEC3 PRG:7EC3 BD 00 07 pha ; CPU:$FEC6 PRG:7EC6 48 dex ; CPU:$FEC7 PRG:7EC7 CA dey ; CPU:$FEC8 PRG:7EC8 88 bne Sub_FEC3 ; CPU:$FEC9 PRG:7EC9 D0 F8 ldy #$FF ; CPU:$FECB PRG:7ECB A0 FF ; ----------------------------------------------------------------------------- ; Routine: Sub_FECD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FECD: lda $0700,x ; CPU:$FECD PRG:7ECD BD 00 07 sta $0700,y ; CPU:$FED0 PRG:7ED0 99 00 07 dex ; CPU:$FED3 PRG:7ED3 CA dey ; CPU:$FED4 PRG:7ED4 88 cpx #$FF ; CPU:$FED5 PRG:7ED5 E0 FF bne Sub_FECD ; CPU:$FED7 PRG:7ED7 D0 F4 ldy #$00 ; CPU:$FED9 PRG:7ED9 A0 00 ldx Zp2F ; CPU:$FEDB PRG:7EDB A6 2F ; ----------------------------------------------------------------------------- ; Routine: Sub_FEDD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Sub_FEDD: pla ; CPU:$FEDD PRG:7EDD 68 sta $0700,y ; CPU:$FEDE PRG:7EDE 99 00 07 iny ; CPU:$FEE1 PRG:7EE1 C8 dex ; CPU:$FEE2 PRG:7EE2 CA bne Sub_FEDD ; CPU:$FEE3 PRG:7EE3 D0 F8 rts ; CPU:$FEE5 PRG:7EE5 60 ; ---- data $FEE6-$FF05 (32 bytes) ---- ; referenced by `lda $FEE6,y` at $FB76 (operand $FEE6 falls inside this region) ; 32 bytes of palette data copied to PPUDATA and the $0280 mirror by the routine ; that reads it with lda $FEE6,y at $FB76. PaletteData: .byte $0F, $0A, $27, $1A, $0F, $0A, $1A, $11, $0F, $30, $00, $07, $0F, $30, $00, $11 ; CPU:$FEE6 PRG:7EE6 0F 0A 27 1A 0F 0A 1A 11 0F 30 00 07 0F 30 00 11 .byte $0F, $3F, $30, $00, $0F, $3F, $00, $10, $0F, $02, $16, $30, $0F, $16, $28, $30 ; CPU:$FEF6 PRG:7EF6 0F 3F 30 00 0F 3F 00 10 0F 02 16 30 0F 16 28 30 ; ---- data $FF06-$FF1C (23 bytes) ---- ; referenced by `lda $FF06,y` at $FCAD (operand $FF06 falls inside this region) ; referenced by `lda $FF06,y` at $FCC2 (operand $FF06 falls inside this region) ; OAM attribute bytes read with lda $FF06,y at $FCAD / $FCC2. OamAttrTable: .byte $80, $80, $80, $80, $80, $80, $80, $80, $80, $10, $10, $40, $40, $20, $20, $20 ; CPU:$FF06 PRG:7F06 80 80 80 80 80 80 80 80 80 10 10 40 40 20 20 20 .byte $20, $20, $20, $20, $20, $20, $00 ; CPU:$FF16 PRG:7F16 20 20 20 20 20 20 00 ; ----------------------------------------------------------------------------- ; Routine: IrqHandler ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- IrqHandler: rti ; CPU:$FF1D PRG:7F1D 40 ; ---- data $FF1E-$FFFF (226 bytes) ---- .byte $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39, $38, $33, $20, $31 ; CPU:$FF1E PRG:7F1E 43 4F 50 59 52 49 47 48 54 20 31 39 38 33 20 31 .byte $39, $38, $34, $20, $4E, $41, $4D, $43, $4F, $20, $4C, $54, $44, $2E, $20, $41 ; CPU:$FF2E PRG:7F2E 39 38 34 20 4E 41 4D 43 4F 20 4C 54 44 2E 20 41 .byte $4C, $4C, $20, $52, $49, $47, $48, $54, $53, $20, $52, $45, $53, $45, $52, $56 ; CPU:$FF3E PRG:7F3E 4C 4C 20 52 49 47 48 54 53 20 52 45 53 45 52 56 .byte $45, $44, $20, $20, $4D, $41, $49, $4E, $3A, $20, $4B, $45, $49, $20, $43, $52 ; CPU:$FF4E PRG:7F4E 45 44 20 20 4D 41 49 4E 3A 20 4B 45 49 20 43 52 .byte $4F, $53, $53, $0D, $20, $53, $4F, $55, $4E, $44, $3A, $20, $55, $48, $4F, $48 ; CPU:$FF5E PRG:7F5E 4F 53 53 0D 20 53 4F 55 4E 44 3A 20 55 48 4F 48 .byte $4F, $59, $20, $4F, $48, $4E, $4F, $47, $49, $0D, $41, $53, $53, $49, $53, $54 ; CPU:$FF6E PRG:7F6E 4F 59 20 4F 48 4E 4F 47 49 0D 41 53 53 49 53 54 .byte $3A, $20, $45, $56, $45, $5A, $4F, $4F, $20, $45, $4E, $44, $20, $26, $20, $48 ; CPU:$FF7E PRG:7F7E 3A 20 45 56 45 5A 4F 4F 20 45 4E 44 20 26 20 48 .byte $41, $4C, $20, $55, $44, $41, $47, $41, $57, $41, $0D, $54, $45, $53, $54, $45 ; CPU:$FF8E PRG:7F8E 41 4C 20 55 44 41 47 41 57 41 0D 54 45 53 54 45 .byte $52, $3A, $20, $53, $48, $49, $44, $41, $53, $48, $49, $20, $59, $41, $4D, $41 ; CPU:$FF9E PRG:7F9E 52 3A 20 53 48 49 44 41 53 48 49 20 59 41 4D 41 .byte $4D, $4F, $0D, $0C ; CPU:$FFAE PRG:7FAE 4D 4F 0D 0C .res $0048, $FF .byte $4E, $FC, $F6, $FA ; CPU:$FFFA PRG:7FFA 4E FC F6 FA .byte $1D, $FF ; CPU:$FFFE PRG:7FFE 1D FF