diff --git a/Joypad Test Cartridge (U)/copilot/reconstructed.lbl b/Joypad Test Cartridge (U)/copilot/reconstructed.lbl index 5baa474..ae041b3 100644 --- a/Joypad Test Cartridge (U)/copilot/reconstructed.lbl +++ b/Joypad Test Cartridge (U)/copilot/reconstructed.lbl @@ -1,3 +1,24 @@ +al 00FFFA .ResetVectors +al 00D6E5 .RomPadding +al 00D6C5 .ButtonOamTemplateTable +al 00D6A5 .SpriteTemplateTable +al 00D6A4 .SpriteTableTerminator +al 00D644 .OamTableGroups3 +al 00D604 .OamSpritePadding +al 00D5C4 .OamTableGroups2 +al 00D5C3 .OamTableStream2Terminator +al 00D4E3 .OamTableGroups1 +al 00D4E2 .OamTable1Terminator +al 00D4AF .OamTableGap +al 00D4AE .OamTableStreamTerminator +al 00D1F5 .VramCommandBlock4 +al 00D1F4 .VramStream3Terminator +al 00D063 .VramCommandBlock3 +al 00D062 .VramStream2Terminator +al 00CF40 .VramCommandBlock2 +al 00CF2A .VramCommandInlineCode +al 00CF29 .VramStream1Terminator +al 00CF06 .VramCommandStream1 al 00CF05 .VramOpReturn al 00CEF3 .VramOpLengthCheck al 00CEC9 .VramOpDataStream diff --git a/MUSCLE (U)/copilot/muscle.cdl b/MUSCLE (U)/copilot/muscle.cdl new file mode 100644 index 0000000..616c372 Binary files /dev/null and b/MUSCLE (U)/copilot/muscle.cdl differ diff --git a/MUSCLE (U)/copilot/muscle2.cdl b/MUSCLE (U)/copilot/muscle2.cdl new file mode 100644 index 0000000..3c5a432 Binary files /dev/null and b/MUSCLE (U)/copilot/muscle2.cdl differ diff --git a/MUSCLE (U)/copilot/muscle3.cdl b/MUSCLE (U)/copilot/muscle3.cdl new file mode 100644 index 0000000..7613273 Binary files /dev/null and b/MUSCLE (U)/copilot/muscle3.cdl differ diff --git a/MUSCLE (U)/copilot/prg.s b/MUSCLE (U)/copilot/prg.s index 99320e9..c4c0432 100644 --- a/MUSCLE (U)/copilot/prg.s +++ b/MUSCLE (U)/copilot/prg.s @@ -2964,8 +2964,8 @@ SpawnStageActors_OnZero_8A74: asl a ; CPU:$8A7A PRG:0A7A 0A tay ; CPU:$8A7B PRG:0A7B A8 lda #$00 ; CPU:$8A7C PRG:0A7C A9 00 - sta $0034,y ; CPU:$8A7E PRG:0A7E 99 34 00 - sta $0033,y ; CPU:$8A81 PRG:0A81 99 33 00 + sta a:$0034,y ; CPU:$8A7E PRG:0A7E 99 34 00 + sta a:$0033,y ; CPU:$8A81 PRG:0A81 99 33 00 ; ----------------------------------------------------------------------------- ; Routine: SpawnStageActors_OnNonzero_8A84 ; Global: SpawnStageActors_OnNonzero_8A84.; no call site is visible in the static trace @@ -2998,7 +2998,7 @@ SpawnStageActors_OnZero_8A93: asl a ; CPU:$8A95 PRG:0A95 0A tay ; CPU:$8A96 PRG:0A96 A8 lda #$64 ; CPU:$8A97 PRG:0A97 A9 64 - sta $0034,y ; CPU:$8A99 PRG:0A99 99 34 00 + sta a:$0034,y ; CPU:$8A99 PRG:0A99 99 34 00 lda #$FE ; CPU:$8A9C PRG:0A9C A9 FE sta PlayerActionState,x ; CPU:$8A9E PRG:0A9E 95 F0 lda #$00 ; CPU:$8AA0 PRG:0AA0 A9 00 @@ -5111,12 +5111,12 @@ QueueVramDescriptor_JumpNext_92B2: dec Zp7A,x ; CPU:$92B2 PRG:12B2 D6 7A beq QueueVramDescriptor_OnZero_9329 ; CPU:$92B4 PRG:12B4 F0 73 jsr $94C7 ; CPU:$92B6 PRG:12B6 20 C7 94 - lda $003A,y ; CPU:$92B9 PRG:12B9 B9 3A 00 + lda a:$003A,y ; CPU:$92B9 PRG:12B9 B9 3A 00 clc ; CPU:$92BC PRG:12BC 18 adc #$01 ; CPU:$92BD PRG:12BD 69 01 - sta $003A,y ; CPU:$92BF PRG:12BF 99 3A 00 + sta a:$003A,y ; CPU:$92BF PRG:12BF 99 3A 00 inc Zp4B,x ; CPU:$92C2 PRG:12C2 F6 4B - lda $0033,y ; CPU:$92C4 PRG:12C4 B9 33 00 + lda a:$0033,y ; CPU:$92C4 PRG:12C4 B9 33 00 sec ; CPU:$92C7 PRG:12C7 38 sbc Zp4B,x ; CPU:$92C8 PRG:12C8 F5 4B jmp $934B ; CPU:$92CA PRG:12CA 4C 4B 93 @@ -5133,12 +5133,12 @@ QueueVramDescriptor_JumpNext_92CD: dec Zp7A,x ; CPU:$92CD PRG:12CD D6 7A beq QueueVramDescriptor_OnZero_92E8 ; CPU:$92CF PRG:12CF F0 17 jsr $94C7 ; CPU:$92D1 PRG:12D1 20 C7 94 - lda $0033,y ; CPU:$92D4 PRG:12D4 B9 33 00 + lda a:$0033,y ; CPU:$92D4 PRG:12D4 B9 33 00 clc ; CPU:$92D7 PRG:12D7 18 adc Zp4B,x ; CPU:$92D8 PRG:12D8 75 4B - sta $0033,y ; CPU:$92DA PRG:12DA 99 33 00 + sta a:$0033,y ; CPU:$92DA PRG:12DA 99 33 00 dec Zp4B,x ; CPU:$92DD PRG:12DD D6 4B - lda $003A,y ; CPU:$92DF PRG:12DF B9 3A 00 + lda a:$003A,y ; CPU:$92DF PRG:12DF B9 3A 00 sec ; CPU:$92E2 PRG:12E2 38 sbc #$01 ; CPU:$92E3 PRG:12E3 E9 01 jmp $9371 ; CPU:$92E5 PRG:12E5 4C 71 93 @@ -5215,10 +5215,10 @@ QueueVramDescriptor_JumpNext_932C: dec Zp7A,x ; CPU:$932C PRG:132C D6 7A beq QueueVramDescriptor_OnZero_9329 ; CPU:$932E PRG:132E F0 F9 jsr $94C7 ; CPU:$9330 PRG:1330 20 C7 94 - lda $003A,y ; CPU:$9333 PRG:1333 B9 3A 00 + lda a:$003A,y ; CPU:$9333 PRG:1333 B9 3A 00 sec ; CPU:$9336 PRG:1336 38 sbc #$02 ; CPU:$9337 PRG:1337 E9 02 - sta $003A,y ; CPU:$9339 PRG:1339 99 3A 00 + sta a:$003A,y ; CPU:$9339 PRG:1339 99 3A 00 inc Zp4B,x ; CPU:$933C PRG:133C F6 4B lda Zp4B,x ; CPU:$933E PRG:133E B5 4B rol a ; CPU:$9340 PRG:1340 2A @@ -5228,7 +5228,7 @@ QueueVramDescriptor_JumpNext_932C: ror a ; CPU:$9344 PRG:1344 6A eor #$FF ; CPU:$9345 PRG:1345 49 FF sec ; CPU:$9347 PRG:1347 38 - adc $0033,y ; CPU:$9348 PRG:1348 79 33 00 + adc a:$0033,y ; CPU:$9348 PRG:1348 79 33 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateActorX ; Global: UpdateActorX.; called from $92CA @@ -5239,7 +5239,7 @@ QueueVramDescriptor_JumpNext_932C: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- UpdateActorX: - sta $0033,y ; CPU:$934B PRG:134B 99 33 00 + sta a:$0033,y ; CPU:$934B PRG:134B 99 33 00 jsr $82ED ; CPU:$934E PRG:134E 20 ED 82 jmp $9374 ; CPU:$9351 PRG:1351 4C 74 93 ; ----------------------------------------------------------------------------- @@ -5262,10 +5262,10 @@ UpdateActorX_JumpNext_9354: plp ; CPU:$9360 PRG:1360 28 ror a ; CPU:$9361 PRG:1361 6A clc ; CPU:$9362 PRG:1362 18 - adc $0033,y ; CPU:$9363 PRG:1363 79 33 00 - sta $0033,y ; CPU:$9366 PRG:1366 99 33 00 + adc a:$0033,y ; CPU:$9363 PRG:1363 79 33 00 + sta a:$0033,y ; CPU:$9366 PRG:1366 99 33 00 dec Zp4B,x ; CPU:$9369 PRG:1369 D6 4B - lda $003A,y ; CPU:$936B PRG:136B B9 3A 00 + lda a:$003A,y ; CPU:$936B PRG:136B B9 3A 00 clc ; CPU:$936E PRG:136E 18 adc #$02 ; CPU:$936F PRG:136F 69 02 ; ----------------------------------------------------------------------------- @@ -5278,7 +5278,7 @@ UpdateActorX_JumpNext_9354: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- UpdateActorTile: - sta $003A,y ; CPU:$9371 PRG:1371 99 3A 00 + sta a:$003A,y ; CPU:$9371 PRG:1371 99 3A 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateActorTileAlt ; Global: UpdateActorTileAlt.; called from $9351 @@ -5308,14 +5308,14 @@ UpdateActorTileAlt_JumpNext_937C: tya ; CPU:$9381 PRG:1381 98 pha ; CPU:$9382 PRG:1382 48 ldy ActorSlotOffset ; CPU:$9383 PRG:1383 A4 21 - lda $003B,y ; CPU:$9385 PRG:1385 B9 3B 00 + lda a:$003B,y ; CPU:$9385 PRG:1385 B9 3B 00 asl a ; CPU:$9388 PRG:1388 0A - lda $003C,y ; CPU:$9389 PRG:1389 B9 3C 00 + lda a:$003C,y ; CPU:$9389 PRG:1389 B9 3C 00 rol a ; CPU:$938C PRG:138C 2A sta Zp51 ; CPU:$938D PRG:138D 85 51 - lda $003A,y ; CPU:$938F PRG:138F B9 3A 00 + lda a:$003A,y ; CPU:$938F PRG:138F B9 3A 00 sec ; CPU:$9392 PRG:1392 38 - sbc $0033,y ; CPU:$9393 PRG:1393 F9 33 00 + sbc a:$0033,y ; CPU:$9393 PRG:1393 F9 33 00 clc ; CPU:$9396 PRG:1396 18 adc BytecodeHandlerPointerLo ; CPU:$9397 PRG:1397 65 1C tay ; CPU:$9399 PRG:1399 A8 @@ -5406,7 +5406,7 @@ UpdateActorTileAlt_OnNonzero_93D3: lda #$FB ; CPU:$93E7 PRG:13E7 A9 FB jsr $9A2E ; CPU:$93E9 PRG:13E9 20 2E 9A ldy ActorSlotOffset ; CPU:$93EC PRG:13EC A4 21 - lda $003A,y ; CPU:$93EE PRG:13EE B9 3A 00 + lda a:$003A,y ; CPU:$93EE PRG:13EE B9 3A 00 clc ; CPU:$93F1 PRG:13F1 18 adc #$08 ; CPU:$93F2 PRG:13F2 69 08 tay ; CPU:$93F4 PRG:13F4 A8 @@ -5476,7 +5476,7 @@ UpdateActorTileAlt_OnNegative_942C: lda Zp4B,x ; CPU:$942E PRG:142E B5 4B lsr a ; CPU:$9430 PRG:1430 4A sta BytecodeHandlerPointerLo ; CPU:$9431 PRG:1431 85 1C - lda $0033,y ; CPU:$9433 PRG:1433 B9 33 00 + lda a:$0033,y ; CPU:$9433 PRG:1433 B9 33 00 sec ; CPU:$9436 PRG:1436 38 sbc BytecodeHandlerPointerLo ; CPU:$9437 PRG:1437 E5 1C bpl UpdateActorTileAlt_OnNonnegative_9441 ; CPU:$9439 PRG:1439 10 06 @@ -5614,10 +5614,10 @@ UpdateActorTileAlt_OnZero_947D: ; ----------------------------------------------------------------------------- UpdateActorTileAlt_JumpNext_9480: jsr $94C8 ; CPU:$9480 PRG:1480 20 C8 94 - lda $003A,y ; CPU:$9483 PRG:1483 B9 3A 00 + lda a:$003A,y ; CPU:$9483 PRG:1483 B9 3A 00 clc ; CPU:$9486 PRG:1486 18 adc #$06 ; CPU:$9487 PRG:1487 69 06 - sta $003A,y ; CPU:$9489 PRG:1489 99 3A 00 + sta a:$003A,y ; CPU:$9489 PRG:1489 99 3A 00 jmp $9B25 ; CPU:$948C PRG:148C 4C 25 9B ; ----------------------------------------------------------------------------- ; Routine: UpdateActorTileAlt_JumpNext_948F @@ -5755,8 +5755,8 @@ ClearActorPosition: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- ClearActorFields: - sta $0033,y ; CPU:$94D7 PRG:14D7 99 33 00 - sta $0034,y ; CPU:$94DA PRG:14DA 99 34 00 + sta a:$0033,y ; CPU:$94D7 PRG:14D7 99 33 00 + sta a:$0034,y ; CPU:$94DA PRG:14DA 99 34 00 lda Zp8A ; CPU:$94DD PRG:14DD A5 8A beq ClearActorFields_JoinBranchPaths_94F3 ; CPU:$94DF PRG:14DF F0 12 inx ; CPU:$94E1 PRG:14E1 E8 @@ -5925,13 +5925,13 @@ SetActorFlag_OnNonzero_9551: ; ----------------------------------------------------------------------------- SetActorFlag_JumpNext_9559: jsr $94C8 ; CPU:$9559 PRG:1559 20 C8 94 - lda $003A,y ; CPU:$955C PRG:155C B9 3A 00 + lda a:$003A,y ; CPU:$955C PRG:155C B9 3A 00 clc ; CPU:$955F PRG:155F 18 adc #$20 ; CPU:$9560 PRG:1560 69 20 pha ; CPU:$9562 PRG:1562 48 - lda $003B,y ; CPU:$9563 PRG:1563 B9 3B 00 + lda a:$003B,y ; CPU:$9563 PRG:1563 B9 3B 00 asl a ; CPU:$9566 PRG:1566 0A - lda $003C,y ; CPU:$9567 PRG:1567 B9 3C 00 + lda a:$003C,y ; CPU:$9567 PRG:1567 B9 3C 00 rol a ; CPU:$956A PRG:156A 2A sec ; CPU:$956B PRG:156B 38 sta Zp51 ; CPU:$956C PRG:156C 85 51 @@ -6112,7 +6112,7 @@ CompareActorToLimit_OnNonzero_95E3: lda #$F1 ; CPU:$95F5 PRG:15F5 A9 F1 ldy #$45 ; CPU:$95F7 PRG:15F7 A0 45 jsr $9A24 ; CPU:$95F9 PRG:15F9 20 24 9A - lda $003A,y ; CPU:$95FC PRG:15FC B9 3A 00 + lda a:$003A,y ; CPU:$95FC PRG:15FC B9 3A 00 clc ; CPU:$95FF PRG:15FF 18 adc #$08 ; CPU:$9600 PRG:1600 69 08 tay ; CPU:$9602 PRG:1602 A8 @@ -6145,7 +6145,7 @@ CompareActorToLimit_OnCarrySet_9628: lda #$01 ; CPU:$9628 PRG:1628 A9 01 jsr $9653 ; CPU:$962A PRG:162A 20 53 96 ldy ActorSlotOffset ; CPU:$962D PRG:162D A4 21 - lda $0033,y ; CPU:$962F PRG:162F B9 33 00 + lda a:$0033,y ; CPU:$962F PRG:162F B9 33 00 cmp #$14 ; CPU:$9632 PRG:1632 C9 14 beq CompareActorToLimit_OnZero_9641 ; CPU:$9634 PRG:1634 F0 0B bcs CompareActorToLimit_OnCarrySet_963C ; CPU:$9636 PRG:1636 B0 04 @@ -6172,7 +6172,7 @@ CompareActorToLimit_OnCarrySet_963C: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- CompareActorToLimit_OnNonnegative_963E: - sta $0033,y ; CPU:$963E PRG:163E 99 33 00 + sta a:$0033,y ; CPU:$963E PRG:163E 99 33 00 ; ----------------------------------------------------------------------------- ; Routine: CompareActorToLimit_OnZero_9641 ; Global: CompareActorToLimit_OnZero_9641.; no call site is visible in the static trace @@ -6212,7 +6212,7 @@ CompareActorToLimit_JumpNext_9644: SetActorTileFromPalette: sta BytecodeHandlerPointerLo ; CPU:$9653 PRG:1653 85 1C ldy ActorSlotOffset ; CPU:$9655 PRG:1655 A4 21 - lda $003C,y ; CPU:$9657 PRG:1657 B9 3C 00 + lda a:$003C,y ; CPU:$9657 PRG:1657 B9 3C 00 ldx Zp19 ; CPU:$965A PRG:165A A6 19 bne SetActorTileFromPalette_OnNonzero_9664 ; CPU:$965C PRG:165C D0 06 sec ; CPU:$965E PRG:165E 38 @@ -6240,7 +6240,7 @@ SetActorTileFromPalette_OnNonzero_9664: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- StoreActorTile: - sta $003C,y ; CPU:$9667 PRG:1667 99 3C 00 + sta a:$003C,y ; CPU:$9667 PRG:1667 99 3C 00 ldx ActorIndex ; CPU:$966A PRG:166A A6 1E rts ; CPU:$966C PRG:166C 60 ; ----------------------------------------------------------------------------- @@ -6272,7 +6272,7 @@ StoreActorTile_OnNegative_9679: lda Zp4B,x ; CPU:$967B PRG:167B B5 4B lsr a ; CPU:$967D PRG:167D 4A sta BytecodeHandlerPointerLo ; CPU:$967E PRG:167E 85 1C - lda $0033,y ; CPU:$9680 PRG:1680 B9 33 00 + lda a:$0033,y ; CPU:$9680 PRG:1680 B9 33 00 sec ; CPU:$9683 PRG:1683 38 sbc BytecodeHandlerPointerLo ; CPU:$9684 PRG:1684 E5 1C bpl StoreActorTile_OnNonnegative_968E ; CPU:$9686 PRG:1686 10 06 @@ -6318,7 +6318,7 @@ StoreActorTile_OnNonzero_969D: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- AdvanceActorCounter: - sta $0033,y ; CPU:$969E PRG:169E 99 33 00 + sta a:$0033,y ; CPU:$969E PRG:169E 99 33 00 inc Zp4B,x ; CPU:$96A1 PRG:16A1 F6 4B jmp $9B25 ; CPU:$96A3 PRG:16A3 4C 25 9B ; ----------------------------------------------------------------------------- @@ -6344,7 +6344,7 @@ AdvanceActorCounter_OnCarryClear_96A6: ; ----------------------------------------------------------------------------- SetActorTileValue: lda #$FD ; CPU:$96AA PRG:16AA A9 FD - sta $0033,y ; CPU:$96AC PRG:16AC 99 33 00 + sta a:$0033,y ; CPU:$96AC PRG:16AC 99 33 00 ldy #$44 ; CPU:$96AF PRG:16AF A0 44 lda #$F2 ; CPU:$96B1 PRG:16B1 A9 F2 ; ----------------------------------------------------------------------------- @@ -6574,9 +6574,9 @@ MoveActorByStep: lda #$FF ; CPU:$973A PRG:173A A9 FF sta Zp5A,x ; CPU:$973C PRG:173C 95 5A ldy ActorSlotOffset ; CPU:$973E PRG:173E A4 21 - lda $003A,y ; CPU:$9740 PRG:1740 B9 3A 00 + lda a:$003A,y ; CPU:$9740 PRG:1740 B9 3A 00 sec ; CPU:$9743 PRG:1743 38 - sbc $0033,y ; CPU:$9744 PRG:1744 F9 33 00 + sbc a:$0033,y ; CPU:$9744 PRG:1744 F9 33 00 clc ; CPU:$9747 PRG:1747 18 adc #$13 ; CPU:$9748 PRG:1748 69 13 tay ; CPU:$974A PRG:174A A8 @@ -6632,9 +6632,9 @@ MoveActorByStep_OnCarryClear_9766: lda #$FF ; CPU:$9772 PRG:1772 A9 FF sta Zp5A,x ; CPU:$9774 PRG:1774 95 5A ldy ActorSlotOffset ; CPU:$9776 PRG:1776 A4 21 - lda $003A,y ; CPU:$9778 PRG:1778 B9 3A 00 + lda a:$003A,y ; CPU:$9778 PRG:1778 B9 3A 00 sec ; CPU:$977B PRG:177B 38 - sbc $0033,y ; CPU:$977C PRG:177C F9 33 00 + sbc a:$0033,y ; CPU:$977C PRG:177C F9 33 00 clc ; CPU:$977F PRG:177F 18 adc #$13 ; CPU:$9780 PRG:1780 69 13 tay ; CPU:$9782 PRG:1782 A8 @@ -6962,7 +6962,7 @@ TestActorValue_OnCarryClear_9875: tya ; CPU:$9875 PRG:1875 98 pha ; CPU:$9876 PRG:1876 48 ldy ActorSlotOffset ; CPU:$9877 PRG:1877 A4 21 - lda $003A,y ; CPU:$9879 PRG:1879 B9 3A 00 + lda a:$003A,y ; CPU:$9879 PRG:1879 B9 3A 00 clc ; CPU:$987C PRG:187C 18 adc #$0C ; CPU:$987D PRG:187D 69 0C tay ; CPU:$987F PRG:187F A8 @@ -7178,7 +7178,7 @@ UpdateActorTileFromIndexAlt: cmp #$09 ; CPU:$9918 PRG:1918 C9 09 bcs UpdateActorTileFromIndexAlt_JoinBranchPaths_9948 ; CPU:$991A PRG:191A B0 2C ldy ActorSlotOffset ; CPU:$991C PRG:191C A4 21 - lda $003A,y ; CPU:$991E PRG:191E B9 3A 00 + lda a:$003A,y ; CPU:$991E PRG:191E B9 3A 00 clc ; CPU:$9921 PRG:1921 18 adc #$0C ; CPU:$9922 PRG:1922 69 0C tay ; CPU:$9924 PRG:1924 A8 @@ -7221,13 +7221,13 @@ UpdateActorTileFromIndexAlt_JumpNext_994B: tya ; CPU:$994B PRG:194B 98 pha ; CPU:$994C PRG:194C 48 ldy ActorSlotOffset ; CPU:$994D PRG:194D A4 21 - lda $0039,y ; CPU:$994F PRG:194F B9 39 00 + lda a:$0039,y ; CPU:$994F PRG:194F B9 39 00 sta BytecodeHandlerPointerLo ; CPU:$9952 PRG:1952 85 1C - lda $003A,y ; CPU:$9954 PRG:1954 B9 3A 00 + lda a:$003A,y ; CPU:$9954 PRG:1954 B9 3A 00 sta BytecodeHandlerPointerHi ; CPU:$9957 PRG:1957 85 1D jsr $A4FF ; CPU:$9959 PRG:1959 20 FF A4 lda BytecodeHandlerPointerLo ; CPU:$995C PRG:195C A5 1C - sta $0039,y ; CPU:$995E PRG:195E 99 39 00 + sta a:$0039,y ; CPU:$995E PRG:195E 99 39 00 ldx BytecodeHandlerPointerHi ; CPU:$9961 PRG:1961 A6 1D dex ; CPU:$9963 PRG:1963 CA stx PlayerPosXLo1,y ; CPU:$9964 PRG:1964 96 3A @@ -7364,8 +7364,8 @@ SetSoundSequenceChannel2_JumpNext_99B7: plp ; CPU:$99C9 PRG:19C9 28 ror a ; CPU:$99CA PRG:19CA 6A clc ; CPU:$99CB PRG:19CB 18 - adc $0033,y ; CPU:$99CC PRG:19CC 79 33 00 - sta $0033,y ; CPU:$99CF PRG:19CF 99 33 00 + adc a:$0033,y ; CPU:$99CC PRG:19CC 79 33 00 + sta a:$0033,y ; CPU:$99CF PRG:19CF 99 33 00 bmi SetSoundSequenceChannel2_OnNegative_99D7 ; CPU:$99D2 PRG:19D2 30 03 jmp $9B25 ; CPU:$99D4 PRG:19D4 4C 25 9B ; ----------------------------------------------------------------------------- @@ -7570,7 +7570,7 @@ SpawnActorPairAlt: sta SourcePointerHi ; CPU:$9A90 PRG:1A90 85 11 ldx ActorIndex ; CPU:$9A92 PRG:1A92 A6 1E ldy PlayerPaletteIndex,x ; CPU:$9A94 PRG:1A94 B4 2A - lda $0026,y ; CPU:$9A96 PRG:1A96 B9 26 00 + lda a:$0026,y ; CPU:$9A96 PRG:1A96 B9 26 00 jsr $8CB8 ; CPU:$9A99 PRG:1A99 20 B8 8C lda ControllerDPad1,x ; CPU:$9A9C PRG:1A9C B5 F6 and #$01 ; CPU:$9A9E PRG:1A9E 29 01 @@ -7579,7 +7579,7 @@ SpawnActorPairAlt: ror a ; CPU:$9AA2 PRG:1AA2 6A sta Zp19 ; CPU:$9AA3 PRG:1AA3 85 19 ldy ActorSlotOffset ; CPU:$9AA5 PRG:1AA5 A4 21 - lda $0034,y ; CPU:$9AA7 PRG:1AA7 B9 34 00 + lda a:$0034,y ; CPU:$9AA7 PRG:1AA7 B9 34 00 and #$7F ; CPU:$9AAA PRG:1AAA 29 7F bne SpawnActorPairAlt_OnNonzero_9AD8 ; CPU:$9AAC PRG:1AAC D0 2A lda ControllerButtonMask,x ; CPU:$9AAE PRG:1AAE B5 F2 @@ -7720,10 +7720,10 @@ DispatchThroughPointer_JoinBranchPaths_9B08: DispatchThroughPointer_OnNonzero_9B18: ldy ActorSlotOffset ; CPU:$9B18 PRG:1B18 A4 21 clc ; CPU:$9B1A PRG:1B1A 18 - adc $003C,y ; CPU:$9B1B PRG:1B1B 79 3C 00 - sta $003C,y ; CPU:$9B1E PRG:1B1E 99 3C 00 + adc a:$003C,y ; CPU:$9B1B PRG:1B1B 79 3C 00 + sta a:$003C,y ; CPU:$9B1E PRG:1B1E 99 3C 00 pla ; CPU:$9B21 PRG:1B21 68 - sta $0033,y ; CPU:$9B22 PRG:1B22 99 33 00 + sta a:$0033,y ; CPU:$9B22 PRG:1B22 99 33 00 ; ----------------------------------------------------------------------------- ; Routine: RunBytecodeProgram ; Global: Main bytecode program loop: advance the program counter, dispatch the token, and resume. @@ -7943,9 +7943,9 @@ RunBytecodeProgram_OnNonzero_9BDD: ; ----------------------------------------------------------------------------- RunBytecodeProgram_OnCarryClear_9BF3: ldy ActorSlotOffset ; CPU:$9BF3 PRG:1BF3 A4 21 - lda $0033,y ; CPU:$9BF5 PRG:1BF5 B9 33 00 + lda a:$0033,y ; CPU:$9BF5 PRG:1BF5 B9 33 00 sta BytecodeHandlerPointerHi ; CPU:$9BF8 PRG:1BF8 85 1D - lda $0032,y ; CPU:$9BFA PRG:1BFA B9 32 00 + lda a:$0032,y ; CPU:$9BFA PRG:1BFA B9 32 00 sec ; CPU:$9BFD PRG:1BFD 38 sbc #$10 ; CPU:$9BFE PRG:1BFE E9 10 sec ; CPU:$9C00 PRG:1C00 38 @@ -7954,7 +7954,7 @@ RunBytecodeProgram_OnCarryClear_9BF3: clc ; CPU:$9C05 PRG:1C05 18 adc Zp5C,x ; CPU:$9C06 PRG:1C06 75 5C sta VramBlockCountLo ; CPU:$9C08 PRG:1C08 85 14 - lda $0031,y ; CPU:$9C0A PRG:1C0A B9 31 00 + lda a:$0031,y ; CPU:$9C0A PRG:1C0A B9 31 00 sec ; CPU:$9C0D PRG:1C0D 38 sbc Zp5E,x ; CPU:$9C0E PRG:1C0E F5 5E sta DestinationPointerHi ; CPU:$9C10 PRG:1C10 85 13 @@ -7966,11 +7966,11 @@ RunBytecodeProgram_OnCarryClear_9BF3: sta Zp18 ; CPU:$9C18 PRG:1C18 85 18 lda #$02 ; CPU:$9C1A PRG:1C1A A9 02 sta Zp19 ; CPU:$9C1C PRG:1C1C 85 19 - lda $0031,y ; CPU:$9C1E PRG:1C1E B9 31 00 + lda a:$0031,y ; CPU:$9C1E PRG:1C1E B9 31 00 clc ; CPU:$9C21 PRG:1C21 18 adc #$1F ; CPU:$9C22 PRG:1C22 69 1F tax ; CPU:$9C24 PRG:1C24 AA - lda $0033,y ; CPU:$9C25 PRG:1C25 B9 33 00 + lda a:$0033,y ; CPU:$9C25 PRG:1C25 B9 33 00 beq RunBytecodeProgram_OnZero_9C2C ; CPU:$9C28 PRG:1C28 F0 02 bpl RunBytecodeProgram_OnNonnegative_9C2E ; CPU:$9C2A PRG:1C2A 10 02 ; ----------------------------------------------------------------------------- @@ -8306,7 +8306,7 @@ ResetBytecodeState_OnNonzero_9D10: ResetBytecodeState_OnZero_9D39: sec ; CPU:$9D39 PRG:1D39 38 sbc #$04 ; CPU:$9D3A PRG:1D3A E9 04 - sta $003C,y ; CPU:$9D3C PRG:1D3C 99 3C 00 + sta a:$003C,y ; CPU:$9D3C PRG:1D3C 99 3C 00 clc ; CPU:$9D3F PRG:1D3F 18 adc #$08 ; CPU:$9D40 PRG:1D40 69 08 sta PlayerPosYLo1,x ; CPU:$9D42 PRG:1D42 95 3C @@ -8336,8 +8336,8 @@ ResetBytecodeState_OnZero_9D4A: ; ----------------------------------------------------------------------------- CopyActorCoordinates: ldy ActorSlotOffset ; CPU:$9D4E PRG:1D4E A4 21 - lda $003A,y ; CPU:$9D50 PRG:1D50 B9 3A 00 - sta $0031,y ; CPU:$9D53 PRG:1D53 99 31 00 + lda a:$003A,y ; CPU:$9D50 PRG:1D50 B9 3A 00 + sta a:$0031,y ; CPU:$9D53 PRG:1D53 99 31 00 ldx ActorIndex ; CPU:$9D56 PRG:1D56 A6 1E lda PlayerActionState,x ; CPU:$9D58 PRG:1D58 B5 F0 cmp #$FF ; CPU:$9D5A PRG:1D5A C9 FF @@ -8353,7 +8353,7 @@ CopyActorCoordinates: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- CopyActorCoordinates_OnCarryClear_9D61: - lda $003A,y ; CPU:$9D61 PRG:1D61 B9 3A 00 + lda a:$003A,y ; CPU:$9D61 PRG:1D61 B9 3A 00 sec ; CPU:$9D64 PRG:1D64 38 sbc #$38 ; CPU:$9D65 PRG:1D65 E9 38 sta VramBlockCountLo ; CPU:$9D67 PRG:1D67 85 14 @@ -8369,15 +8369,15 @@ CopyActorCoordinates_OnCarryClear_9D61: sbc Zp18 ; CPU:$9D7A PRG:1D7A E5 18 sta CollisionFlagBits ; CPU:$9D7C PRG:1D7C 85 15 ldy ActorSlotOffset ; CPU:$9D7E PRG:1D7E A4 21 - lda $003C,y ; CPU:$9D80 PRG:1D80 B9 3C 00 + lda a:$003C,y ; CPU:$9D80 PRG:1D80 B9 3C 00 cmp VramBlockCountLo ; CPU:$9D83 PRG:1D83 C5 14 bcs LoadActorTileIndex_OnCarrySet_9E02 ; CPU:$9D85 PRG:1D85 B0 7B cmp CollisionFlagBits ; CPU:$9D87 PRG:1D87 C5 15 bcs LoadActorTileIndex ; CPU:$9D89 PRG:1D89 B0 5B lda #$00 ; CPU:$9D8B PRG:1D8B A9 00 - sta $003B,y ; CPU:$9D8D PRG:1D8D 99 3B 00 + sta a:$003B,y ; CPU:$9D8D PRG:1D8D 99 3B 00 lda CollisionFlagBits ; CPU:$9D90 PRG:1D90 A5 15 - sta $003C,y ; CPU:$9D92 PRG:1D92 99 3C 00 + sta a:$003C,y ; CPU:$9D92 PRG:1D92 99 3C 00 ldx ActorIndex ; CPU:$9D95 PRG:1D95 A6 1E lda PlayerActiveFlag,x ; CPU:$9D97 PRG:1D97 B5 78 bne CopyActorCoordinates_OnNonzero_9DA2 ; CPU:$9D99 PRG:1D99 D0 07 @@ -8429,7 +8429,7 @@ CopyActorCoordinates_OnNonzero_9DBB: txa ; CPU:$9DBB PRG:1DBB 8A asl a ; CPU:$9DBC PRG:1DBC 0A tax ; CPU:$9DBD PRG:1DBD AA - lda $0031,y ; CPU:$9DBE PRG:1DBE B9 31 00 + lda a:$0031,y ; CPU:$9DBE PRG:1DBE B9 31 00 ldy #$21 ; CPU:$9DC1 PRG:1DC1 A0 21 cmp #$5A ; CPU:$9DC3 PRG:1DC3 C9 5A bcc CopyActorCoordinates_OnCarryClear_9DD0 ; CPU:$9DC5 PRG:1DC5 90 09 @@ -8490,20 +8490,20 @@ SetActorBounds: ; ----------------------------------------------------------------------------- LoadActorTileIndex: ldy ActorSlotOffset ; CPU:$9DE6 PRG:1DE6 A4 21 - lda $003B,y ; CPU:$9DE8 PRG:1DE8 B9 3B 00 + lda a:$003B,y ; CPU:$9DE8 PRG:1DE8 B9 3B 00 asl a ; CPU:$9DEB PRG:1DEB 0A - lda $003C,y ; CPU:$9DEC PRG:1DEC B9 3C 00 + lda a:$003C,y ; CPU:$9DEC PRG:1DEC B9 3C 00 rol a ; CPU:$9DEF PRG:1DEF 2A pha ; CPU:$9DF0 PRG:1DF0 48 php ; CPU:$9DF1 PRG:1DF1 08 - lda $0034,y ; CPU:$9DF2 PRG:1DF2 B9 34 00 + lda a:$0034,y ; CPU:$9DF2 PRG:1DF2 B9 34 00 and #$7F ; CPU:$9DF5 PRG:1DF5 29 7F rol a ; CPU:$9DF7 PRG:1DF7 2A plp ; CPU:$9DF8 PRG:1DF8 28 ror a ; CPU:$9DF9 PRG:1DF9 6A - sta $0034,y ; CPU:$9DFA PRG:1DFA 99 34 00 + sta a:$0034,y ; CPU:$9DFA PRG:1DFA 99 34 00 pla ; CPU:$9DFD PRG:1DFD 68 - sta $0032,y ; CPU:$9DFE PRG:1DFE 99 32 00 + sta a:$0032,y ; CPU:$9DFE PRG:1DFE 99 32 00 rts ; CPU:$9E01 PRG:1E01 60 ; ----------------------------------------------------------------------------- ; Routine: LoadActorTileIndex_OnCarrySet_9E02 @@ -8516,7 +8516,7 @@ LoadActorTileIndex: ; ----------------------------------------------------------------------------- LoadActorTileIndex_OnCarrySet_9E02: lda #$FF ; CPU:$9E02 PRG:1E02 A9 FF - sta $003B,y ; CPU:$9E04 PRG:1E04 99 3B 00 + sta a:$003B,y ; CPU:$9E04 PRG:1E04 99 3B 00 ldx VramBlockCountLo ; CPU:$9E07 PRG:1E07 A6 14 dex ; CPU:$9E09 PRG:1E09 CA stx PlayerPosYLo1,y ; CPU:$9E0A PRG:1E0A 96 3C @@ -8595,7 +8595,7 @@ LoadActorTileIndex_OnNonzero_9E50: txa ; CPU:$9E50 PRG:1E50 8A asl a ; CPU:$9E51 PRG:1E51 0A tax ; CPU:$9E52 PRG:1E52 AA - lda $0031,y ; CPU:$9E53 PRG:1E53 B9 31 00 + lda a:$0031,y ; CPU:$9E53 PRG:1E53 B9 31 00 ldy #$25 ; CPU:$9E56 PRG:1E56 A0 25 cmp #$5A ; CPU:$9E58 PRG:1E58 C9 5A bcc LoadActorTileIndex_OnCarryClear_9E65 ; CPU:$9E5A PRG:1E5A 90 09 @@ -8692,7 +8692,7 @@ QueueNametableWrite_OnNonzero_9E87: ; ----------------------------------------------------------------------------- QueueNametableWrite_OnNonnegative_9E89: lda (SourcePointerLo),y ; CPU:$9E89 PRG:1E89 B1 10 - sta $0097,y ; CPU:$9E8B PRG:1E8B 99 97 00 + sta a:$0097,y ; CPU:$9E8B PRG:1E8B 99 97 00 dey ; CPU:$9E8E PRG:1E8E 88 bpl QueueNametableWrite_OnNonnegative_9E89 ; CPU:$9E8F PRG:1E8F 10 F8 ldy #$00 ; CPU:$9E91 PRG:1E91 A0 00 @@ -9554,7 +9554,7 @@ RunActorScript_OnZero_A1C3: eor #$01 ; CPU:$A1C5 PRG:21C5 49 01 sta Zp2C ; CPU:$A1C7 PRG:21C7 85 2C tay ; CPU:$A1C9 PRG:21C9 A8 - lda $0026,y ; CPU:$A1CA PRG:21CA B9 26 00 + lda a:$0026,y ; CPU:$A1CA PRG:21CA B9 26 00 jsr $8CB8 ; CPU:$A1CD PRG:21CD 20 B8 8C lda Zp16 ; CPU:$A1D0 PRG:21D0 A5 16 sta VramBlockCountLo ; CPU:$A1D2 PRG:21D2 85 14 @@ -9672,7 +9672,7 @@ RunActorScript_OnZero_A246: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- LoadActorConfigByte: - lda $0026,y ; CPU:$A250 PRG:2250 B9 26 00 + lda a:$0026,y ; CPU:$A250 PRG:2250 B9 26 00 ; ----------------------------------------------------------------------------- ; Routine: ComputeActorConfigOffset ; Global: Compute the byte offset of an actor configuration record. @@ -9843,7 +9843,7 @@ LoadActorConfigFields_OnZero_A2D8: lda PlayerActionState,x ; CPU:$A2D8 PRG:22D8 B5 F0 cmp #$D0 ; CPU:$A2DA PRG:22DA C9 D0 bne LoadActorConfigFields_OnNonzero_A30B ; CPU:$A2DC PRG:22DC D0 2D - lda $003C,y ; CPU:$A2DE PRG:22DE B9 3C 00 + lda a:$003C,y ; CPU:$A2DE PRG:22DE B9 3C 00 bmi LoadActorConfigFields_OnNegative_A2EB ; CPU:$A2E1 PRG:22E1 30 08 lda ControllerDPad1,x ; CPU:$A2E3 PRG:22E3 B5 F6 and #$FC ; CPU:$A2E5 PRG:22E5 29 FC @@ -9875,7 +9875,7 @@ LoadActorConfigFields_OnNonzero_A2F1: sta ControllerDPad1,x ; CPU:$A2F1 PRG:22F1 95 F6 sta ControllerFaceButtons1,x ; CPU:$A2F3 PRG:22F3 95 F8 jsr $A4FF ; CPU:$A2F5 PRG:22F5 20 FF A4 - lda $0034,y ; CPU:$A2F8 PRG:22F8 B9 34 00 + lda a:$0034,y ; CPU:$A2F8 PRG:22F8 B9 34 00 and #$7F ; CPU:$A2FB PRG:22FB 29 7F cmp #$5E ; CPU:$A2FD PRG:22FD C9 5E beq LoadActorConfigFields_OnZero_A305 ; CPU:$A2FF PRG:22FF F0 04 @@ -9984,16 +9984,16 @@ ReadActorConfigByte: bne ReadActorConfigByte_JoinBranchPaths_A388 ; CPU:$A345 PRG:2345 D0 41 lda Zp84 ; CPU:$A347 PRG:2347 A5 84 bne ReadActorConfigByte_JoinBranchPaths_A388 ; CPU:$A349 PRG:2349 D0 3D - lda $003A,y ; CPU:$A34B PRG:234B B9 3A 00 + lda a:$003A,y ; CPU:$A34B PRG:234B B9 3A 00 sec ; CPU:$A34E PRG:234E 38 - sbc $0033,y ; CPU:$A34F PRG:234F F9 33 00 + sbc a:$0033,y ; CPU:$A34F PRG:234F F9 33 00 clc ; CPU:$A352 PRG:2352 18 adc #$08 ; CPU:$A353 PRG:2353 69 08 sta $0210 ; CPU:$A355 PRG:2355 8D 10 02 clc ; CPU:$A358 PRG:2358 18 adc #$08 ; CPU:$A359 PRG:2359 69 08 sta $0214 ; CPU:$A35B PRG:235B 8D 14 02 - lda $003C,y ; CPU:$A35E PRG:235E B9 3C 00 + lda a:$003C,y ; CPU:$A35E PRG:235E B9 3C 00 asl a ; CPU:$A361 PRG:2361 0A sta Zp85 ; CPU:$A362 PRG:2362 85 85 lda #$00 ; CPU:$A364 PRG:2364 A9 00 @@ -11647,7 +11647,7 @@ UpdateObjectAnimation: adc #$08 ; CPU:$A970 PRG:2970 69 08 cmp #$10 ; CPU:$A972 PRG:2972 C9 10 bcs UpdateObjectAnimation_JoinBranchPaths_A991 ; CPU:$A974 PRG:2974 B0 1B - lda $004F,y ; CPU:$A976 PRG:2976 B9 4F 00 + lda a:$004F,y ; CPU:$A976 PRG:2976 B9 4F 00 clc ; CPU:$A979 PRG:2979 18 adc #$14 ; CPU:$A97A PRG:297A 69 14 cmp #$64 ; CPU:$A97C PRG:297C C9 64 @@ -11663,11 +11663,11 @@ UpdateObjectAnimation: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- UpdateObjectAnimation_OnCarryClear_A982: - sta $004F,y ; CPU:$A982 PRG:2982 99 4F 00 + sta a:$004F,y ; CPU:$A982 PRG:2982 99 4F 00 lda #$00 ; CPU:$A985 PRG:2985 A9 00 sta ScreenTransitionState ; CPU:$A987 PRG:2987 85 68 lda #$96 ; CPU:$A989 PRG:2989 A9 96 - sta $0078,y ; CPU:$A98B PRG:298B 99 78 00 + sta a:$0078,y ; CPU:$A98B PRG:298B 99 78 00 jsr $82ED ; CPU:$A98E PRG:298E 20 ED 82 ; ----------------------------------------------------------------------------- ; Routine: UpdateObjectAnimation_JoinBranchPaths_A991 @@ -11866,9 +11866,9 @@ BuildObjectList: asl a ; CPU:$AA10 PRG:2A10 0A asl a ; CPU:$AA11 PRG:2A11 0A tay ; CPU:$AA12 PRG:2A12 A8 - lda $003A,y ; CPU:$AA13 PRG:2A13 B9 3A 00 + lda a:$003A,y ; CPU:$AA13 PRG:2A13 B9 3A 00 sec ; CPU:$AA16 PRG:2A16 38 - sbc $0033,y ; CPU:$AA17 PRG:2A17 F9 33 00 + sbc a:$0033,y ; CPU:$AA17 PRG:2A17 F9 33 00 sec ; CPU:$AA1A PRG:2A1A 38 sbc $0210 ; CPU:$AA1B PRG:2A1B ED 10 02 clc ; CPU:$AA1E PRG:2A1E 18 @@ -11880,7 +11880,7 @@ BuildObjectList: lda Zp85 ; CPU:$AA28 PRG:2A28 A5 85 ror a ; CPU:$AA2A PRG:2A2A 6A sec ; CPU:$AA2B PRG:2A2B 38 - sbc $003C,y ; CPU:$AA2C PRG:2A2C F9 3C 00 + sbc a:$003C,y ; CPU:$AA2C PRG:2A2C F9 3C 00 clc ; CPU:$AA2F PRG:2A2F 18 adc #$08 ; CPU:$AA30 PRG:2A30 69 08 cmp #$0C ; CPU:$AA32 PRG:2A32 C9 0C @@ -11888,12 +11888,12 @@ BuildObjectList: lda #$C0 ; CPU:$AA36 PRG:2A36 A9 C0 sta Zp84 ; CPU:$AA38 PRG:2A38 85 84 lda #$4B ; CPU:$AA3A PRG:2A3A A9 4B - sta $0034,y ; CPU:$AA3C PRG:2A3C 99 34 00 + sta a:$0034,y ; CPU:$AA3C PRG:2A3C 99 34 00 lda #$FB ; CPU:$AA3F PRG:2A3F A9 FB sta PlayerActionState,x ; CPU:$AA41 PRG:2A41 95 F0 jsr $A4FF ; CPU:$AA43 PRG:2A43 20 FF A4 lda #$4F ; CPU:$AA46 PRG:2A46 A9 4F - sta $0034,y ; CPU:$AA48 PRG:2A48 99 34 00 + sta a:$0034,y ; CPU:$AA48 PRG:2A48 99 34 00 lda #$FA ; CPU:$AA4B PRG:2A4B A9 FA sta PlayerActionState,x ; CPU:$AA4D PRG:2A4D 95 F0 lda #$00 ; CPU:$AA4F PRG:2A4F A9 00 @@ -12811,7 +12811,7 @@ ComputePlayerOverlapBits: lda ScriptFlagsHi ; CPU:$AD4C PRG:2D4C A5 4E beq ComputePlayerOverlapBits_JoinBranchPaths_AD7A ; CPU:$AD4E PRG:2D4E F0 2A jsr $A4FF ; CPU:$AD50 PRG:2D50 20 FF A4 - lda $0033,y ; CPU:$AD53 PRG:2D53 B9 33 00 + lda a:$0033,y ; CPU:$AD53 PRG:2D53 B9 33 00 beq ComputePlayerOverlapBits_JoinBranchPaths_AD7A ; CPU:$AD56 PRG:2D56 F0 22 bmi ComputePlayerOverlapBits_JoinBranchPaths_AD7A ; CPU:$AD58 PRG:2D58 30 20 lda FrameCounterLo ; CPU:$AD5A PRG:2D5A A5 24 @@ -12820,7 +12820,7 @@ ComputePlayerOverlapBits: bne ComputePlayerOverlapBits_JoinBranchPaths_AD7A ; CPU:$AD60 PRG:2D60 D0 18 ldx ActorIndex ; CPU:$AD62 PRG:2D62 A6 1E ldy ActorSlotOffset ; CPU:$AD64 PRG:2D64 A4 21 - lda $003A,y ; CPU:$AD66 PRG:2D66 B9 3A 00 + lda a:$003A,y ; CPU:$AD66 PRG:2D66 B9 3A 00 cmp #$68 ; CPU:$AD69 PRG:2D69 C9 68 bcs ComputePlayerOverlapBits_OnCarrySet_AD71 ; CPU:$AD6B PRG:2D6B B0 04 lda #$04 ; CPU:$AD6D PRG:2D6D A9 04 @@ -12916,7 +12916,7 @@ ComputePlayerOverlapBits_JoinBranchPaths_AD94: lda ScreenTransitionState ; CPU:$AD94 PRG:2D94 A5 68 beq ComputePlayerOverlapBits_JoinBranchPaths_ADC2 ; CPU:$AD96 PRG:2D96 F0 2A bmi ComputePlayerOverlapBits_JoinBranchPaths_ADC2 ; CPU:$AD98 PRG:2D98 30 28 - lda $003A,y ; CPU:$AD9A PRG:2D9A B9 3A 00 + lda a:$003A,y ; CPU:$AD9A PRG:2D9A B9 3A 00 sec ; CPU:$AD9D PRG:2D9D 38 sbc PlayerBoxOriginX ; CPU:$AD9E PRG:2D9E E5 6E clc ; CPU:$ADA0 PRG:2DA0 18 @@ -12958,7 +12958,7 @@ ComputePlayerOverlapBits_OnNonzero_ADAF: ; Clobbers: Not yet resolved. ; ----------------------------------------------------------------------------- ComputePlayerOverlapBits_OnCarryClear_ADB1: - lda $003C,y ; CPU:$ADB1 PRG:2DB1 B9 3C 00 + lda a:$003C,y ; CPU:$ADB1 PRG:2DB1 B9 3C 00 sec ; CPU:$ADB4 PRG:2DB4 38 sbc PlayerBoxOriginY ; CPU:$ADB5 PRG:2DB5 E5 70 clc ; CPU:$ADB7 PRG:2DB7 18 @@ -12980,14 +12980,14 @@ ComputePlayerOverlapBits_JoinBranchPaths_ADC2: lda FrameCounterLo ; CPU:$ADC2 PRG:2DC2 A5 24 and #$0F ; CPU:$ADC4 PRG:2DC4 29 0F beq ComputePlayerOverlapBits_OnZero_AE16 ; CPU:$ADC6 PRG:2DC6 F0 4E - lda $003A,y ; CPU:$ADC8 PRG:2DC8 B9 3A 00 + lda a:$003A,y ; CPU:$ADC8 PRG:2DC8 B9 3A 00 sta SourcePointerLo ; CPU:$ADCB PRG:2DCB 85 10 - lda $003C,y ; CPU:$ADCD PRG:2DCD B9 3C 00 + lda a:$003C,y ; CPU:$ADCD PRG:2DCD B9 3C 00 sta DestinationPointerLo ; CPU:$ADD0 PRG:2DD0 85 12 jsr $A4FF ; CPU:$ADD2 PRG:2DD2 20 FF A4 - lda $003A,y ; CPU:$ADD5 PRG:2DD5 B9 3A 00 + lda a:$003A,y ; CPU:$ADD5 PRG:2DD5 B9 3A 00 sta SourcePointerHi ; CPU:$ADD8 PRG:2DD8 85 11 - lda $003C,y ; CPU:$ADDA PRG:2DDA B9 3C 00 + lda a:$003C,y ; CPU:$ADDA PRG:2DDA B9 3C 00 sta DestinationPointerHi ; CPU:$ADDD PRG:2DDD 85 13 lda SourcePointerLo ; CPU:$ADDF PRG:2DDF A5 10 sec ; CPU:$ADE1 PRG:2DE1 38 diff --git a/OVERVIEW.md b/OVERVIEW.md index d86394c..0bf112d 100644 --- a/OVERVIEW.md +++ b/OVERVIEW.md @@ -43,7 +43,7 @@ This document provides a consolidated overview of all NES disassembly projects i | 33 | `Pyramid (U)` | USA | 16 KB | 8 KB | Vertical | PRG-IDENTICAL (Pass 1 done) | $D72E / $FF00 / $FF00 | | 34 | `Raid on Bungeling Bay (U)` | USA | 16 KB | 8 KB | Vertical | PRG-IDENTICAL (Pass 0 skeleton) | $C04C / $C000 / $C2C0 | | 35 | `Raid on Bungeling Bay (U) [a2]` | — | 16 KB | 8 KB | Horizontal | PRG-IDENTICAL (Pass 0 skeleton) | $C04C / $C000 / $C2C0 | -| 36 | `Urban Champion (JU)` | Japan | 16 KB | 8 KB | Vertical | PRG-IDENTICAL (Pass 0 skeleton) | $CA91 / $CA00 / $CA00 | +| 36 | `Urban Champion (JU)` | Japan | 16 KB | 8 KB | Vertical | **PRG-IDENTICAL (Pass 2 complete, 33.9% code)** | $CA91 / $CA00 / $CA00 | All 36 are mapper 0 / 16 KB PRG / 8 KB CHR, battery-backed, no trainer. diff --git a/PROMPTS.md b/PROMPTS.md index 29fdd3a..275eade 100644 --- a/PROMPTS.md +++ b/PROMPTS.md @@ -1,4 +1,4 @@ -CIRCUS disassembly project. +Pinball disassembly project. you will disassemble a NES rom. I will provide you with the skeleton project as a tar.gz file renamed to txt. build the byte identical rom. once you have completed a first pass to identify the code vs the data blocks, stop and provide me with the code. The goal is a byte-identical disassembly. Identify code and data sections. After the first pass, take a second pass and replace the known labels. Pass a third time to better identify use of code and data tables naming more appropriately. with code blocks that are generated, each method will have a local and global description, the parameters and the return value(s). for each instruction, include a comment at the end of the line with the offset followed by the actual bytes that are expected to be encoded. during building the byte exact source, include the remaining incbin line so we can cycle through builds quickly and efficently. diff --git a/_tools/cdl_reclass.py b/_tools/cdl_reclass.py index d4cfc77..adaf2fa 100644 --- a/_tools/cdl_reclass.py +++ b/_tools/cdl_reclass.py @@ -260,7 +260,8 @@ def main(): if not (body[i] & 3) or tgt[i] == k: tgt[i] = k else: - conflicts.append(f'${BASE+i:04X}: CDL says {tgt[i]}, override says {k}') + conflicts.append(f'${BASE+i:04X}: CDL says {tgt[i]}, override says {k} (override wins)') + tgt[i] = k # override always wins when explicitly specified # ---- region derivation ---- def merge(iv): diff --git a/_tools/nesdis.py b/_tools/nesdis.py index 91e6abf..fdbc93f 100644 --- a/_tools/nesdis.py +++ b/_tools/nesdis.py @@ -216,7 +216,8 @@ def render(prg, base, opcode, pc): elif mode == ABSY: insn.text = f"{'a:' if b2 == 0 else ''}{hex16(b1 | (b2 << 8))},y" elif mode == IND: - insn.text = f"({'a:' if b2 == 0 else ''}{hex16(b1 | (b2 << 8))})" + # IND (jmp ($xxxx)) has no zero-page variant, so no 'a:' prefix needed + insn.text = f"({hex16(b1 | (b2 << 8))})" elif mode == INDX: insn.text = f"(Zp{b1:02X},x)" elif mode == INDY: @@ -266,21 +267,21 @@ def trace(prg, base, seeds): targets.add(t) queue.append(t) elif insn.mnemonic == "jsr": - t = int(insn.text[1:], 16) + t = int(insn.text.replace("a:", "")[1:], 16) insn.jsr_target = t if base <= t < base + len(prg): targets.add(t) queue.append(t) elif insn.mnemonic == "jmp": if insn.mode == ABS: - t = int(insn.text[1:], 16) + t = int(insn.text.replace("a:", "")[1:], 16) insn.jsr_target = t if base <= t < base + len(prg): targets.add(t) queue.append(t) break # unconditional: no fall-through else: - ptr = int(insn.text.strip("()")[1:], 16) + ptr = int(insn.text.strip("()").replace("a:", "")[1:], 16) indirect.append((base + cur, ptr)) if base <= ptr < base + len(prg) - 1: t = prg[ptr - base] | (prg[ptr - base + 1] << 8) diff --git a/_wip/Urban Champion (JU)/OVERVIEW.md b/_wip/Urban Champion (JU)/OVERVIEW.md index 5d75331..2911d0b 100644 --- a/_wip/Urban Champion (JU)/OVERVIEW.md +++ b/_wip/Urban Champion (JU)/OVERVIEW.md @@ -1,6 +1,6 @@ -# Urban Champion (JU) — Skeleton Project +# Urban Champion (JU) — Pass 2 Complete -ROM: `_wip/Urban Champion (JU)/Urban Champion (JU).nes` (24,592 bytes, iNES). Status: **SKELETON — not yet disassembled.** The entire 16 KB PRG bank is a single unclassified block; `copilot/prg.s` is the default-project skeleton (`default_project.tar.gz`) that reproduces it as one `.incbin`. The skeleton build is **byte-identical** at the PRG level. +ROM: `_wip/Urban Champion (JU)/Urban Champion (JU).nes` (24,592 bytes, iNES). Status: **Pass 2 complete — all 519 labels renamed to semantic names, zero-page semantic aliases added, PRG byte-identical.** `copilot/prg.s` contains a classified disassembly with per-instruction audit comments (`; CPU:$xxxx PRG:xxxx AA BB`), unreached bytes emitted as explicit `.byte` blocks with provenance. The build is **BYTE-IDENTICAL** at the PRG level (33.9% code / 5,546 bytes, 66.1% data / 10,838 bytes). ## ROM Facts @@ -10,7 +10,7 @@ ROM: `_wip/Urban Champion (JU)/Urban Champion (JU).nes` (24,592 bytes, iNES). St | Mapper | 0 (NROM) — from the iNES header | | PRG | 16 KB (header claims map at CPU $C000–$FFFF) | | CHR | 8 KB | -| Mirroring | Horizontal | +| Mirroring | Vertical | | Battery-backed flag | clear | | ROM SHA-256 | `3ec5ac8db623dae34a0f4a4909f0af4569b2af0cee6c56bae512c87b7cff8749` | | PRG SHA-256 | `13e7f2a77b01784a479895c0535357978af32f5139d971edf5f5b1936585357e` | @@ -29,14 +29,14 @@ ROM: `_wip/Urban Champion (JU)/Urban Champion (JU).nes` (24,592 bytes, iNES). St |------|---------| | `Urban Champion (JU).nes` | original ROM image (reference) | | `prg.bin` / `header.bin` / `chr.bin` | split image, produced by `_tools/splitnes.py` | -| `prg.s` | Pass-1 skeleton: `.incbin "prg.bin", $0000, $4000` (whole PRG) | +| `prg.s` | Pass 1: classified code/data split, 2,716 instructions, 436 labels, audit comments on every emission; Pass 2: all 519 labels renamed to semantic names | | `symbols.inc` | shared NES hardware constants (PPU/APU/controller, from the skeleton) | -| `locals.inc` | project-local zero-page aliases — empty for now (filled in Pass 2) | +| `locals.inc` | 153 zero-page aliases + 10 semantic aliases (Pass 2) | | `linker.cfg` | PRG at $C000, 16 KB, `fill = yes` | | `Makefile` | links `reconstructed_prg.bin` and `cmp`s it against `prg.bin` | | `reconstructed_prg.bin` | build output from the last verified build | -Header/CHR are reproduced verbatim from `header.bin`/`chr.bin` (not linked): `make` verifies **PRG bytes only** at this stage, which is exactly what a skeleton proves. When this project is promoted to a full disassembly, `header.s` / `chr.s` (as e.g. `Burger Time (U)`) and a full-ROM `make` target get added. +Header/CHR are reproduced verbatim from `header.bin`/`chr.bin` (not linked): `make` verifies **PRG bytes only** at this stage. When this project is promoted to a full disassembly, `header.s` / `chr.s` (as e.g. `Burger Time (U)`) and a full-ROM `make` target get added. ## Build @@ -45,9 +45,62 @@ cd "_wip/Urban Champion (JU)/copilot" make # → cmp reconstructed_prg.bin prg.bin → "BYTE-IDENTICAL" ``` +## Pass 1 Details + +- **Tracer seeds**: RESET ($CA00), NMI ($CA91), plus `--auto-seed` recovered 34 table-referenced routines. +- **Forced data override**: `$CB70+$3C` (a cascade of `bne` instructions that are actually a branch table/data, not code). The fall-through through this region was incorrectly classified as code; forced to data with `--data 0xCB70:60`. +- **Overlaps**: 6 overlap regions remain (e.g. `$CB8F` `lsr` overlaps `$CB91`), all in the forced-data region — the conflicting decodes are suppressed in the output. +- **Invalid opcodes**: 7 addresses reached via static trace but decoding invalid opcodes (`$C658`, `$CAF9`, `$CB4D`, `$CC61`, `$D21B`, `$DBCE`, `$DE24`). These are marked `.byte` with the invalid opcode in the audit comment. +- **Indirect jumps**: 3 `jmp ($xxxx)` sites at `$CDFB` (`$0014`), `$C318` (`$00EB`), `$C332` (`$00ED`) — targets not statically resolvable. +- **Zero-page aliases**: 153 entries in `locals.inc` (auto-generated by tracer). + ## Next Steps (per `PROMPTS.md`) -1. **Pass 1** — replace the blanket `.incbin` with classified code/data: trace reachability from RESET ($CA00) and NMI ($CA91), emit per-instruction `; PRG:$xxxx AA BB` annotations, keep unreached bytes as explicit `.byte` blocks. -2. **Pass 2** — replace `Label_`/`Sub_` names with semantic routine names; fill `locals.inc`. -3. **Pass 3** — name data tables/structures; release provisional flags. -4. **Promotion** — move to a top-level `/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. +1. **Pass 3** — name data tables/structures; release provisional flags. +2. **Promotion** — move to a top-level `/copilot/` folder, add full-ROM build (header.s + chr.s + vectors), and write the power-on flow `OVERVIEW.md` in the established style; then it joins the root index's numbered inventory. + +## Pass 2 Details (2026-10-18) + +- **Label renaming**: **All 519 labels renamed** to semantic names using `pass2.py apply` with a mapping file (`label_map.tsv`). Key renamed routines: + - RESET/NMI: `Reset`, `NmiHandler` + - System init: `InitSystem`, `WaitPPUReady`, `InitStack`, `LoadGameConfig`, `InitVariables`, `SetupInitialState` + - RAM clearing: `ClearRAM`, `ClearRAMLoop` + - APU init: `InitAPU`, `ClearControllerState`, `InitAPURegisters`, `SetAPUVolume`, `SetAPUSweep`, `InitAPUWaveform` + - Controller: `UpdateControllerState`, `CheckControllerStart`, `ProcessControllerInput` + - Game loop: `MainGameLoop`, `TitleScreenLoop`, `GameModeDispatcher`, `GameplayFrame`, `CheckRoundEnd`, `UpdateRoundTimer` + - NMI: `NmiHandler`, `NmiFrameUpdate`, `NmiVBlankOnly`, `NmiExit`, `UpdateScroll` + - Sprites: `InitSprites`, `SpriteDMA` + - Players: `UpdatePlayers`, `HandlePlayer1`, `HandlePlayer2`, `UpdatePlayerPositions` + - Collision: `CheckCollisions` + - Sound: `InitSound`, `PlaySoundEffect`, `UpdateMusic` +- **Zero-page semantic aliases**: 10 aliases added to `locals.inc` (see `locals.inc` header for full list): + - Controller: `Joy1State` ($F3), `Joy2State` ($EF), `Joy1DPad` ($F6), `Joy2DPad` ($F7) + - Game state: `GameMode` ($24), `RoundIndex` ($26), `DispatchIndex` ($C0) + - Player arrays: `PlayerState` ($16), `PlayerInput` ($25), `PlayerData` ($2A) + - Pointers: `TempPtrLo` ($00), `TempPtrHi` ($01) +- **No `Label_` entries remain** — all 519 labels have semantic names. + +## Mesen CDL Verification (2026-10-18) + +A Code Data Logger capture was taken during gameplay (~15 seconds, all buttons pressed). Key findings vs. static trace: + +| Static Trace | CDL (Gameplay) | Disposition | +|--------------|----------------|-------------| +| `$C006-$C025` (32 B data) | **CODE** | Missed init routine — convert to code in Pass 2 | +| `$C032-$C04D` (28 B data) | **CODE** | Missed init routine — convert to code in Pass 2 | +| `$C22F-$C24C` (30 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C26A-$C287` (30 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C2A8-$C2DD` (54 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$C2F9-$C30B` (19 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$CFC3-$D011` (79 B data) | **CODE** | Large missed routine — convert to code in Pass 2 | +| `$D09D-$D173` (215 B data) | **CODE** | Large missed routine — convert to code in Pass 2 | +| `$D469-$D7DA` (882 B data) | **CODE** | Very large missed routine — convert to code in Pass 2 | +| `$DBFD-$DCF5` (249 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$DE21-$DEC8` (168 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$DED8-$DF4B` (116 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$E11D-$E1CC` (176 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| `$E350-$E40D` (190 B data) | **CODE** | Missed routine — convert to code in Pass 2 | +| **`$CB70-$CB90` (data)** | **DATA** | Confirmed: branch offsets, never executed as opcodes | +| **`$CB91-$CBAC` (data)** | **CODE** (jump target + linear) | **Critical**: `jmp $CB91` at `$CADE` enters here; executes linearly as a branch table. Current static trace has entire `$CB70-$CBAC` as one data block with dead branch-target labels inside. Pass 2 must split: `$CB70-$CB90` = data (branch offsets), `$CB91-$CBAC` = code (real branch table entered via `jmp $CB91`). | + +CDL coverage: 28.2% code (4,614 bytes) vs static trace 33.9% (5,546 bytes). The static trace over-reaches via fall-through into the branch cascade; the CDL confirms the cascade is dead (branch at `$CB6E` always taken to `$CB4E`), but reveals `$CB91-$CBAC` is live code entered via the `jmp` at `$CADE`. diff --git a/_wip/Urban Champion (JU)/copilot/label_map.tsv b/_wip/Urban Champion (JU)/copilot/label_map.tsv new file mode 100644 index 0000000..663b6dd --- /dev/null +++ b/_wip/Urban Champion (JU)/copilot/label_map.tsv @@ -0,0 +1,520 @@ +label Label_C000 InitAPU_C000 +label Label_C003 CheckControllerStart +label Label_C026 ScaleInputIndex +label Label_C04E SetAPUVolume +label Label_C056 SetAPUSweep +label Label_C058 InitAPUWaveform +label Label_C05E SaveXY +label Label_C063 InitSoundPointers +label Label_C06E UpdateControllerState +label Label_C087 InitControllerTables +label Label_C0A0 InitControllerTablesLoop +label Label_C0AE InitControllerTablesAlt +label Label_C0B1 InitControllerTablesExit +label Label_C0CF InitPPU +label Label_C0E0 InitPPULoop +label Label_C0F1 InitAPUFrameCounter +label Label_C0F8 InitAPUFrameCounterExit +label Label_C0FC InitPPUFinal +label Label_C18D LoadBackgroundData +label Label_C195 LoadBackgroundDataLoop +label Label_C199 LoadBackgroundDataAlt +label Label_C19B LoadBackgroundDataExit +label Label_C1A7 SetupSpriteData +label Label_C1B2 SetupSpriteDataLoop +label Label_C20F CopySpriteTables +label Label_C22C CopySpriteTablesLoop +label Label_C24D WaitVBlank +label Label_C288 WaitVBlankLoop +label Label_C2A5 InitGameVariables +label Label_C2DE ClearRAM +label Label_C30C ClearRAMPage +label Label_C30D ClearRAMPageLoop +label Label_C31B InitGameState +label Label_C327 InitGameStateExit +label Label_C332 InitAPUCall +label Label_C335 InitAPU +label Label_C352 ClearControllerState +label Label_C358 InitAPURegisters +label Label_C376 InitSpritesAlt1 +label Label_C37D InitSpritesAlt2 +label Label_C384 InitSpritesMain +label Label_C3A0 InitSpritesLoop +label Label_C3B3 InitSpritesExit_C3B3 +label Label_C3C8 InitSpritesAlt3 +label Label_C3E0 InitSpritesAlt4 +label Label_C3F5 InitSpritesAlt5 +label Label_C408 InitSpritesAlt6 +label Label_C41E InitSpritesAlt7 +label Label_C425 InitSpritesAlt8 +label Label_C438 InitSpritesAlt9 +label Label_C44E InitSpritesAlt10 +label Label_C465 InitGameState2 +label Label_C48A InitGameState2Exit +label Label_C508 InitGameState3 +label Label_C533 InitGameState3Exit +label Label_C5D1 InitGameState4 +label Label_C5FC InitGameState4Exit +label Label_C66E Reset +label Label_C66F ResetEntry +label Label_C69E InitSystem +label Label_CA02 WaitPPUReady +label Label_CA07 WaitPPUReadyLoop +label Label_CA0F InitStack +label Label_CA11 LoadGameConfig +label Label_CA14 InitVariables +label Label_CA17 SetupInitialState +label Label_CA19 SetupRAMPointer +label Label_CA1D ClearRAMStart +label Label_CA1F ClearRAMByte +label Label_CA21 ClearRAMLoop +label Label_CA2F StoreConfig +label Label_CA32 CallInitRoutines +label Label_CA35 CallInitRoutines2 +label Label_CA38 SetupScroll +label Label_CA3A SetupScroll2 +label Label_CA40 SetupGameMode +label Label_CA42 SetGameMode1 +label Label_CA44 SetZpA5 +label Label_CA46 InitAPURegisters2 +label Label_CA48 InitAPURegisters2Exit +label Label_CA4B CallCheckControllerStart +label Label_CA4E CallE7EF +label Label_CA51 SetupPPUCtrl +label Label_CA53 SetupPPUCtrlExit +label Label_CA56 SetZp08 +label Label_CA58 SetZp09 +label Label_CA5C SetupX +label Label_CA5E CopyConfigData +label Label_CA69 TitleScreenLoop +label Label_CA6D CheckGameMode +label Label_CA6F CheckRoundIndex +label Label_CA73 CallInitAPU +label Label_CA76 GameplayFrame +label Label_CA87 MainGameLoop +label Label_CA8B CallCheckRoundEnd +label Label_CA8E MainGameLoopJump +label Label_CA91 NmiHandler +label Label_CA9B NmiFrameUpdate +label Label_CAA5 NmiVBlankOnly_CAA5 +label Label_CAAC NmiFrameUpdate2 +label Label_CAAF NmiFrameUpdate3 +label Label_CAB2 NmiFrameUpdate4 +label Label_CAB5 NmiExit +label Label_CAC2 NmiVBlankOnly_CAC2 +label Label_CADA UpdateScroll +label Label_CBE2 InitSprites +label Label_CBF7 InitSpritesAlt +label Label_CC0B InitSpritesExit +label Label_CC46 UpdateSprites +label Label_CC61 UpdateSpritesExit +label Label_CC67 UpdateOAM_CC67 +label Label_CC77 UpdateOAMExit +label Label_CC85 UpdateOAM_CC85 +label Label_CC95 UpdateOAMExit2 +label Label_CCAF UpdatePalettes +label Label_CCC6 UpdatePalettes2 +label Label_CCCB UpdatePalettesExit +label Label_CCCE UpdatePalettesLoop +label Label_CCD0 UpdatePlayers +label Label_CCDA UpdatePlayersExit +label Label_CDE0 ProcessControllerInput +label Label_CE43 ScrollBackground +label Label_CE8B ScrollBackgroundExit +label Label_CF92 UpdateSpritePositions +label Label_CFA1 CheckRoundEnd +label Label_CFAB CheckRoundEndExit +label Label_CFC3 HandleKO +label Label_CFD3 HandleKOExit +label Label_CFE5 HandleTimeout +label Label_CFF8 HandleTimeoutExit +label Label_D01A UpdateRoundTimerInit +label Label_D027 UpdateRoundTimerInitExit +label Label_D057 UpdateRoundTimer +label Label_D08E SpriteDMA +label Label_D09D DrawBackground +label Label_D174 UpdatePPUMask +label Label_D187 UpdatePPUMaskExit +label Label_D1A7 UpdatePPUMaskAlt +label Label_D1C6 UpdatePPUMaskLoop +label Label_D216 UpdateHUD +label Label_D2E2 UpdateHUDExit +label Label_D30A UpdateScore +label Label_D3FA UpdateScoreLoop +label Label_D40E UpdateScoreExit +label Label_D469 DrawRoundNumber +label Label_D5D1 DrawRoundNumberExit +label Label_D7DB UpdatePlayerPositions +label Label_D80C UpdatePlayerPositionsExit +label Label_DAA7 CheckCollisions +label Label_DADD CheckCollisionsExit +label Label_DBCB UpdateTimers +label Label_DBDC UpdateTimersExit +label Label_DBFD ProcessInputs +label Label_DE03 ProcessInputsExit +label Label_DE24 ProcessInputsAlt +label Label_DE2E ProcessInputsAltExit +label Label_DEC9 UpdateRoundState +label Label_DEE3 UpdateRoundStateExit +label Label_DF4C UpdateRoundStateAlt +label Label_DF5E UpdateRoundStateAltExit +label Label_E00F HandlePlayer1 +label Label_E02B HandlePlayer1Exit +label Label_E048 HandlePlayer2 +label Label_E064 HandlePlayer2Exit +label Label_E076 HandlePlayer1Alt +label Label_E08D HandlePlayer1Entry +label Label_E11D HandlePlayer2Entry +label Label_E223 HandlePlayer1Logic +label Label_E2B9 HandlePlayer2Logic +label Label_E2C9 HandlePlayerLogicExit +label Label_E350 HandleGameOver +label Label_E3B2 HandleGameOverExit +label Label_E3E0 HandleRoundStart +label Label_E40E HandleRoundStartExit +label Label_E459 UpdateSound +label Label_E48B UpdateSoundExit +label Label_E4A4 UpdateSoundAlt +label Label_E4E2 UpdateSoundAltExit +label Label_E506 PlaySoundEffect +label Label_E535 PlaySoundEffectExit +label Label_E54A PlaySoundEffectAlt +label Label_E5B2 UpdateMusic +label Label_E617 UpdateMusicExit +label Label_E61B UpdateMusicAlt +label Label_E6D4 UpdateMusicLoop +label Label_E6FA UpdateMusicLoopExit +label Label_E793 InitSpriteData +label Label_E7B6 InitSpriteDataExit +label Label_E7EF InitSound +label Label_E7FE InitSoundExit + +label Label_C39A InitSpritesLoop +label Label_C3AD InitSpritesAltExit +label Label_C3C3 InitSpritesCheckE6 +label Label_C3E3 InitSpritesSetE4 +label Label_C3E9 InitSpritesSetE6 +label Label_C3FF InitSpritesCallChain +label Label_C405 InitSpritesClearEF +label Label_C40E InitSpritesCheckF1 +label Label_C40F InitSpritesSetF3 +label Label_C444 InitSpritesCheckF2 +label Label_C44A InitSpritesSetF2 +label Label_C478 InitSpritesAlt1Entry +label Label_C49C InitSpritesAlt1Loop +label Label_C4A4 InitSpritesAlt2Entry +label Label_C4A5 InitSpritesAlt2Loop +label Label_C4BB InitSpritesCheck10B +label Label_C4C3 InitSpritesInc10B +label Label_C4CA InitSpritesCheck10BMax +label Label_C4E3 InitSpritesCheck10C +label Label_C4E6 InitSpritesCheck10CAF +label Label_C4F4 InitSpritesSetF4 +label Label_C512 InitGameState3CheckE6 +label Label_C520 InitGameState3Loop +label Label_C52D InitGameState3Alt +label Label_C542 InitGameState4CheckF2 +label Label_C55A InitGameState4Loop +label Label_C590 InitGameState4ClearEF +label Label_C593 InitGameState4MaskF3 +label Label_C5A4 InitGameState4MaskEF +label Label_C5AB InitGameState4CheckF9 +label Label_C5C5 InitGameState4DecD8 +label Label_C5CA InitGameState4CheckF2Alt +label Label_C5F5 WaitVBlankLoop_C5F5 +label Label_C5F6 WaitVBlankDecD8 +label Label_C5F9 WaitVBlankDecD9 +label Label_C5FF WaitVBlankCheckFF +label Label_C605 WaitVBlankCheckFA +label Label_C60B WaitVBlankStore +label Label_C622 WaitVBlankCallC1B2 +label Label_C637 WaitVBlankCallC1B2Alt +label Label_C63D WaitVBlankCallC1B2Alt2 +label Label_C644 WaitVBlankJmpC20F +label Label_C647 WaitVBlankZeroE4 +label Label_C64E WaitVBlankCallC1B2Zero +label Label_CAE1 TitleScreenCheckMode +label Label_CB06 CheckControllerStartEntry +label Label_CB0F CheckControllerStartLoop +label Label_CB31 CheckControllerStartExit +label Label_CB4B CheckControllerStartWait +label Label_CB4E CheckControllerStartJmp +label Label_CB51 GameplayFrameCallD012 +label Label_CB55 GameplayFrameCallE70C +label Label_CB61 TitleScreenLoopCallInitAPU +label Label_CB66 UpdateScrollEntry +label Label_CBB6 InitSpritesSetPos +label Label_CBC0 InitSpritesZero5FF +label Label_CBDA UpdateScrollLogic +label Label_CBFB InitSpritesBeqCBFB +label Label_CC02 UpdateScrollCheckZp1F +label Label_CC15 InitSpritesIncY +label Label_CC1B InitSpritesCpy02 +label Label_CC24 InitSpritesSet5FD +label Label_CC29 UpdateScrollReadDispatch +label Label_CC3A UpdateScrollCheckDispatch +label Label_CC3E UpdateScrollReadZpA4 +label Label_CC42 UpdateScrollCheckDispatchAlt +label Label_CC5C UpdateScrollCheckZpA4 +label Label_CC6E UpdateOAMSetPointer +label Label_CC7B UpdateOAMClear200 +label Label_CC97 UpdateOAMCheckZp23 +label Label_CCAE UpdateOAMDecrement +label Label_CCC3 UpdateOAMCheckZp27 +label Label_CCCF UpdateOAMZeroY +label Label_CCE3 UpdatePalettesCheckZp27 +label Label_CCF3 UpdatePalettesZeroY +label Label_CCFB ProcessControllerInputLoop +label Label_CCFD ProcessControllerInputStore +label Label_CD22 RoundLogicCheckZp21 +label Label_CD33 RoundLogicBeqCD84 +label Label_CD38 RoundLogicSet21 +label Label_CD41 ProcessControllerInputEntry +label Label_CD5D ProcessControllerInputRead2002 +label Label_CD6C ProcessControllerInputAndFB +label Label_CD76 ProcessControllerInputStaZp08 +label Label_CD84 ProcessControllerInputRead2002Alt +label Label_CD85 ProcessControllerInputRead2002Alt2 +label Label_CD94 ProcessControllerInputAnd04 +label Label_CDAA ProcessControllerInputOra18 +label Label_CDC3 ProcessControllerInputStaZp09 +label Label_CDCA RoundLogicEntry +label Label_CDD6 RoundLogicDecZp2A +label Label_CDDC RoundLogicBplCDD6 +label Label_CDFE RoundLogicSaveXY +label Label_CE14 ScrollBackgroundEntry +label Label_CE20 ScrollBackgroundIncX +label Label_CE23 ScrollBackgroundTXA_CE23 +label Label_CE26 ScrollBackgroundCmp6F_CE26 +label Label_CE3A ScrollBackgroundRead2002 +label Label_CE55 ScrollBackgroundSetZp21 +label Label_CE6C ScrollBackgroundLoop +label Label_CE83 ScrollBackgroundInx +label Label_CEAD ScrollBackgroundTXA_CEAD +label Label_CEBD ScrollBackgroundCmp6F_CEBD +label Label_CEBE ScrollBackgroundAdc01 +label Label_CEC5 ScrollBackgroundAnd0F +label Label_CECE ScrollBackgroundStaZp01 +label Label_CEF1 ScrollBackgroundAdcZp01_CEF1 +label Label_CEF5 ScrollBackgroundCmp0A_CEF5 +label Label_CF23 ScrollBackgroundSbcZp01_CF23 +label Label_CF25 ScrollBackgroundStaZp01Alt +label Label_CF4E ScrollBackgroundCallCF92 +label Label_CF4F ScrollBackgroundCallCF92Entry +label Label_CF5A ScrollBackgroundAdcZp01_CF5A +label Label_CF67 ScrollBackgroundCmp0A_CF67 +label Label_CF6B ScrollBackgroundSbcZp01_CF6B +label Label_CF70 ScrollBackgroundCallCF92Alt +label Label_CF83 ScrollBackgroundCallCF92Alt2 +label Label_CF8F ScrollBackgroundStaZp01Alt2 +label Label_CFB3 CheckRoundEndEntry +label Label_D012 UpdateRoundTimerCallD057 +label Label_D015 UpdateRoundTimerBeq +label Label_D030 DrawBackgroundEntry +label Label_D034 DrawBackgroundSetZpA2 +label Label_D040 DrawBackgroundSetZpA2Alt +label Label_D044 DrawBackgroundLdx0 +label Label_D050 UpdateRoundTimerInitSetPtr +label Label_D05E UpdateRoundTimerInitSetZp09 +label Label_D066 UpdateRoundTimerInitCallCE3A +label Label_D07A SetupInitialStateEntry +label Label_D07E SetupInitialStateLoop +label Label_D084 SpriteDMAEntry +label Label_D086 SpriteDMALoop_D086 +label Label_D088 SpriteDMASetZp00 +label Label_D1A4 UpdatePPUMaskCheckZp85 +label Label_D1AE UpdatePPUMaskASL +label Label_D1C4 UpdatePPUMaskEntry +label Label_D1CA UpdatePPUMaskCheckZp8B +label Label_D1E8 UpdatePPUMaskBCS +label Label_D1EA UpdatePPUMaskLdx01 +label Label_D1F9 UpdatePPUMaskSetZp88 +label Label_D213 UpdatePlayersCheckZp00 +label Label_D243 UpdatePlayersBitZp00 +label Label_D254 UpdatePlayersCpyZp43 +label Label_D261 UpdatePlayersStxZp31 +label Label_D27B UpdatePlayersEntry +label Label_D289 UpdatePlayersCpyZp43Alt +label Label_D29E UpdatePlayersStyZp43 +label Label_D2A5 UpdatePlayersEntryAlt +label Label_D2A7 UpdatePlayersStxZp31Alt +label Label_D2A9 UpdatePlayersStyZp43Alt +label Label_D2AD UpdatePlayersCallE4E2 +label Label_D2AF UpdatePlayersCallE4E2Alt +label Label_D2B2 UpdatePlayersCallE5AC +label Label_D2C4 UpdatePlayersCallE462 +label Label_D2CA UpdatePlayersCheckZp1F +label Label_D300 UpdateScoreEntry +label Label_D301 UpdateScoreCheckZp88 +label Label_D304 UpdateScoreSetZp31 +label Label_D313 UpdateScoreLoadZp1F +label Label_D31F UpdateScoreBeqD31F +label Label_D327 UpdateScoreLdxZp89 +label Label_D332 UpdateScoreCallE2B9 +label Label_D341 UpdateScoreCallE459 +label Label_D34B UpdateScoreCallE462 +label Label_D35E UpdateScoreCpy0D +label Label_D367 UpdateScoreSetZp31Alt +label Label_D392 UpdateScoreLdx02 +label Label_D3A4 UpdateScoreCheckZp88Alt +label Label_D3BD UpdateScoreSetZp31Alt2 +label Label_D3C3 UpdateScoreBneD408 +label Label_D3CE UpdateScoreCallE46E +label Label_D3D1 UpdateScoreBneD40E +label Label_D3F3 UpdateScoreSetZp31Alt3 +label Label_D408 UpdateScoreBneD3CE +label Label_D411 UpdateScoreLDY02 +label Label_D436 DrawRoundNumberCalc +label Label_D444 DrawRoundNumberClc +label Label_D447 DrawRoundNumberADC06 +label Label_D45B DrawRoundNumberCallE7A7 +label Label_D463 DrawRoundNumberCallE4E2 +label Label_D7FC UpdatePlayerPositionsCheckZp84 +label Label_D807 UpdatePlayerPositionsSetZp32 +label Label_D825 UpdatePlayerPositionsEntry +label Label_D828 UpdatePlayerPositionsStxZp31 +label Label_DA25 TitleScreenSetMode +label Label_DAB3 SpriteDMACheckZp96 +label Label_DB57 SpriteDMACmp02 +label Label_DB7D SpriteDMALoopEntry +label Label_DB8E SpriteDMALdx0A +label Label_DB91 SpriteDMABeqDB91 +label Label_DB92 SpriteDMALdy0A +label Label_DB9E SpriteDMALdaF940 +label Label_DBA6 SpriteDMALoop_DBA6 +label Label_DBAA SpriteDMADex +label Label_DBBF SpriteDMACheckZp93 +label Label_DBDD SpriteDMACallCDE0 +label Label_DBEF SpriteDMACallDD8C +label Label_DBF0 SpriteDMARTS +label Label_DCF6 UpdateTimersEntry +label Label_DCFF UpdateTimersBeqDD33 +label Label_DD00 UpdateTimersCmp02 +label Label_DD33 UpdateTimersBeqDD33Alt +label Label_DD34 UpdateTimersBeqDD34 +label Label_DD3B UpdateTimersCmp02Alt +label Label_DD8C UpdateTimersAnd1F +label Label_DD96 UpdateTimersBneDDAB +label Label_DDAB UpdateTimersCallCDE0 +label Label_DE1C ProcessInputsEntry +label Label_DE35 ProcessInputsCheckZp1F +label Label_DF53 HandleKOEntry +label Label_DF74 HandleKOLda05EC +label Label_DF75 HandleKOAnd07 +label Label_DF7A HandleKOLoop +label Label_DF8D HandleKOCmp07 +label Label_DF9E HandleKOCheckZp88 +label Label_DFAE HandleKOBeqDFB7 +label Label_DFB7 HandleKOLda0321 +label Label_DFDA HandleKODex +label Label_DFDF HandleKODexBne +label Label_DFE4 HandleKOCheckZp1F +label Label_DFE5 HandleKOBeqDFE4 +label Label_E040 HandlePlayer1CheckZpC0 +label Label_E052 HandlePlayer1BeqE075 +label Label_E056 HandlePlayer1LdxZp89 +label Label_E06D HandlePlayer1CallE1CD +label Label_E073 HandlePlayer1CallE1FD +label Label_E075 HandlePlayer1Entry +label Label_E0B4 HandlePlayer1CheckZp87 +label Label_E0B7 HandlePlayer1BeqE235 +label Label_E11A HandlePlayer2CallE1FD +label Label_E11C HandlePlayer2Entry +label Label_E1CD HandlePlayer2CallE1FDEntry +label Label_E1FD HandlePlayer2Dex +label Label_E207 HandlePlayer1LogicLdxZp36 +label Label_E20D HandlePlayer1LogicInx +label Label_E21E HandlePlayer1LogicLda0258 +label Label_E235 HandlePlayer1LogicBeq +label Label_E236 HandlePlayer1LogicLdaZp87 +label Label_E24A HandlePlayer1LogicCallE4E2 +label Label_E255 HandlePlayer1LogicCallE5AC +label Label_E26C HandlePlayer1LogicCallE4E2Alt +label Label_E290 HandlePlayer2LogicEntry +label Label_E29C HandlePlayer2LogicCpyZp43 +label Label_E2A3 HandlePlayer2LogicStxZp31 +label Label_E2B8 HandlePlayer2LogicCallE4E2 +label Label_E2C1 HandlePlayer2LogicCallE5AC +label Label_E2D8 HandlePlayer2LogicCallE4E2Alt +label Label_E2E5 HandlePlayer2LogicCallE4E2Alt2 +label Label_E2FF HandlePlayer2LogicCallE4E2Alt3 +label Label_E30F HandleGameOverEntry +label Label_E312 HandleGameOverCallE4E2 +label Label_E31E HandleGameOverCallE5AC +label Label_E334 HandleGameOverCallE4E2Alt +label Label_E346 HandleGameOverCallE4E2Alt2 +label Label_E34F HandleGameOverCallE4E2Alt3 +label Label_E418 HandleRoundStartEntry +label Label_E41A HandleRoundStartCallE4E2 +label Label_E42A HandleRoundStartCallE5AC +label Label_E438 HandleRoundStartCallE4E2Alt +label Label_E450 HandleRoundStartCallE4E2Alt2 +label Label_E458 HandleRoundStartCallE4E2Alt3 +label Label_E461 HandleRoundStartCallE4E2Alt4 +label Label_E462 UpdateSoundEntry +label Label_E469 UpdateSoundCallE4E2 +label Label_E46E UpdateSoundCallE5AC +label Label_E479 UpdateSoundCallE4E2Alt +label Label_E48A UpdateSoundCallE4E2Alt2 +label Label_E496 UpdateSoundCallE4E2Alt3 +label Label_E4AE UpdateSoundCallE5ACAlt +label Label_E4BD UpdateSoundCallE4E2Alt5 +label Label_E4BF UpdateSoundCallE4E2Alt6 +label Label_E4EA UpdateSoundCallE5ACAlt2 +label Label_E4F6 UpdateSoundCallE4E2Alt7 +label Label_E50A PlaySoundEffectEntry +label Label_E52A PlaySoundEffectCallE4E2 +label Label_E52B PlaySoundEffectCallE5AC +label Label_E52F PlaySoundEffectCallE4E2Alt +label Label_E543 PlaySoundEffectCallE4E2Alt2 +label Label_E549 PlaySoundEffectCallE5ACAlt +label Label_E56B PlaySoundEffectCallE4E2Alt3 +label Label_E582 PlaySoundEffectCallE5ACAlt2 +label Label_E594 PlaySoundEffectCallE4E2Alt4 +label Label_E595 PlaySoundEffectCallE5ACAlt3 +label Label_E5AB UpdateMusicEntry +label Label_E5AC UpdateMusicCallE4E2 +label Label_E5CD UpdateMusicCallE5AC +label Label_E5D9 UpdateMusicCallE4E2Alt +label Label_E5E4 UpdateMusicCallE4E2Alt2 +label Label_E5E5 UpdateMusicCallE5ACAlt +label Label_E5FB UpdateMusicCallE5ACAlt2 +label Label_E60E UpdateMusicCallE4E2Alt3 +label Label_E62D UpdateMusicCallE5ACAlt3 +label Label_E62F UpdateMusicCallE4E2Alt4 +label Label_E630 UpdateMusicCallE5ACAlt4 +label Label_E641 UpdateMusicCallE4E2Alt5 +label Label_E65A UpdateMusicCallE5ACAlt5 +label Label_E669 UpdateMusicCallE4E2Alt6 +label Label_E695 UpdateMusicLoopEntry +label Label_E6A8 UpdateMusicLoopCallE4E2 +label Label_E6BE UpdateMusicLoopCallE5AC +label Label_E6CE UpdateMusicLoopCallE4E2Alt +label Label_E6DD UpdateMusicLoopCallE4E2Alt2 +label Label_E6E3 UpdateMusicLoopCallE5ACAlt +label Label_E6E6 UpdateMusicLoopCallE4E2Alt3 +label Label_E6F2 UpdateMusicLoopCallE5ACAlt2 +label Label_E6F9 UpdateMusicLoopCallE4E2Alt4 +label Label_E70C InitSpriteDataEntry +label Label_E72D InitSpriteDataLoop +label Label_E749 InitSpriteDataCallE4E2 +label Label_E753 InitSpriteDataCallE5AC +label Label_E764 InitSpriteDataCallE4E2Alt +label Label_E768 InitSpriteDataCallE5ACAlt +label Label_E777 InitSpriteDataCallE4E2Alt2 +label Label_E77C InitSpriteDataCallE5ACAlt2 +label Label_E7A7 InitSpriteDataCallE4E2Alt3 +label Label_E7AB InitSpriteDataCallE5ACAlt3 +label Label_E7AF InitSpriteDataCallE4E2Alt4 +label Label_E7B1 InitSpriteDataCallE5ACAlt4 +label Label_E7BE InitSpriteDataCallE4E2Alt5 +label Label_E7C6 InitSpriteDataCallE5ACAlt5 +label Label_E7D6 InitSpriteDataCallE4E2Alt6 +label Label_E7DB InitSpriteDataCallE5ACAlt6 +label Label_E7F7 InitSoundEntry +label Label_E7F9 InitSoundCallE4E2 +label Label_E80B InitSoundCallE5AC +label Label_E80C InitSoundExit_E80C +label Label_D2C7 UpdatePlayersCallE462_CF +label Label_DB48 SpriteDMACheckZp96_DB48 +label Label_DFBC HandleKOCheckZp1F_DFBC diff --git a/_wip/Urban Champion (JU)/copilot/locals.inc b/_wip/Urban Champion (JU)/copilot/locals.inc index 43c392b..6b44460 100644 --- a/_wip/Urban Champion (JU)/copilot/locals.inc +++ b/_wip/Urban Champion (JU)/copilot/locals.inc @@ -1,2 +1,159 @@ -; Urban Champion (JU) zero-page aliases (declared during Pass 2). -; These intentionally conservative names will be refined in Passes 2 and 3. +; Urban Champion (JU) application-specific RAM aliases - Pass 1 +; Generated from every direct zero-page operand in reachable code: +; ref counts are reads/writes, `where` lists the referencing addresses. +; ZpXX names indicate storage with a role not yet unique enough for a behavioral name; +; Pass 2 replaces them with names derived from observed usage. + +Zp00 = $00 ; 54 refs; reads=33 writes=21; used at $CA1D, CA21, CC72, CC97, +49 more +Zp01 = $01 ; 32 refs; reads=13 writes=19; used at $CA19, CA26, CC6E, CC99, +26 more +Zp02 = $02 ; 15 refs; reads=9 writes=6; used at $CD02, CD33, CD9A, CDB3, +11 more +Zp03 = $03 ; 10 refs; reads=3 writes=7; used at $CED1, CEDC, CEE7, CEF8, +6 more +Zp04 = $04 ; 5 refs; reads=2 writes=3; used at $CE67, CEA3, CEC6, E2D1 +Zp05 = $05 ; 5 refs; reads=3 writes=2; used at $CE5F, CE7C, CEE9, CF10, +1 more +Zp06 = $06 ; 6 refs; reads=3 writes=3; used at $CE7E, CE8C, CEDE, CF05, +1 more +Zp07 = $07 ; 7 refs; reads=4 writes=3; used at $CED3, CEFA, CFA6, CFAD, +3 more +Zp08 = $08 ; 11 refs; reads=6 writes=5; used at $CA56, CD4D, CD54, CD88, +7 more +Zp09 = $09 ; 11 refs; reads=5 writes=6; used at $CA5A, CAC2, CAC6, CACE, +7 more +Zp0A = $0A ; 1 refs; reads=1 writes=0; used at $CE44 +Zp0B = $0B ; 1 refs; reads=1 writes=0; used at $CE49 +Zp0C = $0C ; 7 refs; reads=5 writes=2; used at $E236, E25A, E267, E2A5, +3 more +Zp0D = $0D ; 5 refs; reads=4 writes=1; used at $E238, E25C, E261, E2AE, +1 more +Zp0E = $0E ; 2 refs; reads=1 writes=1; used at $E26C, E294 +Zp0F = $0F ; 7 refs; reads=3 writes=4; used at $E2A3, E2B3, E6E6, E6EB, +2 more +Zp10 = $10 ; 5 refs; reads=4 writes=1; used at $E5C2, E5CF, E5E8, E5ED, +1 more +Zp11 = $11 ; 1 refs; reads=0 writes=1; used at $E5C7 +Zp12 = $12 ; 8 refs; reads=6 writes=2; used at $E5BA, E5C0, E5C5, E5EB, +4 more +Zp13 = $13 ; 2 refs; reads=0 writes=2; used at $E5BE, E5E5 +Zp14 = $14 ; 10 refs; reads=6 writes=4; used at $CDE8, CDED, CDF1, CDF5, +6 more +Zp15 = $15 ; 4 refs; reads=0 writes=4; used at $CDEB, CDF3, E244, E722 +Zp16 = $16 ; 5 refs; reads=4 writes=1; used at $CAE1, CBDA, CCFE, CD12, +1 more +Zp18 = $18 ; 10 refs; reads=5 writes=5; used at $CD22, CD24, CD29, CD2F, +6 more +Zp19 = $19 ; 5 refs; reads=1 writes=4; used at $DE0F, DECB, DF75, DF77, +1 more +Zp1A = $1A ; 3 refs; reads=1 writes=2; used at $E5CB, E5CD, E613 +Zp1B = $1B ; 13 refs; reads=7 writes=6; used at $E62D, E63A, E63C, E65A, +5 more +Zp1C = $1C ; 3 refs; reads=1 writes=2; used at $CB40, CCBD +Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $CB22, CCCB +Zp1E = $1E ; 1 refs; reads=1 writes=0; used at $D062 +Zp1F = $1F ; 8 refs; reads=8 writes=0; used at $D313, DE03, DFBC, E0A6, +4 more +Zp20 = $20 ; 4 refs; reads=2 writes=2; used at $CA87, CAB9, D015, D059 +Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $CD41, CD82, CE57 +Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $CAA5, CAB7, D05B +Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $CC85, CC95 +Zp24 = $24 ; 5 refs; reads=2 writes=3; used at $CA42, CA69, CADA, CBE4, +1 more +Zp25 = $25 ; 8 refs; reads=3 writes=5; used at $CAF0, CB20, CB2A, CB3C, +4 more +Zp26 = $26 ; 5 refs; reads=4 writes=1; used at $CA6D, CBCB, CBF7, CC5C, +1 more +Zp27 = $27 ; 2 refs; reads=1 writes=1; used at $CCAF, CCB5 +Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $CDE0, CDF7 +Zp29 = $29 ; 2 refs; reads=1 writes=1; used at $CDE2, CDF9 +Zp2A = $2A ; 8 refs; reads=4 writes=4; used at $CB0F, CBF2, CCC6, CDCC, +3 more +Zp2B = $2B ; 6 refs; reads=4 writes=2; used at $CDD6, CDDA, D7EB, D7F1, +1 more +Zp2D = $2D ; 6 refs; reads=2 writes=4; used at $CBF4, CBFD, CC3C, D05E, +2 more +Zp2E = $2E ; 2 refs; reads=1 writes=1; used at $DD36, DD3B +Zp2F = $2F ; 2 refs; reads=1 writes=1; used at $CA82 +Zp30 = $30 ; 4 refs; reads=2 writes=2; used at $D037, D044, D088, E5AC +Zp31 = $31 ; 9 refs; reads=5 writes=4; used at $D216, D248, D256, D2A7, +5 more +Zp32 = $32 ; 14 refs; reads=6 writes=8; used at $D30A, D35C, D3DB, D809, +9 more +Zp33 = $33 ; 10 refs; reads=6 writes=4; used at $D3F4, D3F6, E0C7, E1F1, +6 more +Zp34 = $34 ; 10 refs; reads=5 writes=5; used at $D7F5, D7F7, D801, D821, +6 more +Zp35 = $35 ; 10 refs; reads=3 writes=7; used at $D3E5, D7E7, D805, D80E, +6 more +Zp36 = $36 ; 2 refs; reads=2 writes=0; used at $E207, E5B0 +Zp37 = $37 ; 1 refs; reads=1 writes=0; used at $E5D9 +Zp38 = $38 ; 1 refs; reads=1 writes=0; used at $E64D +Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $D3D5, E580 +Zp3C = $3C ; 1 refs; reads=1 writes=0; used at $E649 +Zp3D = $3D ; 3 refs; reads=2 writes=1; used at $CF2F, D31F +Zp3E = $3E ; 9 refs; reads=4 writes=5; used at $D25A, D3C5, D3E9, E49C, +4 more +Zp40 = $40 ; 3 refs; reads=1 writes=2; used at $DE1C, DED3, DFB9 +Zp41 = $41 ; 6 refs; reads=3 writes=3; used at $D3FA, E464, E4E2, E4E6, +1 more +Zp42 = $42 ; 4 refs; reads=2 writes=2; used at $D400, E466, E508, E51C +Zp43 = $43 ; 9 refs; reads=6 writes=3; used at $D243, D2A9, D2AD, D3AA, +5 more +Zp44 = $44 ; 5 refs; reads=4 writes=1; used at $D2A0, D33C, D3C9, D42F, +1 more +Zp45 = $45 ; 3 refs; reads=2 writes=1; used at $D206, D20A +Zp46 = $46 ; 3 refs; reads=1 writes=2; used at $D202, D30E, D3DF +Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $D3AE, D3B4 +Zp49 = $49 ; 4 refs; reads=2 writes=2; used at $E410, E414, E438 +Zp4A = $4A ; 2 refs; reads=1 writes=1; used at $E418, E456 +Zp4C = $4C ; 2 refs; reads=1 writes=1; used at $D333, D455 +Zp4D = $4D ; 1 refs; reads=1 writes=0; used at $DF97 +Zp4F = $4F ; 2 refs; reads=1 writes=1; used at $D267, D295 +Zp70 = $70 ; 4 refs; reads=2 writes=2; used at $E05D, E061, E066 +Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $DFC7 +Zp80 = $80 ; 5 refs; reads=4 writes=1; used at $D18B, E316, E326, E338 +Zp81 = $81 ; 8 refs; reads=6 writes=2; used at $D191, DBDD, E301, E312, +3 more +Zp82 = $82 ; 8 refs; reads=7 writes=1; used at $D7E1, DE11, E0CB, E2DC, +3 more +Zp84 = $84 ; 8 refs; reads=5 writes=3; used at $D7DB, DBC6, DBFA, DCFD, +3 more +Zp85 = $85 ; 3 refs; reads=3 writes=0; used at $C5BD, D174, DB86 +Zp86 = $86 ; 2 refs; reads=1 writes=1; used at $CA97, D184 +Zp87 = $87 ; 5 refs; reads=3 writes=2; used at $D1B4, D1B8, E223, E233 +Zp88 = $88 ; 11 refs; reads=8 writes=3; used at $D1EE, D261, D291, D304, +7 more +Zp89 = $89 ; 22 refs; reads=19 writes=3; used at $D1C6, D2B8, D2BD, D2CC, +18 more +Zp8A = $8A ; 1 refs; reads=1 writes=0; used at $DAA9 +Zp8B = $8B ; 3 refs; reads=1 writes=2; used at $D1CA, D1F1, E5A0 +Zp8D = $8D ; 1 refs; reads=0 writes=1; used at $DECF +Zp8E = $8E ; 2 refs; reads=1 writes=1; used at $DF53 +Zp8F = $8F ; 2 refs; reads=1 writes=1; used at $DFD8, DFE2 +Zp90 = $90 ; 5 refs; reads=3 writes=2; used at $DCF9, DD00, DD38, DD7A +Zp93 = $93 ; 4 refs; reads=4 writes=0; used at $D2E2, DBBF, E076, E2D8 +Zp94 = $94 ; 2 refs; reads=2 writes=0; used at $DB5D, DBB4 +Zp95 = $95 ; 2 refs; reads=2 writes=0; used at $DB62, DBB9 +Zp96 = $96 ; 7 refs; reads=3 writes=4; used at $CB26, DB48, DB54, DB57, +1 more +Zp97 = $97 ; 3 refs; reads=1 writes=2; used at $DB5B, DB92 +ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $D030, D040 +ZpA3 = $A3 ; 4 refs; reads=2 writes=2; used at $E7FE, E806, E80E +ZpA4 = $A4 ; 1 refs; reads=1 writes=0; used at $CC46 +ZpA5 = $A5 ; 4 refs; reads=2 writes=2; used at $CA44, CC4B, E08C +ZpAB = $AB ; 1 refs; reads=1 writes=0; used at $E08A +ZpAC = $AC ; 1 refs; reads=1 writes=0; used at $DECD +ZpB1 = $B1 ; 2 refs; reads=1 writes=1; used at $E5FE, E66A +ZpB2 = $B2 ; 2 refs; reads=1 writes=1; used at $E611, E6BF +ZpB3 = $B3 ; 5 refs; reads=3 writes=2; used at $E64B, E651, E655, E680, +1 more +ZpB4 = $B4 ; 14 refs; reads=9 writes=5; used at $E5B2, E5D5, E66F, E674, +6 more +ZpB9 = $B9 ; 1 refs; reads=0 writes=1; used at $CBC7 +ZpBA = $BA ; 1 refs; reads=0 writes=1; used at $CBC9 +ZpC0 = $C0 ; 8 refs; reads=5 writes=3; used at $CBE8, CC29, CC2F, CC42, +4 more +ZpC1 = $C1 ; 2 refs; reads=2 writes=0; used at $E73E, E749 +ZpC3 = $C3 ; 3 refs; reads=2 writes=1; used at $CECA, CEF1, CF27 +ZpC4 = $C4 ; 6 refs; reads=3 writes=3; used at $CEE5, CEEE, CF0C, CF15, +2 more +ZpC5 = $C5 ; 7 refs; reads=4 writes=3; used at $CEDA, CEE3, CF01, CF0A, +3 more +ZpC6 = $C6 ; 8 refs; reads=5 writes=3; used at $CECF, CED8, CEF6, CEFF, +4 more +ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $D2E6, D338 +ZpCD = $CD ; 1 refs; reads=0 writes=1; used at $E280 +ZpCE = $CE ; 1 refs; reads=0 writes=1; used at $E27A +ZpCF = $CF ; 2 refs; reads=1 writes=1; used at $E272, E29C +ZpD0 = $D0 ; 8 refs; reads=4 writes=4; used at $C1F5, C221, C223, C323, +2 more +ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $C1F7, C25F, C261 +ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $C1F9, C29A, C29C +ZpD3 = $D3 ; 4 refs; reads=2 writes=2; used at $C1FB, C2F0, C2F2 +ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $C321, C330 +ZpD8 = $D8 ; 3 refs; reads=1 writes=2; used at $C1EB, C213 +ZpD9 = $D9 ; 3 refs; reads=1 writes=2; used at $C1ED, C251 +ZpDA = $DA ; 3 refs; reads=1 writes=2; used at $C1EF, C28C +ZpDB = $DB ; 3 refs; reads=1 writes=2; used at $C1F1, C2E2 +ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $C02F +ZpE0 = $E0 ; 6 refs; reads=3 writes=3; used at $C31B, C31F, C32A, C32C +ZpE4 = $E4 ; 2 refs; reads=0 writes=2; used at $C360, C649 +ZpE5 = $E5 ; 2 refs; reads=1 writes=1; used at $C029, C1BF +ZpE6 = $E6 ; 10 refs; reads=7 writes=3; used at $C04E, C1B6, C35E, C3B3, +6 more +ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $C05E +ZpEA = $EA ; 1 refs; reads=0 writes=1; used at $C060 +ZpEB = $EB ; 4 refs; reads=0 writes=4; used at $C21F, C25D, C294, C2EA +ZpEC = $EC ; 1 refs; reads=0 writes=1; used at $C067 +ZpED = $ED ; 4 refs; reads=0 writes=4; used at $C21B, C259, C298, C2EE +ZpEE = $EE ; 1 refs; reads=0 writes=1; used at $C065 +ZpEF = $EF ; 19 refs; reads=11 writes=8; used at $C074, C078, C095, C099, +15 more +ZpF0 = $F0 ; 7 refs; reads=3 writes=4; used at $C0BD, C34B, C3C9, CC31, +3 more +ZpF1 = $F1 ; 9 refs; reads=5 writes=4; used at $C0B1, C34D, C3C3, C465, +5 more +ZpF2 = $F2 ; 6 refs; reads=2 writes=4; used at $C34F, C5D1, CC35, D19F, +2 more +ZpF3 = $F3 ; 15 refs; reads=8 writes=7; used at $C06E, C072, C0C8, C0CF, +11 more +ZpF4 = $F4 ; 2 refs; reads=0 writes=2; used at $C19B, C1A9 +ZpF5 = $F5 ; 1 refs; reads=0 writes=1; used at $C19F +ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $C1A1, C1A7 +ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $C1A3 +ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $C1C4, C225 +ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $C1C9, C20F +ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $C1CE, C263 +ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $C1D3, C24D +ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $C1D8, C29E +ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $C1DD, C288 +ZpFE = $FE ; 2 refs; reads=1 writes=1; used at $C1E2, C2F4 +ZpFF = $FF ; 2 refs; reads=1 writes=1; used at $C1E7, C2DE diff --git a/_wip/Urban Champion (JU)/copilot/prg.s b/_wip/Urban Champion (JU)/copilot/prg.s index 46354ef..e0a05a8 100644 --- a/_wip/Urban Champion (JU)/copilot/prg.s +++ b/_wip/Urban Champion (JU)/copilot/prg.s @@ -1,12 +1,7863 @@ -; Urban Champion (JU) NES disassembly - Pass 1 (skeleton) -; Generated from the supplied 16 KiB PRG image. -; Pass 1 classifies recursively reachable code, inline address tables, vectors, -; and untraced/data regions. All PRG data bytes are emitted explicitly with .byte directives. - +; Urban Champion (JU) 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=$CA91 RESET=$CA00 IRQ=$CA00 +; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) +; +; Pass 1 trace provenance (the audit trail behind every classification below): +; 34 further routine entries recovered from table references elsewhere in the image: +; $C026, $CEBE, $CEC5, $CF4F, $CF70, $CF92, $D05E, $D084, $D086, $D187, $D7DB, $D80C, $DAA7, $DBDD, $DCF6, $DEC9, $DF4C, $E1FD, $E2B9, $E2C9, $E40E, $E459, $E462, $E4A4, $E4E2, $E506, $E535, $E54A, $E617, $E61B, $E6D4, $E6FA, $E7B6, $E7FE +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $CA00, $CA91 +; $CB70-$CBAB forced back to data: the only path into it is a branch that is always taken +; indirect dispatch through zero page (not followed statically): +; jmp ($0014) at $CDFB +; jmp ($00EB) at $C318 +; jmp ($00ED) at $C332 +; .setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" -.incbin "prg.bin", $0000, $4000 + +; ----------------------------------------------------------------------------- +; Routine: InitAPU_C000 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPU_C000: + jmp $C335 ; CPU:$C000 PRG:0000 4C 35 C3 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStart +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStart: + jmp $C063 ; CPU:$C003 PRG:0003 4C 63 C0 +; ---- data $C006-$C025 (32 bytes) ---- + .byte $A8, $A5, $F3, $29, $02, $D0, $18, $A5, $EF, $29, $20, $D0, $12, $B9, $00, $C2 ; CPU:$C006 PRG:0006 A8 A5 F3 29 02 D0 18 A5 EF 29 20 D0 12 B9 00 C2 + .byte $8D, $0C, $40, $B9, $01, $C2, $8D, $0E, $40, $B9, $02, $C2, $8D, $0F, $40, $60 ; CPU:$C016 PRG:0016 8D 0C 40 B9 01 C2 8D 0E 40 B9 02 C2 8D 0F 40 60 +; ----------------------------------------------------------------------------- +; Routine: ScaleInputIndex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScaleInputIndex: + and #$0F ; CPU:$C026 PRG:0026 29 0F + clc ; CPU:$C028 PRG:0028 18 + adc ZpE5 ; CPU:$C029 PRG:0029 65 E5 + tay ; CPU:$C02B PRG:002B A8 + lda $C172,y ; CPU:$C02C PRG:002C B9 72 C1 + sta ZpDC,x ; CPU:$C02F PRG:002F 95 DC + rts ; CPU:$C031 PRG:0031 60 +; ---- data $C032-$C04D (28 bytes) ---- + .byte $A2, $00, $A8, $B9, $01, $C1, $F0, $0B, $9D, $02, $40, $B9, $00, $C1, $09, $08 ; CPU:$C032 PRG:0032 A2 00 A8 B9 01 C1 F0 0B 9D 02 40 B9 00 C1 09 08 + .byte $9D, $03, $40, $60, $A2, $04, $D0, $EA, $A2, $08, $D0, $E6 ; CPU:$C042 PRG:0042 9D 03 40 60 A2 04 D0 EA A2 08 D0 E6 +; ----------------------------------------------------------------------------- +; Routine: SetAPUVolume +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetAPUVolume: + lda ZpE6 ; CPU:$C04E PRG:004E A5 E6 + lda #$00 ; CPU:$C050 PRG:0050 A9 00 + jsr $C358 ; CPU:$C052 PRG:0052 20 58 C3 + rts ; CPU:$C055 PRG:0055 60 +; ----------------------------------------------------------------------------- +; Routine: SetAPUSweep +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetAPUSweep: + lda #$7F ; CPU:$C056 PRG:0056 A9 7F +; ----------------------------------------------------------------------------- +; Routine: InitAPUWaveform +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUWaveform: + sta $4001 ; CPU:$C058 PRG:0058 8D 01 40 + sta $4005 ; CPU:$C05B PRG:005B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: SaveXY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SaveXY: + stx ZpE9 ; CPU:$C05E PRG:005E 86 E9 + sty ZpEA ; CPU:$C060 PRG:0060 84 EA + rts ; CPU:$C062 PRG:0062 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundPointers +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundPointers: + lda #$C2 ; CPU:$C063 PRG:0063 A9 C2 + sta ZpEE ; CPU:$C065 PRG:0065 85 EE + sta ZpEC ; CPU:$C067 PRG:0067 85 EC + rts ; CPU:$C069 PRG:0069 60 +; ---- data $C06A-$C06D (4 bytes) ---- + .byte $3A, $7F, $0E, $40 ; CPU:$C06A PRG:006A 3A 7F 0E 40 +; ----------------------------------------------------------------------------- +; Routine: UpdateControllerState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateControllerState: + lda ZpF3 ; CPU:$C06E PRG:006E A5 F3 + and #$F8 ; CPU:$C070 PRG:0070 29 F8 + sta ZpF3 ; CPU:$C072 PRG:0072 85 F3 + lda ZpEF ; CPU:$C074 PRG:0074 A5 EF + ora #$20 ; CPU:$C076 PRG:0076 09 20 + sta ZpEF ; CPU:$C078 PRG:0078 85 EF + lda #$00 ; CPU:$C07A PRG:007A A9 00 + sta $010A ; CPU:$C07C PRG:007C 8D 0A 01 + ldx #$6A ; CPU:$C07F PRG:007F A2 6A + ldy #$C0 ; CPU:$C081 PRG:0081 A0 C0 + jsr $C195 ; CPU:$C083 PRG:0083 20 95 C1 + rts ; CPU:$C086 PRG:0086 60 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTables: + inc $010A ; CPU:$C087 PRG:0087 EE 0A 01 + ldy $010A ; CPU:$C08A PRG:008A AC 0A 01 + lda $C0A1,y ; CPU:$C08D PRG:008D B9 A1 C0 + sta $400C ; CPU:$C090 PRG:0090 8D 0C 40 + bne InitControllerTablesLoop ; CPU:$C093 PRG:0093 D0 0B + lda ZpEF ; CPU:$C095 PRG:0095 A5 EF + and #$DF ; CPU:$C097 PRG:0097 29 DF + sta ZpEF ; CPU:$C099 PRG:0099 85 EF + lda #$10 ; CPU:$C09B PRG:009B A9 10 + sta $400C ; CPU:$C09D PRG:009D 8D 0C 40 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesLoop: + rts ; CPU:$C0A0 PRG:00A0 60 +; ---- data $C0A1-$C0AD (13 bytes) ---- +; referenced by `lda $C0A1,y` at $C08D (operand $C0A1 falls inside this region) + .byte $3F, $3F, $30, $3F, $30, $3F, $3F, $3A, $3F, $3F, $30, $3F, $00 ; CPU:$C0A1 PRG:00A1 3F 3F 30 3F 30 3F 3F 3A 3F 3F 30 3F 00 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesAlt: + jmp $C352 ; CPU:$C0AE PRG:00AE 4C 52 C3 +; ----------------------------------------------------------------------------- +; Routine: InitControllerTablesExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitControllerTablesExit: + lda ZpF1 ; CPU:$C0B1 PRG:00B1 A5 F1 + and #$20 ; CPU:$C0B3 PRG:00B3 29 20 + bne UpdateControllerState ; CPU:$C0B5 PRG:00B5 D0 B7 + lda ZpEF ; CPU:$C0B7 PRG:00B7 A5 EF + and #$20 ; CPU:$C0B9 PRG:00B9 29 20 + bne InitControllerTables ; CPU:$C0BB PRG:00BB D0 CA + lda ZpF0 ; CPU:$C0BD PRG:00BD A5 F0 + lsr a ; CPU:$C0BF PRG:00BF 4A + bcs InitControllerTablesAlt ; CPU:$C0C0 PRG:00C0 B0 EC + lsr a ; CPU:$C0C2 PRG:00C2 4A + bcs InitPPU ; CPU:$C0C3 PRG:00C3 B0 0A + lsr a ; CPU:$C0C5 PRG:00C5 4A + bcs InitAPUFrameCounterExit ; CPU:$C0C6 PRG:00C6 B0 30 + lda ZpF3 ; CPU:$C0C8 PRG:00C8 A5 F3 + lsr a ; CPU:$C0CA PRG:00CA 4A + lsr a ; CPU:$C0CB PRG:00CB 4A + bcs InitPPULoop ; CPU:$C0CC PRG:00CC B0 12 + rts ; CPU:$C0CE PRG:00CE 60 +; ----------------------------------------------------------------------------- +; Routine: InitPPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPU: + lda ZpF3 ; CPU:$C0CF PRG:00CF A5 F3 + ora #$02 ; CPU:$C0D1 PRG:00D1 09 02 + sta ZpF3 ; CPU:$C0D3 PRG:00D3 85 F3 + lda #$14 ; CPU:$C0D5 PRG:00D5 A9 14 + sta $0103 ; CPU:$C0D7 PRG:00D7 8D 03 01 + ldx #$72 ; CPU:$C0DA PRG:00DA A2 72 + ldy #$C3 ; CPU:$C0DC PRG:00DC A0 C3 + bne InitPPUFinal ; CPU:$C0DE PRG:00DE D0 1C +; ----------------------------------------------------------------------------- +; Routine: InitPPULoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPULoop: + inc $0103 ; CPU:$C0E0 PRG:00E0 EE 03 01 + inc $0103 ; CPU:$C0E3 PRG:00E3 EE 03 01 + lda $0103 ; CPU:$C0E6 PRG:00E6 AD 03 01 + cmp #$20 ; CPU:$C0E9 PRG:00E9 C9 20 + beq InitAPUFrameCounter ; CPU:$C0EB PRG:00EB F0 04 + sta $400C ; CPU:$C0ED PRG:00ED 8D 0C 40 + rts ; CPU:$C0F0 PRG:00F0 60 +; ----------------------------------------------------------------------------- +; Routine: InitAPUFrameCounter +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUFrameCounter: + lda ZpF3 ; CPU:$C0F1 PRG:00F1 A5 F3 + and #$FD ; CPU:$C0F3 PRG:00F3 29 FD + sta ZpF3 ; CPU:$C0F5 PRG:00F5 85 F3 + rts ; CPU:$C0F7 PRG:00F7 60 +; ----------------------------------------------------------------------------- +; Routine: InitAPUFrameCounterExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUFrameCounterExit: + ldx #$6E ; CPU:$C0F8 PRG:00F8 A2 6E + ldy #$C3 ; CPU:$C0FA PRG:00FA A0 C3 +; ----------------------------------------------------------------------------- +; Routine: InitPPUFinal +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitPPUFinal: + jsr $C195 ; CPU:$C0FC PRG:00FC 20 95 C1 + rts ; CPU:$C0FF PRG:00FF 60 +; ---- data $C100-$C18C (141 bytes) ---- +; referenced by `lda $C172,y` at $C02C (operand $C172 falls inside this region) + .byte $C1, $60, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$C100 PRG:0100 C1 60 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F + .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $76, $00, $70, $01, $AB, $01, $93 ; CPU:$C110 PRG:0110 00 96 00 8D 00 85 00 7E 00 76 00 70 01 AB 01 93 + .byte $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD ; CPU:$C120 PRG:0120 01 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD + .byte $00, $EE, $00, $E1, $03, $57, $03, $27, $02, $F9, $02, $CF, $02, $A6, $02, $80 ; CPU:$C130 PRG:0130 00 EE 00 E1 03 57 03 27 02 F9 02 CF 02 A6 02 80 + .byte $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4, $06, $AE, $06, $4E ; CPU:$C140 PRG:0140 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 06 AE 06 4E + .byte $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75, $04, $35, $03, $F8 ; CPU:$C150 PRG:0150 05 F3 05 9E 05 4D 05 01 04 B9 04 75 04 35 03 F8 + .byte $03, $BF, $03, $89, $00, $69, $00, $63, $00, $5E, $00, $58, $00, $53, $00, $4A ; CPU:$C160 PRG:0160 03 BF 03 89 00 69 00 63 00 5E 00 58 00 53 00 4A + .byte $00, $46, $03, $06, $0C, $18, $30, $12, $24, $09, $04, $08, $10, $20, $40, $18 ; CPU:$C170 PRG:0170 00 46 03 06 0C 18 30 12 24 09 04 08 10 20 40 18 + .byte $30, $0C, $06, $0C, $18, $30, $60, $24, $48, $12, $10, $08, $03 ; CPU:$C180 PRG:0180 30 0C 06 0C 18 30 60 24 48 12 10 08 03 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundData: + lda #$00 ; CPU:$C18D PRG:018D A9 00 + beq LoadBackgroundDataExit ; CPU:$C18F PRG:018F F0 0A + lda #$08 ; CPU:$C191 PRG:0191 A9 08 + bne LoadBackgroundDataExit ; CPU:$C193 PRG:0193 D0 06 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataLoop: + lda #$0C ; CPU:$C195 PRG:0195 A9 0C + bne LoadBackgroundDataExit ; CPU:$C197 PRG:0197 D0 02 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataAlt: + lda #$04 ; CPU:$C199 PRG:0199 A9 04 +; ----------------------------------------------------------------------------- +; Routine: LoadBackgroundDataExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +LoadBackgroundDataExit: + sta ZpF4 ; CPU:$C19B PRG:019B 85 F4 + lda #$40 ; CPU:$C19D PRG:019D A9 40 + sta ZpF5 ; CPU:$C19F PRG:019F 85 F5 + stx ZpF6 ; CPU:$C1A1 PRG:01A1 86 F6 + sty ZpF7 ; CPU:$C1A3 PRG:01A3 84 F7 + ldy #$00 ; CPU:$C1A5 PRG:01A5 A0 00 +; ----------------------------------------------------------------------------- +; Routine: SetupSpriteData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupSpriteData: + lda (ZpF6),y ; CPU:$C1A7 PRG:01A7 B1 F6 + sta (ZpF4),y ; CPU:$C1A9 PRG:01A9 91 F4 + iny ; CPU:$C1AB PRG:01AB C8 + tya ; CPU:$C1AC PRG:01AC 98 + cmp #$04 ; CPU:$C1AD PRG:01AD C9 04 + bne SetupSpriteData ; CPU:$C1AF PRG:01AF D0 F6 + rts ; CPU:$C1B1 PRG:01B1 60 +; ----------------------------------------------------------------------------- +; Routine: SetupSpriteDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupSpriteDataLoop: + tax ; CPU:$C1B2 PRG:01B2 AA + jsr $C352 ; CPU:$C1B3 PRG:01B3 20 52 C3 + stx ZpE6 ; CPU:$C1B6 PRG:01B6 86 E6 + lda $C657,y ; CPU:$C1B8 PRG:01B8 B9 57 C6 + tay ; CPU:$C1BB PRG:01BB A8 + lda $C657,y ; CPU:$C1BC PRG:01BC B9 57 C6 + sta ZpE5 ; CPU:$C1BF PRG:01BF 85 E5 + lda $C658,y ; CPU:$C1C1 PRG:01C1 B9 58 C6 + sta ZpF8 ; CPU:$C1C4 PRG:01C4 85 F8 + lda $C659,y ; CPU:$C1C6 PRG:01C6 B9 59 C6 + sta ZpF9 ; CPU:$C1C9 PRG:01C9 85 F9 + lda $C65A,y ; CPU:$C1CB PRG:01CB B9 5A C6 + sta ZpFA ; CPU:$C1CE PRG:01CE 85 FA + lda $C65B,y ; CPU:$C1D0 PRG:01D0 B9 5B C6 + sta ZpFB ; CPU:$C1D3 PRG:01D3 85 FB + lda $C65C,y ; CPU:$C1D5 PRG:01D5 B9 5C C6 + sta ZpFC ; CPU:$C1D8 PRG:01D8 85 FC + lda $C65D,y ; CPU:$C1DA PRG:01DA B9 5D C6 + sta ZpFD ; CPU:$C1DD PRG:01DD 85 FD + lda $C65E,y ; CPU:$C1DF PRG:01DF B9 5E C6 + sta ZpFE ; CPU:$C1E2 PRG:01E2 85 FE + lda $C65F,y ; CPU:$C1E4 PRG:01E4 B9 5F C6 + sta ZpFF ; CPU:$C1E7 PRG:01E7 85 FF + lda #$01 ; CPU:$C1E9 PRG:01E9 A9 01 + sta ZpD8 ; CPU:$C1EB PRG:01EB 85 D8 + sta ZpD9 ; CPU:$C1ED PRG:01ED 85 D9 + sta ZpDA ; CPU:$C1EF PRG:01EF 85 DA + sta ZpDB ; CPU:$C1F1 PRG:01F1 85 DB + lda #$00 ; CPU:$C1F3 PRG:01F3 A9 00 + sta ZpD0 ; CPU:$C1F5 PRG:01F5 85 D0 + sta ZpD1 ; CPU:$C1F7 PRG:01F7 85 D1 + sta ZpD2 ; CPU:$C1F9 PRG:01F9 85 D2 + sta ZpD3 ; CPU:$C1FB PRG:01FB 85 D3 + rts ; CPU:$C1FD PRG:01FD 60 +; ---- data $C1FE-$C20E (17 bytes) ---- + .byte $FF, $FF, $10, $00, $18, $10, $01, $18, $00, $01, $88, $02, $02, $40, $19, $01 ; CPU:$C1FE PRG:01FE FF FF 10 00 18 10 01 18 00 01 88 02 02 40 19 01 + .byte $18 ; CPU:$C20E PRG:020E 18 +; ----------------------------------------------------------------------------- +; Routine: CopySpriteTables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopySpriteTables: + lda ZpF9 ; CPU:$C20F PRG:020F A5 F9 + beq WaitVBlank ; CPU:$C211 PRG:0211 F0 3A + dec ZpD8 ; CPU:$C213 PRG:0213 C6 D8 + bne WaitVBlank ; CPU:$C215 PRG:0215 D0 36 + ldx #$00 ; CPU:$C217 PRG:0217 A2 00 + lda #$21 ; CPU:$C219 PRG:0219 A9 21 + sta ZpED ; CPU:$C21B PRG:021B 85 ED + lda #$2F ; CPU:$C21D PRG:021D A9 2F + sta ZpEB ; CPU:$C21F PRG:021F 85 EB + ldy ZpD0 ; CPU:$C221 PRG:0221 A4 D0 + inc ZpD0 ; CPU:$C223 PRG:0223 E6 D0 + lda (ZpF8),y ; CPU:$C225 PRG:0225 B1 F8 + beq CopySpriteTablesLoop ; CPU:$C227 PRG:0227 F0 03 + jmp $C30D ; CPU:$C229 PRG:0229 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: CopySpriteTablesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopySpriteTablesLoop: + jmp $C04E ; CPU:$C22C PRG:022C 4C 4E C0 +; ---- data $C22F-$C24C (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D0, $E6, $D0, $B1, $F8, $20, $32, $C0, $D0 ; CPU:$C22F PRG:022F 98 10 09 20 26 C0 A4 D0 E6 D0 B1 F8 20 32 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $E9, $8C, $00, $40, $A5, $DC, $85, $D8 ; CPU:$C23F PRG:023F 04 A0 10 D0 02 A4 E9 8C 00 40 A5 DC 85 D8 +; ----------------------------------------------------------------------------- +; 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 ZpFB ; CPU:$C24D PRG:024D A5 FB + beq WaitVBlankLoop ; CPU:$C24F PRG:024F F0 37 + dec ZpD9 ; CPU:$C251 PRG:0251 C6 D9 + bne WaitVBlankLoop ; CPU:$C253 PRG:0253 D0 33 + ldx #$01 ; CPU:$C255 PRG:0255 A2 01 + lda #$5F ; CPU:$C257 PRG:0257 A9 5F + sta ZpED ; CPU:$C259 PRG:0259 85 ED + lda #$6A ; CPU:$C25B PRG:025B A9 6A + sta ZpEB ; CPU:$C25D PRG:025D 85 EB + ldy ZpD1 ; CPU:$C25F PRG:025F A4 D1 + inc ZpD1 ; CPU:$C261 PRG:0261 E6 D1 + lda (ZpFA),y ; CPU:$C263 PRG:0263 B1 FA + beq CopySpriteTablesLoop ; CPU:$C265 PRG:0265 F0 C5 + jmp $C30D ; CPU:$C267 PRG:0267 4C 0D C3 +; ---- data $C26A-$C287 (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D1, $E6, $D1, $B1, $FA, $20, $46, $C0, $D0 ; CPU:$C26A PRG:026A 98 10 09 20 26 C0 A4 D1 E6 D1 B1 FA 20 46 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $EA, $8C, $04, $40, $A5, $DD, $85, $D9 ; CPU:$C27A PRG:027A 04 A0 10 D0 02 A4 EA 8C 04 40 A5 DD 85 D9 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankLoop: + lda ZpFD ; CPU:$C288 PRG:0288 A5 FD + beq ClearRAM ; CPU:$C28A PRG:028A F0 52 + dec ZpDA ; CPU:$C28C PRG:028C C6 DA + bne ClearRAM ; CPU:$C28E PRG:028E D0 4E + ldx #$02 ; CPU:$C290 PRG:0290 A2 02 + lda #$A8 ; CPU:$C292 PRG:0292 A9 A8 + sta ZpEB ; CPU:$C294 PRG:0294 85 EB + lda #$9A ; CPU:$C296 PRG:0296 A9 9A + sta ZpED ; CPU:$C298 PRG:0298 85 ED + ldy ZpD2 ; CPU:$C29A PRG:029A A4 D2 + inc ZpD2 ; CPU:$C29C PRG:029C E6 D2 + lda (ZpFC),y ; CPU:$C29E PRG:029E B1 FC + beq InitGameVariables ; CPU:$C2A0 PRG:02A0 F0 03 + jmp $C30D ; CPU:$C2A2 PRG:02A2 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: InitGameVariables +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameVariables: + jmp $C04E ; CPU:$C2A5 PRG:02A5 4C 4E C0 +; ---- data $C2A8-$C2DD (54 bytes) ---- + .byte $98, $10, $21, $20, $26, $C0, $A4, $E4, $F0, $04, $A9, $FF, $D0, $0B, $18, $69 ; CPU:$C2A8 PRG:02A8 98 10 21 20 26 C0 A4 E4 F0 04 A9 FF D0 0B 18 69 + .byte $FE, $0A, $0A, $C9, $3C, $90, $02, $A9, $3C, $8D, $08, $40, $85, $E7, $A4, $D2 ; CPU:$C2B8 PRG:02B8 FE 0A 0A C9 3C 90 02 A9 3C 8D 08 40 85 E7 A4 D2 + .byte $E6, $D2, $B1, $FC, $20, $4A, $C0, $D0, $04, $A0, $00, $F0, $02, $A4, $E7, $8C ; CPU:$C2C8 PRG:02C8 E6 D2 B1 FC 20 4A C0 D0 04 A0 00 F0 02 A4 E7 8C + .byte $08, $40, $A5, $DE, $85, $DA ; CPU:$C2D8 PRG:02D8 08 40 A5 DE 85 DA +; ----------------------------------------------------------------------------- +; Routine: ClearRAM +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAM: + lda ZpFF ; CPU:$C2DE PRG:02DE A5 FF + beq ClearRAMPage ; CPU:$C2E0 PRG:02E0 F0 2A + dec ZpDB ; CPU:$C2E2 PRG:02E2 C6 DB + bne ClearRAMPage ; CPU:$C2E4 PRG:02E4 D0 26 + ldx #$03 ; CPU:$C2E6 PRG:02E6 A2 03 + lda #$F9 ; CPU:$C2E8 PRG:02E8 A9 F9 + sta ZpEB ; CPU:$C2EA PRG:02EA 85 EB + lda #$F0 ; CPU:$C2EC PRG:02EC A9 F0 + sta ZpED ; CPU:$C2EE PRG:02EE 85 ED + ldy ZpD3 ; CPU:$C2F0 PRG:02F0 A4 D3 + inc ZpD3 ; CPU:$C2F2 PRG:02F2 E6 D3 + lda (ZpFE),y ; CPU:$C2F4 PRG:02F4 B1 FE + jmp $C30D ; CPU:$C2F6 PRG:02F6 4C 0D C3 +; ---- data $C2F9-$C30B (19 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D3, $E6, $D3, $B1, $FE, $20, $06, $C0, $A5 ; CPU:$C2F9 PRG:02F9 98 10 09 20 26 C0 A4 D3 E6 D3 B1 FE 20 06 C0 A5 + .byte $DF, $85, $DB ; CPU:$C309 PRG:0309 DF 85 DB +; ----------------------------------------------------------------------------- +; Routine: ClearRAMPage +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMPage: + rts ; CPU:$C30C PRG:030C 60 +; ----------------------------------------------------------------------------- +; Routine: ClearRAMPageLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMPageLoop: + tay ; CPU:$C30D PRG:030D A8 + cmp #$FF ; CPU:$C30E PRG:030E C9 FF + beq InitGameState ; CPU:$C310 PRG:0310 F0 09 + and #$C0 ; CPU:$C312 PRG:0312 29 C0 + cmp #$C0 ; CPU:$C314 PRG:0314 C9 C0 + beq InitGameStateExit ; CPU:$C316 PRG:0316 F0 0F + jmp ($00EB) ; CPU:$C318 PRG:0318 6C EB 00 +; ----------------------------------------------------------------------------- +; Routine: InitGameState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState: + lda ZpE0,x ; CPU:$C31B PRG:031B B5 E0 + beq InitAPUCall ; CPU:$C31D PRG:031D F0 13 + dec ZpE0,x ; CPU:$C31F PRG:031F D6 E0 + lda ZpD4,x ; CPU:$C321 PRG:0321 B5 D4 + sta ZpD0,x ; CPU:$C323 PRG:0323 95 D0 + bne InitAPUCall ; CPU:$C325 PRG:0325 D0 0B +; ----------------------------------------------------------------------------- +; Routine: InitGameStateExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameStateExit: + tya ; CPU:$C327 PRG:0327 98 + and #$3F ; CPU:$C328 PRG:0328 29 3F + sta ZpE0,x ; CPU:$C32A PRG:032A 95 E0 + dec ZpE0,x ; CPU:$C32C PRG:032C D6 E0 + lda ZpD0,x ; CPU:$C32E PRG:032E B5 D0 + sta ZpD4,x ; CPU:$C330 PRG:0330 95 D4 +; ----------------------------------------------------------------------------- +; Routine: InitAPUCall +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPUCall: + jmp ($00ED) ; CPU:$C332 PRG:0332 6C ED 00 +; ----------------------------------------------------------------------------- +; Routine: InitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPU: + lda #$C0 ; CPU:$C335 PRG:0335 A9 C0 + sta $4017 ; CPU:$C337 PRG:0337 8D 17 40 + jsr $C0B1 ; CPU:$C33A PRG:033A 20 B1 C0 + jsr $C3B3 ; CPU:$C33D PRG:033D 20 B3 C3 + jsr $C465 ; CPU:$C340 PRG:0340 20 65 C4 + jsr $C508 ; CPU:$C343 PRG:0343 20 08 C5 + jsr $C5D1 ; CPU:$C346 PRG:0346 20 D1 C5 + lda #$00 ; CPU:$C349 PRG:0349 A9 00 + sta ZpF0 ; CPU:$C34B PRG:034B 85 F0 + sta ZpF1 ; CPU:$C34D PRG:034D 85 F1 + sta ZpF2 ; CPU:$C34F PRG:034F 85 F2 + rts ; CPU:$C351 PRG:0351 60 +; ----------------------------------------------------------------------------- +; Routine: ClearControllerState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearControllerState: + lda #$00 ; CPU:$C352 PRG:0352 A9 00 + sta ZpF3 ; CPU:$C354 PRG:0354 85 F3 + sta ZpEF ; CPU:$C356 PRG:0356 85 EF +; ----------------------------------------------------------------------------- +; Routine: InitAPURegisters +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitAPURegisters: + sta $4008 ; CPU:$C358 PRG:0358 8D 08 40 + sta $4011 ; CPU:$C35B PRG:035B 8D 11 40 + sta ZpE6 ; CPU:$C35E PRG:035E 85 E6 + sta ZpE4 ; CPU:$C360 PRG:0360 85 E4 + lda #$10 ; CPU:$C362 PRG:0362 A9 10 + sta $4000 ; CPU:$C364 PRG:0364 8D 00 40 + sta $4004 ; CPU:$C367 PRG:0367 8D 04 40 + sta $400C ; CPU:$C36A PRG:036A 8D 0C 40 + rts ; CPU:$C36D PRG:036D 60 +; ---- data $C36E-$C375 (8 bytes) ---- + .byte $1E, $7F, $05, $18, $15, $7F, $02, $88 ; CPU:$C36E PRG:036E 1E 7F 05 18 15 7F 02 88 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1: + ldx #$40 ; CPU:$C376 PRG:0376 A2 40 + ldy #$C4 ; CPU:$C378 PRG:0378 A0 C4 + jmp $C3FF ; CPU:$C37A PRG:037A 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2: + ldx #$34 ; CPU:$C37D PRG:037D A2 34 + ldy #$C4 ; CPU:$C37F PRG:037F A0 C4 + jmp $C3FF ; CPU:$C381 PRG:0381 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesMain +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesMain: + lda ZpF3 ; CPU:$C384 PRG:0384 A5 F3 + and #$07 ; CPU:$C386 PRG:0386 29 07 + ora #$40 ; CPU:$C388 PRG:0388 09 40 + sta ZpF3 ; CPU:$C38A PRG:038A 85 F3 + jsr $C425 ; CPU:$C38C PRG:038C 20 25 C4 + lda #$00 ; CPU:$C38F PRG:038F A9 00 + sta $0100 ; CPU:$C391 PRG:0391 8D 00 01 + ldx #$2C ; CPU:$C394 PRG:0394 A2 2C + ldy #$C4 ; CPU:$C396 PRG:0396 A0 C4 + bne InitSpritesClearEF ; CPU:$C398 PRG:0398 D0 6B +; ----------------------------------------------------------------------------- +; Routine: InitSpritesLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesLoop: + inc $0100 ; CPU:$C39A PRG:039A EE 00 01 + lda $0100 ; CPU:$C39D PRG:039D AD 00 01 + cmp #$04 ; CPU:$C3A0 PRG:03A0 C9 04 + bne InitSpritesCheckF1 ; CPU:$C3A2 PRG:03A2 D0 6A + jsr $C41E ; CPU:$C3A4 PRG:03A4 20 1E C4 + ldx #$38 ; CPU:$C3A7 PRG:03A7 A2 38 + ldy #$C4 ; CPU:$C3A9 PRG:03A9 A0 C4 + bne InitSpritesClearEF ; CPU:$C3AB PRG:03AB D0 58 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAltExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAltExit: + ldx #$3C ; CPU:$C3AD PRG:03AD A2 3C + ldy #$C4 ; CPU:$C3AF PRG:03AF A0 C4 + bne InitSpritesCallChain ; CPU:$C3B1 PRG:03B1 D0 4C +; ----------------------------------------------------------------------------- +; Routine: InitSpritesExit_C3B3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesExit_C3B3: + lda ZpE6 ; CPU:$C3B3 PRG:03B3 A5 E6 + cmp #$80 ; CPU:$C3B5 PRG:03B5 C9 80 + beq InitSpritesCheckE6 ; CPU:$C3B7 PRG:03B7 F0 0A + lda ZpE6 ; CPU:$C3B9 PRG:03B9 A5 E6 + bne InitSpritesCheckF1 ; CPU:$C3BB PRG:03BB D0 51 + lda ZpEF ; CPU:$C3BD PRG:03BD A5 EF + and #$04 ; CPU:$C3BF PRG:03BF 29 04 + bne InitSpritesCheckF1 ; CPU:$C3C1 PRG:03C1 D0 4B +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckE6: + lda ZpF1 ; CPU:$C3C3 PRG:03C3 A5 F1 + and #$10 ; CPU:$C3C5 PRG:03C5 29 10 + bne InitSpritesAlt1 ; CPU:$C3C7 PRG:03C7 D0 AD + lda ZpF0 ; CPU:$C3C9 PRG:03C9 A5 F0 + asl a ; CPU:$C3CB PRG:03CB 0A + bcs InitSpritesSetE6 ; CPU:$C3CC PRG:03CC B0 1B + asl a ; CPU:$C3CE PRG:03CE 0A + bcs InitSpritesMain ; CPU:$C3CF PRG:03CF B0 B3 + asl a ; CPU:$C3D1 PRG:03D1 0A + bcs InitSpritesSetE4 ; CPU:$C3D2 PRG:03D2 B0 0F + asl a ; CPU:$C3D4 PRG:03D4 0A + bcs InitSpritesAlt2 ; CPU:$C3D5 PRG:03D5 B0 A6 + asl a ; CPU:$C3D7 PRG:03D7 0A + bcs InitSpritesAltExit ; CPU:$C3D8 PRG:03D8 B0 D3 + lda ZpF3 ; CPU:$C3DA PRG:03DA A5 F3 + asl a ; CPU:$C3DC PRG:03DC 0A + bcs InitSpritesSetF3 ; CPU:$C3DD PRG:03DD B0 30 + asl a ; CPU:$C3DF PRG:03DF 0A + bcs InitSpritesLoop ; CPU:$C3E0 PRG:03E0 B0 B8 + rts ; CPU:$C3E2 PRG:03E2 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetE4: + ldx #$2C ; CPU:$C3E3 PRG:03E3 A2 2C + ldy #$C4 ; CPU:$C3E5 PRG:03E5 A0 C4 + bne InitSpritesCallChain ; CPU:$C3E7 PRG:03E7 D0 16 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetE6: + lda ZpF3 ; CPU:$C3E9 PRG:03E9 A5 F3 + and #$07 ; CPU:$C3EB PRG:03EB 29 07 + ora #$80 ; CPU:$C3ED PRG:03ED 09 80 + sta ZpF3 ; CPU:$C3EF PRG:03EF 85 F3 + jsr $C425 ; CPU:$C3F1 PRG:03F1 20 25 C4 + lda #$00 ; CPU:$C3F4 PRG:03F4 A9 00 + sta $0100 ; CPU:$C3F6 PRG:03F6 8D 00 01 + ldx #$30 ; CPU:$C3F9 PRG:03F9 A2 30 + ldy #$C4 ; CPU:$C3FB PRG:03FB A0 C4 + bne InitSpritesClearEF ; CPU:$C3FD PRG:03FD D0 06 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCallChain +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCallChain: + jsr $C425 ; CPU:$C3FF PRG:03FF 20 25 C4 + jsr $C41E ; CPU:$C402 PRG:0402 20 1E C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesClearEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesClearEF: + jsr $C199 ; CPU:$C405 PRG:0405 20 99 C1 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt6: + lda ZpEF ; CPU:$C408 PRG:0408 A5 EF + and #$BF ; CPU:$C40A PRG:040A 29 BF + sta ZpEF ; CPU:$C40C PRG:040C 85 EF +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckF1: + rts ; CPU:$C40E PRG:040E 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF3: + inc $0100 ; CPU:$C40F PRG:040F EE 00 01 + lda $0100 ; CPU:$C412 PRG:0412 AD 00 01 + cmp #$05 ; CPU:$C415 PRG:0415 C9 05 + bne InitSpritesCheckF1 ; CPU:$C417 PRG:0417 D0 F5 + lda #$8B ; CPU:$C419 PRG:0419 A9 8B + sta $4005 ; CPU:$C41B PRG:041B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt7: + lda ZpF3 ; CPU:$C41E PRG:041E A5 F3 + and #$07 ; CPU:$C420 PRG:0420 29 07 + sta ZpF3 ; CPU:$C422 PRG:0422 85 F3 + rts ; CPU:$C424 PRG:0424 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt8: + lda ZpEF ; CPU:$C425 PRG:0425 A5 EF + and #$E7 ; CPU:$C427 PRG:0427 29 E7 + sta ZpEF ; CPU:$C429 PRG:0429 85 EF + rts ; CPU:$C42B PRG:042B 60 +; ---- data $C42C-$C443 (24 bytes) ---- + .byte $9F, $83, $E0, $39, $9F, $83, $40, $CA, $9F, $8B, $FF, $4A, $9F, $8D, $FF, $CA ; CPU:$C42C PRG:042C 9F 83 E0 39 9F 83 40 CA 9F 8B FF 4A 9F 8D FF CA + .byte $9F, $82, $E0, $19, $9F, $93, $FF, $B9 ; CPU:$C43C PRG:043C 9F 82 E0 19 9F 93 FF B9 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheckF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheckF2: + lda #$FF ; CPU:$C444 PRG:0444 A9 FF + sta $010D ; CPU:$C446 PRG:0446 8D 0D 01 + rts ; CPU:$C449 PRG:0449 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF2: + jsr $C352 ; CPU:$C44A PRG:044A 20 52 C3 + lda #$04 ; CPU:$C44D PRG:044D A9 04 + sta ZpEF ; CPU:$C44F PRG:044F 85 EF + lda #$FF ; CPU:$C451 PRG:0451 A9 FF + sta ZpE6 ; CPU:$C453 PRG:0453 85 E6 + lda #$00 ; CPU:$C455 PRG:0455 A9 00 + sta $010B ; CPU:$C457 PRG:0457 8D 0B 01 + sta $010D ; CPU:$C45A PRG:045A 8D 0D 01 + lda #$B0 ; CPU:$C45D PRG:045D A9 B0 + sta $010C ; CPU:$C45F PRG:045F 8D 0C 01 + jmp $C4A5 ; CPU:$C462 PRG:0462 4C A5 C4 +; ----------------------------------------------------------------------------- +; Routine: InitGameState2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState2: + lda ZpF1 ; CPU:$C465 PRG:0465 A5 F1 + lsr a ; CPU:$C467 PRG:0467 4A + bcs InitSpritesAlt1Entry ; CPU:$C468 PRG:0468 B0 0E + lsr a ; CPU:$C46A PRG:046A 4A + bcs InitSpritesCheckF2 ; CPU:$C46B PRG:046B B0 D7 + lsr a ; CPU:$C46D PRG:046D 4A + bcs InitSpritesSetF2 ; CPU:$C46E PRG:046E B0 DA + lda ZpEF ; CPU:$C470 PRG:0470 A5 EF + lsr a ; CPU:$C472 PRG:0472 4A + lsr a ; CPU:$C473 PRG:0473 4A + lsr a ; CPU:$C474 PRG:0474 4A + bcs InitGameState2Exit ; CPU:$C475 PRG:0475 B0 13 + rts ; CPU:$C477 PRG:0477 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1Entry: + jsr $C352 ; CPU:$C478 PRG:0478 20 52 C3 + ldx #$FC ; CPU:$C47B PRG:047B A2 FC + ldy #$C4 ; CPU:$C47D PRG:047D A0 C4 + jsr $C18D ; CPU:$C47F PRG:047F 20 8D C1 + ldx #$F8 ; CPU:$C482 PRG:0482 A2 F8 + ldy #$C4 ; CPU:$C484 PRG:0484 A0 C4 + jsr $C199 ; CPU:$C486 PRG:0486 20 99 C1 + rts ; CPU:$C489 PRG:0489 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState2Exit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState2Exit: + jsr $C4BB ; CPU:$C48A PRG:048A 20 BB C4 + inc $0108 ; CPU:$C48D PRG:048D EE 08 01 + lda $0108 ; CPU:$C490 PRG:0490 AD 08 01 + cmp #$09 ; CPU:$C493 PRG:0493 C9 09 + beq InitSpritesAlt1Loop ; CPU:$C495 PRG:0495 F0 05 + cmp #$13 ; CPU:$C497 PRG:0497 C9 13 + beq InitSpritesAlt2Loop ; CPU:$C499 PRG:0499 F0 0A + rts ; CPU:$C49B PRG:049B 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt1Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt1Loop: + lda #$AC ; CPU:$C49C PRG:049C A9 AC + sta $4001 ; CPU:$C49E PRG:049E 8D 01 40 + sta $4005 ; CPU:$C4A1 PRG:04A1 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2Entry: + rts ; CPU:$C4A4 PRG:04A4 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt2Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt2Loop: + lda #$00 ; CPU:$C4A5 PRG:04A5 A9 00 + sta $0108 ; CPU:$C4A7 PRG:04A7 8D 08 01 + ldx #$00 ; CPU:$C4AA PRG:04AA A2 00 + ldy #$C5 ; CPU:$C4AC PRG:04AC A0 C5 + jsr $C18D ; CPU:$C4AE PRG:04AE 20 8D C1 + ldx #$04 ; CPU:$C4B1 PRG:04B1 A2 04 + ldy #$C5 ; CPU:$C4B3 PRG:04B3 A0 C5 + jsr $C199 ; CPU:$C4B5 PRG:04B5 20 99 C1 + jmp $C4E6 ; CPU:$C4B8 PRG:04B8 4C E6 C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10B: + lda $010D ; CPU:$C4BB PRG:04BB AD 0D 01 + beq InitSpritesInc10B ; CPU:$C4BE PRG:04BE F0 03 + jmp $C4CA ; CPU:$C4C0 PRG:04C0 4C CA C4 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesInc10B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesInc10B: + lda $010C ; CPU:$C4C3 PRG:04C3 AD 0C 01 + cmp #$BD ; CPU:$C4C6 PRG:04C6 C9 BD + beq InitSpritesAlt2Entry ; CPU:$C4C8 PRG:04C8 F0 DA +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10BMax +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10BMax: + inc $010B ; CPU:$C4CA PRG:04CA EE 0B 01 + lda $010B ; CPU:$C4CD PRG:04CD AD 0B 01 + cmp #$17 ; CPU:$C4D0 PRG:04D0 C9 17 + bne InitSpritesAlt2Entry ; CPU:$C4D2 PRG:04D2 D0 D0 + lda #$00 ; CPU:$C4D4 PRG:04D4 A9 00 + sta $010B ; CPU:$C4D6 PRG:04D6 8D 0B 01 + lda $010D ; CPU:$C4D9 PRG:04D9 AD 0D 01 + beq InitSpritesCheck10C ; CPU:$C4DC PRG:04DC F0 05 + dec $010C ; CPU:$C4DE PRG:04DE CE 0C 01 + bne InitSpritesCheck10CAF ; CPU:$C4E1 PRG:04E1 D0 03 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10C: + inc $010C ; CPU:$C4E3 PRG:04E3 EE 0C 01 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCheck10CAF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCheck10CAF: + lda $010C ; CPU:$C4E6 PRG:04E6 AD 0C 01 + cmp #$AF ; CPU:$C4E9 PRG:04E9 C9 AF + beq InitSpritesSetF4 ; CPU:$C4EB PRG:04EB F0 07 + sta $4000 ; CPU:$C4ED PRG:04ED 8D 00 40 + sta $4004 ; CPU:$C4F0 PRG:04F0 8D 04 40 + rts ; CPU:$C4F3 PRG:04F3 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetF4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetF4: + jsr $C352 ; CPU:$C4F4 PRG:04F4 20 52 C3 + rts ; CPU:$C4F7 PRG:04F7 60 +; ---- data $C4F8-$C507 (16 bytes) ---- + .byte $94, $95, $30, $40, $94, $95, $38, $40, $B0, $A4, $96, $00, $B0, $A4, $8D, $00 ; CPU:$C4F8 PRG:04F8 94 95 30 40 94 95 38 40 B0 A4 96 00 B0 A4 8D 00 +; ----------------------------------------------------------------------------- +; Routine: InitGameState3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3: + lda ZpE6 ; CPU:$C508 PRG:0508 A5 E6 + cmp #$80 ; CPU:$C50A PRG:050A C9 80 + beq InitGameState3CheckE6 ; CPU:$C50C PRG:050C F0 04 + lda ZpE6 ; CPU:$C50E PRG:050E A5 E6 + bne InitGameState3Loop ; CPU:$C510 PRG:0510 D0 0E +; ----------------------------------------------------------------------------- +; Routine: InitGameState3CheckE6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3CheckE6: + lda ZpF1 ; CPU:$C512 PRG:0512 A5 F1 + asl a ; CPU:$C514 PRG:0514 0A + bcs InitGameState3Alt ; CPU:$C515 PRG:0515 B0 16 + asl a ; CPU:$C517 PRG:0517 0A + bcs InitGameState4CheckF2 ; CPU:$C518 PRG:0518 B0 28 + lda ZpEF ; CPU:$C51A PRG:051A A5 EF + asl a ; CPU:$C51C PRG:051C 0A + asl a ; CPU:$C51D PRG:051D 0A + bcs InitGameState4Loop ; CPU:$C51E PRG:051E B0 3A +; ----------------------------------------------------------------------------- +; Routine: InitGameState3Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3Loop: + rts ; CPU:$C520 PRG:0520 60 +; ---- data $C521-$C52C (12 bytes) ---- + .byte $A5, $EF, $29, $3F, $85, $EF, $A9, $10, $8D, $00, $40, $60 ; CPU:$C521 PRG:0521 A5 EF 29 3F 85 EF A9 10 8D 00 40 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState3Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState3Alt: + lda ZpEF ; CPU:$C52D PRG:052D A5 EF + and #$3F ; CPU:$C52F PRG:052F 29 3F + ora #$80 ; CPU:$C531 PRG:0531 09 80 + sta ZpEF ; CPU:$C533 PRG:0533 85 EF + lda #$20 ; CPU:$C535 PRG:0535 A9 20 + sta $0104 ; CPU:$C537 PRG:0537 8D 04 01 + ldx #$A0 ; CPU:$C53A PRG:053A A2 A0 + ldy #$C5 ; CPU:$C53C PRG:053C A0 C5 + jsr $C18D ; CPU:$C53E PRG:053E 20 8D C1 + rts ; CPU:$C541 PRG:0541 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF2: + lda ZpEF ; CPU:$C542 PRG:0542 A5 EF + and #$3F ; CPU:$C544 PRG:0544 29 3F + ora #$40 ; CPU:$C546 PRG:0546 09 40 + sta ZpEF ; CPU:$C548 PRG:0548 85 EF + lda #$BF ; CPU:$C54A PRG:054A A9 BF + sta $0105 ; CPU:$C54C PRG:054C 8D 05 01 + lda #$00 ; CPU:$C54F PRG:054F A9 00 + sta $0107 ; CPU:$C551 PRG:0551 8D 07 01 + lda #$10 ; CPU:$C554 PRG:0554 A9 10 + sta $4000 ; CPU:$C556 PRG:0556 8D 00 40 + rts ; CPU:$C559 PRG:0559 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4Loop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4Loop: + inc $0105 ; CPU:$C55A PRG:055A EE 05 01 + lda $0105 ; CPU:$C55D PRG:055D AD 05 01 + cmp #$0F ; CPU:$C560 PRG:0560 C9 0F + bne InitGameState4MaskF3 ; CPU:$C562 PRG:0562 D0 2F + lda #$00 ; CPU:$C564 PRG:0564 A9 00 + sta $0105 ; CPU:$C566 PRG:0566 8D 05 01 + inc $0107 ; CPU:$C569 PRG:0569 EE 07 01 + lda $0107 ; CPU:$C56C PRG:056C AD 07 01 + cmp #$0E ; CPU:$C56F PRG:056F C9 0E + beq InitGameState4ClearEF ; CPU:$C571 PRG:0571 F0 1D + lda $05EC ; CPU:$C573 PRG:0573 AD EC 05 + and #$0F ; CPU:$C576 PRG:0576 29 0F + ora #$10 ; CPU:$C578 PRG:0578 09 10 + sta $0106 ; CPU:$C57A PRG:057A 8D 06 01 + sta $4002 ; CPU:$C57D PRG:057D 8D 02 40 + lda #$7F ; CPU:$C580 PRG:0580 A9 7F + sta $4001 ; CPU:$C582 PRG:0582 8D 01 40 + lda #$99 ; CPU:$C585 PRG:0585 A9 99 + sta $4000 ; CPU:$C587 PRG:0587 8D 00 40 + lda #$88 ; CPU:$C58A PRG:058A A9 88 + sta $4003 ; CPU:$C58C PRG:058C 8D 03 40 + rts ; CPU:$C58F PRG:058F 60 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4ClearEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4ClearEF: + jmp $C408 ; CPU:$C590 PRG:0590 4C 08 C4 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4MaskF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4MaskF3: + inc $0106 ; CPU:$C593 PRG:0593 EE 06 01 + inc $0106 ; CPU:$C596 PRG:0596 EE 06 01 + lda $0106 ; CPU:$C599 PRG:0599 AD 06 01 + sta $4002 ; CPU:$C59C PRG:059C 8D 02 40 + rts ; CPU:$C59F PRG:059F 60 +; ---- data $C5A0-$C5A3 (4 bytes) ---- + .byte $95, $B5, $40, $B0 ; CPU:$C5A0 PRG:05A0 95 B5 40 B0 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4MaskEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4MaskEF: + ldy #$07 ; CPU:$C5A4 PRG:05A4 A0 07 + lda #$40 ; CPU:$C5A6 PRG:05A6 A9 40 + jmp $C63D ; CPU:$C5A8 PRG:05A8 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF9: + ldy #$09 ; CPU:$C5AB PRG:05AB A0 09 + lda $0309 ; CPU:$C5AD PRG:05AD AD 09 03 + cmp #$01 ; CPU:$C5B0 PRG:05B0 C9 01 + beq InitGameState4DecD8 ; CPU:$C5B2 PRG:05B2 F0 11 + lda $0329 ; CPU:$C5B4 PRG:05B4 AD 29 03 + cmp #$01 ; CPU:$C5B7 PRG:05B7 C9 01 + beq InitGameState4DecD8 ; CPU:$C5B9 PRG:05B9 F0 0A + ldy #$08 ; CPU:$C5BB PRG:05BB A0 08 + lda Zp85 ; CPU:$C5BD PRG:05BD A5 85 + and #$01 ; CPU:$C5BF PRG:05BF 29 01 + beq InitGameState4DecD8 ; CPU:$C5C1 PRG:05C1 F0 02 + ldy #$06 ; CPU:$C5C3 PRG:05C3 A0 06 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4DecD8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4DecD8: + lda #$80 ; CPU:$C5C5 PRG:05C5 A9 80 + jmp $C64E ; CPU:$C5C7 PRG:05C7 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4CheckF2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4CheckF2Alt: + ldy #$00 ; CPU:$C5CA PRG:05CA A0 00 + lda #$01 ; CPU:$C5CC PRG:05CC A9 01 + jmp $C63D ; CPU:$C5CE PRG:05CE 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: InitGameState4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitGameState4: + lda ZpF2 ; CPU:$C5D1 PRG:05D1 A5 F2 + lsr a ; CPU:$C5D3 PRG:05D3 4A + bcs InitGameState4CheckF2Alt ; CPU:$C5D4 PRG:05D4 B0 F4 + lsr a ; CPU:$C5D6 PRG:05D6 4A + bcs WaitVBlankCheckFF ; CPU:$C5D7 PRG:05D7 B0 26 + lsr a ; CPU:$C5D9 PRG:05D9 4A + bcs WaitVBlankDecD9 ; CPU:$C5DA PRG:05DA B0 1D + lsr a ; CPU:$C5DC PRG:05DC 4A + bcs WaitVBlankCallC1B2 ; CPU:$C5DD PRG:05DD B0 43 + lsr a ; CPU:$C5DF PRG:05DF 4A + bcs WaitVBlankCheckFA ; CPU:$C5E0 PRG:05E0 B0 23 + lsr a ; CPU:$C5E2 PRG:05E2 4A + bcs WaitVBlankCallC1B2Alt ; CPU:$C5E3 PRG:05E3 B0 52 + lsr a ; CPU:$C5E5 PRG:05E5 4A + bcs InitGameState4MaskEF ; CPU:$C5E6 PRG:05E6 B0 BC + lsr a ; CPU:$C5E8 PRG:05E8 4A + bcs InitGameState4CheckF9 ; CPU:$C5E9 PRG:05E9 B0 C0 + lda ZpEF ; CPU:$C5EB PRG:05EB A5 EF + cmp #$04 ; CPU:$C5ED PRG:05ED C9 04 + beq WaitVBlankLoop_C5F5 ; CPU:$C5EF PRG:05EF F0 04 + lda ZpE6 ; CPU:$C5F1 PRG:05F1 A5 E6 + bne WaitVBlankDecD8 ; CPU:$C5F3 PRG:05F3 D0 01 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankLoop_C5F5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankLoop_C5F5: + rts ; CPU:$C5F5 PRG:05F5 60 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankDecD8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankDecD8: + jmp $C20F ; CPU:$C5F6 PRG:05F6 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankDecD9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankDecD9: + ldy #$02 ; CPU:$C5F9 PRG:05F9 A0 02 + lda #$04 ; CPU:$C5FB PRG:05FB A9 04 + bne WaitVBlankStore ; CPU:$C5FD PRG:05FD D0 0C +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCheckFF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCheckFF: + ldy #$05 ; CPU:$C5FF PRG:05FF A0 05 + lda #$02 ; CPU:$C601 PRG:0601 A9 02 + bne WaitVBlankStore ; CPU:$C603 PRG:0603 D0 06 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCheckFA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCheckFA: + ldy #$04 ; CPU:$C605 PRG:0605 A0 04 + lda #$10 ; CPU:$C607 PRG:0607 A9 10 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C609 PRG:0609 D0 32 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankStore +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankStore: + jsr $C1B2 ; CPU:$C60B PRG:060B 20 B2 C1 + ldx #$80 ; CPU:$C60E PRG:060E A2 80 + ldy #$06 ; CPU:$C610 PRG:0610 A0 06 + jsr $C05E ; CPU:$C612 PRG:0612 20 5E C0 + lda #$83 ; CPU:$C615 PRG:0615 A9 83 + sta $4001 ; CPU:$C617 PRG:0617 8D 01 40 + lda #$7F ; CPU:$C61A PRG:061A A9 7F + sta $4005 ; CPU:$C61C PRG:061C 8D 05 40 + jmp $C647 ; CPU:$C61F PRG:061F 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2: + ldy #$03 ; CPU:$C622 PRG:0622 A0 03 + lda #$08 ; CPU:$C624 PRG:0624 A9 08 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C626 PRG:0626 D0 15 + jsr $C1B2 ; CPU:$C628 PRG:0628 20 B2 C1 + ldx #$80 ; CPU:$C62B PRG:062B A2 80 + ldy #$80 ; CPU:$C62D PRG:062D A0 80 + lda #$83 ; CPU:$C62F PRG:062F A9 83 + jsr $C058 ; CPU:$C631 PRG:0631 20 58 C0 + jmp $C647 ; CPU:$C634 PRG:0634 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Alt: + ldy #$01 ; CPU:$C637 PRG:0637 A0 01 + lda #$20 ; CPU:$C639 PRG:0639 A9 20 + bne WaitVBlankCallC1B2Alt2 ; CPU:$C63B PRG:063B D0 00 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Alt2: + jsr $C1B2 ; CPU:$C63D PRG:063D 20 B2 C1 + ldx #$04 ; CPU:$C640 PRG:0640 A2 04 + ldy #$04 ; CPU:$C642 PRG:0642 A0 04 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankJmpC20F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankJmpC20F: + jsr $C056 ; CPU:$C644 PRG:0644 20 56 C0 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankZeroE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankZeroE4: + lda #$00 ; CPU:$C647 PRG:0647 A9 00 + sta ZpE4 ; CPU:$C649 PRG:0649 85 E4 + jmp $C20F ; CPU:$C64B PRG:064B 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: WaitVBlankCallC1B2Zero +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitVBlankCallC1B2Zero: + jsr $C1B2 ; CPU:$C64E PRG:064E 20 B2 C1 + ldx #$00 ; CPU:$C651 PRG:0651 A2 00 + ldy #$80 ; CPU:$C653 PRG:0653 A0 80 + bne WaitVBlankJmpC20F ; CPU:$C655 PRG:0655 D0 ED + asl a ; CPU:$C657 PRG:0657 0A +; ---- data $C658-$C9FF (936 bytes) ---- +; referenced by `lda $C658,y` at $C1C1 (operand $C658 falls inside this region) +; referenced by `lda $C659,y` at $C1C6 (operand $C659 falls inside this region) +; referenced by `lda $C65A,y` at $C1CB (operand $C65A falls inside this region) +; referenced by `lda $C65B,y` at $C1D0 (operand $C65B falls inside this region) +; referenced by `lda $C65C,y` at $C1D5 (operand $C65C falls inside this region) +; referenced by `lda $C65D,y` at $C1DA (operand $C65D falls inside this region) +; ... and 2 further references from decoded code + .byte $13, $1C, $25, $2E, $37, $40, $49, $52, $5B, $08, $37, $C9, $00, $00, $00, $00 ; CPU:$C658 PRG:0658 13 1C 25 2E 37 40 49 52 5B 08 37 C9 00 00 00 00 + .byte $00, $00, $10, $10, $C8, $2B, $C8, $45, $C8, $1B, $C9, $10, $74, $C8, $5F, $C8 ; CPU:$C668 PRG:0668 00 00 10 10 C8 2B C8 45 C8 1B C9 10 74 C8 5F C8 + .byte $7E, $C8, $93, $C8, $10, $3D, $C9, $58, $C9, $72, $C9, $1B, $C9, $10, $A7, $C8 ; CPU:$C678 PRG:0678 7E C8 93 C8 10 3D C9 58 C9 72 C9 1B C9 10 A7 C8 + .byte $D3, $C8, $FE, $C8, $1B, $C9, $10, $83, $C9, $9C, $C9, $B2, $C9, $C8, $C9, $10 ; CPU:$C688 PRG:0688 D3 C8 FE C8 1B C9 10 83 C9 9C C9 B2 C9 C8 C9 10 + .byte $00, $00, $00, $00, $6A, $C7, $E9, $C7, $10, $BB, $C6, $FD, $C6, $3B, $C7, $61 ; CPU:$C698 PRG:0698 00 00 00 00 6A C7 E9 C7 10 BB C6 FD C6 3B C7 61 + .byte $C7, $10, $00, $00, $00, $00, $99, $C7, $E9, $C7, $10, $00, $00, $00, $00, $C6 ; CPU:$C6A8 PRG:06A8 C7 10 00 00 00 00 99 C7 E9 C7 10 00 00 00 00 C6 + .byte $C7, $E9, $C7, $89, $02, $02, $2A, $30, $32, $08, $C8, $8A, $12, $08, $FF, $89 ; CPU:$C6B8 PRG:06B8 C7 E9 C7 89 02 02 2A 30 32 08 C8 8A 12 08 FF 89 + .byte $0C, $02, $08, $02, $02, $2A, $02, $02, $2A, $24, $02, $20, $22, $24, $2A, $2E ; CPU:$C6C8 PRG:06C8 0C 02 08 02 02 2A 02 02 2A 24 02 20 22 24 2A 2E + .byte $02, $2A, $C8, $8A, $12, $08, $FF, $89, $1A, $02, $12, $02, $02, $08, $02, $02 ; CPU:$C6D8 PRG:06D8 02 2A C8 8A 12 08 FF 89 1A 02 12 02 02 08 02 02 + .byte $08, $08, $02, $08, $0A, $0C, $12, $64, $02, $1A, $12, $02, $02, $82, $02, $02 ; CPU:$C6E8 PRG:06E8 08 08 02 08 0A 0C 12 64 02 1A 12 02 02 82 02 02 + .byte $89, $18, $02, $1A, $00, $82, $02, $02, $89, $02, $02, $20, $02, $02, $02, $2A ; CPU:$C6F8 PRG:06F8 89 18 02 1A 00 82 02 02 89 02 02 20 02 02 02 2A + .byte $02, $26, $02, $02, $82, $20, $89, $20, $04, $02, $02, $02, $02, $02, $1C, $02 ; CPU:$C708 PRG:0708 02 26 02 02 82 20 89 20 04 02 02 02 02 02 1C 02 + .byte $82, $1C, $89, $4A, $02, $02, $42, $08, $02, $32, $02, $02, $2E, $02, $02, $2E ; CPU:$C718 PRG:0718 82 1C 89 4A 02 02 42 08 02 32 02 02 2E 02 02 2E + .byte $82, $2A, $89, $02, $02, $04, $0C, $02, $04, $32, $02, $02, $82, $02, $02, $89 ; CPU:$C728 PRG:0728 82 2A 89 02 02 04 0C 02 04 32 02 02 82 02 02 89 + .byte $06, $02, $08, $82, $02, $02, $42, $89, $42, $02, $38, $82, $4A, $4A, $1C, $1C ; CPU:$C738 PRG:0738 06 02 08 82 02 02 42 89 42 02 38 82 4A 4A 1C 1C + .byte $20, $89, $20, $02, $38, $82, $42, $89, $42, $02, $20, $82, $4A, $4A, $1C, $34 ; CPU:$C748 PRG:0748 20 89 20 02 38 82 42 89 42 02 20 82 4A 4A 1C 34 + .byte $38, $38, $42, $02, $02, $89, $40, $02, $42, $82, $02, $02, $DC, $89, $06, $03 ; CPU:$C758 PRG:0758 38 38 42 02 02 89 40 02 42 82 02 02 DC 89 06 03 + .byte $06, $FF, $F2, $89, $42, $02, $02, $02, $02, $48, $4A, $02, $02, $38, $02, $42 ; CPU:$C768 PRG:0768 06 FF F2 89 42 02 02 02 02 48 4A 02 02 38 02 42 + .byte $02, $02, $3E, $44, $46, $1C, $20, $02, $1C, $02, $02, $2A, $02, $02, $42, $02 ; CPU:$C778 PRG:0778 02 02 3E 44 46 1C 20 02 1C 02 02 2A 02 02 42 02 + .byte $02, $4A, $24, $02, $02, $20, $02, $1C, $88, $26, $1C, $46, $3E, $38, $34, $FF ; CPU:$C788 PRG:0788 02 4A 24 02 02 20 02 1C 88 26 1C 46 3E 38 34 FF + .byte $00, $F2, $89, $46, $02, $02, $02, $02, $1E, $24, $02, $02, $1E, $02, $24, $20 ; CPU:$C798 PRG:0798 00 F2 89 46 02 02 02 02 1E 24 02 02 1E 02 24 20 + .byte $02, $40, $02, $02, $02, $88, $40, $42, $44, $89, $46, $02, $02, $1C, $02, $1E ; CPU:$C7A8 PRG:07A8 02 40 02 02 02 88 40 42 44 89 46 02 02 1C 02 1E + .byte $02, $02, $24, $1E, $02, $02, $88, $2A, $28, $20, $40, $42, $44, $FF, $F2, $81 ; CPU:$C7B8 PRG:07B8 02 02 24 1E 02 02 88 2A 28 20 40 42 44 FF F2 81 + .byte $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $3E, $40 ; CPU:$C7C8 PRG:07C8 3C 3C 42 44 3C 3C 42 44 3C 3C 42 44 3C 3C 3E 40 + .byte $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $40, $3E ; CPU:$C7D8 PRG:07D8 42 42 48 4A 42 42 48 4A 42 42 48 4A 42 42 40 3E + .byte $FF, $F2, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $82, $0C, $0C, $0C, $89, $0C ; CPU:$C7E8 PRG:07E8 FF F2 82 0C 0C 0C 89 0C 03 0C 82 0C 0C 0C 89 0C + .byte $03, $0C, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $89, $0C, $03, $0C, $0C, $03 ; CPU:$C7F8 PRG:07F8 03 0C 82 0C 0C 0C 89 0C 03 0C 89 0C 03 0C 0C 03 + .byte $03, $0C, $03, $0C, $0C, $03, $03, $FF, $89, $04, $02, $20, $02, $02, $6A, $18 ; CPU:$C808 PRG:0808 03 0C 03 0C 0C 03 03 FF 89 04 02 20 02 02 6A 18 + .byte $02, $0C, $02, $02, $2A, $68, $02, $16, $0A, $02, $08, $02, $02, $82, $2A, $89 ; CPU:$C818 PRG:0818 02 0C 02 02 2A 68 02 16 0A 02 08 02 02 82 2A 89 + .byte $02, $48, $00, $89, $34, $02, $48, $02, $02, $22, $48, $02, $3C, $02, $02, $22 ; CPU:$C828 PRG:0828 02 48 00 89 34 02 48 02 02 22 48 02 3C 02 02 22 + .byte $20, $02, $46, $3A, $02, $38, $02, $02, $82, $22, $89, $02, $3C, $89, $34, $02 ; CPU:$C838 PRG:0838 20 02 46 3A 02 38 02 02 82 22 89 02 3C 89 34 02 + .byte $34, $48, $02, $22, $82, $46, $89, $42, $02, $08, $02, $3E, $3E, $82, $3A, $89 ; CPU:$C848 PRG:0848 34 48 02 22 82 46 89 42 02 08 02 3E 3E 82 3A 89 + .byte $38, $02, $82, $08, $89, $02, $34, $89, $32, $02, $2E, $02, $02, $02, $2A, $02 ; CPU:$C858 PRG:0858 38 02 82 08 89 02 34 89 32 02 2E 02 02 02 2A 02 + .byte $02, $26, $02, $02, $24, $02, $26, $24, $02, $20, $82, $02, $82, $02, $02, $1C ; CPU:$C868 PRG:0868 02 26 02 02 24 02 26 24 02 20 82 02 82 02 02 1C + .byte $02, $02, $02, $81, $1C, $00, $89, $2A, $02, $26, $02, $02, $02, $24, $02, $02 ; CPU:$C878 PRG:0878 02 02 02 81 1C 00 89 2A 02 26 02 02 02 24 02 02 + .byte $20, $02, $02, $1C, $02, $20, $1C, $02, $4A, $82, $02, $82, $03, $89, $06, $03 ; CPU:$C888 PRG:0888 20 02 02 1C 02 20 1C 02 4A 82 02 82 03 89 06 03 + .byte $06, $82, $03, $89, $06, $03, $06, $03, $06, $03, $06, $03, $06, $82, $09, $89 ; CPU:$C898 PRG:0898 06 82 03 89 06 03 06 03 06 03 06 03 06 82 09 89 + .byte $0C, $02, $12, $26, $02, $08, $08, $02, $2A, $24, $02, $20, $02, $02, $12, $2A ; CPU:$C8A8 PRG:08A8 0C 02 12 26 02 08 08 02 2A 24 02 20 02 02 12 2A + .byte $30, $2A, $32, $02, $04, $02, $06, $48, $20, $02, $2A, $02, $02, $02, $20, $02 ; CPU:$C8B8 PRG:08B8 30 2A 32 02 04 02 06 48 20 02 2A 02 02 02 20 02 + .byte $2A, $12, $08, $2C, $32, $2A, $1C, $04, $02, $32, $00, $89, $02, $02, $08, $82 ; CPU:$C8C8 PRG:08C8 2A 12 08 2C 32 2A 1C 04 02 32 00 89 02 02 08 82 + .byte $20, $89, $30, $02, $02, $48, $02, $46, $02, $02, $4A, $02, $48, $02, $4A, $02 ; CPU:$C8D8 PRG:08D8 20 89 30 02 02 48 02 46 02 02 4A 02 48 02 4A 02 + .byte $1C, $02, $1E, $24, $46, $02, $20, $02, $02, $2A, $44, $02, $44, $02, $02, $02 ; CPU:$C8E8 PRG:08E8 1C 02 1E 24 46 02 20 02 02 2A 44 02 44 02 02 02 + .byte $24, $1C, $02, $22, $02, $24, $C2, $89, $42, $02, $42, $82, $4A, $1C, $24, $FF ; CPU:$C8F8 PRG:08F8 24 1C 02 22 02 24 C2 89 42 02 42 82 4A 1C 24 FF + .byte $89, $42, $02, $42, $42, $42, $42, $48, $02, $48, $48, $48, $48, $46, $46, $46 ; CPU:$C908 PRG:0908 89 42 02 42 42 42 42 48 02 48 48 48 48 46 46 46 + .byte $44, $02, $42, $C2, $89, $06, $03, $06, $82, $09, $89, $06, $06, $03, $82, $09 ; CPU:$C918 PRG:0918 44 02 42 C2 89 06 03 06 82 09 89 06 06 03 82 09 + .byte $FF, $C2, $06, $03, $06, $03, $06, $06, $FF, $06, $06, $06, $09, $03, $09, $C4 ; CPU:$C928 PRG:0928 FF C2 06 03 06 03 06 06 FF 06 06 06 09 03 09 C4 + .byte $80, $10, $6E, $FF, $00, $89, $02, $02, $2A, $02, $02, $48, $2E, $02, $04, $02 ; CPU:$C938 PRG:0938 80 10 6E FF 00 89 02 02 2A 02 02 48 2E 02 04 02 + .byte $02, $22, $20, $02, $04, $0A, $0E, $10, $12, $0A, $04, $30, $2A, $22, $24, $00 ; CPU:$C948 PRG:0948 02 22 20 02 04 0A 0E 10 12 0A 04 30 2A 22 24 00 + .byte $89, $02, $02, $20, $02, $02, $82, $3C, $89, $2A, $02, $02, $48, $46, $02, $02 ; CPU:$C958 PRG:0958 89 02 02 20 02 02 82 3C 89 2A 02 02 48 46 02 02 + .byte $02, $02, $3A, $02, $02, $22, $02, $02, $46, $48, $89, $1C, $02, $1C, $82, $48 ; CPU:$C968 PRG:0968 02 02 3A 02 02 22 02 02 46 48 89 1C 02 1C 82 48 + .byte $46, $42, $89, $02, $02, $3E, $82, $3A, $38, $36, $34, $89, $02, $02, $12, $82 ; CPU:$C978 PRG:0978 46 42 89 02 02 3E 82 3A 38 36 34 89 02 02 12 82 + .byte $02, $1C, $02, $02, $89, $02, $02, $1C, $82, $1C, $02, $89, $02, $02, $12, $02 ; CPU:$C988 PRG:0988 02 1C 02 02 89 02 02 1C 82 1C 02 89 02 02 12 02 + .byte $02, $2E, $1C, $00, $89, $04, $02, $02, $02, $02, $0E, $0A, $02, $06, $02, $02 ; CPU:$C998 PRG:0998 02 2E 1C 00 89 04 02 02 02 02 0E 0A 02 06 02 02 + .byte $02, $04, $02, $06, $32, $02, $04, $84, $02, $02, $89, $2C, $02, $02, $02, $02 ; CPU:$C9A8 PRG:09A8 02 04 02 06 32 02 04 84 02 02 89 2C 02 02 02 02 + .byte $06, $04, $02, $30, $02, $02, $02, $2C, $02, $30, $2A, $02, $2C, $84, $02, $02 ; CPU:$C9B8 PRG:09B8 06 04 02 30 02 02 02 2C 02 30 2A 02 2C 84 02 02 + .byte $89, $06, $03, $06, $06, $03, $06, $06, $06, $03, $06, $03, $06, $03, $06, $03 ; CPU:$C9C8 PRG:09C8 89 06 03 06 06 03 06 06 06 03 06 03 06 03 06 03 + .byte $06, $03, $06, $06, $03, $03, $06, $03, $09, $03, $06, $03, $06, $03, $06, $06 ; CPU:$C9D8 PRG:09D8 06 03 06 06 03 03 06 03 09 03 06 03 06 03 06 06 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9E8 PRG:09E8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9F8 PRG:09F8 FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; 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: + cld ; CPU:$CA00 PRG:0A00 D8 + sei ; CPU:$CA01 PRG:0A01 78 +; ----------------------------------------------------------------------------- +; Routine: WaitPPUReady +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +WaitPPUReady: + lda $2002 ; CPU:$CA02 PRG:0A02 AD 02 20 + bpl WaitPPUReady ; CPU:$CA05 PRG:0A05 10 FB + ldx #$00 ; CPU:$CA07 PRG:0A07 A2 00 + stx $2000 ; CPU:$CA09 PRG:0A09 8E 00 20 + stx $2001 ; CPU:$CA0C PRG:0A0C 8E 01 20 + dex ; CPU:$CA0F PRG:0A0F CA + txs ; CPU:$CA10 PRG:0A10 9A + ldx $05EC ; CPU:$CA11 PRG:0A11 AE EC 05 + jsr $D07A ; CPU:$CA14 PRG:0A14 20 7A D0 + ldy #$06 ; CPU:$CA17 PRG:0A17 A0 06 + sty Zp01 ; CPU:$CA19 PRG:0A19 84 01 + ldy #$00 ; CPU:$CA1B PRG:0A1B A0 00 + sty Zp00 ; CPU:$CA1D PRG:0A1D 84 00 + lda #$00 ; CPU:$CA1F PRG:0A1F A9 00 +; ----------------------------------------------------------------------------- +; Routine: ClearRAMLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ClearRAMLoop: + sta (Zp00),y ; CPU:$CA21 PRG:0A21 91 00 + dey ; CPU:$CA23 PRG:0A23 88 + bne ClearRAMLoop ; CPU:$CA24 PRG:0A24 D0 FB + dec Zp01 ; CPU:$CA26 PRG:0A26 C6 01 + bpl ClearRAMLoop ; CPU:$CA28 PRG:0A28 10 F7 + txa ; CPU:$CA2A PRG:0A2A 8A + bne StoreConfig ; CPU:$CA2B PRG:0A2B D0 02 + ldx #$5F ; CPU:$CA2D PRG:0A2D A2 5F +; ----------------------------------------------------------------------------- +; Routine: StoreConfig +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +StoreConfig: + stx $05EC ; CPU:$CA2F PRG:0A2F 8E EC 05 + jsr $CC67 ; CPU:$CA32 PRG:0A32 20 67 CC + jsr $CC77 ; CPU:$CA35 PRG:0A35 20 77 CC + ldy #$00 ; CPU:$CA38 PRG:0A38 A0 00 + sta $2005 ; CPU:$CA3A PRG:0A3A 8D 05 20 + sta $2005 ; CPU:$CA3D PRG:0A3D 8D 05 20 + ldy #$01 ; CPU:$CA40 PRG:0A40 A0 01 + sty Zp24 ; CPU:$CA42 PRG:0A42 84 24 + sty ZpA5 ; CPU:$CA44 PRG:0A44 84 A5 + lda #$0F ; CPU:$CA46 PRG:0A46 A9 0F + sta $4015 ; CPU:$CA48 PRG:0A48 8D 15 40 + jsr $C003 ; CPU:$CA4B PRG:0A4B 20 03 C0 + jsr $E7EF ; CPU:$CA4E PRG:0A4E 20 EF E7 + lda #$90 ; CPU:$CA51 PRG:0A51 A9 90 + sta $2000 ; CPU:$CA53 PRG:0A53 8D 00 20 + sta Zp08 ; CPU:$CA56 PRG:0A56 85 08 + lda #$02 ; CPU:$CA58 PRG:0A58 A9 02 + sta Zp09 ; CPU:$CA5A PRG:0A5A 85 09 + ldx #$0B ; CPU:$CA5C PRG:0A5C A2 0B +; ----------------------------------------------------------------------------- +; Routine: CopyConfigData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CopyConfigData: + lda $F68A,x ; CPU:$CA5E PRG:0A5E BD 8A F6 + sta $05F0,x ; CPU:$CA61 PRG:0A61 9D F0 05 + dex ; CPU:$CA64 PRG:0A64 CA + bpl CopyConfigData ; CPU:$CA65 PRG:0A65 10 F7 + bmi MainGameLoop ; CPU:$CA67 PRG:0A67 30 1E +; ----------------------------------------------------------------------------- +; Routine: TitleScreenLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenLoop: + lda Zp24 ; CPU:$CA69 PRG:0A69 A5 24 + beq CallInitAPU ; CPU:$CA6B PRG:0A6B F0 06 + lda Zp26 ; CPU:$CA6D PRG:0A6D A5 26 + cmp #$01 ; CPU:$CA6F PRG:0A6F C9 01 + bne GameplayFrame ; CPU:$CA71 PRG:0A71 D0 03 +; ----------------------------------------------------------------------------- +; Routine: CallInitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CallInitAPU: + jsr $C000 ; CPU:$CA73 PRG:0A73 20 00 C0 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrame +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrame: + jsr $CDCA ; CPU:$CA76 PRG:0A76 20 CA CD + jsr $CCD0 ; CPU:$CA79 PRG:0A79 20 D0 CC + jsr $CADA ; CPU:$CA7C PRG:0A7C 20 DA CA + jsr $DB48 ; CPU:$CA7F PRG:0A7F 20 48 DB + inc Zp2F ; CPU:$CA82 PRG:0A82 E6 2F + jsr $D057 ; CPU:$CA84 PRG:0A84 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: MainGameLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +MainGameLoop: + lda Zp20 ; CPU:$CA87 PRG:0A87 A5 20 + bne TitleScreenLoop ; CPU:$CA89 PRG:0A89 D0 DE + jsr $CFA1 ; CPU:$CA8B PRG:0A8B 20 A1 CF + jmp $CA87 ; CPU:$CA8E PRG:0A8E 4C 87 CA +; ----------------------------------------------------------------------------- +; 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: + php ; CPU:$CA91 PRG:0A91 08 + pha ; CPU:$CA92 PRG:0A92 48 + txa ; CPU:$CA93 PRG:0A93 8A + pha ; CPU:$CA94 PRG:0A94 48 + tya ; CPU:$CA95 PRG:0A95 98 + pha ; CPU:$CA96 PRG:0A96 48 + lda Zp86 ; CPU:$CA97 PRG:0A97 A5 86 + bne NmiVBlankOnly_CAC2 ; CPU:$CA99 PRG:0A99 D0 27 + lda #$00 ; CPU:$CA9B PRG:0A9B A9 00 + sta $2003 ; CPU:$CA9D PRG:0A9D 8D 03 20 + lda #$02 ; CPU:$CAA0 PRG:0AA0 A9 02 + sta $4014 ; CPU:$CAA2 PRG:0AA2 8D 14 40 + lda Zp22 ; CPU:$CAA5 PRG:0AA5 A5 22 + bne NmiExit ; CPU:$CAA7 PRG:0AA7 D0 0C + jsr $CD41 ; CPU:$CAA9 PRG:0AA9 20 41 CD + jsr $CC85 ; CPU:$CAAC PRG:0AAC 20 85 CC + jsr $CCAF ; CPU:$CAAF PRG:0AAF 20 AF CC +; ----------------------------------------------------------------------------- +; Routine: NmiFrameUpdate4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiFrameUpdate4: + jsr $CE43 ; CPU:$CAB2 PRG:0AB2 20 43 CE +; ----------------------------------------------------------------------------- +; Routine: NmiExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiExit: + ldy #$01 ; CPU:$CAB5 PRG:0AB5 A0 01 + sty Zp22 ; CPU:$CAB7 PRG:0AB7 84 22 + sty Zp20 ; CPU:$CAB9 PRG:0AB9 84 20 + pla ; CPU:$CABB PRG:0ABB 68 + tay ; CPU:$CABC PRG:0ABC A8 + pla ; CPU:$CABD PRG:0ABD 68 + tax ; CPU:$CABE PRG:0ABE AA + pla ; CPU:$CABF PRG:0ABF 68 + plp ; CPU:$CAC0 PRG:0AC0 28 + rti ; CPU:$CAC1 PRG:0AC1 40 +; ----------------------------------------------------------------------------- +; Routine: NmiVBlankOnly_CAC2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +NmiVBlankOnly_CAC2: + lda Zp09 ; CPU:$CAC2 PRG:0AC2 A5 09 + and #$E7 ; CPU:$CAC4 PRG:0AC4 29 E7 + sta Zp09 ; CPU:$CAC6 PRG:0AC6 85 09 + sta $2001 ; CPU:$CAC8 PRG:0AC8 8D 01 20 + jsr $D174 ; CPU:$CACB PRG:0ACB 20 74 D1 + lda Zp09 ; CPU:$CACE PRG:0ACE A5 09 + ora #$18 ; CPU:$CAD0 PRG:0AD0 09 18 + sta Zp09 ; CPU:$CAD2 PRG:0AD2 85 09 + sta $2001 ; CPU:$CAD4 PRG:0AD4 8D 01 20 + jmp $CAB2 ; CPU:$CAD7 PRG:0AD7 4C B2 CA +; ----------------------------------------------------------------------------- +; Routine: UpdateScroll +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScroll: + lda Zp24 ; CPU:$CADA PRG:0ADA A5 24 + beq TitleScreenCheckMode ; CPU:$CADC PRG:0ADC F0 03 + jmp $CB91 ; CPU:$CADE PRG:0ADE 4C 91 CB +; ----------------------------------------------------------------------------- +; Routine: TitleScreenCheckMode +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenCheckMode: + lda Zp16 ; CPU:$CAE1 PRG:0AE1 A5 16 + and #$10 ; CPU:$CAE3 PRG:0AE3 29 10 + beq TitleScreenLoopCallInitAPU ; CPU:$CAE5 PRG:0AE5 F0 7A + ldy $05FC ; CPU:$CAE7 PRG:0AE7 AC FC 05 + bne UpdateScrollEntry ; CPU:$CAEA PRG:0AEA D0 7A + iny ; CPU:$CAEC PRG:0AEC C8 + sty $05FC ; CPU:$CAED PRG:0AED 8C FC 05 + ldy Zp25 ; CPU:$CAF0 PRG:0AF0 A4 25 + cpy #$10 ; CPU:$CAF2 PRG:0AF2 C0 10 + beq CheckControllerStartExit ; CPU:$CAF4 PRG:0AF4 F0 3B + cpy #$03 ; CPU:$CAF6 PRG:0AF6 C0 03 + beq CheckControllerStartEntry ; CPU:$CAF8 PRG:0AF8 F0 0C + cpy #$04 ; CPU:$CAFA PRG:0AFA C0 04 + beq CheckControllerStartEntry ; CPU:$CAFC PRG:0AFC F0 08 + cpy #$0B ; CPU:$CAFE PRG:0AFE C0 0B + beq CheckControllerStartEntry ; CPU:$CB00 PRG:0B00 F0 04 + cpy #$0C ; CPU:$CB02 PRG:0B02 C0 0C + bne UpdateScrollEntry ; CPU:$CB04 PRG:0B04 D0 60 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartEntry: + lda $0321 ; CPU:$CB06 PRG:0B06 AD 21 03 + cmp #$0B ; CPU:$CB09 PRG:0B09 C9 0B + beq UpdateScrollEntry ; CPU:$CB0B PRG:0B0B F0 59 + ldx #$05 ; CPU:$CB0D PRG:0B0D A2 05 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartLoop: + lda Zp2A,x ; CPU:$CB0F PRG:0B0F B5 2A + sta $0430,x ; CPU:$CB11 PRG:0B11 9D 30 04 + dex ; CPU:$CB14 PRG:0B14 CA + bpl CheckControllerStartLoop ; CPU:$CB15 PRG:0B15 10 F8 + lda Zp09 ; CPU:$CB17 PRG:0B17 A5 09 + and #$0E ; CPU:$CB19 PRG:0B19 29 0E + sta $2001 ; CPU:$CB1B PRG:0B1B 8D 01 20 + sta Zp09 ; CPU:$CB1E PRG:0B1E 85 09 + lda Zp25 ; CPU:$CB20 PRG:0B20 A5 25 + sta Zp1D ; CPU:$CB22 PRG:0B22 85 1D + lda #$00 ; CPU:$CB24 PRG:0B24 A9 00 + sta Zp96 ; CPU:$CB26 PRG:0B26 85 96 + lda #$10 ; CPU:$CB28 PRG:0B28 A9 10 + sta Zp25 ; CPU:$CB2A PRG:0B2A 85 25 + lda #$02 ; CPU:$CB2C PRG:0B2C A9 02 + jmp $CB55 ; CPU:$CB2E PRG:0B2E 4C 55 CB +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartExit: + lda Zp09 ; CPU:$CB31 PRG:0B31 A5 09 + ora #$10 ; CPU:$CB33 PRG:0B33 09 10 + sta $2001 ; CPU:$CB35 PRG:0B35 8D 01 20 + sta Zp09 ; CPU:$CB38 PRG:0B38 85 09 + lda #$11 ; CPU:$CB3A PRG:0B3A A9 11 + sta Zp25 ; CPU:$CB3C PRG:0B3C 85 25 + lda #$30 ; CPU:$CB3E PRG:0B3E A9 30 + sta Zp1C ; CPU:$CB40 PRG:0B40 85 1C + lda #$00 ; CPU:$CB42 PRG:0B42 A9 00 + jsr $E70C ; CPU:$CB44 PRG:0B44 20 0C E7 + jsr $E793 ; CPU:$CB47 PRG:0B47 20 93 E7 +; ---- data $CB4A-$CB4A (1 bytes) ---- + .byte $A5 ; CPU:$CB4A PRG:0B4A A5 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartWait +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartWait: + inc ZpD0 ; CPU:$CB4B PRG:0B4B E6 D0 +; ---- data $CB4D-$CB4D (1 bytes) ---- + .byte $03 ; CPU:$CB4D PRG:0B4D 03 +; ----------------------------------------------------------------------------- +; Routine: CheckControllerStartJmp +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckControllerStartJmp: + jmp $E7F7 ; CPU:$CB4E PRG:0B4E 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrameCallD012 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrameCallD012: + jsr $D012 ; CPU:$CB51 PRG:0B51 20 12 D0 + rts ; CPU:$CB54 PRG:0B54 60 +; ----------------------------------------------------------------------------- +; Routine: GameplayFrameCallE70C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +GameplayFrameCallE70C: + jsr $E70C ; CPU:$CB55 PRG:0B55 20 0C E7 + jsr $E793 ; CPU:$CB58 PRG:0B58 20 93 E7 + jsr $D012 ; CPU:$CB5B PRG:0B5B 20 12 D0 + jmp $E7DB ; CPU:$CB5E PRG:0B5E 4C DB E7 +; ----------------------------------------------------------------------------- +; Routine: TitleScreenLoopCallInitAPU +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenLoopCallInitAPU: + lda #$00 ; CPU:$CB61 PRG:0B61 A9 00 + sta $05FC ; CPU:$CB63 PRG:0B63 8D FC 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollEntry: + lda Zp25 ; CPU:$CB66 PRG:0B66 A5 25 + jsr $CDE0 ; CPU:$CB68 PRG:0B68 20 E0 CD + sta $B7D0,x ; CPU:$CB6B PRG:0B6B 9D D0 B7 + bne CheckControllerStartJmp ; CPU:$CB6E PRG:0B6E D0 DE +; ---- data $CB70-$CBAC (61 bytes) ---- +; referenced by `jmp $CB91` at $CADE (operand $CB91 falls inside this region) + .byte $D0, $87, $D1, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19 ; CPU:$CB70 PRG:0B70 D0 87 D1 19 D0 19 D0 19 D0 19 D0 19 D0 19 D0 19 + .byte $D0, $19, $D0, $19, $D0, $19, $D0, $52, $D1, $19, $D0, $19, $D0, $BD, $CC, $5E ; CPU:$CB80 PRG:0B80 D0 19 D0 19 D0 19 D0 52 D1 19 D0 19 D0 BD CC 5E + .byte $D0, $A5, $C0, $D0, $2B, $A9, $11, $8D, $00, $05, $A0, $22, $A2, $26, $AD, $FE ; CPU:$CB90 PRG:0B90 D0 A5 C0 D0 2B A9 11 8D 00 05 A0 22 A2 26 AD FE + .byte $05, $F0, $02, $A2, $2F, $8E, $01, $05, $A2, $64, $20, $8E, $D0 ; CPU:$CBA0 PRG:0BA0 05 F0 02 A2 2F 8E 01 05 A2 64 20 8E D0 + ldx #$26 ; CPU:$CBAD PRG:0BAD A2 26 + lda $05FE ; CPU:$CBAF PRG:0BAF AD FE 05 + bne InitSpritesSetPos ; CPU:$CBB2 PRG:0BB2 D0 02 + ldx #$2F ; CPU:$CBB4 PRG:0BB4 A2 2F +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSetPos +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSetPos: + stx $0501 ; CPU:$CBB6 PRG:0BB6 8E 01 05 + ldx #$A4 ; CPU:$CBB9 PRG:0BB9 A2 A4 + ldy #$22 ; CPU:$CBBB PRG:0BBB A0 22 + jsr $D08E ; CPU:$CBBD PRG:0BBD 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesZero5FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesZero5FF: + lda #$00 ; CPU:$CBC0 PRG:0BC0 A9 00 + sta $05FF ; CPU:$CBC2 PRG:0BC2 8D FF 05 + lda #$01 ; CPU:$CBC5 PRG:0BC5 A9 01 + sta ZpB9 ; CPU:$CBC7 PRG:0BC7 85 B9 + sta ZpBA ; CPU:$CBC9 PRG:0BC9 85 BA + lda Zp26 ; CPU:$CBCB PRG:0BCB A5 26 + beq InitSpritesBeqCBFB ; CPU:$CBCD PRG:0BCD F0 2C + lda $05FF ; CPU:$CBCF PRG:0BCF AD FF 05 + cmp #$01 ; CPU:$CBD2 PRG:0BD2 C9 01 + beq InitSprites ; CPU:$CBD4 PRG:0BD4 F0 0C + cmp #$02 ; CPU:$CBD6 PRG:0BD6 C9 02 + beq InitSpritesExit ; CPU:$CBD8 PRG:0BD8 F0 31 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollLogic +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollLogic: + lda Zp16 ; CPU:$CBDA PRG:0BDA A5 16 + and #$30 ; CPU:$CBDC PRG:0BDC 29 30 + cmp #$10 ; CPU:$CBDE PRG:0BDE C9 10 + bne InitSpritesAlt ; CPU:$CBE0 PRG:0BE0 D0 15 +; ----------------------------------------------------------------------------- +; Routine: InitSprites +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSprites: + lda #$00 ; CPU:$CBE2 PRG:0BE2 A9 00 + sta Zp24 ; CPU:$CBE4 PRG:0BE4 85 24 + sta Zp25 ; CPU:$CBE6 PRG:0BE6 85 25 + sta ZpC0 ; CPU:$CBE8 PRG:0BE8 85 C0 + jsr $E793 ; CPU:$CBEA PRG:0BEA 20 93 E7 + jsr $D01A ; CPU:$CBED PRG:0BED 20 1A D0 + lda #$02 ; CPU:$CBF0 PRG:0BF0 A9 02 + sta Zp2A ; CPU:$CBF2 PRG:0BF2 85 2A + sta Zp2D ; CPU:$CBF4 PRG:0BF4 85 2D + rts ; CPU:$CBF6 PRG:0BF6 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesAlt: + ldx Zp26 ; CPU:$CBF7 PRG:0BF7 A6 26 + bne UpdateScrollCheckZp1F ; CPU:$CBF9 PRG:0BF9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesBeqCBFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesBeqCBFB: + lda #$30 ; CPU:$CBFB PRG:0BFB A9 30 + sta Zp2D ; CPU:$CBFD PRG:0BFD 85 2D + jmp $CC42 ; CPU:$CBFF PRG:0BFF 4C 42 CC +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckZp1F: + cmp #$20 ; CPU:$CC02 PRG:0C02 C9 20 + bne InitSpritesCpy02 ; CPU:$CC04 PRG:0C04 D0 15 + lda $05FD ; CPU:$CC06 PRG:0C06 AD FD 05 + bne UpdateScrollReadDispatch ; CPU:$CC09 PRG:0C09 D0 1E +; ----------------------------------------------------------------------------- +; Routine: InitSpritesExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesExit: + ldy $05FE ; CPU:$CC0B PRG:0C0B AC FE 05 + iny ; CPU:$CC0E PRG:0C0E C8 + cpy #$02 ; CPU:$CC0F PRG:0C0F C0 02 + bne InitSpritesIncY ; CPU:$CC11 PRG:0C11 D0 02 + ldy #$00 ; CPU:$CC13 PRG:0C13 A0 00 +; ----------------------------------------------------------------------------- +; Routine: InitSpritesIncY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesIncY: + sty $05FE ; CPU:$CC15 PRG:0C15 8C FE 05 + jmp $CC24 ; CPU:$CC18 PRG:0C18 4C 24 CC +; ----------------------------------------------------------------------------- +; Routine: InitSpritesCpy02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesCpy02: + cmp #$00 ; CPU:$CC1B PRG:0C1B C9 00 + bne InitSpritesSet5FD ; CPU:$CC1D PRG:0C1D D0 05 + sta $05FD ; CPU:$CC1F PRG:0C1F 8D FD 05 + beq UpdateScrollReadZpA4 ; CPU:$CC22 PRG:0C22 F0 1A +; ----------------------------------------------------------------------------- +; Routine: InitSpritesSet5FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpritesSet5FD: + lda #$01 ; CPU:$CC24 PRG:0C24 A9 01 + sta $05FD ; CPU:$CC26 PRG:0C26 8D FD 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollReadDispatch +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollReadDispatch: + lda ZpC0 ; CPU:$CC29 PRG:0C29 A5 C0 + beq UpdateScrollCheckDispatch ; CPU:$CC2B PRG:0C2B F0 0D + lda #$00 ; CPU:$CC2D PRG:0C2D A9 00 + sta ZpC0 ; CPU:$CC2F PRG:0C2F 85 C0 + sta ZpF0 ; CPU:$CC31 PRG:0C31 85 F0 + sta ZpF1 ; CPU:$CC33 PRG:0C33 85 F1 + sta ZpF2 ; CPU:$CC35 PRG:0C35 85 F2 + jmp $DA25 ; CPU:$CC37 PRG:0C37 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckDispatch +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckDispatch: + lda #$30 ; CPU:$CC3A PRG:0C3A A9 30 + sta Zp2D ; CPU:$CC3C PRG:0C3C 85 2D +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollReadZpA4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollReadZpA4: + cpx #$01 ; CPU:$CC3E PRG:0C3E E0 01 + bne UpdateScrollCheckDispatchAlt ; CPU:$CC40 PRG:0C40 D0 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckDispatchAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckDispatchAlt: + lda ZpC0 ; CPU:$CC42 PRG:0C42 A5 C0 + bne UpdateScrollCheckZpA4 ; CPU:$CC44 PRG:0C44 D0 16 + lda ZpA4 ; CPU:$CC46 PRG:0C46 A5 A4 + sta $0501 ; CPU:$CC48 PRG:0C48 8D 01 05 + lda ZpA5 ; CPU:$CC4B PRG:0C4B A5 A5 + sta $0502 ; CPU:$CC4D PRG:0C4D 8D 02 05 + lda #$12 ; CPU:$CC50 PRG:0C50 A9 12 + sta $0500 ; CPU:$CC52 PRG:0C52 8D 00 05 + ldx #$F4 ; CPU:$CC55 PRG:0C55 A2 F4 + ldy #$22 ; CPU:$CC57 PRG:0C57 A0 22 + jsr $D08E ; CPU:$CC59 PRG:0C59 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateScrollCheckZpA4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScrollCheckZpA4: + lda Zp26 ; CPU:$CC5C PRG:0C5C A5 26 + jsr $CDE0 ; CPU:$CC5E PRG:0C5E 20 E0 CD +; ---- data $CC61-$CC66 (6 bytes) ---- + .byte $C3, $CF, $F2, $CF, $0F, $D0 ; CPU:$CC61 PRG:0C61 C3 CF F2 CF 0F D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAM_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. +; ----------------------------------------------------------------------------- +UpdateOAM_CC67: + lda #$02 ; CPU:$CC67 PRG:0C67 A9 02 + jsr $CC6E ; CPU:$CC69 PRG:0C69 20 6E CC + lda #$01 ; CPU:$CC6C PRG:0C6C A9 01 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMSetPointer +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMSetPointer: + sta Zp01 ; CPU:$CC6E PRG:0C6E 85 01 + lda #$2F ; CPU:$CC70 PRG:0C70 A9 2F + sta Zp00 ; CPU:$CC72 PRG:0C72 85 00 + jmp $CD85 ; CPU:$CC74 PRG:0C74 4C 85 CD +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMExit: + ldy #$00 ; CPU:$CC77 PRG:0C77 A0 00 + lda #$F4 ; CPU:$CC79 PRG:0C79 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMClear200 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMClear200: + sta $0200,y ; CPU:$CC7B PRG:0C7B 99 00 02 + iny ; CPU:$CC7E PRG:0C7E C8 + iny ; CPU:$CC7F PRG:0C7F C8 + iny ; CPU:$CC80 PRG:0C80 C8 + iny ; CPU:$CC81 PRG:0C81 C8 + bne UpdateOAMClear200 ; CPU:$CC82 PRG:0C82 D0 F7 + rts ; CPU:$CC84 PRG:0C84 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAM_CC85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAM_CC85: + ldy Zp23 ; CPU:$CC85 PRG:0C85 A4 23 + beq UpdateOAMDecrement ; CPU:$CC87 PRG:0C87 F0 25 + dey ; CPU:$CC89 PRG:0C89 88 + tya ; CPU:$CC8A PRG:0C8A 98 + asl a ; CPU:$CC8B PRG:0C8B 0A + tay ; CPU:$CC8C PRG:0C8C A8 + lda $F5B2,y ; CPU:$CC8D PRG:0C8D B9 B2 F5 + ldx $F5B3,y ; CPU:$CC90 PRG:0C90 BE B3 F5 + ldy #$00 ; CPU:$CC93 PRG:0C93 A0 00 + sty Zp23 ; CPU:$CC95 PRG:0C95 84 23 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMCheckZp23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMCheckZp23: + sta Zp00 ; CPU:$CC97 PRG:0C97 85 00 + stx Zp01 ; CPU:$CC99 PRG:0C99 86 01 + jsr $CE3A ; CPU:$CC9B PRG:0C9B 20 3A CE + lda #$3F ; CPU:$CC9E PRG:0C9E A9 3F + sta $2006 ; CPU:$CCA0 PRG:0CA0 8D 06 20 + lda #$00 ; CPU:$CCA3 PRG:0CA3 A9 00 + sta $2006 ; CPU:$CCA5 PRG:0CA5 8D 06 20 + sta $2006 ; CPU:$CCA8 PRG:0CA8 8D 06 20 + sta $2006 ; CPU:$CCAB PRG:0CAB 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMDecrement +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMDecrement: + rts ; CPU:$CCAE PRG:0CAE 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettes +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettes: + ldy Zp27 ; CPU:$CCAF PRG:0CAF A4 27 + beq UpdateOAMDecrement ; CPU:$CCB1 PRG:0CB1 F0 FB + ldy #$00 ; CPU:$CCB3 PRG:0CB3 A0 00 + sty Zp27 ; CPU:$CCB5 PRG:0CB5 84 27 + lda #$00 ; CPU:$CCB7 PRG:0CB7 A9 00 + ldx #$04 ; CPU:$CCB9 PRG:0CB9 A2 04 + bne UpdateOAMCheckZp23 ; CPU:$CCBB PRG:0CBB D0 DA + dec Zp1C ; CPU:$CCBD PRG:0CBD C6 1C + bne UpdateOAMZeroY ; CPU:$CCBF PRG:0CBF D0 0E + ldx #$05 ; CPU:$CCC1 PRG:0CC1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMCheckZp27 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMCheckZp27: + lda $0430,x ; CPU:$CCC3 PRG:0CC3 BD 30 04 + sta Zp2A,x ; CPU:$CCC6 PRG:0CC6 95 2A + dex ; CPU:$CCC8 PRG:0CC8 CA + bpl UpdateOAMCheckZp27 ; CPU:$CCC9 PRG:0CC9 10 F8 + lda Zp1D ; CPU:$CCCB PRG:0CCB A5 1D + sta Zp25 ; CPU:$CCCD PRG:0CCD 85 25 +; ----------------------------------------------------------------------------- +; Routine: UpdateOAMZeroY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateOAMZeroY: + rts ; CPU:$CCCF PRG:0CCF 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayers +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayers: + lda #$01 ; CPU:$CCD0 PRG:0CD0 A9 01 + sta $4016 ; CPU:$CCD2 PRG:0CD2 8D 16 40 + lda #$00 ; CPU:$CCD5 PRG:0CD5 A9 00 + sta $4016 ; CPU:$CCD7 PRG:0CD7 8D 16 40 + ldy #$40 ; CPU:$CCDA PRG:0CDA A0 40 + ldx $032A ; CPU:$CCDC PRG:0CDC AE 2A 03 + beq UpdatePalettesCheckZp27 ; CPU:$CCDF PRG:0CDF F0 02 + ldy #$42 ; CPU:$CCE1 PRG:0CE1 A0 42 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettesCheckZp27 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettesCheckZp27: + sty Zp01 ; CPU:$CCE3 PRG:0CE3 84 01 + ldx #$00 ; CPU:$CCE5 PRG:0CE5 A2 00 + jsr $CCFB ; CPU:$CCE7 PRG:0CE7 20 FB CC + ldy #$40 ; CPU:$CCEA PRG:0CEA A0 40 + ldx $030A ; CPU:$CCEC PRG:0CEC AE 0A 03 + beq UpdatePalettesZeroY ; CPU:$CCEF PRG:0CEF F0 02 + ldy #$41 ; CPU:$CCF1 PRG:0CF1 A0 41 +; ----------------------------------------------------------------------------- +; Routine: UpdatePalettesZeroY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePalettesZeroY: + sty Zp01 ; CPU:$CCF3 PRG:0CF3 84 01 + ldx #$01 ; CPU:$CCF5 PRG:0CF5 A2 01 + jsr $CCFB ; CPU:$CCF7 PRG:0CF7 20 FB CC + rts ; CPU:$CCFA PRG:0CFA 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputLoop: + ldy #$08 ; CPU:$CCFB PRG:0CFB A0 08 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStore +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStore: + pha ; CPU:$CCFD PRG:0CFD 48 + lda Zp16,x ; CPU:$CCFE PRG:0CFE B5 16 + and Zp01 ; CPU:$CD00 PRG:0D00 25 01 + sta Zp02 ; CPU:$CD02 PRG:0D02 85 02 + lda $4016,x ; CPU:$CD04 PRG:0D04 BD 16 40 + sta Zp00 ; CPU:$CD07 PRG:0D07 85 00 + lsr a ; CPU:$CD09 PRG:0D09 4A + ora Zp00 ; CPU:$CD0A PRG:0D0A 05 00 + lsr a ; CPU:$CD0C PRG:0D0C 4A + pla ; CPU:$CD0D PRG:0D0D 68 + rol a ; CPU:$CD0E PRG:0D0E 2A + dey ; CPU:$CD0F PRG:0D0F 88 + bne ProcessControllerInputStore ; CPU:$CD10 PRG:0D10 D0 EB + ldy Zp16,x ; CPU:$CD12 PRG:0D12 B4 16 + sty Zp00 ; CPU:$CD14 PRG:0D14 84 00 + sta Zp16,x ; CPU:$CD16 PRG:0D16 95 16 + and #$FF ; CPU:$CD18 PRG:0D18 29 FF + bpl RoundLogicCheckZp21 ; CPU:$CD1A PRG:0D1A 10 06 + bit Zp00 ; CPU:$CD1C PRG:0D1C 24 00 + bpl RoundLogicCheckZp21 ; CPU:$CD1E PRG:0D1E 10 02 + and #$7F ; CPU:$CD20 PRG:0D20 29 7F +; ----------------------------------------------------------------------------- +; Routine: RoundLogicCheckZp21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicCheckZp21: + ldy Zp18,x ; CPU:$CD22 PRG:0D22 B4 18 + sta Zp18,x ; CPU:$CD24 PRG:0D24 95 18 + tya ; CPU:$CD26 PRG:0D26 98 + and #$0F ; CPU:$CD27 PRG:0D27 29 0F + and Zp18,x ; CPU:$CD29 PRG:0D29 35 18 + beq RoundLogicBeqCD84 ; CPU:$CD2B PRG:0D2B F0 06 + ora #$F0 ; CPU:$CD2D PRG:0D2D 09 F0 + and Zp18,x ; CPU:$CD2F PRG:0D2F 35 18 + sta Zp18,x ; CPU:$CD31 PRG:0D31 95 18 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicBeqCD84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicBeqCD84: + lda Zp02 ; CPU:$CD33 PRG:0D33 A5 02 + bne RoundLogicSet21 ; CPU:$CD35 PRG:0D35 D0 01 + rts ; CPU:$CD37 PRG:0D37 60 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicSet21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicSet21: + lda #$FF ; CPU:$CD38 PRG:0D38 A9 FF + eor Zp01 ; CPU:$CD3A PRG:0D3A 45 01 + and Zp18,x ; CPU:$CD3C PRG:0D3C 35 18 + sta Zp18,x ; CPU:$CD3E PRG:0D3E 95 18 + rts ; CPU:$CD40 PRG:0D40 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputEntry: + lda Zp21 ; CPU:$CD41 PRG:0D41 A5 21 + beq ProcessControllerInputRead2002Alt ; CPU:$CD43 PRG:0D43 F0 3F + lda #$21 ; CPU:$CD45 PRG:0D45 A9 21 + sta Zp00 ; CPU:$CD47 PRG:0D47 85 00 + lda #$05 ; CPU:$CD49 PRG:0D49 A9 05 + sta Zp01 ; CPU:$CD4B PRG:0D4B 85 01 + lda Zp08 ; CPU:$CD4D PRG:0D4D A5 08 + and #$FB ; CPU:$CD4F PRG:0D4F 29 FB + sta $2000 ; CPU:$CD51 PRG:0D51 8D 00 20 + sta Zp08 ; CPU:$CD54 PRG:0D54 85 08 + ldx $2002 ; CPU:$CD56 PRG:0D56 AE 02 20 + ldy #$00 ; CPU:$CD59 PRG:0D59 A0 00 + beq ProcessControllerInputStaZp08 ; CPU:$CD5B PRG:0D5B F0 19 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002: + sta $2006 ; CPU:$CD5D PRG:0D5D 8D 06 20 + iny ; CPU:$CD60 PRG:0D60 C8 + lda (Zp00),y ; CPU:$CD61 PRG:0D61 B1 00 + sta $2006 ; CPU:$CD63 PRG:0D63 8D 06 20 + iny ; CPU:$CD66 PRG:0D66 C8 + lda (Zp00),y ; CPU:$CD67 PRG:0D67 B1 00 + and #$3F ; CPU:$CD69 PRG:0D69 29 3F + tax ; CPU:$CD6B PRG:0D6B AA +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputAndFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputAndFB: + iny ; CPU:$CD6C PRG:0D6C C8 + lda (Zp00),y ; CPU:$CD6D PRG:0D6D B1 00 + sta $2007 ; CPU:$CD6F PRG:0D6F 8D 07 20 + dex ; CPU:$CD72 PRG:0D72 CA + bne ProcessControllerInputAndFB ; CPU:$CD73 PRG:0D73 D0 F7 + iny ; CPU:$CD75 PRG:0D75 C8 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStaZp08 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStaZp08: + lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00 + bne ProcessControllerInputRead2002 ; CPU:$CD78 PRG:0D78 D0 E3 + lda #$00 ; CPU:$CD7A PRG:0D7A A9 00 + sta $0520 ; CPU:$CD7C PRG:0D7C 8D 20 05 + sta $0521 ; CPU:$CD7F PRG:0D7F 8D 21 05 + sta Zp21 ; CPU:$CD82 PRG:0D82 85 21 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002Alt: + rts ; CPU:$CD84 PRG:0D84 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputRead2002Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputRead2002Alt2: + lda $2002 ; CPU:$CD85 PRG:0D85 AD 02 20 + lda Zp08 ; CPU:$CD88 PRG:0D88 A5 08 + and #$FB ; CPU:$CD8A PRG:0D8A 29 FB + sta $2000 ; CPU:$CD8C PRG:0D8C 8D 00 20 + sta Zp08 ; CPU:$CD8F PRG:0D8F 85 08 + lda #$1C ; CPU:$CD91 PRG:0D91 A9 1C + clc ; CPU:$CD93 PRG:0D93 18 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputAnd04 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputAnd04: + adc #$04 ; CPU:$CD94 PRG:0D94 69 04 + dec Zp01 ; CPU:$CD96 PRG:0D96 C6 01 + bne ProcessControllerInputAnd04 ; CPU:$CD98 PRG:0D98 D0 FA + sta Zp02 ; CPU:$CD9A PRG:0D9A 85 02 + sta $2006 ; CPU:$CD9C PRG:0D9C 8D 06 20 + lda #$00 ; CPU:$CD9F PRG:0D9F A9 00 + sta $2006 ; CPU:$CDA1 PRG:0DA1 8D 06 20 + ldx #$04 ; CPU:$CDA4 PRG:0DA4 A2 04 + ldy #$00 ; CPU:$CDA6 PRG:0DA6 A0 00 + lda Zp00 ; CPU:$CDA8 PRG:0DA8 A5 00 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputOra18 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputOra18: + sta $2007 ; CPU:$CDAA PRG:0DAA 8D 07 20 + dey ; CPU:$CDAD PRG:0DAD 88 + bne ProcessControllerInputOra18 ; CPU:$CDAE PRG:0DAE D0 FA + dex ; CPU:$CDB0 PRG:0DB0 CA + bne ProcessControllerInputOra18 ; CPU:$CDB1 PRG:0DB1 D0 F7 + lda Zp02 ; CPU:$CDB3 PRG:0DB3 A5 02 + adc #$03 ; CPU:$CDB5 PRG:0DB5 69 03 + sta $2006 ; CPU:$CDB7 PRG:0DB7 8D 06 20 + lda #$C0 ; CPU:$CDBA PRG:0DBA A9 C0 + sta $2006 ; CPU:$CDBC PRG:0DBC 8D 06 20 + ldy #$40 ; CPU:$CDBF PRG:0DBF A0 40 + lda #$00 ; CPU:$CDC1 PRG:0DC1 A9 00 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInputStaZp09 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInputStaZp09: + sta $2007 ; CPU:$CDC3 PRG:0DC3 8D 07 20 + dey ; CPU:$CDC6 PRG:0DC6 88 + bne ProcessControllerInputStaZp09 ; CPU:$CDC7 PRG:0DC7 D0 FA + rts ; CPU:$CDC9 PRG:0DC9 60 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicEntry: + ldx #$01 ; CPU:$CDCA PRG:0DCA A2 01 + dec Zp2A ; CPU:$CDCC PRG:0DCC C6 2A + bpl RoundLogicDecZp2A ; CPU:$CDCE PRG:0DCE 10 06 + lda #$0A ; CPU:$CDD0 PRG:0DD0 A9 0A + sta Zp2A ; CPU:$CDD2 PRG:0DD2 85 2A + ldx #$03 ; CPU:$CDD4 PRG:0DD4 A2 03 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicDecZp2A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicDecZp2A: + lda Zp2B,x ; CPU:$CDD6 PRG:0DD6 B5 2B + beq RoundLogicBplCDD6 ; CPU:$CDD8 PRG:0DD8 F0 02 + dec Zp2B,x ; CPU:$CDDA PRG:0DDA D6 2B +; ----------------------------------------------------------------------------- +; Routine: RoundLogicBplCDD6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicBplCDD6: + dex ; CPU:$CDDC PRG:0DDC CA + bpl RoundLogicDecZp2A ; CPU:$CDDD PRG:0DDD 10 F7 + rts ; CPU:$CDDF PRG:0DDF 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessControllerInput +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessControllerInput: + stx Zp28 ; CPU:$CDE0 PRG:0DE0 86 28 + sty Zp29 ; CPU:$CDE2 PRG:0DE2 84 29 + asl a ; CPU:$CDE4 PRG:0DE4 0A + tay ; CPU:$CDE5 PRG:0DE5 A8 + iny ; CPU:$CDE6 PRG:0DE6 C8 + pla ; CPU:$CDE7 PRG:0DE7 68 + sta Zp14 ; CPU:$CDE8 PRG:0DE8 85 14 + pla ; CPU:$CDEA PRG:0DEA 68 + sta Zp15 ; CPU:$CDEB PRG:0DEB 85 15 + lda (Zp14),y ; CPU:$CDED PRG:0DED B1 14 + tax ; CPU:$CDEF PRG:0DEF AA + iny ; CPU:$CDF0 PRG:0DF0 C8 + lda (Zp14),y ; CPU:$CDF1 PRG:0DF1 B1 14 + sta Zp15 ; CPU:$CDF3 PRG:0DF3 85 15 + stx Zp14 ; CPU:$CDF5 PRG:0DF5 86 14 + ldx Zp28 ; CPU:$CDF7 PRG:0DF7 A6 28 + ldy Zp29 ; CPU:$CDF9 PRG:0DF9 A4 29 + jmp ($0014) ; CPU:$CDFB PRG:0DFB 6C 14 00 +; ----------------------------------------------------------------------------- +; Routine: RoundLogicSaveXY +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +RoundLogicSaveXY: + sta $2006 ; CPU:$CDFE PRG:0DFE 8D 06 20 + iny ; CPU:$CE01 PRG:0E01 C8 + lda (Zp00),y ; CPU:$CE02 PRG:0E02 B1 00 + sta $2006 ; CPU:$CE04 PRG:0E04 8D 06 20 + iny ; CPU:$CE07 PRG:0E07 C8 + lda (Zp00),y ; CPU:$CE08 PRG:0E08 B1 00 + asl a ; CPU:$CE0A PRG:0E0A 0A + pha ; CPU:$CE0B PRG:0E0B 48 + lda Zp08 ; CPU:$CE0C PRG:0E0C A5 08 + ora #$04 ; CPU:$CE0E PRG:0E0E 09 04 + bcs ScrollBackgroundEntry ; CPU:$CE10 PRG:0E10 B0 02 + and #$FB ; CPU:$CE12 PRG:0E12 29 FB +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundEntry: + sta $2000 ; CPU:$CE14 PRG:0E14 8D 00 20 + sta Zp08 ; CPU:$CE17 PRG:0E17 85 08 + pla ; CPU:$CE19 PRG:0E19 68 + asl a ; CPU:$CE1A PRG:0E1A 0A + bcc ScrollBackgroundIncX ; CPU:$CE1B PRG:0E1B 90 03 + ora #$02 ; CPU:$CE1D PRG:0E1D 09 02 + iny ; CPU:$CE1F PRG:0E1F C8 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundIncX +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundIncX: + lsr a ; CPU:$CE20 PRG:0E20 4A + lsr a ; CPU:$CE21 PRG:0E21 4A + tax ; CPU:$CE22 PRG:0E22 AA +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundTXA_CE23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundTXA_CE23: + bcs ScrollBackgroundCmp6F_CE26 ; CPU:$CE23 PRG:0E23 B0 01 + iny ; CPU:$CE25 PRG:0E25 C8 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp6F_CE26 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp6F_CE26: + lda (Zp00),y ; CPU:$CE26 PRG:0E26 B1 00 + sta $2007 ; CPU:$CE28 PRG:0E28 8D 07 20 + dex ; CPU:$CE2B PRG:0E2B CA + bne ScrollBackgroundTXA_CE23 ; CPU:$CE2C PRG:0E2C D0 F5 + sec ; CPU:$CE2E PRG:0E2E 38 + tya ; CPU:$CE2F PRG:0E2F 98 + adc Zp00 ; CPU:$CE30 PRG:0E30 65 00 + sta Zp00 ; CPU:$CE32 PRG:0E32 85 00 + lda #$00 ; CPU:$CE34 PRG:0E34 A9 00 + adc Zp01 ; CPU:$CE36 PRG:0E36 65 01 + sta Zp01 ; CPU:$CE38 PRG:0E38 85 01 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundRead2002 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundRead2002: + ldx $2002 ; CPU:$CE3A PRG:0E3A AE 02 20 + ldy #$00 ; CPU:$CE3D PRG:0E3D A0 00 + lda (Zp00),y ; CPU:$CE3F PRG:0E3F B1 00 + bne RoundLogicSaveXY ; CPU:$CE41 PRG:0E41 D0 BB +; ----------------------------------------------------------------------------- +; Routine: ScrollBackground +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackground: + pha ; CPU:$CE43 PRG:0E43 48 + lda Zp0A ; CPU:$CE44 PRG:0E44 A5 0A + sta $2005 ; CPU:$CE46 PRG:0E46 8D 05 20 + lda Zp0B ; CPU:$CE49 PRG:0E49 A5 0B + sta $2005 ; CPU:$CE4B PRG:0E4B 8D 05 20 + lda Zp08 ; CPU:$CE4E PRG:0E4E A5 08 + sta $2000 ; CPU:$CE50 PRG:0E50 8D 00 20 + pla ; CPU:$CE53 PRG:0E53 68 + rts ; CPU:$CE54 PRG:0E54 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSetZp21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSetZp21: + lda #$01 ; CPU:$CE55 PRG:0E55 A9 01 + sta Zp21 ; CPU:$CE57 PRG:0E57 85 21 + ldy #$00 ; CPU:$CE59 PRG:0E59 A0 00 + lda (Zp02),y ; CPU:$CE5B PRG:0E5B B1 02 + and #$0F ; CPU:$CE5D PRG:0E5D 29 0F + sta Zp05 ; CPU:$CE5F PRG:0E5F 85 05 + lda (Zp02),y ; CPU:$CE61 PRG:0E61 B1 02 + lsr a ; CPU:$CE63 PRG:0E63 4A + lsr a ; CPU:$CE64 PRG:0E64 4A + lsr a ; CPU:$CE65 PRG:0E65 4A + lsr a ; CPU:$CE66 PRG:0E66 4A + sta Zp04 ; CPU:$CE67 PRG:0E67 85 04 + ldx $0520 ; CPU:$CE69 PRG:0E69 AE 20 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundLoop: + lda Zp01 ; CPU:$CE6C PRG:0E6C A5 01 + sta $0521,x ; CPU:$CE6E PRG:0E6E 9D 21 05 + jsr $CEAD ; CPU:$CE71 PRG:0E71 20 AD CE + lda Zp00 ; CPU:$CE74 PRG:0E74 A5 00 + sta $0521,x ; CPU:$CE76 PRG:0E76 9D 21 05 + jsr $CEAD ; CPU:$CE79 PRG:0E79 20 AD CE + lda Zp05 ; CPU:$CE7C PRG:0E7C A5 05 + sta Zp06 ; CPU:$CE7E PRG:0E7E 85 06 + sta $0521,x ; CPU:$CE80 PRG:0E80 9D 21 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundInx +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundInx: + jsr $CEAD ; CPU:$CE83 PRG:0E83 20 AD CE + iny ; CPU:$CE86 PRG:0E86 C8 + lda (Zp02),y ; CPU:$CE87 PRG:0E87 B1 02 + sta $0521,x ; CPU:$CE89 PRG:0E89 9D 21 05 + dec Zp06 ; CPU:$CE8C PRG:0E8C C6 06 + bne ScrollBackgroundInx ; CPU:$CE8E PRG:0E8E D0 F3 + jsr $CEAD ; CPU:$CE90 PRG:0E90 20 AD CE + stx $0520 ; CPU:$CE93 PRG:0E93 8E 20 05 + clc ; CPU:$CE96 PRG:0E96 18 + lda #$20 ; CPU:$CE97 PRG:0E97 A9 20 + adc Zp00 ; CPU:$CE99 PRG:0E99 65 00 + sta Zp00 ; CPU:$CE9B PRG:0E9B 85 00 + lda #$00 ; CPU:$CE9D PRG:0E9D A9 00 + adc Zp01 ; CPU:$CE9F PRG:0E9F 65 01 + sta Zp01 ; CPU:$CEA1 PRG:0EA1 85 01 + dec Zp04 ; CPU:$CEA3 PRG:0EA3 C6 04 + bne ScrollBackgroundLoop ; CPU:$CEA5 PRG:0EA5 D0 C5 + lda #$00 ; CPU:$CEA7 PRG:0EA7 A9 00 + sta $0521,x ; CPU:$CEA9 PRG:0EA9 9D 21 05 + rts ; CPU:$CEAC PRG:0EAC 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundTXA_CEAD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundTXA_CEAD: + inx ; CPU:$CEAD PRG:0EAD E8 + txa ; CPU:$CEAE PRG:0EAE 8A + cmp #$6F ; CPU:$CEAF PRG:0EAF C9 6F + bcc ScrollBackgroundCmp6F_CEBD ; CPU:$CEB1 PRG:0EB1 90 0A + ldx $0520 ; CPU:$CEB3 PRG:0EB3 AE 20 05 + lda #$00 ; CPU:$CEB6 PRG:0EB6 A9 00 + sta $0521,x ; CPU:$CEB8 PRG:0EB8 9D 21 05 + pla ; CPU:$CEBB PRG:0EBB 68 + pla ; CPU:$CEBC PRG:0EBC 68 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp6F_CEBD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp6F_CEBD: + rts ; CPU:$CEBD PRG:0EBD 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdc01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdc01: + clc ; CPU:$CEBE PRG:0EBE 18 + adc #$01 ; CPU:$CEBF PRG:0EBF 69 01 + and #$0F ; CPU:$CEC1 PRG:0EC1 29 0F + asl a ; CPU:$CEC3 PRG:0EC3 0A + asl a ; CPU:$CEC4 PRG:0EC4 0A +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAnd0F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAnd0F: + tax ; CPU:$CEC5 PRG:0EC5 AA + lda Zp04 ; CPU:$CEC6 PRG:0EC6 A5 04 + beq ScrollBackgroundAdcZp01_CEF1 ; CPU:$CEC8 PRG:0EC8 F0 27 + lda ZpC3,x ; CPU:$CECA PRG:0ECA B5 C3 + beq ScrollBackgroundCmp0A_CEF5 ; CPU:$CECC PRG:0ECC F0 27 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01: + clc ; CPU:$CECE PRG:0ECE 18 + lda ZpC6,x ; CPU:$CECF PRG:0ECF B5 C6 + sta Zp03 ; CPU:$CED1 PRG:0ED1 85 03 + lda Zp07 ; CPU:$CED3 PRG:0ED3 A5 07 + jsr $CF4F ; CPU:$CED5 PRG:0ED5 20 4F CF + sta ZpC6,x ; CPU:$CED8 PRG:0ED8 95 C6 + lda ZpC5,x ; CPU:$CEDA PRG:0EDA B5 C5 + sta Zp03 ; CPU:$CEDC PRG:0EDC 85 03 + lda Zp06 ; CPU:$CEDE PRG:0EDE A5 06 + jsr $CF4F ; CPU:$CEE0 PRG:0EE0 20 4F CF + sta ZpC5,x ; CPU:$CEE3 PRG:0EE3 95 C5 + lda ZpC4,x ; CPU:$CEE5 PRG:0EE5 B5 C4 + sta Zp03 ; CPU:$CEE7 PRG:0EE7 85 03 + lda Zp05 ; CPU:$CEE9 PRG:0EE9 A5 05 + jsr $CF4F ; CPU:$CEEB PRG:0EEB 20 4F CF + sta ZpC4,x ; CPU:$CEEE PRG:0EEE 95 C4 + rts ; CPU:$CEF0 PRG:0EF0 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdcZp01_CEF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdcZp01_CEF1: + lda ZpC3,x ; CPU:$CEF1 PRG:0EF1 B5 C3 + beq ScrollBackgroundStaZp01 ; CPU:$CEF3 PRG:0EF3 F0 D9 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp0A_CEF5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp0A_CEF5: + sec ; CPU:$CEF5 PRG:0EF5 38 + lda ZpC6,x ; CPU:$CEF6 PRG:0EF6 B5 C6 + sta Zp03 ; CPU:$CEF8 PRG:0EF8 85 03 + lda Zp07 ; CPU:$CEFA PRG:0EFA A5 07 + jsr $CF70 ; CPU:$CEFC PRG:0EFC 20 70 CF + sta ZpC6,x ; CPU:$CEFF PRG:0EFF 95 C6 + lda ZpC5,x ; CPU:$CF01 PRG:0F01 B5 C5 + sta Zp03 ; CPU:$CF03 PRG:0F03 85 03 + lda Zp06 ; CPU:$CF05 PRG:0F05 A5 06 + jsr $CF70 ; CPU:$CF07 PRG:0F07 20 70 CF + sta ZpC5,x ; CPU:$CF0A PRG:0F0A 95 C5 + lda ZpC4,x ; CPU:$CF0C PRG:0F0C B5 C4 + sta Zp03 ; CPU:$CF0E PRG:0F0E 85 03 + lda Zp05 ; CPU:$CF10 PRG:0F10 A5 05 + jsr $CF70 ; CPU:$CF12 PRG:0F12 20 70 CF + sta ZpC4,x ; CPU:$CF15 PRG:0F15 95 C4 + lda ZpC4,x ; CPU:$CF17 PRG:0F17 B5 C4 + bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF19 PRG:0F19 D0 08 + lda ZpC5,x ; CPU:$CF1B PRG:0F1B B5 C5 + bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF1D PRG:0F1D D0 04 + lda ZpC6,x ; CPU:$CF1F PRG:0F1F B5 C6 + beq ScrollBackgroundStaZp01Alt ; CPU:$CF21 PRG:0F21 F0 02 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSbcZp01_CF23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSbcZp01_CF23: + bcs ScrollBackgroundCallCF92 ; CPU:$CF23 PRG:0F23 B0 29 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01Alt: + lda #$00 ; CPU:$CF25 PRG:0F25 A9 00 + sta ZpC3,x ; CPU:$CF27 PRG:0F27 95 C3 + sta ZpC4,x ; CPU:$CF29 PRG:0F29 95 C4 + sta ZpC5,x ; CPU:$CF2B PRG:0F2B 95 C5 + sta ZpC6,x ; CPU:$CF2D PRG:0F2D 95 C6 + inc Zp3D ; CPU:$CF2F PRG:0F2F E6 3D + rts ; CPU:$CF31 PRG:0F31 60 +; ---- data $CF32-$CF4D (28 bytes) ---- + .byte $95, $C3, $38, $A9, $00, $85, $03, $B5, $C6, $20, $70, $CF, $95, $C6, $B5, $C5 ; CPU:$CF32 PRG:0F32 95 C3 38 A9 00 85 03 B5 C6 20 70 CF 95 C6 B5 C5 + .byte $20, $70, $CF, $95, $C5, $B5, $C4, $20, $70, $CF, $95, $C4 ; CPU:$CF42 PRG:0F42 20 70 CF 95 C5 B5 C4 20 70 CF 95 C4 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92: + rts ; CPU:$CF4E PRG:0F4E 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Entry: + jsr $CF92 ; CPU:$CF4F PRG:0F4F 20 92 CF + adc Zp01 ; CPU:$CF52 PRG:0F52 65 01 + cmp #$0A ; CPU:$CF54 PRG:0F54 C9 0A + bcc ScrollBackgroundAdcZp01_CF5A ; CPU:$CF56 PRG:0F56 90 02 + adc #$05 ; CPU:$CF58 PRG:0F58 69 05 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundAdcZp01_CF5A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundAdcZp01_CF5A: + clc ; CPU:$CF5A PRG:0F5A 18 + adc Zp02 ; CPU:$CF5B PRG:0F5B 65 02 + sta Zp02 ; CPU:$CF5D PRG:0F5D 85 02 + lda Zp03 ; CPU:$CF5F PRG:0F5F A5 03 + and #$F0 ; CPU:$CF61 PRG:0F61 29 F0 + adc Zp02 ; CPU:$CF63 PRG:0F63 65 02 + bcc ScrollBackgroundSbcZp01_CF6B ; CPU:$CF65 PRG:0F65 90 04 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCmp0A_CF67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCmp0A_CF67: + adc #$5F ; CPU:$CF67 PRG:0F67 69 5F + sec ; CPU:$CF69 PRG:0F69 38 + rts ; CPU:$CF6A PRG:0F6A 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundSbcZp01_CF6B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundSbcZp01_CF6B: + cmp #$A0 ; CPU:$CF6B PRG:0F6B C9 A0 + bcs ScrollBackgroundCmp0A_CF67 ; CPU:$CF6D PRG:0F6D B0 F8 + rts ; CPU:$CF6F PRG:0F6F 60 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Alt: + jsr $CF92 ; CPU:$CF70 PRG:0F70 20 92 CF + sbc Zp01 ; CPU:$CF73 PRG:0F73 E5 01 + sta Zp01 ; CPU:$CF75 PRG:0F75 85 01 + bcs ScrollBackgroundCallCF92Alt2 ; CPU:$CF77 PRG:0F77 B0 0A + adc #$0A ; CPU:$CF79 PRG:0F79 69 0A + sta Zp01 ; CPU:$CF7B PRG:0F7B 85 01 + lda Zp02 ; CPU:$CF7D PRG:0F7D A5 02 + adc #$0F ; CPU:$CF7F PRG:0F7F 69 0F + sta Zp02 ; CPU:$CF81 PRG:0F81 85 02 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundCallCF92Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundCallCF92Alt2: + lda Zp03 ; CPU:$CF83 PRG:0F83 A5 03 + and #$F0 ; CPU:$CF85 PRG:0F85 29 F0 + sec ; CPU:$CF87 PRG:0F87 38 + sbc Zp02 ; CPU:$CF88 PRG:0F88 E5 02 + bcs ScrollBackgroundStaZp01Alt2 ; CPU:$CF8A PRG:0F8A B0 03 + adc #$A0 ; CPU:$CF8C PRG:0F8C 69 A0 + clc ; CPU:$CF8E PRG:0F8E 18 +; ----------------------------------------------------------------------------- +; Routine: ScrollBackgroundStaZp01Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ScrollBackgroundStaZp01Alt2: + ora Zp01 ; CPU:$CF8F PRG:0F8F 05 01 + rts ; CPU:$CF91 PRG:0F91 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSpritePositions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSpritePositions: + pha ; CPU:$CF92 PRG:0F92 48 + and #$0F ; CPU:$CF93 PRG:0F93 29 0F + sta Zp01 ; CPU:$CF95 PRG:0F95 85 01 + pla ; CPU:$CF97 PRG:0F97 68 + and #$F0 ; CPU:$CF98 PRG:0F98 29 F0 + sta Zp02 ; CPU:$CF9A PRG:0F9A 85 02 + lda Zp03 ; CPU:$CF9C PRG:0F9C A5 03 + and #$0F ; CPU:$CF9E PRG:0F9E 29 0F + rts ; CPU:$CFA0 PRG:0FA0 60 +; ----------------------------------------------------------------------------- +; Routine: CheckRoundEnd +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckRoundEnd: + lda $05EC ; CPU:$CFA1 PRG:0FA1 AD EC 05 + and #$02 ; CPU:$CFA4 PRG:0FA4 29 02 + sta Zp07 ; CPU:$CFA6 PRG:0FA6 85 07 + lda $05ED ; CPU:$CFA8 PRG:0FA8 AD ED 05 + and #$02 ; CPU:$CFAB PRG:0FAB 29 02 + eor Zp07 ; CPU:$CFAD PRG:0FAD 45 07 + clc ; CPU:$CFAF PRG:0FAF 18 + beq CheckRoundEndEntry ; CPU:$CFB0 PRG:0FB0 F0 01 + sec ; CPU:$CFB2 PRG:0FB2 38 +; ----------------------------------------------------------------------------- +; Routine: CheckRoundEndEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckRoundEndEntry: + ror $05EC ; CPU:$CFB3 PRG:0FB3 6E EC 05 + ror $05ED ; CPU:$CFB6 PRG:0FB6 6E ED 05 + ror $05EE ; CPU:$CFB9 PRG:0FB9 6E EE 05 + ror $05EF ; CPU:$CFBC PRG:0FBC 6E EF 05 + lda $05EC ; CPU:$CFBF PRG:0FBF AD EC 05 + rts ; CPU:$CFC2 PRG:0FC2 60 +; ---- data $CFC3-$D011 (79 bytes) ---- + .byte $20, $1A, $D0, $20, $6C, $CC, $20, $12, $D0, $A9, $02, $85, $01, $A9, $50, $85 ; CPU:$CFC3 PRG:0FC3 20 1A D0 20 6C CC 20 12 D0 A9 02 85 01 A9 50 85 + .byte $00, $20, $85, $CD, $20, $77, $CC, $20, $12, $D0, $A2, $AF, $A0, $F3, $20, $50 ; CPU:$CFD3 PRG:0FD3 00 20 85 CD 20 77 CC 20 12 D0 A2 AF A0 F3 20 50 + .byte $D0, $A9, $01, $85, $23, $A9, $01, $8D, $FD, $05, $E6, $26, $4C, $27, $D0, $A5 ; CPU:$CFE3 PRG:0FE3 D0 A9 01 85 23 A9 01 8D FD 05 E6 26 4C 27 D0 A5 + .byte $2D, $D0, $18, $A9, $01, $85, $C0, $A9, $00, $85, $1F, $85, $25, $20, $93, $E7 ; CPU:$CFF3 PRG:0FF3 2D D0 18 A9 01 85 C0 A9 00 85 1F 85 25 20 93 E7 + .byte $20, $1A, $D0, $A9, $02, $85, $2A, $85, $2D, $E6, $26, $60, $4C, $66, $CB ; CPU:$D003 PRG:1003 20 1A D0 A9 02 85 2A 85 2D E6 26 60 4C 66 CB +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerCallD057 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerCallD057: + jsr $D057 ; CPU:$D012 PRG:1012 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerBeq +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerBeq: + lda Zp20 ; CPU:$D015 PRG:1015 A5 20 + beq UpdateRoundTimerBeq ; CPU:$D017 PRG:1017 F0 FC + rts ; CPU:$D019 PRG:1019 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInit: + jsr $D012 ; CPU:$D01A PRG:101A 20 12 D0 + lda Zp09 ; CPU:$D01D PRG:101D A5 09 + and #$E7 ; CPU:$D01F PRG:101F 29 E7 + sta Zp09 ; CPU:$D021 PRG:1021 85 09 + sta $2001 ; CPU:$D023 PRG:1023 8D 01 20 + rts ; CPU:$D026 PRG:1026 60 +; ---- data $D027-$D02F (9 bytes) ---- + .byte $20, $12, $D0, $A5, $09, $09, $18, $D0, $F1 ; CPU:$D027 PRG:1027 20 12 D0 A5 09 09 18 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundEntry: + sty ZpA2 ; CPU:$D030 PRG:1030 84 A2 + ldx #$00 ; CPU:$D032 PRG:1032 A2 00 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundSetZpA2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundSetZpA2: + lda $0300,y ; CPU:$D034 PRG:1034 B9 00 03 + sta Zp30,x ; CPU:$D037 PRG:1037 95 30 + iny ; CPU:$D039 PRG:1039 C8 + inx ; CPU:$D03A PRG:103A E8 + cpx #$20 ; CPU:$D03B PRG:103B E0 20 + bne DrawBackgroundSetZpA2 ; CPU:$D03D PRG:103D D0 F5 + rts ; CPU:$D03F PRG:103F 60 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundSetZpA2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundSetZpA2Alt: + ldy ZpA2 ; CPU:$D040 PRG:1040 A4 A2 + ldx #$00 ; CPU:$D042 PRG:1042 A2 00 +; ----------------------------------------------------------------------------- +; Routine: DrawBackgroundLdx0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawBackgroundLdx0: + lda Zp30,x ; CPU:$D044 PRG:1044 B5 30 + sta $0300,y ; CPU:$D046 PRG:1046 99 00 03 + iny ; CPU:$D049 PRG:1049 C8 + inx ; CPU:$D04A PRG:104A E8 + cpx #$20 ; CPU:$D04B PRG:104B E0 20 + bne DrawBackgroundLdx0 ; CPU:$D04D PRG:104D D0 F5 + rts ; CPU:$D04F PRG:104F 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitSetPtr +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitSetPtr: + stx Zp00 ; CPU:$D050 PRG:1050 86 00 + sty Zp01 ; CPU:$D052 PRG:1052 84 01 + jmp $CE3A ; CPU:$D054 PRG:1054 4C 3A CE +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimer +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimer: + lda #$00 ; CPU:$D057 PRG:1057 A9 00 + sta Zp20 ; CPU:$D059 PRG:1059 85 20 + sta Zp22 ; CPU:$D05B PRG:105B 85 22 + rts ; CPU:$D05D PRG:105D 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitSetZp09 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitSetZp09: + lda Zp2D ; CPU:$D05E PRG:105E A5 2D + bne UpdateRoundTimerInitCallCE3A ; CPU:$D060 PRG:1060 D0 04 + lda Zp1E ; CPU:$D062 PRG:1062 A5 1E + sta Zp25 ; CPU:$D064 PRG:1064 85 25 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundTimerInitCallCE3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundTimerInitCallCE3A: + rts ; CPU:$D066 PRG:1066 60 +; ---- data $D067-$D079 (19 bytes) ---- + .byte $86, $1E, $85, $2D, $A9, $12, $85, $25, $60, $A0, $00, $98, $99, $00, $03, $C8 ; CPU:$D067 PRG:1067 86 1E 85 2D A9 12 85 25 60 A0 00 98 99 00 03 C8 + .byte $D0, $FA, $60 ; CPU:$D077 PRG:1077 D0 FA 60 +; ----------------------------------------------------------------------------- +; Routine: SetupInitialStateEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupInitialStateEntry: + lda #$00 ; CPU:$D07A PRG:107A A9 00 + ldx #$30 ; CPU:$D07C PRG:107C A2 30 +; ----------------------------------------------------------------------------- +; Routine: SetupInitialStateLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SetupInitialStateLoop: + sta Zp00,x ; CPU:$D07E PRG:107E 95 00 + inx ; CPU:$D080 PRG:1080 E8 + bne SetupInitialStateLoop ; CPU:$D081 PRG:1081 D0 FB + rts ; CPU:$D083 PRG:1083 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMAEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMAEntry: + lda #$00 ; CPU:$D084 PRG:1084 A9 00 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoop_D086 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoop_D086: + ldx #$8F ; CPU:$D086 PRG:1086 A2 8F +; ----------------------------------------------------------------------------- +; Routine: SpriteDMASetZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMASetZp00: + sta Zp30,x ; CPU:$D088 PRG:1088 95 30 + dex ; CPU:$D08A PRG:108A CA + bpl SpriteDMASetZp00 ; CPU:$D08B PRG:108B 10 FB + rts ; CPU:$D08D PRG:108D 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMA: + stx Zp00 ; CPU:$D08E PRG:108E 86 00 + sty Zp01 ; CPU:$D090 PRG:1090 84 01 + ldx #$00 ; CPU:$D092 PRG:1092 A2 00 + ldy #$05 ; CPU:$D094 PRG:1094 A0 05 + stx Zp02 ; CPU:$D096 PRG:1096 86 02 + sty Zp03 ; CPU:$D098 PRG:1098 84 03 + jmp $CE55 ; CPU:$D09A PRG:109A 4C 55 CE +; ---- data $D09D-$D173 (215 bytes) ---- + .byte $20, $84, $D0, $20, $12, $D0, $20, $67, $CC, $20, $8A, $E7, $A2, $01, $A5, $C0 ; CPU:$D09D PRG:109D 20 84 D0 20 12 D0 20 67 CC 20 8A E7 A2 01 A5 C0 + .byte $D0, $05, $AD, $FE, $05, $85, $1F, $86, $25, $60, $20, $12, $D0, $A2, $C4, $A0 ; CPU:$D0AD PRG:10AD D0 05 AD FE 05 85 1F 86 25 60 20 12 D0 A2 C4 A0 + .byte $EB, $20, $50, $D0, $A2, $5C, $A0, $F1, $A5, $1F, $F0, $04, $A2, $5D, $A0, $F0 ; CPU:$D0BD PRG:10BD EB 20 50 D0 A2 5C A0 F1 A5 1F F0 04 A2 5D A0 F0 + .byte $20, $50, $D0, $A9, $02, $85, $23, $A9, $02, $85, $25, $20, $43, $CE, $20, $27 ; CPU:$D0CD PRG:10CD 20 50 D0 A9 02 85 23 A9 02 85 25 20 43 CE 20 27 + .byte $D0, $20, $8A, $E7, $20, $C0, $E4, $A0, $00, $84, $A1, $20, $30, $D0, $20, $AC ; CPU:$D0DD PRG:10DD D0 20 8A E7 20 C0 E4 A0 00 84 A1 20 30 D0 20 AC + .byte $E5, $A0, $20, $20, $30, $D0, $20, $AC, $E5, $A0, $40, $20, $30, $D0, $20, $AC ; CPU:$D0ED PRG:10ED E5 A0 20 20 30 D0 20 AC E5 A0 40 20 30 D0 20 AC + .byte $E5, $A9, $90, $8D, $00, $20, $85, $08, $20, $E3, $E7, $20, $E0, $E3, $20, $E3 ; CPU:$D0FD PRG:10FD E5 A9 90 8D 00 20 85 08 20 E3 E7 20 E0 E3 20 E3 + .byte $DC, $A9, $00, $85, $9D, $85, $94, $85, $0A, $85, $8F, $85, $71, $85, $72, $85 ; CPU:$D10D PRG:110D DC A9 00 85 9D 85 94 85 0A 85 8F 85 71 85 72 85 + .byte $74, $A9, $F4, $8D, $58, $02, $A5, $08, $29, $FE, $85, $08, $A9, $55, $85, $73 ; CPU:$D11D PRG:111D 74 A9 F4 8D 58 02 A5 08 29 FE 85 08 A9 55 85 73 + .byte $A9, $01, $85, $95, $A5, $1F, $D0, $08, $A9, $02, $85, $96, $A5, $C0, $F0, $00 ; CPU:$D12D PRG:112D A9 01 85 95 A5 1F D0 08 A9 02 85 96 A5 C0 F0 00 + .byte $A9, $03, $85, $85, $A6, $1F, $D0, $0A, $A6, $C0, $D0, $06, $A9, $40, $85, $2B ; CPU:$D13D PRG:113D A9 03 85 85 A6 1F D0 0A A6 C0 D0 06 A9 40 85 2B + .byte $A9, $0E, $85, $25, $60, $A5, $2B, $D0, $10, $A9, $01, $8D, $01, $03, $8D, $21 ; CPU:$D14D PRG:114D A9 0E 85 25 60 A5 2B D0 10 A9 01 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $A9, $03, $85, $25, $60, $A9, $00, $8D, $01, $03, $8D, $21 ; CPU:$D15D PRG:115D 03 8D 41 03 A9 03 85 25 60 A9 00 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $4C, $A4, $D1 ; CPU:$D16D PRG:116D 03 8D 41 03 4C A4 D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMask +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMask: + lda Zp85 ; CPU:$D174 PRG:1174 A5 85 + asl a ; CPU:$D176 PRG:1176 0A + tax ; CPU:$D177 PRG:1177 AA + lda $F771,x ; CPU:$D178 PRG:1178 BD 71 F7 + ldy $F772,x ; CPU:$D17B PRG:117B BC 72 F7 + tax ; CPU:$D17E PRG:117E AA + jsr $D050 ; CPU:$D17F PRG:117F 20 50 D0 + lda #$00 ; CPU:$D182 PRG:1182 A9 00 + sta Zp86 ; CPU:$D184 PRG:1184 85 86 + rts ; CPU:$D186 PRG:1186 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskExit: + lda ZpC0 ; CPU:$D187 PRG:1187 A5 C0 + beq UpdatePPUMaskCheckZp85 ; CPU:$D189 PRG:1189 F0 19 + lda Zp80 ; CPU:$D18B PRG:118B A5 80 + cmp #$08 ; CPU:$D18D PRG:118D C9 08 + bne UpdatePPUMaskCheckZp85 ; CPU:$D18F PRG:118F D0 13 + lda Zp81 ; CPU:$D191 PRG:1191 A5 81 + cmp #$05 ; CPU:$D193 PRG:1193 C9 05 + bne UpdatePPUMaskCheckZp85 ; CPU:$D195 PRG:1195 D0 0D + lda #$00 ; CPU:$D197 PRG:1197 A9 00 + sta ZpC0 ; CPU:$D199 PRG:1199 85 C0 + sta ZpF0 ; CPU:$D19B PRG:119B 85 F0 + sta ZpF1 ; CPU:$D19D PRG:119D 85 F1 + sta ZpF2 ; CPU:$D19F PRG:119F 85 F2 + jmp $DA25 ; CPU:$D1A1 PRG:11A1 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskCheckZp85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskCheckZp85: + ldx #$00 ; CPU:$D1A4 PRG:11A4 A2 00 + lda Zp2A ; CPU:$D1A6 PRG:11A6 A5 2A + and #$01 ; CPU:$D1A8 PRG:11A8 29 01 + beq UpdatePPUMaskASL ; CPU:$D1AA PRG:11AA F0 02 + ldx #$04 ; CPU:$D1AC PRG:11AC A2 04 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskASL +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskASL: + jsr $E26C ; CPU:$D1AE PRG:11AE 20 6C E2 + jsr $E2D8 ; CPU:$D1B1 PRG:11B1 20 D8 E2 + lda Zp87 ; CPU:$D1B4 PRG:11B4 A5 87 + beq UpdatePPUMaskEntry ; CPU:$D1B6 PRG:11B6 F0 0C + dec Zp87 ; CPU:$D1B8 PRG:11B8 C6 87 + bne UpdatePPUMaskEntry ; CPU:$D1BA PRG:11BA D0 08 + lda #$F4 ; CPU:$D1BC PRG:11BC A9 F4 + sta $0258 ; CPU:$D1BE PRG:11BE 8D 58 02 + sta $025C ; CPU:$D1C1 PRG:11C1 8D 5C 02 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskEntry: + ldy #$01 ; CPU:$D1C4 PRG:11C4 A0 01 + sty Zp89 ; CPU:$D1C6 PRG:11C6 84 89 + ldy #$20 ; CPU:$D1C8 PRG:11C8 A0 20 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskCheckZp8B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskCheckZp8B: + lda Zp8B ; CPU:$D1CA PRG:11CA A5 8B + beq UpdatePPUMaskSetZp88 ; CPU:$D1CC PRG:11CC F0 2B + lda $0303 ; CPU:$D1CE PRG:11CE AD 03 03 + sec ; CPU:$D1D1 PRG:11D1 38 + sbc $0323 ; CPU:$D1D2 PRG:11D2 ED 23 03 + ldx $0305 ; CPU:$D1D5 PRG:11D5 AE 05 03 + cpx #$11 ; CPU:$D1D8 PRG:11D8 E0 11 + beq UpdatePPUMaskBCS ; CPU:$D1DA PRG:11DA F0 0C + ldx $0325 ; CPU:$D1DC PRG:11DC AE 25 03 + cpx #$11 ; CPU:$D1DF PRG:11DF E0 11 + beq UpdatePPUMaskBCS ; CPU:$D1E1 PRG:11E1 F0 05 + cmp #$19 ; CPU:$D1E3 PRG:11E3 C9 19 + jmp $D1EA ; CPU:$D1E5 PRG:11E5 4C EA D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskBCS +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskBCS: + cmp #$09 ; CPU:$D1E8 PRG:11E8 C9 09 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskLdx01 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskLdx01: + bcs UpdatePPUMaskSetZp88 ; CPU:$D1EA PRG:11EA B0 0D + ldx #$01 ; CPU:$D1EC PRG:11EC A2 01 + stx Zp88 ; CPU:$D1EE PRG:11EE 86 88 + dex ; CPU:$D1F0 PRG:11F0 CA + stx Zp8B ; CPU:$D1F1 PRG:11F1 86 8B + stx $031F ; CPU:$D1F3 PRG:11F3 8E 1F 03 + stx $033F ; CPU:$D1F6 PRG:11F6 8E 3F 03 +; ----------------------------------------------------------------------------- +; Routine: UpdatePPUMaskSetZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePPUMaskSetZp88: + jsr $D030 ; CPU:$D1F9 PRG:11F9 20 30 D0 + jsr $DE03 ; CPU:$D1FC PRG:11FC 20 03 DE + jsr $E040 ; CPU:$D1FF PRG:11FF 20 40 E0 + ldy Zp46 ; CPU:$D202 PRG:1202 A4 46 + beq UpdatePlayersCheckZp00 ; CPU:$D204 PRG:1204 F0 0D + lda Zp45 ; CPU:$D206 PRG:1206 A5 45 + beq UpdatePlayersBitZp00 ; CPU:$D208 PRG:1208 F0 39 + dec Zp45 ; CPU:$D20A PRG:120A C6 45 + cmp #$07 ; CPU:$D20C PRG:120C C9 07 + bcs UpdatePlayersCheckZp00 ; CPU:$D20E PRG:120E B0 03 + jmp $D2B2 ; CPU:$D210 PRG:1210 4C B2 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCheckZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCheckZp00: + jsr $E7FE ; CPU:$D213 PRG:1213 20 FE E7 + lda Zp31 ; CPU:$D216 PRG:1216 A5 31 + jsr $CDE0 ; CPU:$D218 PRG:1218 20 E0 CD +; ---- data $D21B-$D242 (40 bytes) ---- + .byte $B2, $D2, $6E, $D2, $61, $D3, $FA, $D3, $98, $D3, $6C, $D4, $C4, $D4, $A2, $D5 ; CPU:$D21B PRG:121B B2 D2 6E D2 61 D3 FA D3 98 D3 6C D4 C4 D4 A2 D5 + .byte $C4, $D5, $56, $D6, $01, $D5, $AB, $D6, $61, $D2, $0C, $D8, $34, $D8, $75, $D8 ; CPU:$D22B PRG:122B C4 D5 56 D6 01 D5 AB D6 61 D2 0C D8 34 D8 75 D8 + .byte $B4, $D8, $EA, $D8, $16, $D9, $7D, $D9 ; CPU:$D23B PRG:123B B4 D8 EA D8 16 D9 7D D9 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersBitZp00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersBitZp00: + sty Zp43 ; CPU:$D243 PRG:1243 84 43 + jsr $E459 ; CPU:$D245 PRG:1245 20 59 E4 + lda Zp31 ; CPU:$D248 PRG:1248 A5 31 + cmp #$0D ; CPU:$D24A PRG:124A C9 0D + bne UpdatePlayersCpyZp43 ; CPU:$D24C PRG:124C D0 06 + sta $031C,x ; CPU:$D24E PRG:124E 9D 1C 03 + jsr $E21E ; CPU:$D251 PRG:1251 20 1E E2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCpyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCpyZp43: + lda #$05 ; CPU:$D254 PRG:1254 A9 05 + sta Zp31 ; CPU:$D256 PRG:1256 85 31 + lda #$00 ; CPU:$D258 PRG:1258 A9 00 + sta Zp3E ; CPU:$D25A PRG:125A 85 3E + sta $0315,x ; CPU:$D25C PRG:125C 9D 15 03 + beq UpdatePlayersCheckZp00 ; CPU:$D25F PRG:125F F0 B2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStxZp31: + lda Zp88 ; CPU:$D261 PRG:1261 A5 88 + bne UpdatePlayersStyZp43 ; CPU:$D263 PRG:1263 D0 39 + ldy #$0B ; CPU:$D265 PRG:1265 A0 0B + sty Zp4F ; CPU:$D267 PRG:1267 84 4F + bne UpdatePlayersStyZp43Alt ; CPU:$D269 PRG:1269 D0 3E + jmp $D304 ; CPU:$D26B PRG:126B 4C 04 D3 +; ---- data $D26E-$D27A (13 bytes) ---- + .byte $20, $6E, $E4, $A2, $04, $A0, $0D, $A9, $01, $24, $00, $D0, $F0 ; CPU:$D26E PRG:126E 20 6E E4 A2 04 A0 0D A9 01 24 00 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersEntry: + ldy #$01 ; CPU:$D27B PRG:127B A0 01 + lda #$40 ; CPU:$D27D PRG:127D A9 40 + bit Zp00 ; CPU:$D27F PRG:127F 24 00 + bne UpdatePlayersCpyZp43Alt ; CPU:$D281 PRG:1281 D0 06 + iny ; CPU:$D283 PRG:1283 C8 + iny ; CPU:$D284 PRG:1284 C8 + lda #$80 ; CPU:$D285 PRG:1285 A9 80 + bit Zp00 ; CPU:$D287 PRG:1287 24 00 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCpyZp43Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCpyZp43Alt: + bne UpdatePlayersCallE462_CF ; CPU:$D289 PRG:1289 D0 3C + lda #$02 ; CPU:$D28B PRG:128B A9 02 + bit Zp00 ; CPU:$D28D PRG:128D 24 00 + bne UpdatePlayersStxZp31 ; CPU:$D28F PRG:128F D0 D0 + lda Zp88 ; CPU:$D291 PRG:1291 A5 88 + bne UpdatePlayersStyZp43 ; CPU:$D293 PRG:1293 D0 09 + lda Zp4F ; CPU:$D295 PRG:1295 A5 4F + beq UpdatePlayersStyZp43 ; CPU:$D297 PRG:1297 F0 05 + jsr $D7DB ; CPU:$D299 PRG:1299 20 DB D7 + bne UpdatePlayersCallE5AC ; CPU:$D29C PRG:129C D0 14 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStyZp43: + ldy #$06 ; CPU:$D29E PRG:129E A0 06 + lda Zp44 ; CPU:$D2A0 PRG:12A0 A5 44 + bne UpdatePlayersEntryAlt ; CPU:$D2A2 PRG:12A2 D0 01 + dey ; CPU:$D2A4 PRG:12A4 88 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersEntryAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersEntryAlt: + ldx #$01 ; CPU:$D2A5 PRG:12A5 A2 01 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStxZp31Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStxZp31Alt: + stx Zp31 ; CPU:$D2A7 PRG:12A7 86 31 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersStyZp43Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersStyZp43Alt: + cpy Zp43 ; CPU:$D2A9 PRG:12A9 C4 43 + bne UpdatePlayersCallE462 ; CPU:$D2AB PRG:12AB D0 17 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE4E2: + sty Zp43 ; CPU:$D2AD PRG:12AD 84 43 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE4E2Alt: + jsr $E4E2 ; CPU:$D2AF PRG:12AF 20 E2 E4 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE5AC: + jsr $E5AC ; CPU:$D2B2 PRG:12B2 20 AC E5 + jsr $D040 ; CPU:$D2B5 PRG:12B5 20 40 D0 + ldx Zp89 ; CPU:$D2B8 PRG:12B8 A6 89 + beq UpdatePlayersCheckZp1F ; CPU:$D2BA PRG:12BA F0 0E + dex ; CPU:$D2BC PRG:12BC CA + stx Zp89 ; CPU:$D2BD PRG:12BD 86 89 + ldy #$00 ; CPU:$D2BF PRG:12BF A0 00 + jmp $D1CA ; CPU:$D2C1 PRG:12C1 4C CA D1 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE462: + jmp $D34B ; CPU:$D2C4 PRG:12C4 4C 4B D3 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCallE462_CF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCallE462_CF: + jmp $D313 ; CPU:$D2C7 PRG:12C7 4C 13 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayersCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayersCheckZp1F: + inx ; CPU:$D2CA PRG:12CA E8 + inx ; CPU:$D2CB PRG:12CB E8 + stx Zp89 ; CPU:$D2CC PRG:12CC 86 89 + ldy #$40 ; CPU:$D2CE PRG:12CE A0 40 + jsr $D030 ; CPU:$D2D0 PRG:12D0 20 30 D0 + jsr $E076 ; CPU:$D2D3 PRG:12D3 20 76 E0 + jsr $E5AC ; CPU:$D2D6 PRG:12D6 20 AC E5 + jsr $E207 ; CPU:$D2D9 PRG:12D9 20 07 E2 + jsr $D040 ; CPU:$D2DC PRG:12DC 20 40 D0 + jsr $DBBF ; CPU:$D2DF PRG:12DF 20 BF DB + lda Zp93 ; CPU:$D2E2 PRG:12E2 A5 93 + bne UpdateScoreEntry ; CPU:$D2E4 PRG:12E4 D0 1A + ldx ZpCC ; CPU:$D2E6 PRG:12E6 A6 CC + txa ; CPU:$D2E8 PRG:12E8 8A + eor #$20 ; CPU:$D2E9 PRG:12E9 49 20 + tay ; CPU:$D2EB PRG:12EB A8 + lda #$60 ; CPU:$D2EC PRG:12EC A9 60 + sta $0306,x ; CPU:$D2EE PRG:12EE 9D 06 03 + lda #$A0 ; CPU:$D2F1 PRG:12F1 A9 A0 + sta $0307,x ; CPU:$D2F3 PRG:12F3 9D 07 03 + lda #$A0 ; CPU:$D2F6 PRG:12F6 A9 A0 + sta $0306,y ; CPU:$D2F8 PRG:12F8 99 06 03 + lda #$E0 ; CPU:$D2FB PRG:12FB A9 E0 + sta $0307,y ; CPU:$D2FD PRG:12FD 99 07 03 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreEntry: + rts ; CPU:$D300 PRG:1300 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCheckZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCheckZp88: + jmp $D392 ; CPU:$D301 PRG:1301 4C 92 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31: + lda Zp88 ; CPU:$D304 PRG:1304 A5 88 + beq UpdateScoreCheckZp88 ; CPU:$D306 PRG:1306 F0 F9 + lda #$7D ; CPU:$D308 PRG:1308 A9 7D + sta Zp32 ; CPU:$D30A PRG:130A 85 32 + lda #$00 ; CPU:$D30C PRG:130C A9 00 + sta Zp46 ; CPU:$D30E PRG:130E 85 46 + jmp $D2A7 ; CPU:$D310 PRG:1310 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLoadZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLoadZp1F: + ldx Zp1F ; CPU:$D313 PRG:1313 A6 1F + bne UpdateScoreBeqD31F ; CPU:$D315 PRG:1315 D0 08 + ldx Zp89 ; CPU:$D317 PRG:1317 A6 89 + bne UpdateScoreBeqD31F ; CPU:$D319 PRG:1319 D0 04 + ldy #$03 ; CPU:$D31B PRG:131B A0 03 + bne UpdateScoreCallE2B9 ; CPU:$D31D PRG:131D D0 13 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBeqD31F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBeqD31F: + ldx Zp3D ; CPU:$D31F PRG:131F A6 3D + beq UpdateScoreLdxZp89 ; CPU:$D321 PRG:1321 F0 04 + ldy #$01 ; CPU:$D323 PRG:1323 A0 01 + lda #$80 ; CPU:$D325 PRG:1325 A9 80 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLdxZp89 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLdxZp89: + pha ; CPU:$D327 PRG:1327 48 + tya ; CPU:$D328 PRG:1328 98 + pha ; CPU:$D329 PRG:1329 48 + ldx #$01 ; CPU:$D32A PRG:132A A2 01 + jsr $E2B9 ; CPU:$D32C PRG:132C 20 B9 E2 + pla ; CPU:$D32F PRG:132F 68 + tay ; CPU:$D330 PRG:1330 A8 + pla ; CPU:$D331 PRG:1331 68 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE2B9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE2B9: + asl a ; CPU:$D332 PRG:1332 0A + sta Zp4C ; CPU:$D333 PRG:1333 85 4C + jsr $E459 ; CPU:$D335 PRG:1335 20 59 E4 + stx ZpCC ; CPU:$D338 PRG:1338 86 CC + ldx #$03 ; CPU:$D33A PRG:133A A2 03 + lda Zp44 ; CPU:$D33C PRG:133C A5 44 + beq UpdateScoreCallE459 ; CPU:$D33E PRG:133E F0 01 + iny ; CPU:$D340 PRG:1340 C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE459 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE459: + jmp $D2A7 ; CPU:$D341 PRG:1341 4C A7 D2 +; ---- data $D344-$D34A (7 bytes) ---- + .byte $A5, $88, $F0, $C8, $4C, $9E, $D2 ; CPU:$D344 PRG:1344 A5 88 F0 C8 4C 9E D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE462: + jsr $E462 ; CPU:$D34B PRG:134B 20 62 E4 + cpy #$0D ; CPU:$D34E PRG:134E C0 0D + beq UpdateScoreCpy0D ; CPU:$D350 PRG:1350 F0 0C + cpy #$07 ; CPU:$D352 PRG:1352 C0 07 + beq UpdateScoreCpy0D ; CPU:$D354 PRG:1354 F0 08 + cpy #$08 ; CPU:$D356 PRG:1356 C0 08 + beq UpdateScoreCpy0D ; CPU:$D358 PRG:1358 F0 04 + lda #$7B ; CPU:$D35A PRG:135A A9 7B + sta Zp32 ; CPU:$D35C PRG:135C 85 32 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCpy0D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCpy0D: + jmp $D2AD ; CPU:$D35E PRG:135E 4C AD D2 +; ---- data $D361-$D366 (6 bytes) ---- + .byte $A5, $3E, $F0, $05, $C6, $3E ; CPU:$D361 PRG:1361 A5 3E F0 05 C6 3E +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt: + jmp $D2B2 ; CPU:$D367 PRG:1367 4C B2 D2 +; ---- data $D36A-$D391 (40 bytes) ---- + .byte $20, $6E, $E4, $A0, $0B, $A2, $02, $A5, $33, $C9, $2E, $90, $12, $C9, $D2, $B0 ; CPU:$D36A PRG:136A 20 6E E4 A0 0B A2 02 A5 33 C9 2E 90 12 C9 D2 B0 + .byte $0E, $A9, $01, $24, $00, $D0, $C0, $A9, $01, $85, $4F, $A0, $00, $F0, $45, $20 ; CPU:$D37A PRG:137A 0E A9 01 24 00 D0 C0 A9 01 85 4F A0 00 F0 45 20 + .byte $DB, $D7, $A9, $01, $85, $3A, $D0, $F1 ; CPU:$D38A PRG:138A DB D7 A9 01 85 3A D0 F1 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLdx02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLdx02: + ldx #$02 ; CPU:$D392 PRG:1392 A2 02 + stx Zp31 ; CPU:$D394 PRG:1394 86 31 + bne UpdateScoreSetZp31Alt ; CPU:$D396 PRG:1396 D0 CF + jsr $E46E ; CPU:$D398 PRG:1398 20 6E E4 + lda Zp00 ; CPU:$D39B PRG:139B A5 00 + and #$C0 ; CPU:$D39D PRG:139D 29 C0 + beq UpdateScoreCheckZp88Alt ; CPU:$D39F PRG:139F F0 03 + jmp $D27B ; CPU:$D3A1 PRG:13A1 4C 7B D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCheckZp88Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCheckZp88Alt: + lda #$02 ; CPU:$D3A4 PRG:13A4 A9 02 + bit Zp00 ; CPU:$D3A6 PRG:13A6 24 00 + bne UpdateScoreBneD408 ; CPU:$D3A8 PRG:13A8 D0 19 + lda Zp43 ; CPU:$D3AA PRG:13AA A5 43 + bne UpdateScoreExit ; CPU:$D3AC PRG:13AC D0 60 + lda Zp47 ; CPU:$D3AE PRG:13AE A5 47 + beq UpdateScoreSetZp31Alt2 ; CPU:$D3B0 PRG:13B0 F0 0B + lda #$00 ; CPU:$D3B2 PRG:13B2 A9 00 + sta Zp47 ; CPU:$D3B4 PRG:13B4 85 47 + ldx #$04 ; CPU:$D3B6 PRG:13B6 A2 04 + ldy #$0D ; CPU:$D3B8 PRG:13B8 A0 0D + jmp $D304 ; CPU:$D3BA PRG:13BA 4C 04 D3 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt2: + lda #$01 ; CPU:$D3BD PRG:13BD A9 01 + bit Zp00 ; CPU:$D3BF PRG:13BF 24 00 + bne UpdateScoreBneD40E ; CPU:$D3C1 PRG:13C1 D0 0E +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD408: + lda #$50 ; CPU:$D3C3 PRG:13C3 A9 50 + sta Zp3E ; CPU:$D3C5 PRG:13C5 85 3E + ldy #$05 ; CPU:$D3C7 PRG:13C7 A0 05 + lda Zp44 ; CPU:$D3C9 PRG:13C9 A5 44 + beq UpdateScoreCallE46E ; CPU:$D3CB PRG:13CB F0 01 + iny ; CPU:$D3CD PRG:13CD C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreCallE46E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreCallE46E: + jmp $D2A5 ; CPU:$D3CE PRG:13CE 4C A5 D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD40E: + lda Zp88 ; CPU:$D3D1 PRG:13D1 A5 88 + beq UpdateScoreLdx02 ; CPU:$D3D3 PRG:13D3 F0 BD + lda Zp3A ; CPU:$D3D5 PRG:13D5 A5 3A + bne UpdateScoreBneD408 ; CPU:$D3D7 PRG:13D7 D0 EA + lda #$7B ; CPU:$D3D9 PRG:13D9 A9 7B + sta Zp32 ; CPU:$D3DB PRG:13DB 85 32 + lda #$00 ; CPU:$D3DD PRG:13DD A9 00 + sta Zp46 ; CPU:$D3DF PRG:13DF 85 46 + sta Zp88 ; CPU:$D3E1 PRG:13E1 85 88 + lda #$03 ; CPU:$D3E3 PRG:13E3 A9 03 + sta Zp35 ; CPU:$D3E5 PRG:13E5 85 35 + lda #$10 ; CPU:$D3E7 PRG:13E7 A9 10 + sta Zp3E ; CPU:$D3E9 PRG:13E9 85 3E + lda #$10 ; CPU:$D3EB PRG:13EB A9 10 + ldx Zp89 ; CPU:$D3ED PRG:13ED A6 89 + beq UpdateScoreSetZp31Alt3 ; CPU:$D3EF PRG:13EF F0 02 + lda #$F0 ; CPU:$D3F1 PRG:13F1 A9 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreSetZp31Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreSetZp31Alt3: + clc ; CPU:$D3F3 PRG:13F3 18 + adc Zp33 ; CPU:$D3F4 PRG:13F4 65 33 + sta Zp33 ; CPU:$D3F6 PRG:13F6 85 33 + bne UpdateScoreLdx02 ; CPU:$D3F8 PRG:13F8 D0 98 + lda Zp41 ; CPU:$D3FA PRG:13FA A5 41 + cmp #$01 ; CPU:$D3FC PRG:13FC C9 01 + bne UpdateScoreBneD3CE ; CPU:$D3FE PRG:13FE D0 08 + lda Zp42 ; CPU:$D400 PRG:1400 A5 42 + ldy Zp43 ; CPU:$D402 PRG:1402 A4 43 + cmp #$02 ; CPU:$D404 PRG:1404 C9 02 + beq UpdateScoreLDY02 ; CPU:$D406 PRG:1406 F0 09 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreBneD3CE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreBneD3CE: + lda Zp43 ; CPU:$D408 PRG:1408 A5 43 + bne UpdateScoreExit ; CPU:$D40A PRG:140A D0 02 + beq UpdateScoreBneD408 ; CPU:$D40C PRG:140C F0 B5 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreExit: + jmp $D2AF ; CPU:$D40E PRG:140E 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: UpdateScoreLDY02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateScoreLDY02: + sty Zp01 ; CPU:$D411 PRG:1411 84 01 + lda Zp88 ; CPU:$D413 PRG:1413 A5 88 + beq DrawRoundNumberCallE7A7 ; CPU:$D415 PRG:1415 F0 44 + jsr $E459 ; CPU:$D417 PRG:1417 20 59 E4 + lda $0301,x ; CPU:$D41A PRG:141A BD 01 03 + cmp #$0D ; CPU:$D41D PRG:141D C9 0D + beq DrawRoundNumberCallE4E2 ; CPU:$D41F PRG:141F F0 42 + cmp #$03 ; CPU:$D421 PRG:1421 C9 03 + beq DrawRoundNumberCalc ; CPU:$D423 PRG:1423 F0 11 + cmp #$01 ; CPU:$D425 PRG:1425 C9 01 + bne DrawRoundNumberCallE7A7 ; CPU:$D427 PRG:1427 D0 32 + lda Zp31 ; CPU:$D429 PRG:1429 A5 31 + cmp #$08 ; CPU:$D42B PRG:142B C9 08 + beq DrawRoundNumberCalc ; CPU:$D42D PRG:142D F0 07 + lda Zp44 ; CPU:$D42F PRG:142F A5 44 + cmp $0314,x ; CPU:$D431 PRG:1431 DD 14 03 + beq DrawRoundNumberClc ; CPU:$D434 PRG:1434 F0 0E +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCalc +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCalc: + tya ; CPU:$D436 PRG:1436 98 + clc ; CPU:$D437 PRG:1437 18 + adc #$06 ; CPU:$D438 PRG:1438 69 06 + sta $0316,x ; CPU:$D43A PRG:143A 9D 16 03 + lda #$0D ; CPU:$D43D PRG:143D A9 0D + sta $0315,x ; CPU:$D43F PRG:143F 9D 15 03 + bne DrawRoundNumberADC06 ; CPU:$D442 PRG:1442 D0 03 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberClc +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberClc: + jsr $E7A7 ; CPU:$D444 PRG:1444 20 A7 E7 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberADC06 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberADC06: + lda #$50 ; CPU:$D447 PRG:1447 A9 50 + sta $030E,x ; CPU:$D449 PRG:1449 9D 0E 03 + lda #$7B ; CPU:$D44C PRG:144C A9 7B + sta $0302,x ; CPU:$D44E PRG:144E 9D 02 03 + tya ; CPU:$D451 PRG:1451 98 + pha ; CPU:$D452 PRG:1452 48 + ldx #$01 ; CPU:$D453 PRG:1453 A2 01 + ldy Zp4C ; CPU:$D455 PRG:1455 A4 4C + ldx #$10 ; CPU:$D457 PRG:1457 A2 10 + pla ; CPU:$D459 PRG:1459 68 + tay ; CPU:$D45A PRG:145A A8 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCallE7A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCallE7A7: + ldx #$03 ; CPU:$D45B PRG:145B A2 03 + jsr $E7AF ; CPU:$D45D PRG:145D 20 AF E7 + jmp $D2A7 ; CPU:$D460 PRG:1460 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: DrawRoundNumberCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +DrawRoundNumberCallE4E2: + jsr $E21E ; CPU:$D463 PRG:1463 20 1E E2 + jmp $D436 ; CPU:$D466 PRG:1466 4C 36 D4 +; ---- data $D469-$D7DA (882 bytes) ---- +; referenced by `ora $D5D0,y` at $DBCB (operand $D5D0 falls inside this region) + .byte $4C, $B2, $D2, $A5, $89, $0A, $0A, $0A, $85, $34, $20, $59, $E4, $A9, $10, $A4 ; CPU:$D469 PRG:1469 4C B2 D2 A5 89 0A 0A 0A 85 34 20 59 E4 A9 10 A4 + .byte $3D, $D0, $3A, $BC, $1C, $03, $D0, $35, $A2, $04, $20, $B9, $E2, $A5, $33, $C9 ; CPU:$D479 PRG:1479 3D D0 3A BC 1C 03 D0 35 A2 04 20 B9 E2 A5 33 C9 + .byte $36, $90, $2E, $C9, $C8, $B0, $2A, $A4, $43, $C0, $09, $F0, $07, $20, $9F, $E7 ; CPU:$D489 PRG:1489 36 90 2E C9 C8 B0 2A A4 43 C0 09 F0 07 20 9F E7 + .byte $A2, $17, $D0, $05, $20, $A3, $E7, $A2, $16, $A9, $00, $85, $46, $85, $43, $85 ; CPU:$D499 PRG:1499 A2 17 D0 05 20 A3 E7 A2 16 A9 00 85 46 85 43 85 + .byte $49, $A9, $46, $85, $4A, $86, $35, $A2, $06, $86, $31, $D0, $B3, $AA, $20, $B9 ; CPU:$D4A9 PRG:14A9 49 A9 46 85 4A 86 35 A2 06 86 31 D0 B3 AA 20 B9 + .byte $E2, $A2, $07, $86, $31, $A9, $00, $85, $46, $F0, $A5, $20, $6E, $E4, $20, $0E ; CPU:$D4B9 PRG:14B9 E2 A2 07 86 31 A9 00 85 46 F0 A5 20 6E E4 20 0E + .byte $E4, $C9, $FF, $F0, $21, $A5, $49, $C9, $0E, $D0, $18, $20, $59, $E4, $BD, $01 ; CPU:$D4C9 PRG:14C9 E4 C9 FF F0 21 A5 49 C9 0E D0 18 20 59 E4 BD 01 + .byte $03, $C9, $05, $B0, $14, $A9, $0C, $9D, $01, $03, $E6, $8B, $A9, $00, $9D, $0E ; CPU:$D4D9 PRG:14D9 03 C9 05 B0 14 A9 0C 9D 01 03 E6 8B A9 00 9D 0E + .byte $03, $85, $88, $4C, $B2, $D2, $4C, $C3, $D3, $A9, $0A, $A4, $89, $D0, $02, $A9 ; CPU:$D4E9 PRG:14E9 03 85 88 4C B2 D2 4C C3 D3 A9 0A A4 89 D0 02 A9 + .byte $F6, $18, $65, $33, $85, $33, $D0, $EB, $C6, $45, $D0, $E7, $A4, $39, $D0, $24 ; CPU:$D4F9 PRG:14F9 F6 18 65 33 85 33 D0 EB C6 45 D0 E7 A4 39 D0 24 + .byte $20, $59, $E4, $A9, $11, $9D, $01, $03, $85, $93, $A9, $00, $85, $91, $85, $92 ; CPU:$D509 PRG:1509 20 59 E4 A9 11 9D 01 03 85 93 A9 00 85 91 85 92 + .byte $85, $30, $85, $31, $8D, $40, $03, $9D, $06, $03, $A9, $40, $9D, $07, $03, $20 ; CPU:$D519 PRG:1519 85 30 85 31 8D 40 03 9D 06 03 A9 40 9D 07 03 20 + .byte $F7, $DD, $D0, $BF, $A9, $0B, $A4, $89, $D0, $02, $A9, $00, $85, $31, $A9, $00 ; CPU:$D529 PRG:1529 F7 DD D0 BF A9 0B A4 89 D0 02 A9 00 85 31 A9 00 + .byte $8D, $01, $03, $8D, $41, $03, $85, $0A, $A9, $3D, $8D, $42, $03, $A9, $F4, $8D ; CPU:$D539 PRG:1539 8D 01 03 8D 41 03 85 0A A9 3D 8D 42 03 A9 F4 8D + .byte $58, $02, $8D, $5C, $02, $8D, $54, $02, $8D, $50, $02, $A9, $13, $8D, $45, $03 ; CPU:$D549 PRG:1549 58 02 8D 5C 02 8D 54 02 8D 50 02 A9 13 8D 45 03 + .byte $20, $E3, $DC, $A5, $89, $85, $8A, $F0, $18, $E6, $85, $A5, $85, $C9, $06, $D0 ; CPU:$D559 PRG:1559 20 E3 DC A5 89 85 8A F0 18 E6 85 A5 85 C9 06 D0 + .byte $04, $A9, $02, $85, $85, $A5, $08, $49, $01, $85, $08, $A9, $FF, $85, $0A, $D0 ; CPU:$D569 PRG:1569 04 A9 02 85 85 A5 08 49 01 85 08 A9 FF 85 0A D0 + .byte $08, $C6, $85, $D0, $04, $A9, $04, $85, $85, $20, $12, $D0, $A2, $01, $20, $3B ; CPU:$D579 PRG:1579 08 C6 85 D0 04 A9 04 85 85 20 12 D0 A2 01 20 3B + .byte $DA, $A2, $00, $20, $3B, $DA, $A9, $9F, $8D, $00, $02, $A9, $0B, $8D, $21, $03 ; CPU:$D589 PRG:1589 DA A2 00 20 3B DA A9 9F 8D 00 02 A9 0B 8D 21 03 + .byte $20, $E7, $E7, $A9, $01, $85, $86, $D0, $4F, $A9, $00, $85, $46, $85, $49, $85 ; CPU:$D599 PRG:1599 20 E7 E7 A9 01 85 86 D0 4F A9 00 85 46 85 49 85 + .byte $4A, $A0, $0B, $A5, $44, $D0, $06, $20, $9B, $E7, $C8, $D0, $03, $20, $97, $E7 ; CPU:$D5A9 PRG:15A9 4A A0 0B A5 44 D0 06 20 9B E7 C8 D0 03 20 97 E7 + .byte $84, $35, $20, $B6, $E7, $A2, $08, $86, $31, $D0, $2D, $20, $0E, $E4, $C9, $FF ; CPU:$D5B9 PRG:15B9 84 35 20 B6 E7 A2 08 86 31 D0 2D 20 0E E4 C9 FF + .byte $F0, $29, $A4, $35, $C0, $0E, $D0, $11, $C9, $2E, $90, $49, $C9, $D2, $B0, $45 ; CPU:$D5C9 PRG:15C9 F0 29 A4 35 C0 0E D0 11 C9 2E 90 49 C9 D2 B0 45 + .byte $A5, $49, $C9, $14, $D0, $03, $20, $C2, $E7, $C0, $11, $D0, $0B, $E6, $4F, $20 ; CPU:$D5D9 PRG:15D9 A5 49 C9 14 D0 03 20 C2 E7 C0 11 D0 0B E6 4F 20 + .byte $59, $E4, $E6, $8B, $A9, $00, $85, $88, $4C, $B2, $D2, $A9, $7B, $85, $32, $A0 ; CPU:$D5E9 PRG:15E9 59 E4 E6 8B A9 00 85 88 4C B2 D2 A9 7B 85 32 A0 + .byte $04, $A5, $44, $F0, $01, $C8, $20, $62, $E4, $A9, $0A, $85, $48, $8D, $18, $03 ; CPU:$D5F9 PRG:15F9 04 A5 44 F0 01 C8 20 62 E4 A9 0A 85 48 8D 18 03 + .byte $8D, $38, $03, $4C, $A5, $D2, $20, $C2, $E7, $A9, $00, $85, $84, $8D, $41, $03 ; CPU:$D609 PRG:1609 8D 38 03 4C A5 D2 20 C2 E7 A9 00 85 84 8D 41 03 + .byte $A9, $4A, $4C, $37, $D6, $A9, $00, $85, $49, $85, $88, $20, $05, $DB, $A5, $39 ; CPU:$D619 PRG:1619 A9 4A 4C 37 D6 A9 00 85 49 85 88 20 05 DB A5 39 + .byte $D0, $E4, $A9, $00, $85, $84, $20, $BA, $E7, $20, $B7, $DA, $A9, $42, $85, $4A ; CPU:$D629 PRG:1629 D0 E4 A9 00 85 84 20 BA E7 20 B7 DA A9 42 85 4A + .byte $20, $59, $E4, $A9, $00, $9D, $01, $03, $9D, $11, $03, $9D, $12, $03, $9D, $0E ; CPU:$D639 PRG:1639 20 59 E4 A9 00 9D 01 03 9D 11 03 9D 12 03 9D 0E + .byte $03, $FE, $1F, $03, $E6, $4F, $A9, $09, $85, $31, $4C, $B2, $D2, $20, $0E, $E4 ; CPU:$D649 PRG:1649 03 FE 1F 03 E6 4F A9 09 85 31 4C B2 D2 20 0E E4 + .byte $C9, $FF, $D0, $1F, $A9, $20, $85, $45, $A9, $0A, $85, $31, $A5, $32, $C9, $98 ; CPU:$D659 PRG:1659 C9 FF D0 1F A9 20 85 45 A9 0A 85 31 A5 32 C9 98 + .byte $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9, $F0, $90, $04, $A9, $FC, $85, $32 ; CPU:$D669 PRG:1669 B0 0A A5 33 C9 12 90 04 C9 F0 90 04 A9 FC 85 32 + .byte $4C, $B2, $D2, $A5, $32, $C9, $98, $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9 ; CPU:$D679 PRG:1679 4C B2 D2 A5 32 C9 98 B0 0A A5 33 C9 12 90 04 C9 + .byte $F4, $90, $ED, $A9, $FC, $85, $32, $D0, $CB, $D0, $E5, $A5, $0A, $C9, $D3, $D0 ; CPU:$D689 PRG:1689 F4 90 ED A9 FC 85 32 D0 CB D0 E5 A5 0A C9 D3 D0 + .byte $4C, $A9, $7B, $85, $32, $A9, $F8, $85, $33, $A9, $15, $85, $35, $D0, $3E, $4C ; CPU:$D699 PRG:1699 4C A9 7B 85 32 A9 F8 85 33 A9 15 85 35 D0 3E 4C + .byte $6F, $D7, $A9, $0B, $8D, $01, $03, $A9, $06, $8D, $41, $03, $A5, $8A, $D0, $EF ; CPU:$D6A9 PRG:16A9 6F D7 A9 0B 8D 01 03 A9 06 8D 41 03 A5 8A D0 EF + .byte $A6, $89, $E0, $02, $F0, $27, $E0, $00, $F0, $D1, $A5, $83, $D0, $1F, $A5, $0A ; CPU:$D6B9 PRG:16B9 A6 89 E0 02 F0 27 E0 00 F0 D1 A5 83 D0 1F A5 0A + .byte $C9, $86, $D0, $08, $85, $83, $A9, $15, $85, $35, $D0, $11, $A0, $0B, $84, $43 ; CPU:$D6C9 PRG:16C9 C9 86 D0 08 85 83 A9 15 85 35 D0 11 A0 0B 84 43 + .byte $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2, $E4, $D0, $02, $C6, $33, $A5 ; CPU:$D6D9 PRG:16D9 A9 00 85 3E A9 7B 85 32 20 E2 E4 D0 02 C6 33 A5 + .byte $89, $C9, $00, $F0, $06, $C9, $02, $F0, $6A, $D0, $9E, $A2, $00, $DE, $5B, $02 ; CPU:$D6E9 PRG:16E9 89 C9 00 F0 06 C9 02 F0 6A D0 9E A2 00 DE 5B 02 + .byte $DE, $5F, $02, $20, $D0, $D7, $A5, $0A, $C9, $80, $D0, $23, $A5, $A0, $F0, $1F ; CPU:$D6F9 PRG:16F9 DE 5F 02 20 D0 D7 A5 0A C9 80 D0 23 A5 A0 F0 1F + .byte $E6, $73, $E6, $74, $A5, $74, $C9, $06, $D0, $12, $A5, $72, $C9, $12, $F0, $0C ; CPU:$D709 PRG:1709 E6 73 E6 74 A5 74 C9 06 D0 12 A5 72 C9 12 F0 0C + .byte $E6, $72, $E6, $72, $A9, $01, $85, $74, $A9, $56, $85, $73, $20, $50, $E3, $E6 ; CPU:$D719 PRG:1719 E6 72 E6 72 A9 01 85 74 A9 56 85 73 20 50 E3 E6 + .byte $0A, $D0, $2D, $A5, $08, $49, $01, $85, $08, $A0, $01, $84, $31, $8C, $21, $03 ; CPU:$D729 PRG:1729 0A D0 2D A5 08 49 01 85 08 A0 01 84 31 8C 21 03 + .byte $8C, $41, $03, $20, $EB, $E7, $20, $E0, $E3, $A5, $1F, $D0, $08, $A5, $8A, $D0 ; CPU:$D739 PRG:1739 8C 41 03 20 EB E7 20 E0 E3 A5 1F D0 08 A5 8A D0 + .byte $04, $A9, $20, $85, $96, $A5, $A0, $F0, $07, $20, $D9, $DA, $A9, $00, $85, $A0 ; CPU:$D749 PRG:1749 04 A9 20 85 96 A5 A0 F0 07 20 D9 DA A9 00 85 A0 + .byte $4C, $B2, $D2, $AD, $02, $20, $29, $40, $F0, $F9, $A6, $0A, $A9, $00, $85, $0A ; CPU:$D759 PRG:1759 4C B2 D2 AD 02 20 29 40 F0 F9 A6 0A A9 00 85 0A + .byte $20, $43, $CE, $86, $0A, $60, $A6, $89, $E0, $02, $F0, $27, $E0, $00, $D0, $43 ; CPU:$D769 PRG:1769 20 43 CE 86 0A 60 A6 89 E0 02 F0 27 E0 00 D0 43 + .byte $A5, $83, $D0, $1F, $A5, $0A, $C9, $80, $D0, $08, $85, $83, $A9, $15, $85, $35 ; CPU:$D779 PRG:1779 A5 83 D0 1F A5 0A C9 80 D0 08 85 83 A9 15 85 35 + .byte $D0, $11, $A0, $0B, $84, $43, $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2 ; CPU:$D789 PRG:1789 D0 11 A0 0B 84 43 A9 00 85 3E A9 7B 85 32 20 E2 + .byte $E4, $D0, $02, $E6, $33, $A5, $89, $C9, $00, $F0, $06, $C9, $02, $F0, $B4, $D0 ; CPU:$D799 PRG:1799 E4 D0 02 E6 33 A5 89 C9 00 F0 06 C9 02 F0 B4 D0 + .byte $80, $A2, $00, $FE, $5B, $02, $FE, $5F, $02, $20, $D0, $D7, $C6, $0A, $D0, $EF ; CPU:$D7A9 PRG:17A9 80 A2 00 FE 5B 02 FE 5F 02 20 D0 D7 C6 0A D0 EF + .byte $4C, $32, $D7, $A5, $0A, $C9, $32, $D0, $DA, $A9, $7B, $85, $32, $A9, $02, $85 ; CPU:$D7B9 PRG:17B9 4C 32 D7 A5 0A C9 32 D0 DA A9 7B 85 32 A9 02 85 + .byte $33, $A9, $15, $85, $35, $D0, $CC, $D0, $08, $A9, $F4, $9D, $58, $02, $9D, $5C ; CPU:$D7C9 PRG:17C9 33 A9 15 85 35 D0 CC D0 08 A9 F4 9D 58 02 9D 5C + .byte $02, $60 ; CPU:$D7D9 PRG:17D9 02 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositions: + lda Zp84 ; CPU:$D7DB PRG:17DB A5 84 + cmp #$03 ; CPU:$D7DD PRG:17DD C9 03 + bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7DF PRG:17DF D0 1B + lda Zp82 ; CPU:$D7E1 PRG:17E1 A5 82 + bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7E3 PRG:17E3 D0 17 + lda #$1B ; CPU:$D7E5 PRG:17E5 A9 1B + sta Zp35 ; CPU:$D7E7 PRG:17E7 85 35 + ldx Zp89 ; CPU:$D7E9 PRG:17E9 A6 89 + lda Zp2B,x ; CPU:$D7EB PRG:17EB B5 2B + bne UpdatePlayerPositionsSetZp32 ; CPU:$D7ED PRG:17ED D0 18 + lda #$60 ; CPU:$D7EF PRG:17EF A9 60 + sta Zp2B,x ; CPU:$D7F1 PRG:17F1 95 2B + lda #$08 ; CPU:$D7F3 PRG:17F3 A9 08 + eor Zp34 ; CPU:$D7F5 PRG:17F5 45 34 + sta Zp34 ; CPU:$D7F7 PRG:17F7 85 34 + jmp $D807 ; CPU:$D7F9 PRG:17F9 4C 07 D8 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsCheckZp84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsCheckZp84: + lda Zp89 ; CPU:$D7FC PRG:17FC A5 89 + asl a ; CPU:$D7FE PRG:17FE 0A + asl a ; CPU:$D7FF PRG:17FF 0A + asl a ; CPU:$D800 PRG:1800 0A + sta Zp34 ; CPU:$D801 PRG:1801 85 34 + lda #$15 ; CPU:$D803 PRG:1803 A9 15 + sta Zp35 ; CPU:$D805 PRG:1805 85 35 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsSetZp32 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsSetZp32: + lda #$7B ; CPU:$D807 PRG:1807 A9 7B + sta Zp32 ; CPU:$D809 PRG:1809 85 32 + rts ; CPU:$D80B PRG:180B 60 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsExit: + ldx Zp89 ; CPU:$D80C PRG:180C A6 89 + lda Zp35 ; CPU:$D80E PRG:180E A5 35 + cmp #$18 ; CPU:$D810 PRG:1810 C9 18 + bne UpdatePlayerPositionsEntry ; CPU:$D812 PRG:1812 D0 11 + jsr $E21E ; CPU:$D814 PRG:1814 20 1E E2 + lda Zp2B,x ; CPU:$D817 PRG:1817 B5 2B + beq UpdatePlayerPositionsStxZp31 ; CPU:$D819 PRG:1819 F0 0D + and #$0F ; CPU:$D81B PRG:181B 29 0F + bne UpdatePlayerPositionsEntry ; CPU:$D81D PRG:181D D0 06 + lda #$08 ; CPU:$D81F PRG:181F A9 08 + eor Zp34 ; CPU:$D821 PRG:1821 45 34 + sta Zp34 ; CPU:$D823 PRG:1823 85 34 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsEntry: + jmp $D2AF ; CPU:$D825 PRG:1825 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: UpdatePlayerPositionsStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdatePlayerPositionsStxZp31: + lda Zp89 ; CPU:$D828 PRG:1828 A5 89 + asl a ; CPU:$D82A PRG:182A 0A + asl a ; CPU:$D82B PRG:182B 0A + asl a ; CPU:$D82C PRG:182C 0A + sta Zp34 ; CPU:$D82D PRG:182D 85 34 + ldy #$00 ; CPU:$D82F PRG:182F A0 00 + jmp $D2A5 ; CPU:$D831 PRG:1831 4C A5 D2 +; ---- data $D834-$DA24 (497 bytes) ---- + .byte $A5, $84, $C9, $03, $D0, $08, $AD, $2F, $02, $38, $E5, $33, $F0, $03, $4C, $B2 ; CPU:$D834 PRG:1834 A5 84 C9 03 D0 08 AD 2F 02 38 E5 33 F0 03 4C B2 + .byte $D2, $A9, $04, $85, $84, $A9, $01, $85, $90, $A9, $97, $8D, $40, $02, $8D, $44 ; CPU:$D844 PRG:1844 D2 A9 04 85 84 A9 01 85 90 A9 97 8D 40 02 8D 44 + .byte $02, $A9, $9F, $8D, $48, $02, $8D, $4C, $02, $A9, $A3, $85, $4A, $A9, $00, $85 ; CPU:$D854 PRG:1854 02 A9 9F 8D 48 02 8D 4C 02 A9 A3 85 4A A9 00 85 + .byte $49, $A9, $1D, $85, $35, $A9, $7B, $85, $32, $A9, $60, $85, $45, $E6, $31, $D0 ; CPU:$D864 PRG:1864 49 A9 1D 85 35 A9 7B 85 32 A9 60 85 45 E6 31 D0 + .byte $CD, $A5, $45, $F0, $05, $C6, $45, $4C, $B2, $D2, $20, $0E, $E4, $C9, $FF, $D0 ; CPU:$D874 PRG:1874 CD A5 45 F0 05 C6 45 4C B2 D2 20 0E E4 C9 FF D0 + .byte $20, $A9, $03, $85, $84, $20, $59, $E4, $A9, $10, $9D, $01, $03, $20, $05, $DB ; CPU:$D884 PRG:1884 20 A9 03 85 84 20 59 E4 A9 10 9D 01 03 20 05 DB + .byte $A5, $89, $0A, $0A, $0A, $85, $34, $A9, $00, $85, $31, $85, $32, $85, $33, $F0 ; CPU:$D894 PRG:1894 A5 89 0A 0A 0A 85 34 A9 00 85 31 85 32 85 33 F0 + .byte $0C, $A5, $2A, $29, $0F, $D0, $06, $A9, $08, $45, $34, $85, $34, $4C, $B2, $D2 ; CPU:$D8A4 PRG:18A4 0C A5 2A 29 0F D0 06 A9 08 45 34 85 34 4C B2 D2 + .byte $A5, $33, $38, $A6, $89, $D0, $06, $E9, $58, $90, $0D, $B0, $04, $E9, $B0, $B0 ; CPU:$D8B4 PRG:18B4 A5 33 38 A6 89 D0 06 E9 58 90 0D B0 04 E9 B0 B0 + .byte $07, $A0, $0B, $84, $4F, $4C, $A9, $D2, $A9, $15, $85, $35, $A5, $84, $C9, $01 ; CPU:$D8C4 PRG:18C4 07 A0 0B 84 4F 4C A9 D2 A9 15 85 35 A5 84 C9 01 + .byte $D0, $11, $20, $59, $E4, $A9, $0A, $9D, $01, $03, $A9, $20, $9D, $15, $03, $A9 ; CPU:$D8D4 PRG:18D4 D0 11 20 59 E4 A9 0A 9D 01 03 A9 20 9D 15 03 A9 + .byte $00, $85, $31, $4C, $B2, $D2, $A2, $18, $DE, $40, $02, $CA, $CA, $CA, $CA, $10 ; CPU:$D8E4 PRG:18E4 00 85 31 4C B2 D2 A2 18 DE 40 02 CA CA CA CA 10 + .byte $F7, $AD, $44, $02, $C9, $2F, $D0, $17, $E6, $31, $20, $F3, $E7, $20, $AC, $DD ; CPU:$D8F4 PRG:18F4 F7 AD 44 02 C9 2F D0 17 E6 31 20 F3 E7 20 AC DD + .byte $20, $59, $E4, $A9, $7B, $85, $32, $A9, $1C, $85, $35, $A9, $30, $85, $2D, $4C ; CPU:$D904 PRG:1904 20 59 E4 A9 7B 85 32 A9 1C 85 35 A9 30 85 2D 4C + .byte $B2, $D2, $A5, $2D, $F0, $59, $A5, $2B, $D0, $0A, $A9, $30, $85, $2B, $A9, $08 ; CPU:$D914 PRG:1914 B2 D2 A5 2D F0 59 A5 2B D0 0A A9 30 85 2B A9 08 + .byte $45, $34, $85, $34, $A5, $2C, $D0, $41, $A9, $10, $85, $2C, $AD, $45, $02, $49 ; CPU:$D924 PRG:1924 45 34 85 34 A5 2C D0 41 A9 10 85 2C AD 45 02 49 + .byte $03, $8D, $45, $02, $AD, $49, $02, $49, $03, $8D, $49, $02, $A6, $91, $A4, $92 ; CPU:$D934 PRG:1934 03 8D 45 02 AD 49 02 49 03 8D 49 02 A6 91 A4 92 + .byte $BD, $E8, $F8, $C9, $FE, $F0, $1E, $C9, $FF, $F0, $19, $18, $6D, $60, $02, $99 ; CPU:$D944 PRG:1944 BD E8 F8 C9 FE F0 1E C9 FF F0 19 18 6D 60 02 99 + .byte $60, $02, $E8, $BD, $E8, $F8, $18, $6D, $63, $02, $99, $63, $02, $E8, $C8, $C8 ; CPU:$D954 PRG:1954 60 02 E8 BD E8 F8 18 6D 63 02 99 63 02 E8 C8 C8 + .byte $C8, $C8, $D0, $DC, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $A9 ; CPU:$D964 PRG:1964 C8 C8 D0 DC E8 86 91 84 92 20 D1 DD 4C B2 D2 A9 + .byte $00, $85, $91, $85, $92, $E6, $31, $D0, $F3, $AD, $44, $02, $C9, $48, $F0, $0B ; CPU:$D974 PRG:1974 00 85 91 85 92 E6 31 D0 F3 AD 44 02 C9 48 F0 0B + .byte $A2, $18, $FE, $40, $02, $CA, $CA, $CA, $CA, $10, $F7, $A5, $2C, $D0, $2B, $A9 ; CPU:$D984 PRG:1984 A2 18 FE 40 02 CA CA CA CA 10 F7 A5 2C D0 2B A9 + .byte $10, $85, $2C, $A6, $91, $A4, $92, $BD, $E8, $F8, $C9, $FE, $F0, $22, $C9, $FF ; CPU:$D994 PRG:1994 10 85 2C A6 91 A4 92 BD E8 F8 C9 FE F0 22 C9 FF + .byte $F0, $10, $A9, $00, $99, $60, $02, $E8, $99, $63, $02, $E8, $C8, $C8, $C8, $C8 ; CPU:$D9A4 PRG:19A4 F0 10 A9 00 99 60 02 E8 99 63 02 E8 C8 C8 C8 C8 + .byte $D0, $E5, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $4C, $22, $DA ; CPU:$D9B4 PRG:19B4 D0 E5 E8 86 91 84 92 20 D1 DD 4C B2 D2 4C 22 DA + .byte $A5, $1F, $D0, $F9, $A5, $89, $F0, $43, $A9, $03, $8D, $09, $03, $85, $A0, $8D ; CPU:$D9C4 PRG:19C4 A5 1F D0 F9 A5 89 F0 43 A9 03 8D 09 03 85 A0 8D + .byte $01, $05, $A9, $11, $8D, $00, $05, $A0, $23, $A2, $1A, $20, $8E, $D0, $A2, $1A ; CPU:$D9D4 PRG:19D4 01 05 A9 11 8D 00 05 A0 23 A2 1A 20 8E D0 A2 1A + .byte $A0, $27, $20, $8E, $D0, $20, $D9, $DA, $A5, $71, $C9, $19, $F0, $02, $E6, $71 ; CPU:$D9E4 PRG:19E4 A0 27 20 8E D0 20 D9 DA A5 71 C9 19 F0 02 E6 71 + .byte $A9, $15, $85, $35, $A9, $01, $8D, $15, $03, $8D, $00, $03, $8D, $40, $03, $A9 ; CPU:$D9F4 PRG:19F4 A9 15 85 35 A9 01 8D 15 03 8D 00 03 8D 40 03 A9 + .byte $00, $85, $93, $A9, $0A, $8D, $01, $03, $4C, $B2, $D2, $A2, $00, $B5, $A4, $38 ; CPU:$DA04 PRG:1A04 00 85 93 A9 0A 8D 01 03 4C B2 D2 A2 00 B5 A4 38 + .byte $F5, $94, $F0, $1C, $B0, $08, $A5, $94, $85, $A4, $A5, $95, $85, $A5, $20, $DF ; CPU:$DA14 PRG:1A14 F5 94 F0 1C B0 08 A5 94 85 A4 A5 95 85 A5 20 DF + .byte $E7 ; CPU:$DA24 PRG:1A24 E7 +; ----------------------------------------------------------------------------- +; Routine: TitleScreenSetMode +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +TitleScreenSetMode: + lda #$01 ; CPU:$DA25 PRG:1A25 A9 01 + sta Zp24 ; CPU:$DA27 PRG:1A27 85 24 + lda #$00 ; CPU:$DA29 PRG:1A29 A9 00 + sta Zp26 ; CPU:$DA2B PRG:1A2B 85 26 + lda Zp08 ; CPU:$DA2D PRG:1A2D A5 08 + and #$FE ; CPU:$DA2F PRG:1A2F 29 FE + sta Zp08 ; CPU:$DA31 PRG:1A31 85 08 + rts ; CPU:$DA33 PRG:1A33 60 +; ---- data $DA34-$DAA6 (115 bytes) ---- + .byte $E0, $01, $F0, $EA, $E8, $D0, $D6, $A9, $45, $8D, $00, $05, $E0, $00, $D0, $31 ; CPU:$DA34 PRG:1A34 E0 01 F0 EA E8 D0 D6 A9 45 8D 00 05 E0 00 D0 31 + .byte $AD, $09, $03, $C9, $01, $D0, $5B, $A2, $00, $A0, $01, $BD, $47, $F7, $C9, $FF ; CPU:$DA44 PRG:1A44 AD 09 03 C9 01 D0 5B A2 00 A0 01 BD 47 F7 C9 FF + .byte $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $1B, $A0, $22, $20, $A7, $DA ; CPU:$DA54 PRG:1A54 F0 07 99 00 05 E8 C8 D0 F2 A2 1B A0 22 20 A7 DA + .byte $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E7, $A0, $23, $4C, $A7 ; CPU:$DA64 PRG:1A64 A9 A5 8D 01 05 A9 11 8D 00 05 A2 E7 A0 23 4C A7 + .byte $DA, $AD, $29, $03, $C9, $01, $D0, $2A, $A2, $00, $A0, $01, $BD, $5C, $F7, $C9 ; CPU:$DA74 PRG:1A74 DA AD 29 03 C9 01 D0 2A A2 00 A0 01 BD 5C F7 C9 + .byte $FF, $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $00, $A0, $22, $20, $A7 ; CPU:$DA84 PRG:1A84 FF F0 07 99 00 05 E8 C8 D0 F2 A2 00 A0 22 20 A7 + .byte $DA, $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E0, $A0, $23, $20 ; CPU:$DA94 PRG:1A94 DA A9 A5 8D 01 05 A9 11 8D 00 05 A2 E0 A0 23 20 + .byte $A7, $DA, $60 ; CPU:$DAA4 PRG:1AA4 A7 DA 60 +; ----------------------------------------------------------------------------- +; Routine: CheckCollisions +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +CheckCollisions: + lda Zp08 ; CPU:$DAA7 PRG:1AA7 A5 08 + eor Zp8A ; CPU:$DAA9 PRG:1AA9 45 8A + and #$01 ; CPU:$DAAB PRG:1AAB 29 01 + bne SpriteDMACheckZp96 ; CPU:$DAAD PRG:1AAD D0 04 + iny ; CPU:$DAAF PRG:1AAF C8 + iny ; CPU:$DAB0 PRG:1AB0 C8 + iny ; CPU:$DAB1 PRG:1AB1 C8 + iny ; CPU:$DAB2 PRG:1AB2 C8 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp96 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp96: + jsr $D08E ; CPU:$DAB3 PRG:1AB3 20 8E D0 + rts ; CPU:$DAB6 PRG:1AB6 60 +; ---- data $DAB7-$DB47 (145 bytes) ---- + .byte $A9, $98, $A2, $00, $A0, $08, $84, $00, $9D, $00, $02, $E8, $E8, $E8, $A8, $A9 ; CPU:$DAB7 PRG:1AB7 A9 98 A2 00 A0 08 84 00 9D 00 02 E8 E8 E8 A8 A9 + .byte $00, $9D, $00, $02, $98, $E8, $C6, $00, $D0, $EE, $18, $69, $08, $E0, $60, $D0 ; CPU:$DAC7 PRG:1AC7 00 9D 00 02 98 E8 C6 00 D0 EE 18 69 08 E0 60 D0 + .byte $E3, $60, $A5, $A0, $F0, $FB, $A9, $32, $A2, $14, $9D, $00, $05, $CA, $D0, $FA ; CPU:$DAD7 PRG:1AD7 E3 60 A5 A0 F0 FB A9 32 A2 14 9D 00 05 CA D0 FA + .byte $A9, $4C, $8D, $01, $05, $A9, $4E, $8D, $06, $05, $A9, $45, $8D, $00, $05, $A2 ; CPU:$DAE7 PRG:1AE7 A9 4C 8D 01 05 A9 4E 8D 06 05 A9 45 8D 00 05 A2 + .byte $1B, $A0, $22, $A5, $85, $29, $01, $F0, $02, $A0, $26, $4C, $8E, $D0, $A5, $39 ; CPU:$DAF7 PRG:1AF7 1B A0 22 A5 85 29 01 F0 02 A0 26 4C 8E D0 A5 39 + .byte $F0, $04, $C6, $39, $A5, $39, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A0, $23 ; CPU:$DB07 PRG:1B07 F0 04 C6 39 A5 39 8D 01 05 A9 11 8D 00 05 A0 23 + .byte $A5, $1F, $D0, $18, $A2, $3A, $A5, $89, $D0, $1A, $E6, $95, $A5, $95, $C9, $0A ; CPU:$DB17 PRG:1B17 A5 1F D0 18 A2 3A A5 89 D0 1A E6 95 A5 95 C9 0A + .byte $D0, $06, $E6, $94, $A9, $00, $85, $95, $A2, $1A, $D0, $08, $A2, $47, $A5, $89 ; CPU:$DB27 PRG:1B27 D0 06 E6 94 A9 00 85 95 A2 1A D0 08 A2 47 A5 89 + .byte $D0, $02, $A2, $5B, $86, $0C, $20, $8E, $D0, $A6, $0C, $A0, $27, $20, $8E, $D0 ; CPU:$DB37 PRG:1B37 D0 02 A2 5B 86 0C 20 8E D0 A6 0C A0 27 20 8E D0 + .byte $60 ; CPU:$DB47 PRG:1B47 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp96_DB48 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp96_DB48: + lda Zp96 ; CPU:$DB48 PRG:1B48 A5 96 + beq SpriteDMABeqDB91 ; CPU:$DB4A PRG:1B4A F0 45 + cmp #$02 ; CPU:$DB4C PRG:1B4C C9 02 + beq SpriteDMACmp02 ; CPU:$DB4E PRG:1B4E F0 07 + cmp #$01 ; CPU:$DB50 PRG:1B50 C9 01 + beq SpriteDMALdy0A ; CPU:$DB52 PRG:1B52 F0 3E + dec Zp96 ; CPU:$DB54 PRG:1B54 C6 96 + rts ; CPU:$DB56 PRG:1B56 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACmp02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACmp02: + dec Zp96 ; CPU:$DB57 PRG:1B57 C6 96 + lda #$80 ; CPU:$DB59 PRG:1B59 A9 80 + sta Zp97 ; CPU:$DB5B PRG:1B5B 85 97 + lda Zp94 ; CPU:$DB5D PRG:1B5D A5 94 + sta $0501 ; CPU:$DB5F PRG:1B5F 8D 01 05 + lda Zp95 ; CPU:$DB62 PRG:1B62 A5 95 + sta $0502 ; CPU:$DB64 PRG:1B64 8D 02 05 + lda #$12 ; CPU:$DB67 PRG:1B67 A9 12 + sta $0500 ; CPU:$DB69 PRG:1B69 8D 00 05 + ldx #$DC ; CPU:$DB6C PRG:1B6C A2 DC + ldy #$22 ; CPU:$DB6E PRG:1B6E A0 22 + jsr $D08E ; CPU:$DB70 PRG:1B70 20 8E D0 + ldx #$DC ; CPU:$DB73 PRG:1B73 A2 DC + ldy #$26 ; CPU:$DB75 PRG:1B75 A0 26 + jsr $D08E ; CPU:$DB77 PRG:1B77 20 8E D0 + jsr $DBA6 ; CPU:$DB7A PRG:1B7A 20 A6 DB +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoopEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoopEntry: + lda #$1A ; CPU:$DB7D PRG:1B7D A9 1A + sta $0500 ; CPU:$DB7F PRG:1B7F 8D 00 05 + ldx #$6B ; CPU:$DB82 PRG:1B82 A2 6B + ldy #$22 ; CPU:$DB84 PRG:1B84 A0 22 + lda Zp85 ; CPU:$DB86 PRG:1B86 A5 85 + and #$01 ; CPU:$DB88 PRG:1B88 29 01 + bne SpriteDMALdx0A ; CPU:$DB8A PRG:1B8A D0 02 + ldy #$26 ; CPU:$DB8C PRG:1B8C A0 26 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdx0A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdx0A: + jmp $D08E ; CPU:$DB8E PRG:1B8E 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMABeqDB91 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMABeqDB91: + rts ; CPU:$DB91 PRG:1B91 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdy0A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdy0A: + dec Zp97 ; CPU:$DB92 PRG:1B92 C6 97 + bne SpriteDMABeqDB91 ; CPU:$DB94 PRG:1B94 D0 FB + lda #$00 ; CPU:$DB96 PRG:1B96 A9 00 + sta Zp96 ; CPU:$DB98 PRG:1B98 85 96 + lda #$32 ; CPU:$DB9A PRG:1B9A A9 32 + ldx #$0A ; CPU:$DB9C PRG:1B9C A2 0A +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALdaF940 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALdaF940: + sta $0500,x ; CPU:$DB9E PRG:1B9E 9D 00 05 + dex ; CPU:$DBA1 PRG:1BA1 CA + bne SpriteDMALdaF940 ; CPU:$DBA2 PRG:1BA2 D0 FA + beq SpriteDMALoopEntry ; CPU:$DBA4 PRG:1BA4 F0 D7 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMALoop_DBA6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMALoop_DBA6: + ldx #$0A ; CPU:$DBA6 PRG:1BA6 A2 0A + ldy #$0A ; CPU:$DBA8 PRG:1BA8 A0 0A +; ----------------------------------------------------------------------------- +; Routine: SpriteDMADex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMADex: + lda $F940,y ; CPU:$DBAA PRG:1BAA B9 40 F9 + sta $0500,x ; CPU:$DBAD PRG:1BAD 9D 00 05 + dey ; CPU:$DBB0 PRG:1BB0 88 + dex ; CPU:$DBB1 PRG:1BB1 CA + bne SpriteDMADex ; CPU:$DBB2 PRG:1BB2 D0 F6 + lda Zp94 ; CPU:$DBB4 PRG:1BB4 A5 94 + sta $0508 ; CPU:$DBB6 PRG:1BB6 8D 08 05 + lda Zp95 ; CPU:$DBB9 PRG:1BB9 A5 95 + sta $0509 ; CPU:$DBBB PRG:1BBB 8D 09 05 + rts ; CPU:$DBBE PRG:1BBE 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACheckZp93 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACheckZp93: + lda Zp93 ; CPU:$DBBF PRG:1BBF A5 93 + bne SpriteDMACallDD8C ; CPU:$DBC1 PRG:1BC1 D0 2C + jsr $DD8C ; CPU:$DBC3 PRG:1BC3 20 8C DD + lda Zp84 ; CPU:$DBC6 PRG:1BC6 A5 84 + jsr $CDE0 ; CPU:$DBC8 PRG:1BC8 20 E0 CD + ora $D5D0,y ; CPU:$DBCB PRG:1BCB 19 D0 D5 +; ---- data $DBCE-$DBDC (15 bytes) ---- + .byte $DB, $FD, $DB, $A1, $DC, $F6, $DC, $A5, $80, $0A, $0A, $0A, $0A, $85, $00 ; CPU:$DBCE PRG:1BCE DB FD DB A1 DC F6 DC A5 80 0A 0A 0A 0A 85 00 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACallCDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACallCDE0: + lda Zp81 ; CPU:$DBDD PRG:1BDD A5 81 + and #$0F ; CPU:$DBDF PRG:1BDF 29 0F + ora Zp00 ; CPU:$DBE1 PRG:1BE1 05 00 + cmp #$20 ; CPU:$DBE3 PRG:1BE3 C9 20 + beq SpriteDMARTS ; CPU:$DBE5 PRG:1BE5 F0 09 + cmp #$50 ; CPU:$DBE7 PRG:1BE7 C9 50 + beq SpriteDMARTS ; CPU:$DBE9 PRG:1BE9 F0 05 + cmp #$70 ; CPU:$DBEB PRG:1BEB C9 70 + beq SpriteDMARTS ; CPU:$DBED PRG:1BED F0 01 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMACallDD8C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMACallDD8C: + rts ; CPU:$DBEF PRG:1BEF 60 +; ----------------------------------------------------------------------------- +; Routine: SpriteDMARTS +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +SpriteDMARTS: + lda $05EC ; CPU:$DBF0 PRG:1BF0 AD EC 05 + and #$7F ; CPU:$DBF3 PRG:1BF3 29 7F + bne SpriteDMACallDD8C ; CPU:$DBF5 PRG:1BF5 D0 F8 + jsr $E80C ; CPU:$DBF7 PRG:1BF7 20 0C E8 + inc Zp84 ; CPU:$DBFA PRG:1BFA E6 84 + rts ; CPU:$DBFC PRG:1BFC 60 +; ---- data $DBFD-$DCF5 (249 bytes) ---- + .byte $A9, $AB, $85, $00, $A2, $00, $BD, $07, $02, $C9, $FF, $F0, $0A, $E8, $E8, $E8 ; CPU:$DBFD PRG:1BFD A9 AB 85 00 A2 00 BD 07 02 C9 FF F0 0A E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $F0, $6A, $BD, $04, $02, $18, $65, $00, $9D, $04, $02 ; CPU:$DC0D PRG:1C0D E8 E0 3C D0 F1 F0 6A BD 04 02 18 65 00 9D 04 02 + .byte $A5, $00, $38, $E9, $08, $85, $00, $E0, $38, $D0, $E2, $AD, $01, $03, $C9, $0B ; CPU:$DC1D PRG:1C1D A5 00 38 E9 08 85 00 E0 38 D0 E2 AD 01 03 C9 0B + .byte $D0, $08, $20, $D0, $DC, $A9, $01, $85, $84, $60, $E6, $84, $A5, $82, $F0, $41 ; CPU:$DC2D PRG:1C2D D0 08 20 D0 DC A9 01 85 84 60 E6 84 A5 82 F0 41 + .byte $A2, $0E, $A0, $00, $AD, $03, $03, $38, $E9, $7F, $90, $15, $85, $00, $A9, $7F ; CPU:$DC3D PRG:1C3D A2 0E A0 00 AD 03 03 38 E9 7F 90 15 85 00 A9 7F + .byte $38, $ED, $23, $03, $90, $07, $38, $E5, $00, $F0, $2A, $B0, $04, $A2, $00, $A0 ; CPU:$DC4D PRG:1C4D 38 ED 23 03 90 07 38 E5 00 F0 2A B0 04 A2 00 A0 + .byte $0E, $8E, $21, $03, $8C, $01, $03, $A9, $15, $8D, $05, $03, $8D, $25, $03, $A9 ; CPU:$DC5D PRG:1C5D 0E 8E 21 03 8C 01 03 A9 15 8D 05 03 8D 25 03 A9 + .byte $7B, $8D, $02, $03, $8D, $22, $03, $A9, $00, $8D, $04, $03, $A9, $08, $8D, $24 ; CPU:$DC6D PRG:1C6D 7B 8D 02 03 8D 22 03 A9 00 8D 04 03 A9 08 8D 24 + .byte $03, $20, $7D, $DD, $60, $38, $A5, $C5, $E5, $C9, $F0, $04, $B0, $D3, $90, $CD ; CPU:$DC7D PRG:1C7D 03 20 7D DD 60 38 A5 C5 E5 C9 F0 04 B0 D3 90 CD + .byte $A5, $C6, $38, $E5, $CA, $F0, $04, $B0, $C8, $90, $C2, $AD, $EC, $05, $29, $01 ; CPU:$DC8D PRG:1C8D A5 C6 38 E5 CA F0 04 B0 C8 90 C2 AD EC 05 29 01 + .byte $F0, $BF, $D0, $B9, $A2, $00, $BD, $07, $02, $C9, $00, $F0, $14, $E8, $E8, $E8 ; CPU:$DC9D PRG:1C9D F0 BF D0 B9 A2 00 BD 07 02 C9 00 F0 14 E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $AD, $07, $02, $C9, $47, $D0, $C5, $20, $D2, $E7, $D0 ; CPU:$DCAD PRG:1CAD E8 E0 3C D0 F1 AD 07 02 C9 47 D0 C5 20 D2 E7 D0 + .byte $C0, $A9, $F4, $9D, $04, $02, $E0, $38, $D0, $E3, $20, $7D, $DD, $A9, $01, $85 ; CPU:$DCBD PRG:1CBD C0 A9 F4 9D 04 02 E0 38 D0 E3 20 7D DD A9 01 85 + .byte $84, $D0, $AE, $A0, $00, $A2, $00, $B9, $FA, $F6, $C9, $2F, $F0, $07, $9D, $04 ; CPU:$DCCD PRG:1CCD 84 D0 AE A0 00 A2 00 B9 FA F6 C9 2F F0 07 9D 04 + .byte $02, $E8, $C8, $D0, $F2, $60, $A0, $00, $A2, $00, $B9, $F6, $F6, $C9, $2F, $F0 ; CPU:$DCDD PRG:1CDD 02 E8 C8 D0 F2 60 A0 00 A2 00 B9 F6 F6 C9 2F F0 + .byte $07, $9D, $00, $02, $E8, $C8, $D0, $F2, $60 ; CPU:$DCED PRG:1CED 07 9D 00 02 E8 C8 D0 F2 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersEntry: + jsr $DD00 ; CPU:$DCF6 PRG:1CF6 20 00 DD + lda Zp90 ; CPU:$DCF9 PRG:1CF9 A5 90 + bne UpdateTimersBeqDD33 ; CPU:$DCFB PRG:1CFB D0 02 + sta Zp84 ; CPU:$DCFD PRG:1CFD 85 84 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD33: + rts ; CPU:$DCFF PRG:1CFF 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCmp02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCmp02: + lda Zp90 ; CPU:$DD00 PRG:1D00 A5 90 + beq UpdateTimersBeqDD33Alt ; CPU:$DD02 PRG:1D02 F0 2F + cmp #$02 ; CPU:$DD04 PRG:1D04 C9 02 + beq UpdateTimersCmp02Alt ; CPU:$DD06 PRG:1D06 F0 33 + dec $0240 ; CPU:$DD08 PRG:1D08 CE 40 02 + dec $0244 ; CPU:$DD0B PRG:1D0B CE 44 02 + dec $0248 ; CPU:$DD0E PRG:1D0E CE 48 02 + dec $024C ; CPU:$DD11 PRG:1D11 CE 4C 02 + dec $0243 ; CPU:$DD14 PRG:1D14 CE 43 02 + dec $0247 ; CPU:$DD17 PRG:1D17 CE 47 02 + dec $024B ; CPU:$DD1A PRG:1D1A CE 4B 02 + dec $024F ; CPU:$DD1D PRG:1D1D CE 4F 02 + dec $0243 ; CPU:$DD20 PRG:1D20 CE 43 02 + dec $0247 ; CPU:$DD23 PRG:1D23 CE 47 02 + dec $024B ; CPU:$DD26 PRG:1D26 CE 4B 02 + dec $024F ; CPU:$DD29 PRG:1D29 CE 4F 02 + lda $0240 ; CPU:$DD2C PRG:1D2C AD 40 02 + cmp #$8F ; CPU:$DD2F PRG:1D2F C9 8F + beq UpdateTimersBeqDD34 ; CPU:$DD31 PRG:1D31 F0 01 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD33Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD33Alt: + rts ; CPU:$DD33 PRG:1D33 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBeqDD34 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBeqDD34: + lda #$06 ; CPU:$DD34 PRG:1D34 A9 06 + sta Zp2E ; CPU:$DD36 PRG:1D36 85 2E + inc Zp90 ; CPU:$DD38 PRG:1D38 E6 90 + rts ; CPU:$DD3A PRG:1D3A 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCmp02Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCmp02Alt: + lda Zp2E ; CPU:$DD3B PRG:1D3B A5 2E + bne UpdateTimersBeqDD33Alt ; CPU:$DD3D PRG:1D3D D0 F4 + inc $0240 ; CPU:$DD3F PRG:1D3F EE 40 02 + inc $0244 ; CPU:$DD42 PRG:1D42 EE 44 02 + inc $0248 ; CPU:$DD45 PRG:1D45 EE 48 02 + inc $024C ; CPU:$DD48 PRG:1D48 EE 4C 02 + inc $0243 ; CPU:$DD4B PRG:1D4B EE 43 02 + inc $0247 ; CPU:$DD4E PRG:1D4E EE 47 02 + inc $024B ; CPU:$DD51 PRG:1D51 EE 4B 02 + inc $024F ; CPU:$DD54 PRG:1D54 EE 4F 02 + inc $0243 ; CPU:$DD57 PRG:1D57 EE 43 02 + inc $0247 ; CPU:$DD5A PRG:1D5A EE 47 02 + inc $024B ; CPU:$DD5D PRG:1D5D EE 4B 02 + inc $024F ; CPU:$DD60 PRG:1D60 EE 4F 02 + lda $0240 ; CPU:$DD63 PRG:1D63 AD 40 02 + cmp #$97 ; CPU:$DD66 PRG:1D66 C9 97 + bne UpdateTimersBeqDD33Alt ; CPU:$DD68 PRG:1D68 D0 C9 + lda #$F4 ; CPU:$DD6A PRG:1D6A A9 F4 + sta $0240 ; CPU:$DD6C PRG:1D6C 8D 40 02 + sta $0244 ; CPU:$DD6F PRG:1D6F 8D 44 02 + sta $0248 ; CPU:$DD72 PRG:1D72 8D 48 02 + sta $024C ; CPU:$DD75 PRG:1D75 8D 4C 02 + lda #$00 ; CPU:$DD78 PRG:1D78 A9 00 + sta Zp90 ; CPU:$DD7A PRG:1D7A 85 90 + rts ; CPU:$DD7C PRG:1D7C 60 +; ---- data $DD7D-$DD8B (15 bytes) ---- + .byte $A0, $13, $A2, $00, $DE, $07, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$DD7D PRG:1D7D A0 13 A2 00 DE 07 02 E8 E8 E8 E8 88 D0 F6 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersAnd1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersAnd1F: + lda Zp2A ; CPU:$DD8C PRG:1D8C A5 2A + and #$1F ; CPU:$DD8E PRG:1D8E 29 1F + bne UpdateTimersCallCDE0 ; CPU:$DD90 PRG:1D90 D0 19 + ldx #$00 ; CPU:$DD92 PRG:1D92 A2 00 + ldy #$02 ; CPU:$DD94 PRG:1D94 A0 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersBneDDAB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersBneDDAB: + lda $021D,x ; CPU:$DD96 PRG:1D96 BD 1D 02 + eor #$03 ; CPU:$DD99 PRG:1D99 49 03 + sta $021D,x ; CPU:$DD9B PRG:1D9B 9D 1D 02 + lda $021E,x ; CPU:$DD9E PRG:1D9E BD 1E 02 + eor #$40 ; CPU:$DDA1 PRG:1DA1 49 40 + sta $021E,x ; CPU:$DDA3 PRG:1DA3 9D 1E 02 + ldx #$0C ; CPU:$DDA6 PRG:1DA6 A2 0C + dey ; CPU:$DDA8 PRG:1DA8 88 + bne UpdateTimersBneDDAB ; CPU:$DDA9 PRG:1DA9 D0 EB +; ----------------------------------------------------------------------------- +; Routine: UpdateTimersCallCDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateTimersCallCDE0: + rts ; CPU:$DDAB PRG:1DAB 60 +; ---- data $DDAC-$DE02 (87 bytes) ---- + .byte $A2, $00, $A9, $00, $9D, $60, $02, $9D, $62, $02, $9D, $63, $02, $A9, $E8, $9D ; CPU:$DDAC PRG:1DAC A2 00 A9 00 9D 60 02 9D 62 02 9D 63 02 A9 E8 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E8, $A9, $32, $8D, $60, $02, $A9 ; CPU:$DDBC PRG:1DBC 61 02 E8 E8 E8 E8 E0 A0 D0 E8 A9 32 8D 60 02 A9 + .byte $A0, $8D, $63, $02, $60, $A5, $2A, $29, $7F, $D0, $1F, $A2, $00, $AC, $EC, $05 ; CPU:$DDCC PRG:1DCC A0 8D 63 02 60 A5 2A 29 7F D0 1F A2 00 AC EC 05 + .byte $98, $69, $75, $A8, $29, $C3, $9D, $62, $02, $A9, $E8, $90, $02, $A9, $E9, $9D ; CPU:$DDDC PRG:1DDC 98 69 75 A8 29 C3 9D 62 02 A9 E8 90 02 A9 E9 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E6, $60, $A2, $1B, $BD, $CC, $F8 ; CPU:$DDEC PRG:1DEC 61 02 E8 E8 E8 E8 E0 A0 D0 E6 60 A2 1B BD CC F8 + .byte $9D, $40, $02, $CA, $10, $F7, $60 ; CPU:$DDFC PRG:1DFC 9D 40 02 CA 10 F7 60 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsExit: + lda Zp1F ; CPU:$DE03 PRG:1E03 A5 1F + bne ProcessInputsCheckZp1F ; CPU:$DE05 PRG:1E05 D0 2E + ldx Zp89 ; CPU:$DE07 PRG:1E07 A6 89 + cpx #$00 ; CPU:$DE09 PRG:1E09 E0 00 + bne ProcessInputsCheckZp1F ; CPU:$DE0B PRG:1E0B D0 28 + lda #$00 ; CPU:$DE0D PRG:1E0D A9 00 + sta Zp19 ; CPU:$DE0F PRG:1E0F 85 19 + lda Zp82 ; CPU:$DE11 PRG:1E11 A5 82 + beq ProcessInputsEntry ; CPU:$DE13 PRG:1E13 F0 07 + lda $0204 ; CPU:$DE15 PRG:1E15 AD 04 02 + cmp #$9F ; CPU:$DE18 PRG:1E18 C9 9F + beq ProcessInputsCheckZp1F ; CPU:$DE1A PRG:1E1A F0 19 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsEntry: + lda Zp40 ; CPU:$DE1C PRG:1E1C A5 40 + jsr $CDE0 ; CPU:$DE1E PRG:1E1E 20 E0 CD + ora $2CD0,y ; CPU:$DE21 PRG:1E21 19 D0 2C +; ---- data $DE24-$DE34 (17 bytes) ---- + .byte $DF, $36, $DE, $C9, $DE, $D8, $DE, $F0, $DE, $F4, $DE, $19, $DF, $A9, $06, $85 ; CPU:$DE24 PRG:1E24 DF 36 DE C9 DE D8 DE F0 DE F4 DE 19 DF A9 06 85 + .byte $40 ; CPU:$DE34 PRG:1E34 40 +; ----------------------------------------------------------------------------- +; Routine: ProcessInputsCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +ProcessInputsCheckZp1F: + rts ; CPU:$DE35 PRG:1E35 60 +; ---- data $DE36-$DEC8 (147 bytes) ---- + .byte $A9, $01, $85, $40, $A5, $31, $C9, $01, $D0, $5A, $AD, $58, $02, $C9, $F4, $F0 ; CPU:$DE36 PRG:1E36 A9 01 85 40 A5 31 C9 01 D0 5A AD 58 02 C9 F4 F0 + .byte $1C, $C9, $5B, $90, $18, $AD, $5B, $02, $38, $E9, $04, $85, $00, $38, $A5, $33 ; CPU:$DE46 PRG:1E46 1C C9 5B 90 18 AD 5B 02 38 E9 04 85 00 38 A5 33 + .byte $E5, $00, $90, $09, $C9, $0E, $B0, $05, $A9, $07, $85, $40, $60, $A5, $88, $F0 ; CPU:$DE56 PRG:1E56 E5 00 90 09 C9 0E B0 05 A9 07 85 40 60 A5 88 F0 + .byte $CA, $AD, $21, $03, $C9, $0D, $F0, $5F, $C9, $08, $B0, $C3, $AE, $EC, $05, $A4 ; CPU:$DE66 PRG:1E66 CA AD 21 03 C9 0D F0 5F C9 08 B0 C3 AE EC 05 A4 + .byte $8F, $C0, $03, $B0, $00, $C9, $03, $D0, $37, $AD, $4C, $03, $F0, $07, $8A, $A0 ; CPU:$DE76 PRG:1E76 8F C0 03 B0 00 C9 03 D0 37 AD 4C 03 F0 07 8A A0 + .byte $80, $29, $07, $F0, $0C, $20, $96, $DF, $A0, $01, $29, $07, $F0, $03, $4C, $6D ; CPU:$DE86 PRG:1E86 80 29 07 F0 0C 20 96 DF A0 01 29 07 F0 03 4C 6D + .byte $DF, $84, $19, $60, $C9, $06, $F0, $05, $C9, $02, $F0, $08, $60, $8A, $A0, $01 ; CPU:$DE96 PRG:1E96 DF 84 19 60 C9 06 F0 05 C9 02 F0 08 60 8A A0 01 + .byte $29, $0F, $F0, $ED, $20, $96, $DF, $A0, $80, $29, $3F, $F0, $E4, $4C, $6D, $DF ; CPU:$DEA6 PRG:1EA6 29 0F F0 ED 20 96 DF A0 80 29 3F F0 E4 4C 6D DF + .byte $8A, $A0, $05, $29, $01, $F0, $09, $20, $96, $DF, $29, $01, $D0, $D0, $A0, $03 ; CPU:$DEB6 PRG:1EB6 8A A0 05 29 01 F0 09 20 96 DF 29 01 D0 D0 A0 03 + .byte $84, $40, $60 ; CPU:$DEC6 PRG:1EC6 84 40 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundState +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundState: + lda #$01 ; CPU:$DEC9 PRG:1EC9 A9 01 + sta Zp19 ; CPU:$DECB PRG:1ECB 85 19 + lda ZpAC ; CPU:$DECD PRG:1ECD A5 AC + sta Zp8D ; CPU:$DECF PRG:1ECF 85 8D + ldx #$04 ; CPU:$DED1 PRG:1ED1 A2 04 + stx Zp40 ; CPU:$DED3 PRG:1ED3 86 40 + jmp $DF7A ; CPU:$DED5 PRG:1ED5 4C 7A DF +; ---- data $DED8-$DF4B (116 bytes) ---- + .byte $A5, $8D, $F0, $03, $C6, $8D, $60, $A0, $80, $AD, $EC, $05, $29, $01, $D0, $02 ; CPU:$DED8 PRG:1ED8 A5 8D F0 03 C6 8D 60 A0 80 AD EC 05 29 01 D0 02 + .byte $A0, $40, $A9, $01, $85, $40, $D0, $A7, $A5, $AC, $D0, $DB, $A5, $88, $D0, $1D ; CPU:$DEE8 PRG:1EE8 A0 40 A9 01 85 40 D0 A7 A5 AC D0 DB A5 88 D0 1D + .byte $AD, $58, $02, $C9, $F4, $F0, $12, $C9, $5B, $90, $0E, $A5, $33, $38, $ED, $5B ; CPU:$DEF8 PRG:1EF8 AD 58 02 C9 F4 F0 12 C9 5B 90 0E A5 33 38 ED 5B + .byte $02, $90, $06, $C9, $15, $B0, $02, $90, $04, $A0, $02, $D0, $82, $A0, $00, $F0 ; CPU:$DF08 PRG:1F08 02 90 06 C9 15 B0 02 90 04 A0 02 D0 82 A0 00 F0 + .byte $D1, $A5, $3A, $D0, $0B, $A5, $35, $C9, $01, $F0, $F2, $A0, $01, $4C, $97, $DE ; CPU:$DF18 PRG:1F18 D1 A5 3A D0 0B A5 35 C9 01 F0 F2 A0 01 4C 97 DE + .byte $A0, $01, $D0, $BE, $A6, $71, $E0, $02, $B0, $10, $A5, $33, $C9, $67, $B0, $0A ; CPU:$DF28 PRG:1F28 A0 01 D0 BE A6 71 E0 02 B0 10 A5 33 C9 67 B0 0A + .byte $A9, $00, $E0, $00, $F0, $02, $A9, $01, $85, $8F, $A5, $8E, $F0, $16, $A6, $8F ; CPU:$DF38 PRG:1F38 A9 00 E0 00 F0 02 A9 01 85 8F A5 8E F0 16 A6 8F + .byte $E0, $02, $90, $0A ; CPU:$DF48 PRG:1F48 E0 02 90 0A +; ----------------------------------------------------------------------------- +; Routine: UpdateRoundStateAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateRoundStateAlt: + and #$07 ; CPU:$DF4C PRG:1F4C 29 07 + bne HandleKOEntry ; CPU:$DF4E PRG:1F4E D0 03 + jsr $DF9E ; CPU:$DF50 PRG:1F50 20 9E DF +; ----------------------------------------------------------------------------- +; Routine: HandleKOEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOEntry: + dec Zp8E ; CPU:$DF53 PRG:1F53 C6 8E + rts ; CPU:$DF55 PRG:1F55 60 +; ---- data $DF56-$DF73 (30 bytes) ---- + .byte $29, $0F, $D0, $F9, $F0, $F4, $A5, $8F, $0A, $AA, $BD, $EA, $DF, $85, $8E, $BD ; CPU:$DF56 PRG:1F56 29 0F D0 F9 F0 F4 A5 8F 0A AA BD EA DF 85 8E BD + .byte $EB, $DF, $85, $AC, $E6, $40, $60, $A9, $04, $AC, $34, $03, $D0, $01 ; CPU:$DF66 PRG:1F66 EB DF 85 AC E6 40 60 A9 04 AC 34 03 D0 01 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLda05EC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLda05EC: + asl a ; CPU:$DF74 PRG:1F74 0A +; ----------------------------------------------------------------------------- +; Routine: HandleKOAnd07 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOAnd07: + ora Zp19 ; CPU:$DF75 PRG:1F75 05 19 + sta Zp19 ; CPU:$DF77 PRG:1F77 85 19 + rts ; CPU:$DF79 PRG:1F79 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLoop: + lda $05EC ; CPU:$DF7A PRG:1F7A AD EC 05 + sta Zp00 ; CPU:$DF7D PRG:1F7D 85 00 + and #$07 ; CPU:$DF7F PRG:1F7F 29 07 + bne HandleKOCmp07 ; CPU:$DF81 PRG:1F81 D0 0A + lda #$04 ; CPU:$DF83 PRG:1F83 A9 04 + lsr Zp00 ; CPU:$DF85 PRG:1F85 46 00 + bcc HandleKOAnd07 ; CPU:$DF87 PRG:1F87 90 EC + lda #$08 ; CPU:$DF89 PRG:1F89 A9 08 + bne HandleKOAnd07 ; CPU:$DF8B PRG:1F8B D0 E8 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCmp07 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCmp07: + lda #$04 ; CPU:$DF8D PRG:1F8D A9 04 + ldy $0334 ; CPU:$DF8F PRG:1F8F AC 34 03 + beq HandleKOAnd07 ; CPU:$DF92 PRG:1F92 F0 E1 + bne HandleKOLda05EC ; CPU:$DF94 PRG:1F94 D0 DE + txa ; CPU:$DF96 PRG:1F96 8A + adc Zp4D ; CPU:$DF97 PRG:1F97 65 4D + sta $05EC ; CPU:$DF99 PRG:1F99 8D EC 05 + tax ; CPU:$DF9C PRG:1F9C AA + rts ; CPU:$DF9D PRG:1F9D 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp88 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp88: + lda Zp88 ; CPU:$DF9E PRG:1F9E A5 88 + beq HandleKOLda0321 ; CPU:$DFA0 PRG:1FA0 F0 15 + lda $0321 ; CPU:$DFA2 PRG:1FA2 AD 21 03 + cmp #$08 ; CPU:$DFA5 PRG:1FA5 C9 08 + beq HandleKOLda0321 ; CPU:$DFA7 PRG:1FA7 F0 0E + ldx $05EC ; CPU:$DFA9 PRG:1FA9 AE EC 05 + lda #$01 ; CPU:$DFAC PRG:1FAC A9 01 +; ----------------------------------------------------------------------------- +; Routine: HandleKOBeqDFB7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOBeqDFB7: + rol a ; CPU:$DFAE PRG:1FAE 2A + dex ; CPU:$DFAF PRG:1FAF CA + bne HandleKOBeqDFB7 ; CPU:$DFB0 PRG:1FB0 D0 FC + and #$CE ; CPU:$DFB2 PRG:1FB2 29 CE + sta Zp19 ; CPU:$DFB4 PRG:1FB4 85 19 + rts ; CPU:$DFB6 PRG:1FB6 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOLda0321 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOLda0321: + lda #$06 ; CPU:$DFB7 PRG:1FB7 A9 06 + sta Zp40 ; CPU:$DFB9 PRG:1FB9 85 40 + rts ; CPU:$DFBB PRG:1FBB 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp1F_DFBC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp1F_DFBC: + lda Zp1F ; CPU:$DFBC PRG:1FBC A5 1F + bne HandleKOCheckZp1F ; CPU:$DFBE PRG:1FBE D0 24 + lda $05EC ; CPU:$DFC0 PRG:1FC0 AD EC 05 + and #$01 ; CPU:$DFC3 PRG:1FC3 29 01 + bne HandleKOCheckZp1F ; CPU:$DFC5 PRG:1FC5 D0 1D + lda Zp71 ; CPU:$DFC7 PRG:1FC7 A5 71 + asl a ; CPU:$DFC9 PRG:1FC9 0A + tax ; CPU:$DFCA PRG:1FCA AA + lda $E00C,x ; CPU:$DFCB PRG:1FCB BD 0C E0 + sta Zp00 ; CPU:$DFCE PRG:1FCE 85 00 + lda $E00D,x ; CPU:$DFD0 PRG:1FD0 BD 0D E0 + sta Zp01 ; CPU:$DFD3 PRG:1FD3 85 01 + ldx $05EC ; CPU:$DFD5 PRG:1FD5 AE EC 05 + ldy Zp8F ; CPU:$DFD8 PRG:1FD8 A4 8F +; ----------------------------------------------------------------------------- +; Routine: HandleKODex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKODex: + iny ; CPU:$DFDA PRG:1FDA C8 + cpy Zp01 ; CPU:$DFDB PRG:1FDB C4 01 + bcs HandleKOBeqDFE4 ; CPU:$DFDD PRG:1FDD B0 06 +; ----------------------------------------------------------------------------- +; Routine: HandleKODexBne +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKODexBne: + dex ; CPU:$DFDF PRG:1FDF CA + bne HandleKODex ; CPU:$DFE0 PRG:1FE0 D0 F8 + sty Zp8F ; CPU:$DFE2 PRG:1FE2 84 8F +; ----------------------------------------------------------------------------- +; Routine: HandleKOCheckZp1F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOCheckZp1F: + rts ; CPU:$DFE4 PRG:1FE4 60 +; ----------------------------------------------------------------------------- +; Routine: HandleKOBeqDFE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleKOBeqDFE4: + ldy Zp00 ; CPU:$DFE5 PRG:1FE5 A4 00 + jmp $DFDF ; CPU:$DFE7 PRG:1FE7 4C DF DF +; ---- data $DFEA-$E03F (86 bytes) ---- +; referenced by `lda $E00C,x` at $DFCB (operand $E00C falls inside this region) +; referenced by `lda $E00D,x` at $DFD0 (operand $E00D falls inside this region) + .byte $FF, $20, $E0, $14, $FF, $14, $E0, $14, $C0, $0C, $A0, $0A, $80, $07, $60, $07 ; CPU:$DFEA PRG:1FEA FF 20 E0 14 FF 14 E0 14 C0 0C A0 0A 80 07 60 07 + .byte $40, $07, $20, $07, $10, $08, $06, $06, $04, $04, $02, $04, $00, $04, $00, $03 ; CPU:$DFFA PRG:1FFA 40 07 20 07 10 08 06 06 04 04 02 04 00 04 00 03 + .byte $00, $03, $00, $02, $00, $03, $01, $03, $02, $04, $02, $05, $03, $05, $03, $06 ; CPU:$E00A PRG:200A 00 03 00 02 00 03 01 03 02 04 02 05 03 05 03 06 + .byte $04, $07, $04, $08, $05, $09, $05, $0A, $05, $0B, $06, $0B, $06, $0C, $07, $0C ; CPU:$E01A PRG:201A 04 07 04 08 05 09 05 0A 05 0B 06 0B 06 0C 07 0C + .byte $07, $0D, $08, $0D, $08, $0E, $09, $0E, $09, $0F, $0A, $0F, $0B, $0F, $0C, $10 ; CPU:$E02A PRG:202A 07 0D 08 0D 08 0E 09 0E 09 0F 0A 0F 0B 0F 0C 10 + .byte $0D, $10, $0E, $10, $0F, $10 ; CPU:$E03A PRG:203A 0D 10 0E 10 0F 10 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CheckZpC0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CheckZpC0: + lda ZpC0 ; CPU:$E040 PRG:2040 A5 C0 + beq HandlePlayer1Entry ; CPU:$E042 PRG:2042 F0 31 + ldx Zp89 ; CPU:$E044 PRG:2044 A6 89 + cpx #$01 ; CPU:$E046 PRG:2046 E0 01 + bne HandlePlayer1Entry ; CPU:$E048 PRG:2048 D0 2B + lda #$00 ; CPU:$E04A PRG:204A A9 00 + sta Zp18 ; CPU:$E04C PRG:204C 85 18 + lda Zp88 ; CPU:$E04E PRG:204E A5 88 + bne HandlePlayer1LdxZp89 ; CPU:$E050 PRG:2050 D0 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1BeqE075 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1BeqE075: + lda #$01 ; CPU:$E052 PRG:2052 A9 01 + bne HandlePlayer1CallE1FD ; CPU:$E054 PRG:2054 D0 1D +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LdxZp89 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LdxZp89: + lda $0301 ; CPU:$E056 PRG:2056 AD 01 03 + cmp #$08 ; CPU:$E059 PRG:2059 C9 08 + beq HandlePlayer1BeqE075 ; CPU:$E05B PRG:205B F0 F5 + lda Zp70 ; CPU:$E05D PRG:205D A5 70 + beq HandlePlayer2Exit ; CPU:$E05F PRG:205F F0 03 + dec Zp70 ; CPU:$E061 PRG:2061 C6 70 + rts ; CPU:$E063 PRG:2063 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Exit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Exit: + lda #$08 ; CPU:$E064 PRG:2064 A9 08 + sta Zp70 ; CPU:$E066 PRG:2066 85 70 + lda #$01 ; CPU:$E068 PRG:2068 A9 01 + ldx $05EC ; CPU:$E06A PRG:206A AE EC 05 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CallE1CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CallE1CD: + rol a ; CPU:$E06D PRG:206D 2A + dex ; CPU:$E06E PRG:206E CA + bne HandlePlayer1CallE1CD ; CPU:$E06F PRG:206F D0 FC + and #$CD ; CPU:$E071 PRG:2071 29 CD +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CallE1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CallE1FD: + sta Zp18 ; CPU:$E073 PRG:2073 85 18 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1Entry: + rts ; CPU:$E075 PRG:2075 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1Alt: + ldx Zp93 ; CPU:$E076 PRG:2076 A6 93 + bne HandlePlayer1Entry ; CPU:$E078 PRG:2078 D0 FB + lda Zp31 ; CPU:$E07A PRG:207A A5 31 + jsr $CDE0 ; CPU:$E07C PRG:207C 20 E0 CD + ora $8DD0,y ; CPU:$E07F PRG:207F 19 D0 8D + cpx #$E9 ; CPU:$E082 PRG:2082 E0 E9 + cpx #$FC ; CPU:$E084 PRG:2084 E0 FC + cpx #$1D ; CPU:$E086 PRG:2086 E0 1D + sbc (ZpC0,x) ; CPU:$E088 PRG:2088 E1 C0 + sbc (ZpAB,x) ; CPU:$E08A PRG:208A E1 AB + dec ZpA5,x ; CPU:$E08C PRG:208C D6 A5 + rol a ; CPU:$E08E PRG:208E 2A + bne HandlePlayer1Entry ; CPU:$E08F PRG:208F D0 E4 + ldy $0301 ; CPU:$E091 PRG:2091 AC 01 03 + cpy #$05 ; CPU:$E094 PRG:2094 C0 05 + bcs HandlePlayer1Entry ; CPU:$E096 PRG:2096 B0 DD + ldy $0321 ; CPU:$E098 PRG:2098 AC 21 03 + cpy #$05 ; CPU:$E09B PRG:209B C0 05 + bcs HandlePlayer2Entry ; CPU:$E09D PRG:209D B0 7D + lda $05EC ; CPU:$E09F PRG:209F AD EC 05 + and #$7F ; CPU:$E0A2 PRG:20A2 29 7F + bne HandlePlayer1Entry ; CPU:$E0A4 PRG:20A4 D0 CF + ldx Zp1F ; CPU:$E0A6 PRG:20A6 A6 1F + beq HandlePlayer1CheckZp87 ; CPU:$E0A8 PRG:20A8 F0 0A + lda $05EC ; CPU:$E0AA PRG:20AA AD EC 05 + ldx $0303 ; CPU:$E0AD PRG:20AD AE 03 03 + and #$08 ; CPU:$E0B0 PRG:20B0 29 08 + bne HandlePlayer1BeqE235 ; CPU:$E0B2 PRG:20B2 D0 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1CheckZp87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1CheckZp87: + ldx $0323 ; CPU:$E0B4 PRG:20B4 AE 23 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1BeqE235 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1BeqE235: + txa ; CPU:$E0B7 PRG:20B7 8A + sec ; CPU:$E0B8 PRG:20B8 38 + sbc #$0F ; CPU:$E0B9 PRG:20B9 E9 0F + and #$F0 ; CPU:$E0BB PRG:20BB 29 F0 + ora #$18 ; CPU:$E0BD PRG:20BD 09 18 + cmp #$30 ; CPU:$E0BF PRG:20BF C9 30 + bcc HandlePlayer2Entry ; CPU:$E0C1 PRG:20C1 90 59 + cmp #$D0 ; CPU:$E0C3 PRG:20C3 C9 D0 + bcs HandlePlayer2Entry ; CPU:$E0C5 PRG:20C5 B0 55 + sta Zp33 ; CPU:$E0C7 PRG:20C7 85 33 + lda #$00 ; CPU:$E0C9 PRG:20C9 A9 00 + ldx Zp82 ; CPU:$E0CB PRG:20CB A6 82 + bne HandlePlayer2CallE1FD ; CPU:$E0CD PRG:20CD D0 4B + lda #$01 ; CPU:$E0CF PRG:20CF A9 01 + ldx Zp84 ; CPU:$E0D1 PRG:20D1 A6 84 + cpx #$01 ; CPU:$E0D3 PRG:20D3 E0 01 + bne HandlePlayer2CallE1FD ; CPU:$E0D5 PRG:20D5 D0 43 + ldx $0301 ; CPU:$E0D7 PRG:20D7 AE 01 03 + cpx #$0D ; CPU:$E0DA PRG:20DA E0 0D + beq HandlePlayer2CallE1FD ; CPU:$E0DC PRG:20DC F0 3C + ldx $0321 ; CPU:$E0DE PRG:20DE AE 21 03 + cpx #$0D ; CPU:$E0E1 PRG:20E1 E0 0D + beq HandlePlayer2CallE1FD ; CPU:$E0E3 PRG:20E3 F0 35 + lda #$02 ; CPU:$E0E5 PRG:20E5 A9 02 + bne HandlePlayer2CallE1FD ; CPU:$E0E7 PRG:20E7 D0 31 + dec Zp32 ; CPU:$E0E9 PRG:20E9 C6 32 + lda Zp32 ; CPU:$E0EB PRG:20EB A5 32 + cmp #$2B ; CPU:$E0ED PRG:20ED C9 2B + bne HandlePlayer2Entry ; CPU:$E0EF PRG:20EF D0 2B + lda #$12 ; CPU:$E0F1 PRG:20F1 A9 12 + sta Zp35 ; CPU:$E0F3 PRG:20F3 85 35 + jsr $E1CD ; CPU:$E0F5 PRG:20F5 20 CD E1 + lda #$03 ; CPU:$E0F8 PRG:20F8 A9 03 + bne HandlePlayer2CallE1FD ; CPU:$E0FA PRG:20FA D0 1E + lda $05EC ; CPU:$E0FC PRG:20FC AD EC 05 + clc ; CPU:$E0FF PRG:20FF 18 + adc #$08 ; CPU:$E100 PRG:2100 69 08 + bcc HandlePlayer2Entry ; CPU:$E102 PRG:2102 90 18 + lda #$13 ; CPU:$E104 PRG:2104 A9 13 + sta Zp35 ; CPU:$E106 PRG:2106 85 35 + jsr $E1FD ; CPU:$E108 PRG:2108 20 FD E1 + lda #$2F ; CPU:$E10B PRG:210B A9 2F + sta $0258,x ; CPU:$E10D PRG:210D 9D 58 02 + lda #$27 ; CPU:$E110 PRG:2110 A9 27 + sta $025C,x ; CPU:$E112 PRG:2112 9D 5C 02 + jsr $E7C6 ; CPU:$E115 PRG:2115 20 C6 E7 + lda #$04 ; CPU:$E118 PRG:2118 A9 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2CallE1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2CallE1FD: + sta Zp31 ; CPU:$E11A PRG:211A 85 31 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Entry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Entry: + rts ; CPU:$E11C PRG:211C 60 +; ---- data $E11D-$E1CC (176 bytes) ---- + .byte $20, $FD, $E1, $FE, $58, $02, $FE, $5C, $02, $BD, $58, $02, $C9, $6D, $90, $EF ; CPU:$E11D PRG:211D 20 FD E1 FE 58 02 FE 5C 02 BD 58 02 C9 6D 90 EF + .byte $C9, $79, $90, $0E, $C9, $8E, $D0, $E7, $20, $1E, $E2, $20, $CE, $E7, $A9, $05 ; CPU:$E12D PRG:212D C9 79 90 0E C9 8E D0 E7 20 1E E2 20 CE E7 A9 05 + .byte $D0, $DB, $48, $86, $00, $A2, $01, $86, $01, $A9, $0A, $BC, $00, $03, $C0, $04 ; CPU:$E13D PRG:213D D0 DB 48 86 00 A2 01 86 01 A9 0A BC 00 03 C0 04 + .byte $D0, $06, $18, $7D, $02, $03, $D0, $03, $BD, $02, $03, $A4, $00, $38, $E9, $04 ; CPU:$E14D PRG:214D D0 06 18 7D 02 03 D0 03 BD 02 03 A4 00 38 E9 04 + .byte $38, $F9, $5B, $02, $B0, $04, $49, $FF, $69, $01, $C9, $06, $90, $0E, $68, $A4 ; CPU:$E15D PRG:215D 38 F9 5B 02 B0 04 49 FF 69 01 C9 06 90 0E 68 A4 + .byte $01, $F0, $C1, $48, $C6, $01, $A9, $F1, $A2, $21, $D0, $CF, $68, $A9, $0D, $9D ; CPU:$E16D PRG:216D 01 F0 C1 48 C6 01 A9 F1 A2 21 D0 CF 68 A9 0D 9D + .byte $00, $03, $A9, $0E, $9D, $12, $03, $A9, $7B, $9D, $01, $03, $8A, $48, $A9, $0F ; CPU:$E17D PRG:217D 00 03 A9 0E 9D 12 03 A9 7B 9D 01 03 8A 48 A9 0F + .byte $E0, $01, $F0, $02, $A9, $00, $A2, $05, $20, $C9, $E2, $68, $AA, $A9, $00, $9D ; CPU:$E18D PRG:218D E0 01 F0 02 A9 00 A2 05 20 C9 E2 68 AA A9 00 9D + .byte $11, $03, $9D, $10, $03, $9D, $0D, $03, $85, $88, $E6, $8B, $20, $CE, $E7, $20 ; CPU:$E19D PRG:219D 11 03 9D 10 03 9D 0D 03 85 88 E6 8B 20 CE E7 20 + .byte $CA, $E7, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $A9, $FF, $99, $2B, $00, $A6, $00 ; CPU:$E1AD PRG:21AD CA E7 8A 4A 4A 4A 4A 4A A8 A9 FF 99 2B 00 A6 00 + .byte $4C, $3B, $E1, $E6, $32, $A5, $32, $C9, $3D, $D0, $34, $A9, $01, $4C, $3D, $E1 ; CPU:$E1BD PRG:21BD 4C 3B E1 E6 32 A5 32 C9 3D D0 34 A9 01 4C 3D E1 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2CallE1FDEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2CallE1FDEntry: + jsr $E1FD ; CPU:$E1CD PRG:21CD 20 FD E1 + lda #$1D ; CPU:$E1D0 PRG:21D0 A9 1D + sta $0258,x ; CPU:$E1D2 PRG:21D2 9D 58 02 + lda #$15 ; CPU:$E1D5 PRG:21D5 A9 15 + sta $025C,x ; CPU:$E1D7 PRG:21D7 9D 5C 02 + inx ; CPU:$E1DA PRG:21DA E8 + lda #$6D ; CPU:$E1DB PRG:21DB A9 6D + sta $0258,x ; CPU:$E1DD PRG:21DD 9D 58 02 + lda #$6C ; CPU:$E1E0 PRG:21E0 A9 6C + sta $025C,x ; CPU:$E1E2 PRG:21E2 9D 5C 02 + inx ; CPU:$E1E5 PRG:21E5 E8 + lda #$02 ; CPU:$E1E6 PRG:21E6 A9 02 + sta $0258,x ; CPU:$E1E8 PRG:21E8 9D 58 02 + lda #$03 ; CPU:$E1EB PRG:21EB A9 03 + sta $025C,x ; CPU:$E1ED PRG:21ED 9D 5C 02 + inx ; CPU:$E1F0 PRG:21F0 E8 + lda Zp33 ; CPU:$E1F1 PRG:21F1 A5 33 + clc ; CPU:$E1F3 PRG:21F3 18 + adc #$04 ; CPU:$E1F4 PRG:21F4 69 04 + sta $0258,x ; CPU:$E1F6 PRG:21F6 9D 58 02 + sta $025C,x ; CPU:$E1F9 PRG:21F9 9D 5C 02 + rts ; CPU:$E1FC PRG:21FC 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Dex +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Dex: + ldx Zp89 ; CPU:$E1FD PRG:21FD A6 89 + dex ; CPU:$E1FF PRG:21FF CA + dex ; CPU:$E200 PRG:2200 CA + txa ; CPU:$E201 PRG:2201 8A + asl a ; CPU:$E202 PRG:2202 0A + asl a ; CPU:$E203 PRG:2203 0A + asl a ; CPU:$E204 PRG:2204 0A + tax ; CPU:$E205 PRG:2205 AA + rts ; CPU:$E206 PRG:2206 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLdxZp36 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLdxZp36: + ldx Zp36 ; CPU:$E207 PRG:2207 A6 36 + inx ; CPU:$E209 PRG:2209 E8 + inx ; CPU:$E20A PRG:220A E8 + ldy #$03 ; CPU:$E20B PRG:220B A0 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicInx +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicInx: + lda $0200,x ; CPU:$E20D PRG:220D BD 00 02 + ora #$40 ; CPU:$E210 PRG:2210 09 40 + sta $0200,x ; CPU:$E212 PRG:2212 9D 00 02 + txa ; CPU:$E215 PRG:2215 8A + clc ; CPU:$E216 PRG:2216 18 + adc #$08 ; CPU:$E217 PRG:2217 69 08 + tax ; CPU:$E219 PRG:2219 AA + dey ; CPU:$E21A PRG:221A 88 + bne HandlePlayer1LogicInx ; CPU:$E21B PRG:221B D0 F0 + rts ; CPU:$E21D PRG:221D 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLda0258 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLda0258: + lda $0258 ; CPU:$E21E PRG:221E AD 58 02 + beq HandlePlayer1LogicBeq ; CPU:$E221 PRG:2221 F0 12 + lda Zp87 ; CPU:$E223 PRG:2223 A5 87 + bne HandlePlayer1LogicBeq ; CPU:$E225 PRG:2225 D0 0E + lda #$6F ; CPU:$E227 PRG:2227 A9 6F + sta $0259 ; CPU:$E229 PRG:2229 8D 59 02 + lda #$6E ; CPU:$E22C PRG:222C A9 6E + sta $025D ; CPU:$E22E PRG:222E 8D 5D 02 + lda #$0A ; CPU:$E231 PRG:2231 A9 0A + sta Zp87 ; CPU:$E233 PRG:2233 85 87 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicBeq +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicBeq: + rts ; CPU:$E235 PRG:2235 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicLdaZp87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicLdaZp87: + stx Zp0C ; CPU:$E236 PRG:2236 86 0C + sty Zp0D ; CPU:$E238 PRG:2238 84 0D + asl a ; CPU:$E23A PRG:223A 0A + tax ; CPU:$E23B PRG:223B AA + lda $F9CF,x ; CPU:$E23C PRG:223C BD CF F9 + sta Zp14 ; CPU:$E23F PRG:223F 85 14 + lda $F9D0,x ; CPU:$E241 PRG:2241 BD D0 F9 + sta Zp15 ; CPU:$E244 PRG:2244 85 15 + ldx #$05 ; CPU:$E246 PRG:2246 A2 05 + ldy #$04 ; CPU:$E248 PRG:2248 A0 04 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE4E2: + dey ; CPU:$E24A PRG:224A 88 + dex ; CPU:$E24B PRG:224B CA + beq HandlePlayer1LogicCallE5AC ; CPU:$E24C PRG:224C F0 07 + lda (Zp14),y ; CPU:$E24E PRG:224E B1 14 + sta $0500,x ; CPU:$E250 PRG:2250 9D 00 05 + bne HandlePlayer1LogicCallE4E2 ; CPU:$E253 PRG:2253 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE5AC: + lda #$22 ; CPU:$E255 PRG:2255 A9 22 + sta $0500 ; CPU:$E257 PRG:2257 8D 00 05 + ldx Zp0C ; CPU:$E25A PRG:225A A6 0C + ldy Zp0D ; CPU:$E25C PRG:225C A4 0D + jsr $D08E ; CPU:$E25E PRG:225E 20 8E D0 + lda Zp0D ; CPU:$E261 PRG:2261 A5 0D + clc ; CPU:$E263 PRG:2263 18 + adc #$04 ; CPU:$E264 PRG:2264 69 04 + tay ; CPU:$E266 PRG:2266 A8 + ldx Zp0C ; CPU:$E267 PRG:2267 A6 0C + jmp $D08E ; CPU:$E269 PRG:2269 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer1LogicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer1LogicCallE4E2Alt: + stx Zp0E ; CPU:$E26C PRG:226C 86 0E + lda ZpC6,x ; CPU:$E26E PRG:226E B5 C6 + and #$0F ; CPU:$E270 PRG:2270 29 0F + sta ZpCF ; CPU:$E272 PRG:2272 85 CF + lda ZpC6,x ; CPU:$E274 PRG:2274 B5 C6 + lsr a ; CPU:$E276 PRG:2276 4A + lsr a ; CPU:$E277 PRG:2277 4A + lsr a ; CPU:$E278 PRG:2278 4A + lsr a ; CPU:$E279 PRG:2279 4A + sta ZpCE ; CPU:$E27A PRG:227A 85 CE + lda ZpC5,x ; CPU:$E27C PRG:227C B5 C5 + and #$0F ; CPU:$E27E PRG:227E 29 0F + sta ZpCD ; CPU:$E280 PRG:2280 85 CD + lda Zp1F ; CPU:$E282 PRG:2282 A5 1F + bne HandlePlayer2LogicEntry ; CPU:$E284 PRG:2284 D0 0A + cpx #$04 ; CPU:$E286 PRG:2286 E0 04 + bne HandlePlayer2LogicCallE4E2 ; CPU:$E288 PRG:2288 D0 2E + ldx #$07 ; CPU:$E28A PRG:228A A2 07 + ldy #$23 ; CPU:$E28C PRG:228C A0 23 + bne HandlePlayer2LogicCpyZp43 ; CPU:$E28E PRG:228E D0 0C +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicEntry: + ldx #$E7 ; CPU:$E290 PRG:2290 A2 E7 + ldy #$22 ; CPU:$E292 PRG:2292 A0 22 + lda Zp0E ; CPU:$E294 PRG:2294 A5 0E + bne HandlePlayer2LogicCpyZp43 ; CPU:$E296 PRG:2296 D0 04 + ldx #$FB ; CPU:$E298 PRG:2298 A2 FB + ldy #$22 ; CPU:$E29A PRG:229A A0 22 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCpyZp43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCpyZp43: + lda ZpCF ; CPU:$E29C PRG:229C A5 CF + jsr $E236 ; CPU:$E29E PRG:229E 20 36 E2 + ldy #$02 ; CPU:$E2A1 PRG:22A1 A0 02 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicStxZp31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicStxZp31: + sty Zp0F ; CPU:$E2A3 PRG:22A3 84 0F + lda Zp0C ; CPU:$E2A5 PRG:22A5 A5 0C + sec ; CPU:$E2A7 PRG:22A7 38 + sbc #$02 ; CPU:$E2A8 PRG:22A8 E9 02 + tax ; CPU:$E2AA PRG:22AA AA + lda a:$00CC,y ; CPU:$E2AB PRG:22AB B9 CC 00 + ldy Zp0D ; CPU:$E2AE PRG:22AE A4 0D + jsr $E236 ; CPU:$E2B0 PRG:22B0 20 36 E2 + ldy Zp0F ; CPU:$E2B3 PRG:22B3 A4 0F + dey ; CPU:$E2B5 PRG:22B5 88 + bne HandlePlayer2LogicStxZp31 ; CPU:$E2B6 PRG:22B6 D0 EB +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2: + rts ; CPU:$E2B8 PRG:22B8 60 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2Logic +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2Logic: + lda Zp1F ; CPU:$E2B9 PRG:22B9 A5 1F + bne HandlePlayer2LogicCallE5AC ; CPU:$E2BB PRG:22BB D0 04 + lda Zp89 ; CPU:$E2BD PRG:22BD A5 89 + beq HandlePlayer2LogicCallE4E2 ; CPU:$E2BF PRG:22BF F0 F7 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE5AC: + lda #$0F ; CPU:$E2C1 PRG:22C1 A9 0F + ldy Zp89 ; CPU:$E2C3 PRG:22C3 A4 89 + beq HandlePlayerLogicExit ; CPU:$E2C5 PRG:22C5 F0 02 + lda #$00 ; CPU:$E2C7 PRG:22C7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayerLogicExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayerLogicExit: + ldy #$00 ; CPU:$E2C9 PRG:22C9 A0 00 + sty Zp05 ; CPU:$E2CB PRG:22CB 84 05 + sty Zp06 ; CPU:$E2CD PRG:22CD 84 06 + ldy #$FF ; CPU:$E2CF PRG:22CF A0 FF + sty Zp04 ; CPU:$E2D1 PRG:22D1 84 04 + stx Zp07 ; CPU:$E2D3 PRG:22D3 86 07 + jmp $CEBE ; CPU:$E2D5 PRG:22D5 4C BE CE +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt: + lda Zp93 ; CPU:$E2D8 PRG:22D8 A5 93 + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DA PRG:22DA D0 73 + lda Zp82 ; CPU:$E2DC PRG:22DC A5 82 + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DE PRG:22DE D0 6F + ldy #$02 ; CPU:$E2E0 PRG:22E0 A0 02 + lda $0301 ; CPU:$E2E2 PRG:22E2 AD 01 03 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt2: + cmp #$0A ; CPU:$E2E5 PRG:22E5 C9 0A + beq HandleGameOverCallE4E2Alt3 ; CPU:$E2E7 PRG:22E7 F0 66 + cmp #$0B ; CPU:$E2E9 PRG:22E9 C9 0B + beq HandleGameOverCallE4E2Alt3 ; CPU:$E2EB PRG:22EB F0 62 + lda $0321 ; CPU:$E2ED PRG:22ED AD 21 03 + dey ; CPU:$E2F0 PRG:22F0 88 + bne HandlePlayer2LogicCallE4E2Alt2 ; CPU:$E2F1 PRG:22F1 D0 F2 + lda Zp2D ; CPU:$E2F3 PRG:22F3 A5 2D + bne HandleGameOverCallE4E2Alt3 ; CPU:$E2F5 PRG:22F5 D0 58 + lda #$07 ; CPU:$E2F7 PRG:22F7 A9 07 + ldx Zp1F ; CPU:$E2F9 PRG:22F9 A6 1F + bne HandlePlayer2LogicCallE4E2Alt3 ; CPU:$E2FB PRG:22FB D0 02 + lda #$06 ; CPU:$E2FD PRG:22FD A9 06 +; ----------------------------------------------------------------------------- +; Routine: HandlePlayer2LogicCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandlePlayer2LogicCallE4E2Alt3: + sta Zp2D ; CPU:$E2FF PRG:22FF 85 2D + lda Zp81 ; CPU:$E301 PRG:2301 A5 81 + cmp #$03 ; CPU:$E303 PRG:2303 C9 03 + beq HandleGameOverEntry ; CPU:$E305 PRG:2305 F0 08 + cmp #$06 ; CPU:$E307 PRG:2307 C9 06 + beq HandleGameOverEntry ; CPU:$E309 PRG:2309 F0 04 + cmp #$09 ; CPU:$E30B PRG:230B C9 09 + bne HandleGameOverCallE4E2 ; CPU:$E30D PRG:230D D0 03 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverEntry: + jsr $DFBC ; CPU:$E30F PRG:230F 20 BC DF +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2: + dec Zp81 ; CPU:$E312 PRG:2312 C6 81 + bpl HandleGameOverCallE5AC ; CPU:$E314 PRG:2314 10 08 + dec Zp80 ; CPU:$E316 PRG:2316 C6 80 + bmi HandleGameOverCallE4E2Alt2 ; CPU:$E318 PRG:2318 30 2C + lda #$09 ; CPU:$E31A PRG:231A A9 09 + sta Zp81 ; CPU:$E31C PRG:231C 85 81 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE5AC: + lda Zp1F ; CPU:$E31E PRG:231E A5 1F + bne HandleGameOverCallE4E2Alt ; CPU:$E320 PRG:2320 D0 12 + ldx #$0E ; CPU:$E322 PRG:2322 A2 0E + ldy #$23 ; CPU:$E324 PRG:2324 A0 23 + lda Zp80 ; CPU:$E326 PRG:2326 A5 80 + jsr $E236 ; CPU:$E328 PRG:2328 20 36 E2 + ldx #$10 ; CPU:$E32B PRG:232B A2 10 + ldy #$23 ; CPU:$E32D PRG:232D A0 23 + lda Zp81 ; CPU:$E32F PRG:232F A5 81 + jmp $E236 ; CPU:$E331 PRG:2331 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt: + ldx #$2E ; CPU:$E334 PRG:2334 A2 2E + ldy #$23 ; CPU:$E336 PRG:2336 A0 23 + lda Zp80 ; CPU:$E338 PRG:2338 A5 80 + jsr $E236 ; CPU:$E33A PRG:233A 20 36 E2 + ldx #$30 ; CPU:$E33D PRG:233D A2 30 + ldy #$23 ; CPU:$E33F PRG:233F A0 23 + lda Zp81 ; CPU:$E341 PRG:2341 A5 81 + jmp $E236 ; CPU:$E343 PRG:2343 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt2: + inc Zp82 ; CPU:$E346 PRG:2346 E6 82 + lda #$02 ; CPU:$E348 PRG:2348 A9 02 + sta Zp84 ; CPU:$E34A PRG:234A 85 84 + jsr $E80C ; CPU:$E34C PRG:234C 20 0C E8 +; ----------------------------------------------------------------------------- +; Routine: HandleGameOverCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleGameOverCallE4E2Alt3: + rts ; CPU:$E34F PRG:234F 60 +; ---- data $E350-$E40D (190 bytes) ---- + .byte $A5, $1F, $D0, $FB, $A6, $72, $E0, $12, $F0, $32, $BD, $C7, $E3, $85, $0C, $BD ; CPU:$E350 PRG:2350 A5 1F D0 FB A6 72 E0 12 F0 32 BD C7 E3 85 0C BD + .byte $C6, $E3, $8D, $01, $05, $A6, $73, $86, $0D, $E0, $56, $F0, $39, $A9, $11, $8D ; CPU:$E360 PRG:2360 C6 E3 8D 01 05 A6 73 86 0D E0 56 F0 39 A9 11 8D + .byte $00, $05, $20, $B7, $E3, $A5, $0C, $8D, $01, $05, $8D, $02, $05, $8D, $03, $05 ; CPU:$E370 PRG:2370 00 05 20 B7 E3 A5 0C 8D 01 05 8D 02 05 8D 03 05 + .byte $A9, $13, $8D, $00, $05, $A2, $F5, $86, $0D, $4C, $B7, $E3, $A0, $09, $A2, $08 ; CPU:$E380 PRG:2380 A9 13 8D 00 05 A2 F5 86 0D 4C B7 E3 A0 09 A2 08 + .byte $BD, $D7, $E3, $99, $FF, $04, $88, $CA, $D0, $F6, $A9, $18, $8D, $00, $05, $A2 ; CPU:$E390 PRG:2390 BD D7 E3 99 FF 04 88 CA D0 F6 A9 18 8D 00 05 A2 + .byte $56, $86, $0D, $4C, $B7, $E3, $A2, $04, $A9, $2F, $9D, $01, $05, $CA, $D0, $FA ; CPU:$E3A0 PRG:23A0 56 86 0D 4C B7 E3 A2 04 A9 2F 9D 01 05 CA D0 FA + .byte $A9, $15, $8D, $00, $05, $D0, $BB, $A6, $0D, $A0, $23, $20, $8E, $D0, $A6, $0D ; CPU:$E3B0 PRG:23B0 A9 15 8D 00 05 D0 BB A6 0D A0 23 20 8E D0 A6 0D + .byte $A0, $27, $20, $8E, $D0, $60, $AB, $FA, $AE, $5A, $C1, $5A, $E7, $0A, $AC, $FA ; CPU:$E3C0 PRG:23C0 A0 27 20 8E D0 60 AB FA AE 5A C1 5A E7 0A AC FA + .byte $BC, $5A, $AF, $5A, $E6, $FA, $AD, $FA, $EA, $EF, $E8, $F4, $F7, $F0, $F6, $F5 ; CPU:$E3D0 PRG:23D0 BC 5A AF 5A E6 FA AD FA EA EF E8 F4 F7 F0 F6 F5 + .byte $A0, $00, $84, $82, $84, $88, $84, $8B, $8C, $00, $02, $8C, $0D, $03, $8C, $2D ; CPU:$E3E0 PRG:23E0 A0 00 84 82 84 88 84 8B 8C 00 02 8C 0D 03 8C 2D + .byte $03, $84, $3D, $84, $C6, $84, $CA, $84, $83, $84, $93, $84, $A3, $C8, $84, $84 ; CPU:$E3F0 PRG:23F0 03 84 3D 84 C6 84 CA 84 83 84 93 84 A3 C8 84 84 + .byte $C8, $84, $C5, $84, $C9, $A9, $09, $85, $80, $A9, $0A, $85, $81, $60 ; CPU:$E400 PRG:2400 C8 84 C5 84 C9 A9 09 85 80 A9 0A 85 81 60 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartExit: + lda #$80 ; CPU:$E40E PRG:240E A9 80 + ldy Zp49 ; CPU:$E410 PRG:2410 A4 49 + beq HandleRoundStartEntry ; CPU:$E412 PRG:2412 F0 04 + dec Zp49 ; CPU:$E414 PRG:2414 C6 49 + bne HandleRoundStartCallE4E2Alt3 ; CPU:$E416 PRG:2416 D0 40 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartEntry: + ldy Zp4A ; CPU:$E418 PRG:2418 A4 4A +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2: + lda $F7F1,y ; CPU:$E41A PRG:241A B9 F1 F7 + cmp #$FF ; CPU:$E41D PRG:241D C9 FF + beq HandleRoundStartCallE4E2Alt3 ; CPU:$E41F PRG:241F F0 37 + cmp #$FE ; CPU:$E421 PRG:2421 C9 FE + bne HandleRoundStartCallE5AC ; CPU:$E423 PRG:2423 D0 05 + dey ; CPU:$E425 PRG:2425 88 + dey ; CPU:$E426 PRG:2426 88 + dey ; CPU:$E427 PRG:2427 88 + bne HandleRoundStartCallE4E2 ; CPU:$E428 PRG:2428 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE5AC: + cmp #$FD ; CPU:$E42A PRG:242A C9 FD + bne HandleRoundStartCallE4E2Alt ; CPU:$E42C PRG:242C D0 0A + iny ; CPU:$E42E PRG:242E C8 + lda $F7F1,y ; CPU:$E42F PRG:242F B9 F1 F7 + sta Zp35 ; CPU:$E432 PRG:2432 85 35 + iny ; CPU:$E434 PRG:2434 C8 + lda $F7F1,y ; CPU:$E435 PRG:2435 B9 F1 F7 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt: + sta Zp49 ; CPU:$E438 PRG:2438 85 49 + iny ; CPU:$E43A PRG:243A C8 + lda $F7F1,y ; CPU:$E43B PRG:243B B9 F1 F7 + clc ; CPU:$E43E PRG:243E 18 + adc Zp32 ; CPU:$E43F PRG:243F 65 32 + sta Zp32 ; CPU:$E441 PRG:2441 85 32 + iny ; CPU:$E443 PRG:2443 C8 + lda $F7F1,y ; CPU:$E444 PRG:2444 B9 F1 F7 + ldx Zp89 ; CPU:$E447 PRG:2447 A6 89 + beq HandleRoundStartCallE4E2Alt2 ; CPU:$E449 PRG:2449 F0 05 + eor #$FF ; CPU:$E44B PRG:244B 49 FF + clc ; CPU:$E44D PRG:244D 18 + adc #$01 ; CPU:$E44E PRG:244E 69 01 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt2: + clc ; CPU:$E450 PRG:2450 18 + adc Zp33 ; CPU:$E451 PRG:2451 65 33 + sta Zp33 ; CPU:$E453 PRG:2453 85 33 + iny ; CPU:$E455 PRG:2455 C8 + sty Zp4A ; CPU:$E456 PRG:2456 84 4A +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt3: + rts ; CPU:$E458 PRG:2458 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSound +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSound: + ldx #$20 ; CPU:$E459 PRG:2459 A2 20 + lda Zp89 ; CPU:$E45B PRG:245B A5 89 + beq HandleRoundStartCallE4E2Alt4 ; CPU:$E45D PRG:245D F0 02 + ldx #$00 ; CPU:$E45F PRG:245F A2 00 +; ----------------------------------------------------------------------------- +; Routine: HandleRoundStartCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +HandleRoundStartCallE4E2Alt4: + rts ; CPU:$E461 PRG:2461 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundEntry: + lda #$00 ; CPU:$E462 PRG:2462 A9 00 + sta Zp41 ; CPU:$E464 PRG:2464 85 41 + sta Zp42 ; CPU:$E466 PRG:2466 85 42 + rts ; CPU:$E468 PRG:2468 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2: + lda #$00 ; CPU:$E469 PRG:2469 A9 00 + sta Zp00 ; CPU:$E46B PRG:246B 85 00 + rts ; CPU:$E46D PRG:246D 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5AC: + lda Zp82 ; CPU:$E46E PRG:246E A5 82 + beq UpdateSoundCallE4E2Alt ; CPU:$E470 PRG:2470 F0 07 + lda $0204 ; CPU:$E472 PRG:2472 AD 04 02 + cmp #$9F ; CPU:$E475 PRG:2475 C9 9F + beq UpdateSoundCallE4E2 ; CPU:$E477 PRG:2477 F0 F0 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt: + lda Zp89 ; CPU:$E479 PRG:2479 A5 89 + eor #$01 ; CPU:$E47B PRG:247B 49 01 + tax ; CPU:$E47D PRG:247D AA + lda Zp18,x ; CPU:$E47E PRG:247E B5 18 + ldy Zp84 ; CPU:$E480 PRG:2480 A4 84 + cpy #$02 ; CPU:$E482 PRG:2482 C0 02 + beq UpdateSoundCallE4E2Alt2 ; CPU:$E484 PRG:2484 F0 04 + cpy #$03 ; CPU:$E486 PRG:2486 C0 03 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E488 PRG:2488 D0 0C +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt2: + ldy Zp82 ; CPU:$E48A PRG:248A A4 82 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E48C PRG:248C D0 08 + lda #$01 ; CPU:$E48E PRG:248E A9 01 + cpx #$00 ; CPU:$E490 PRG:2490 E0 00 + bne UpdateSoundCallE4E2Alt3 ; CPU:$E492 PRG:2492 D0 02 + lda #$02 ; CPU:$E494 PRG:2494 A9 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt3: + sta Zp00 ; CPU:$E496 PRG:2496 85 00 + beq UpdateSoundCallE4E2Alt6 ; CPU:$E498 PRG:2498 F0 25 + lda #$00 ; CPU:$E49A PRG:249A A9 00 + sta Zp3E ; CPU:$E49C PRG:249C 85 3E + ldx Zp89 ; CPU:$E49E PRG:249E A6 89 + beq UpdateSoundCallE5ACAlt ; CPU:$E4A0 PRG:24A0 F0 0C + lda Zp00 ; CPU:$E4A2 PRG:24A2 A5 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundAlt: + and #$03 ; CPU:$E4A4 PRG:24A4 29 03 + beq UpdateSoundCallE5ACAlt ; CPU:$E4A6 PRG:24A6 F0 06 + lda #$03 ; CPU:$E4A8 PRG:24A8 A9 03 + eor Zp00 ; CPU:$E4AA PRG:24AA 45 00 + sta Zp00 ; CPU:$E4AC PRG:24AC 85 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5ACAlt: + ldx #$01 ; CPU:$E4AE PRG:24AE A2 01 + lda #$04 ; CPU:$E4B0 PRG:24B0 A9 04 + bit Zp00 ; CPU:$E4B2 PRG:24B2 24 00 + bne UpdateSoundCallE4E2Alt5 ; CPU:$E4B4 PRG:24B4 D0 07 + dex ; CPU:$E4B6 PRG:24B6 CA + lda #$08 ; CPU:$E4B7 PRG:24B7 A9 08 + bit Zp00 ; CPU:$E4B9 PRG:24B9 24 00 + beq UpdateSoundCallE4E2Alt6 ; CPU:$E4BB PRG:24BB F0 02 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt5: + stx Zp44 ; CPU:$E4BD PRG:24BD 86 44 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt6: + rts ; CPU:$E4BF PRG:24BF 60 +; ---- data $E4C0-$E4E1 (34 bytes) ---- + .byte $A2, $1F, $BD, $96, $F6, $9D, $00, $03, $CA, $10, $F7, $A2, $1F, $BD, $B6, $F6 ; CPU:$E4C0 PRG:24C0 A2 1F BD 96 F6 9D 00 03 CA 10 F7 A2 1F BD B6 F6 + .byte $9D, $20, $03, $CA, $10, $F7, $A2, $1F, $BD, $D6, $F6, $9D, $40, $03, $CA, $10 ; CPU:$E4D0 PRG:24D0 9D 20 03 CA 10 F7 A2 1F BD D6 F6 9D 40 03 CA 10 + .byte $F7, $60 ; CPU:$E4E0 PRG:24E0 F7 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundAltExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundAltExit: + lda Zp41 ; CPU:$E4E2 PRG:24E2 A5 41 + beq UpdateSoundCallE5ACAlt2 ; CPU:$E4E4 PRG:24E4 F0 04 + dec Zp41 ; CPU:$E4E6 PRG:24E6 C6 41 + bne PlaySoundEffectCallE4E2 ; CPU:$E4E8 PRG:24E8 D0 40 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE5ACAlt2: + lda Zp3E ; CPU:$E4EA PRG:24EA A5 3E + beq UpdateSoundCallE4E2Alt7 ; CPU:$E4EC PRG:24EC F0 08 + dec Zp3E ; CPU:$E4EE PRG:24EE C6 3E + lda #$4F ; CPU:$E4F0 PRG:24F0 A9 4F + cmp Zp3E ; CPU:$E4F2 PRG:24F2 C5 3E + bne PlaySoundEffectCallE4E2 ; CPU:$E4F4 PRG:24F4 D0 34 +; ----------------------------------------------------------------------------- +; Routine: UpdateSoundCallE4E2Alt7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateSoundCallE4E2Alt7: + ldy Zp43 ; CPU:$E4F6 PRG:24F6 A4 43 + beq PlaySoundEffectCallE4E2 ; CPU:$E4F8 PRG:24F8 F0 30 + dey ; CPU:$E4FA PRG:24FA 88 + tya ; CPU:$E4FB PRG:24FB 98 + asl a ; CPU:$E4FC PRG:24FC 0A + tay ; CPU:$E4FD PRG:24FD A8 + lda $F77D,y ; CPU:$E4FE PRG:24FE B9 7D F7 + ldx $F77E,y ; CPU:$E501 PRG:2501 BE 7E F7 + sta Zp00 ; CPU:$E504 PRG:2504 85 00 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffect +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffect: + stx Zp01 ; CPU:$E506 PRG:2506 86 01 + ldy Zp42 ; CPU:$E508 PRG:2508 A4 42 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectEntry: + lda (Zp00),y ; CPU:$E50A PRG:250A B1 00 + cmp #$FE ; CPU:$E50C PRG:250C C9 FE + beq PlaySoundEffectCallE5AC ; CPU:$E50E PRG:250E F0 1B + cmp #$FF ; CPU:$E510 PRG:2510 C9 FF + beq PlaySoundEffectCallE4E2Alt ; CPU:$E512 PRG:2512 F0 1B + sta Zp41 ; CPU:$E514 PRG:2514 85 41 + iny ; CPU:$E516 PRG:2516 C8 + lda (Zp00),y ; CPU:$E517 PRG:2517 B1 00 + sta Zp35 ; CPU:$E519 PRG:2519 85 35 + iny ; CPU:$E51B PRG:251B C8 + sty Zp42 ; CPU:$E51C PRG:251C 84 42 + lda Zp89 ; CPU:$E51E PRG:251E A5 89 + cmp #$02 ; CPU:$E520 PRG:2520 C9 02 + bcs PlaySoundEffectCallE4E2 ; CPU:$E522 PRG:2522 B0 06 + jsr $E535 ; CPU:$E524 PRG:2524 20 35 E5 + jsr $E54A ; CPU:$E527 PRG:2527 20 4A E5 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2: + rts ; CPU:$E52A PRG:252A 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5AC: + ldy #$00 ; CPU:$E52B PRG:252B A0 00 + beq PlaySoundEffectEntry ; CPU:$E52D PRG:252D F0 DB +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt: + jsr $E462 ; CPU:$E52F PRG:252F 20 62 E4 + sta Zp43 ; CPU:$E532 PRG:2532 85 43 + rts ; CPU:$E534 PRG:2534 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectExit: + lda Zp3E ; CPU:$E535 PRG:2535 A5 3E + bne PlaySoundEffectCallE5ACAlt ; CPU:$E537 PRG:2537 D0 10 + lda Zp43 ; CPU:$E539 PRG:2539 A5 43 + cmp #$05 ; CPU:$E53B PRG:253B C9 05 + beq PlaySoundEffectCallE4E2Alt2 ; CPU:$E53D PRG:253D F0 04 + cmp #$06 ; CPU:$E53F PRG:253F C9 06 + bne PlaySoundEffectCallE5ACAlt ; CPU:$E541 PRG:2541 D0 06 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt2: + lda #$01 ; CPU:$E543 PRG:2543 A9 01 + eor Zp32 ; CPU:$E545 PRG:2545 45 32 + sta Zp32 ; CPU:$E547 PRG:2547 85 32 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt: + rts ; CPU:$E549 PRG:2549 60 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectAlt: + lda Zp89 ; CPU:$E54A PRG:254A A5 89 + asl a ; CPU:$E54C PRG:254C 0A + asl a ; CPU:$E54D PRG:254D 0A + asl a ; CPU:$E54E PRG:254E 0A + sta Zp34 ; CPU:$E54F PRG:254F 85 34 + lda #$02 ; CPU:$E551 PRG:2551 A9 02 + sta Zp00 ; CPU:$E553 PRG:2553 85 00 + lda Zp31 ; CPU:$E555 PRG:2555 A5 31 + cmp #$0C ; CPU:$E557 PRG:2557 C9 0C + beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E559 PRG:2559 F0 27 + cmp #$10 ; CPU:$E55B PRG:255B C9 10 + beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E55D PRG:255D F0 23 + cmp #$01 ; CPU:$E55F PRG:255F C9 01 + beq PlaySoundEffectCallE4E2Alt3 ; CPU:$E561 PRG:2561 F0 08 + cmp #$02 ; CPU:$E563 PRG:2563 C9 02 + bne UpdateMusicEntry ; CPU:$E565 PRG:2565 D0 44 + lda #$00 ; CPU:$E567 PRG:2567 A9 00 + sta Zp88 ; CPU:$E569 PRG:2569 85 88 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt3: + jsr $E46E ; CPU:$E56B PRG:256B 20 6E E4 + lda Zp88 ; CPU:$E56E PRG:256E A5 88 + bne UpdateMusicEntry ; CPU:$E570 PRG:2570 D0 39 + lda #$01 ; CPU:$E572 PRG:2572 A9 01 + bit Zp00 ; CPU:$E574 PRG:2574 24 00 + bne PlaySoundEffectCallE5ACAlt2 ; CPU:$E576 PRG:2576 D0 0A + lda #$02 ; CPU:$E578 PRG:2578 A9 02 + bit Zp00 ; CPU:$E57A PRG:257A 24 00 + beq UpdateMusicEntry ; CPU:$E57C PRG:257C F0 2D + lda #$00 ; CPU:$E57E PRG:257E A9 00 + sta Zp3A ; CPU:$E580 PRG:2580 85 3A +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt2: + ldx #$03 ; CPU:$E582 PRG:2582 A2 03 + lda Zp89 ; CPU:$E584 PRG:2584 A5 89 + eor Zp00 ; CPU:$E586 PRG:2586 45 00 + and #$01 ; CPU:$E588 PRG:2588 29 01 + bne PlaySoundEffectCallE4E2Alt4 ; CPU:$E58A PRG:258A D0 08 + txa ; CPU:$E58C PRG:258C 8A + eor #$FF ; CPU:$E58D PRG:258D 49 FF + clc ; CPU:$E58F PRG:258F 18 + adc #$01 ; CPU:$E590 PRG:2590 69 01 + bne PlaySoundEffectCallE5ACAlt3 ; CPU:$E592 PRG:2592 D0 01 +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE4E2Alt4: + txa ; CPU:$E594 PRG:2594 8A +; ----------------------------------------------------------------------------- +; Routine: PlaySoundEffectCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +PlaySoundEffectCallE5ACAlt3: + clc ; CPU:$E595 PRG:2595 18 + adc Zp33 ; CPU:$E596 PRG:2596 65 33 + sta Zp33 ; CPU:$E598 PRG:2598 85 33 + lda #$7B ; CPU:$E59A PRG:259A A9 7B + sta Zp32 ; CPU:$E59C PRG:259C 85 32 + lda #$01 ; CPU:$E59E PRG:259E A9 01 + sta Zp8B ; CPU:$E5A0 PRG:25A0 85 8B + lda Zp35 ; CPU:$E5A2 PRG:25A2 A5 35 + cmp #$00 ; CPU:$E5A4 PRG:25A4 C9 00 + bne UpdateMusicEntry ; CPU:$E5A6 PRG:25A6 D0 03 + jsr $E7AB ; CPU:$E5A8 PRG:25A8 20 AB E7 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicEntry: + rts ; CPU:$E5AB PRG:25AB 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2: + lda Zp30 ; CPU:$E5AC PRG:25AC A5 30 + beq UpdateMusicCallE4E2Alt2 ; CPU:$E5AE PRG:25AE F0 34 + lda Zp36 ; CPU:$E5B0 PRG:25B0 A5 36 + sta ZpB4 ; CPU:$E5B2 PRG:25B2 85 B4 + lda Zp35 ; CPU:$E5B4 PRG:25B4 A5 35 + asl a ; CPU:$E5B6 PRG:25B6 0A + tay ; CPU:$E5B7 PRG:25B7 A8 + lda #$13 ; CPU:$E5B8 PRG:25B8 A9 13 + sta Zp12 ; CPU:$E5BA PRG:25BA 85 12 + lda #$E8 ; CPU:$E5BC PRG:25BC A9 E8 + sta Zp13 ; CPU:$E5BE PRG:25BE 85 13 + lda (Zp12),y ; CPU:$E5C0 PRG:25C0 B1 12 + sta Zp10 ; CPU:$E5C2 PRG:25C2 85 10 + iny ; CPU:$E5C4 PRG:25C4 C8 + lda (Zp12),y ; CPU:$E5C5 PRG:25C5 B1 12 + sta Zp11 ; CPU:$E5C7 PRG:25C7 85 11 + ldy #$00 ; CPU:$E5C9 PRG:25C9 A0 00 + sty Zp1A ; CPU:$E5CB PRG:25CB 84 1A +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5AC: + ldy Zp1A ; CPU:$E5CD PRG:25CD A4 1A + lda (Zp10),y ; CPU:$E5CF PRG:25CF B1 10 + cmp #$00 ; CPU:$E5D1 PRG:25D1 C9 00 + bne UpdateMusicCallE5ACAlt ; CPU:$E5D3 PRG:25D3 D0 10 + ldx ZpB4 ; CPU:$E5D5 PRG:25D5 A6 B4 + lda #$F4 ; CPU:$E5D7 PRG:25D7 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt: + cpx Zp37 ; CPU:$E5D9 PRG:25D9 E4 37 + beq UpdateMusicCallE4E2Alt2 ; CPU:$E5DB PRG:25DB F0 07 + sta $0200,x ; CPU:$E5DD PRG:25DD 9D 00 02 + inx ; CPU:$E5E0 PRG:25E0 E8 + jmp $E5D9 ; CPU:$E5E1 PRG:25E1 4C D9 E5 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt2: + rts ; CPU:$E5E4 PRG:25E4 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt: + sta Zp13 ; CPU:$E5E5 PRG:25E5 85 13 + iny ; CPU:$E5E7 PRG:25E7 C8 + lda (Zp10),y ; CPU:$E5E8 PRG:25E8 B1 10 + iny ; CPU:$E5EA PRG:25EA C8 + sta Zp12 ; CPU:$E5EB PRG:25EB 85 12 + lda (Zp10),y ; CPU:$E5ED PRG:25ED B1 10 + iny ; CPU:$E5EF PRG:25EF C8 + jsr $E6CE ; CPU:$E5F0 PRG:25F0 20 CE E6 + bcc UpdateMusicCallE5ACAlt2 ; CPU:$E5F3 PRG:25F3 90 06 + jsr $E6FA ; CPU:$E5F5 PRG:25F5 20 FA E6 + sec ; CPU:$E5F8 PRG:25F8 38 + sbc #$08 ; CPU:$E5F9 PRG:25F9 E9 08 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt2: + clc ; CPU:$E5FB PRG:25FB 18 + adc Zp32 ; CPU:$E5FC PRG:25FC 65 32 + sta ZpB1 ; CPU:$E5FE PRG:25FE 85 B1 + lda (Zp10),y ; CPU:$E600 PRG:2600 B1 10 + iny ; CPU:$E602 PRG:2602 C8 + jsr $E6D4 ; CPU:$E603 PRG:2603 20 D4 E6 + bne UpdateMusicCallE4E2Alt3 ; CPU:$E606 PRG:2606 D0 06 + jsr $E6FA ; CPU:$E608 PRG:2608 20 FA E6 + sec ; CPU:$E60B PRG:260B 38 + sbc #$08 ; CPU:$E60C PRG:260C E9 08 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt3: + clc ; CPU:$E60E PRG:260E 18 + adc Zp33 ; CPU:$E60F PRG:260F 65 33 + sta ZpB2 ; CPU:$E611 PRG:2611 85 B2 + sty Zp1A ; CPU:$E613 PRG:2613 84 1A + ldy #$00 ; CPU:$E615 PRG:2615 A0 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicExit: + lda (Zp12),y ; CPU:$E617 PRG:2617 B1 12 + ldx #$00 ; CPU:$E619 PRG:2619 A2 00 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicAlt: + cmp #$00 ; CPU:$E61B PRG:261B C9 00 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E61D PRG:261D F0 0E + ldx #$14 ; CPU:$E61F PRG:261F A2 14 + cmp #$01 ; CPU:$E621 PRG:2621 C9 01 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E623 PRG:2623 F0 08 + ldx #$32 ; CPU:$E625 PRG:2625 A2 32 + cmp #$02 ; CPU:$E627 PRG:2627 C9 02 + beq UpdateMusicCallE5ACAlt3 ; CPU:$E629 PRG:2629 F0 02 + ldx #$5A ; CPU:$E62B PRG:262B A2 5A +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt3: + stx Zp1B ; CPU:$E62D PRG:262D 86 1B +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt4: + iny ; CPU:$E62F PRG:262F C8 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt4: + lda (Zp12),y ; CPU:$E630 PRG:2630 B1 12 + cmp #$FF ; CPU:$E632 PRG:2632 C9 FF + beq UpdateMusicCallE5AC ; CPU:$E634 PRG:2634 F0 97 + cmp #$FE ; CPU:$E636 PRG:2636 C9 FE + bne UpdateMusicCallE4E2Alt5 ; CPU:$E638 PRG:2638 D0 07 + inc Zp1B ; CPU:$E63A PRG:263A E6 1B + inc Zp1B ; CPU:$E63C PRG:263C E6 1B + jmp $E62F ; CPU:$E63E PRG:263E 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt5: + cmp #$FD ; CPU:$E641 PRG:2641 C9 FD + bne UpdateMusicCallE5ACAlt5 ; CPU:$E643 PRG:2643 D0 15 + iny ; CPU:$E645 PRG:2645 C8 + lda (Zp12),y ; CPU:$E646 PRG:2646 B1 12 + clc ; CPU:$E648 PRG:2648 18 + adc Zp3C ; CPU:$E649 PRG:2649 65 3C + sta ZpB3 ; CPU:$E64B PRG:264B 85 B3 + lda Zp38 ; CPU:$E64D PRG:264D A5 38 + beq UpdateMusicCallE4E2Alt4 ; CPU:$E64F PRG:264F F0 DE + lda ZpB3 ; CPU:$E651 PRG:2651 A5 B3 + ora #$20 ; CPU:$E653 PRG:2653 09 20 + sta ZpB3 ; CPU:$E655 PRG:2655 85 B3 + jmp $E62F ; CPU:$E657 PRG:2657 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE5ACAlt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE5ACAlt5: + ldx Zp1B ; CPU:$E65A PRG:265A A6 1B + lda $E8E5,x ; CPU:$E65C PRG:265C BD E5 E8 + inc Zp1B ; CPU:$E65F PRG:265F E6 1B + jsr $E6CE ; CPU:$E661 PRG:2661 20 CE E6 + bcc UpdateMusicCallE4E2Alt6 ; CPU:$E664 PRG:2664 90 03 + jsr $E6FA ; CPU:$E666 PRG:2666 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicCallE4E2Alt6: + clc ; CPU:$E669 PRG:2669 18 + adc ZpB1 ; CPU:$E66A PRG:266A 65 B1 + jsr $E6DD ; CPU:$E66C PRG:266C 20 DD E6 + ldx ZpB4 ; CPU:$E66F PRG:266F A6 B4 + sta $0200,x ; CPU:$E671 PRG:2671 9D 00 02 + inc ZpB4 ; CPU:$E674 PRG:2674 E6 B4 + lda (Zp12),y ; CPU:$E676 PRG:2676 B1 12 + iny ; CPU:$E678 PRG:2678 C8 + ldx ZpB4 ; CPU:$E679 PRG:2679 A6 B4 + sta $0200,x ; CPU:$E67B PRG:267B 9D 00 02 + inc ZpB4 ; CPU:$E67E PRG:267E E6 B4 + lda ZpB3 ; CPU:$E680 PRG:2680 A5 B3 + ldx Zp34 ; CPU:$E682 PRG:2682 A6 34 + beq UpdateMusicLoopCallE4E2 ; CPU:$E684 PRG:2684 F0 22 + pha ; CPU:$E686 PRG:2686 48 + lda #$BF ; CPU:$E687 PRG:2687 A9 BF + cpx #$08 ; CPU:$E689 PRG:2689 E0 08 + beq UpdateMusicLoopEntry ; CPU:$E68B PRG:268B F0 08 + lda #$7F ; CPU:$E68D PRG:268D A9 7F + cpx #$80 ; CPU:$E68F PRG:268F E0 80 + beq UpdateMusicLoopEntry ; CPU:$E691 PRG:2691 F0 02 + lda #$3F ; CPU:$E693 PRG:2693 A9 3F +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopEntry: + sta Zp00 ; CPU:$E695 PRG:2695 85 00 + eor #$FF ; CPU:$E697 PRG:2697 49 FF + sta Zp01 ; CPU:$E699 PRG:2699 85 01 + pla ; CPU:$E69B PRG:269B 68 + and Zp00 ; CPU:$E69C PRG:269C 25 00 + sta Zp0C ; CPU:$E69E PRG:269E 85 0C + lda ZpB3 ; CPU:$E6A0 PRG:26A0 A5 B3 + and Zp01 ; CPU:$E6A2 PRG:26A2 25 01 + eor Zp01 ; CPU:$E6A4 PRG:26A4 45 01 + ora Zp0C ; CPU:$E6A6 PRG:26A6 05 0C +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2: + ldx ZpB4 ; CPU:$E6A8 PRG:26A8 A6 B4 + sta $0200,x ; CPU:$E6AA PRG:26AA 9D 00 02 + inc ZpB4 ; CPU:$E6AD PRG:26AD E6 B4 + ldx Zp1B ; CPU:$E6AF PRG:26AF A6 1B + lda $E8E5,x ; CPU:$E6B1 PRG:26B1 BD E5 E8 + inc Zp1B ; CPU:$E6B4 PRG:26B4 E6 1B + jsr $E6D4 ; CPU:$E6B6 PRG:26B6 20 D4 E6 + bne UpdateMusicLoopCallE5AC ; CPU:$E6B9 PRG:26B9 D0 03 + jsr $E6FA ; CPU:$E6BB PRG:26BB 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5AC: + clc ; CPU:$E6BE PRG:26BE 18 + adc ZpB2 ; CPU:$E6BF PRG:26BF 65 B2 + jsr $E6E3 ; CPU:$E6C1 PRG:26C1 20 E3 E6 + ldx ZpB4 ; CPU:$E6C4 PRG:26C4 A6 B4 + sta $0200,x ; CPU:$E6C6 PRG:26C6 9D 00 02 + inc ZpB4 ; CPU:$E6C9 PRG:26C9 E6 B4 + jmp $E630 ; CPU:$E6CB PRG:26CB 4C 30 E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt: + pha ; CPU:$E6CE PRG:26CE 48 + lda Zp34 ; CPU:$E6CF PRG:26CF A5 34 + rol a ; CPU:$E6D1 PRG:26D1 2A + pla ; CPU:$E6D2 PRG:26D2 68 + rts ; CPU:$E6D3 PRG:26D3 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoop: + pha ; CPU:$E6D4 PRG:26D4 48 + lda Zp34 ; CPU:$E6D5 PRG:26D5 A5 34 + asl a ; CPU:$E6D7 PRG:26D7 0A + tax ; CPU:$E6D8 PRG:26D8 AA + pla ; CPU:$E6D9 PRG:26D9 68 + cpx #$10 ; CPU:$E6DA PRG:26DA E0 10 + rts ; CPU:$E6DC PRG:26DC 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt2: + pha ; CPU:$E6DD PRG:26DD 48 + lda Zp32 ; CPU:$E6DE PRG:26DE A5 32 + jmp $E6E6 ; CPU:$E6E0 PRG:26E0 4C E6 E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5ACAlt: + pha ; CPU:$E6E3 PRG:26E3 48 + lda Zp33 ; CPU:$E6E4 PRG:26E4 A5 33 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt3: + sta Zp0F ; CPU:$E6E6 PRG:26E6 85 0F + pla ; CPU:$E6E8 PRG:26E8 68 + pha ; CPU:$E6E9 PRG:26E9 48 + sec ; CPU:$E6EA PRG:26EA 38 + sbc Zp0F ; CPU:$E6EB PRG:26EB E5 0F + bcs UpdateMusicLoopCallE5ACAlt2 ; CPU:$E6ED PRG:26ED B0 03 + jsr $E6FA ; CPU:$E6EF PRG:26EF 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE5ACAlt2: + cmp #$30 ; CPU:$E6F2 PRG:26F2 C9 30 + pla ; CPU:$E6F4 PRG:26F4 68 + bcc UpdateMusicLoopCallE4E2Alt4 ; CPU:$E6F5 PRG:26F5 90 02 + lda #$FF ; CPU:$E6F7 PRG:26F7 A9 FF +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopCallE4E2Alt4: + rts ; CPU:$E6F9 PRG:26F9 60 +; ----------------------------------------------------------------------------- +; Routine: UpdateMusicLoopExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +UpdateMusicLoopExit: + eor #$FF ; CPU:$E6FA PRG:26FA 49 FF + clc ; CPU:$E6FC PRG:26FC 18 + adc #$01 ; CPU:$E6FD PRG:26FD 69 01 + rts ; CPU:$E6FF PRG:26FF 60 +; ---- data $E700-$E70B (12 bytes) ---- + .byte $B9, $32, $03, $85, $B1, $B9, $33, $03, $85, $B2, $85, $0C ; CPU:$E700 PRG:2700 B9 32 03 85 B1 B9 33 03 85 B2 85 0C +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataEntry: + pha ; CPU:$E70C PRG:270C 48 + jsr $D012 ; CPU:$E70D PRG:270D 20 12 D0 + jsr $C000 ; CPU:$E710 PRG:2710 20 00 C0 + pla ; CPU:$E713 PRG:2713 68 + sta Zp1B ; CPU:$E714 PRG:2714 85 1B + beq InitSpriteDataCallE4E2Alt ; CPU:$E716 PRG:2716 F0 4C + asl a ; CPU:$E718 PRG:2718 0A + tax ; CPU:$E719 PRG:2719 AA + lda $F949,x ; CPU:$E71A PRG:271A BD 49 F9 + sta Zp14 ; CPU:$E71D PRG:271D 85 14 + lda $F94A,x ; CPU:$E71F PRG:271F BD 4A F9 + sta Zp15 ; CPU:$E722 PRG:2722 85 15 + ldy #$01 ; CPU:$E724 PRG:2724 A0 01 + lda (Zp14),y ; CPU:$E726 PRG:2726 B1 14 + sta Zp0F ; CPU:$E728 PRG:2728 85 0F + ldx #$00 ; CPU:$E72A PRG:272A A2 00 + iny ; CPU:$E72C PRG:272C C8 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataLoop +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataLoop: + lda (Zp14),y ; CPU:$E72D PRG:272D B1 14 + sta $0500,x ; CPU:$E72F PRG:272F 9D 00 05 + iny ; CPU:$E732 PRG:2732 C8 + inx ; CPU:$E733 PRG:2733 E8 + dec Zp0F ; CPU:$E734 PRG:2734 C6 0F + bne InitSpriteDataLoop ; CPU:$E736 PRG:2736 D0 F5 + lda Zp1B ; CPU:$E738 PRG:2738 A5 1B + cmp #$01 ; CPU:$E73A PRG:273A C9 01 + bne InitSpriteDataCallE5AC ; CPU:$E73C PRG:273C D0 15 + lda ZpC1 ; CPU:$E73E PRG:273E A5 C1 + lsr a ; CPU:$E740 PRG:2740 4A + lsr a ; CPU:$E741 PRG:2741 4A + lsr a ; CPU:$E742 PRG:2742 4A + lsr a ; CPU:$E743 PRG:2743 4A + beq InitSpriteDataCallE4E2 ; CPU:$E744 PRG:2744 F0 03 + sta $0518 ; CPU:$E746 PRG:2746 8D 18 05 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2: + lda ZpC1 ; CPU:$E749 PRG:2749 A5 C1 + and #$0F ; CPU:$E74B PRG:274B 29 0F + sta $0519 ; CPU:$E74D PRG:274D 8D 19 05 + jmp $E777 ; CPU:$E750 PRG:2750 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5AC: + cmp #$05 ; CPU:$E753 PRG:2753 C9 05 + bne InitSpriteDataCallE4E2Alt2 ; CPU:$E755 PRG:2755 D0 20 + lda Zp0C ; CPU:$E757 PRG:2757 A5 0C + sta $0521 ; CPU:$E759 PRG:2759 8D 21 05 + lda Zp0D ; CPU:$E75C PRG:275C A5 0D + sta $0522 ; CPU:$E75E PRG:275E 8D 22 05 + jmp $E777 ; CPU:$E761 PRG:2761 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt: + ldx #$07 ; CPU:$E764 PRG:2764 A2 07 + lda #$32 ; CPU:$E766 PRG:2766 A9 32 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt: + sta $0501,x ; CPU:$E768 PRG:2768 9D 01 05 + dex ; CPU:$E76B PRG:276B CA + bpl InitSpriteDataCallE5ACAlt ; CPU:$E76C PRG:276C 10 FA + lda #$17 ; CPU:$E76E PRG:276E A9 17 + sta $0500 ; CPU:$E770 PRG:2770 8D 00 05 + ldx #$6D ; CPU:$E773 PRG:2773 A2 6D + bne InitSpriteDataCallE5ACAlt2 ; CPU:$E775 PRG:2775 D0 05 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt2: + ldy #$00 ; CPU:$E777 PRG:2777 A0 00 + lda (Zp14),y ; CPU:$E779 PRG:2779 B1 14 + tax ; CPU:$E77B PRG:277B AA +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt2: + ldy #$22 ; CPU:$E77C PRG:277C A0 22 + stx Zp07 ; CPU:$E77E PRG:277E 86 07 + jsr $D08E ; CPU:$E780 PRG:2780 20 8E D0 + ldx Zp07 ; CPU:$E783 PRG:2783 A6 07 + ldy #$26 ; CPU:$E785 PRG:2785 A0 26 + jmp $D08E ; CPU:$E787 PRG:2787 4C 8E D0 +; ---- data $E78A-$E792 (9 bytes) ---- + .byte $20, $77, $CC, $20, $84, $D0, $4C, $70, $D0 ; CPU:$E78A PRG:278A 20 77 CC 20 84 D0 4C 70 D0 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteData +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteData: + lda #$01 ; CPU:$E793 PRG:2793 A9 01 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E795 PRG:2795 D0 1A + lda #$80 ; CPU:$E797 PRG:2797 A9 80 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E799 PRG:2799 D0 16 + lda #$40 ; CPU:$E79B PRG:279B A9 40 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E79D PRG:279D D0 12 + lda #$20 ; CPU:$E79F PRG:279F A9 20 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A1 PRG:27A1 D0 0E + lda #$10 ; CPU:$E7A3 PRG:27A3 A9 10 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A5 PRG:27A5 D0 0A +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt3: + lda #$08 ; CPU:$E7A7 PRG:27A7 A9 08 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A9 PRG:27A9 D0 06 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt3: + lda #$04 ; CPU:$E7AB PRG:27AB A9 04 + bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7AD PRG:27AD D0 02 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt4: + lda #$02 ; CPU:$E7AF PRG:27AF A9 02 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt4: + ora ZpF0 ; CPU:$E7B1 PRG:27B1 05 F0 + sta ZpF0 ; CPU:$E7B3 PRG:27B3 85 F0 + rts ; CPU:$E7B5 PRG:27B5 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataExit: + lda #$08 ; CPU:$E7B6 PRG:27B6 A9 08 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7B8 PRG:27B8 D0 1C + lda #$01 ; CPU:$E7BA PRG:27BA A9 01 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7BC PRG:27BC D0 18 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt5: + lda #$04 ; CPU:$E7BE PRG:27BE A9 04 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C0 PRG:27C0 D0 14 + lda #$10 ; CPU:$E7C2 PRG:27C2 A9 10 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C4 PRG:27C4 D0 10 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt5: + lda #$80 ; CPU:$E7C6 PRG:27C6 A9 80 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C8 PRG:27C8 D0 0C + lda #$40 ; CPU:$E7CA PRG:27CA A9 40 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7CC PRG:27CC D0 08 + lda #$20 ; CPU:$E7CE PRG:27CE A9 20 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D0 PRG:27D0 D0 04 + lda #$02 ; CPU:$E7D2 PRG:27D2 A9 02 + bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D4 PRG:27D4 D0 00 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE4E2Alt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE4E2Alt6: + ora ZpF1 ; CPU:$E7D6 PRG:27D6 05 F1 + sta ZpF1 ; CPU:$E7D8 PRG:27D8 85 F1 + rts ; CPU:$E7DA PRG:27DA 60 +; ----------------------------------------------------------------------------- +; Routine: InitSpriteDataCallE5ACAlt6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSpriteDataCallE5ACAlt6: + lda #$01 ; CPU:$E7DB PRG:27DB A9 01 + bne InitSoundCallE4E2 ; CPU:$E7DD PRG:27DD D0 1A + lda #$10 ; CPU:$E7DF PRG:27DF A9 10 + bne InitSoundCallE4E2 ; CPU:$E7E1 PRG:27E1 D0 16 + lda #$20 ; CPU:$E7E3 PRG:27E3 A9 20 + bne InitSoundCallE4E2 ; CPU:$E7E5 PRG:27E5 D0 12 + lda #$08 ; CPU:$E7E7 PRG:27E7 A9 08 + bne InitSoundCallE4E2 ; CPU:$E7E9 PRG:27E9 D0 0E + lda #$04 ; CPU:$E7EB PRG:27EB A9 04 + bne InitSoundCallE4E2 ; CPU:$E7ED PRG:27ED D0 0A +; ----------------------------------------------------------------------------- +; Routine: InitSound +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSound: + lda #$02 ; CPU:$E7EF PRG:27EF A9 02 + bne InitSoundCallE4E2 ; CPU:$E7F1 PRG:27F1 D0 06 + lda #$40 ; CPU:$E7F3 PRG:27F3 A9 40 + bne InitSoundCallE4E2 ; CPU:$E7F5 PRG:27F5 D0 02 +; ----------------------------------------------------------------------------- +; Routine: InitSoundEntry +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundEntry: + lda #$80 ; CPU:$E7F7 PRG:27F7 A9 80 +; ----------------------------------------------------------------------------- +; Routine: InitSoundCallE4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundCallE4E2: + ora ZpF2 ; CPU:$E7F9 PRG:27F9 05 F2 + sta ZpF2 ; CPU:$E7FB PRG:27FB 85 F2 + rts ; CPU:$E7FD PRG:27FD 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundExit +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundExit: + lda ZpA3 ; CPU:$E7FE PRG:27FE A5 A3 + bne InitSoundCallE5AC ; CPU:$E800 PRG:2800 D0 09 + lda ZpE6 ; CPU:$E802 PRG:2802 A5 E6 + bne InitSoundCallE5AC ; CPU:$E804 PRG:2804 D0 05 + inc ZpA3 ; CPU:$E806 PRG:2806 E6 A3 + jmp $E7F7 ; CPU:$E808 PRG:2808 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: InitSoundCallE5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundCallE5AC: + rts ; CPU:$E80B PRG:280B 60 +; ----------------------------------------------------------------------------- +; Routine: InitSoundExit_E80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +InitSoundExit_E80C: + lda #$00 ; CPU:$E80C PRG:280C A9 00 + sta ZpA3 ; CPU:$E80E PRG:280E 85 A3 + jmp $E7BE ; CPU:$E810 PRG:2810 4C BE E7 +; ---- data $E813-$FFFF (6125 bytes) ---- +; referenced by `lda $F68A,x` at $CA5E (operand $F68A falls inside this region) +; referenced by `lda $F5B2,y` at $CC8D (operand $F5B2 falls inside this region) +; referenced by `ldx $F5B3,y` at $CC90 (operand $F5B3 falls inside this region) +; referenced by `lda $F771,x` at $D178 (operand $F771 falls inside this region) +; referenced by `ldy $F772,x` at $D17B (operand $F772 falls inside this region) +; referenced by `lda $F940,y` at $DBAA (operand $F940 falls inside this region) +; ... and 13 further references from decoded code + .byte $4F, $E8, $54, $E8, $59, $E8, $5E, $E8, $63, $E8, $68, $E8, $6D, $E8, $72, $E8 ; CPU:$E813 PRG:2813 4F E8 54 E8 59 E8 5E E8 63 E8 68 E8 6D E8 72 E8 + .byte $77, $E8, $7C, $E8, $81, $E8, $86, $E8, $8B, $E8, $90, $E8, $95, $E8, $9A, $E8 ; CPU:$E823 PRG:2823 77 E8 7C E8 81 E8 86 E8 8B E8 90 E8 95 E8 9A E8 + .byte $9F, $E8, $A4, $E8, $DB, $E8, $E0, $E8, $A9, $E8, $AE, $E8, $B3, $E8, $B8, $E8 ; CPU:$E833 PRG:2833 9F E8 A4 E8 DB E8 E0 E8 A9 E8 AE E8 B3 E8 B8 E8 + .byte $BD, $E8, $C2, $E8, $C7, $E8, $CC, $E8, $D1, $E8, $D6, $E8, $E9, $57, $F2, $F8 ; CPU:$E843 PRG:2843 BD E8 C2 E8 C7 E8 CC E8 D1 E8 D6 E8 E9 57 F2 F8 + .byte $00, $E9, $6B, $F2, $F8, $00, $E9, $80, $F0, $F8, $00, $E9, $94, $F2, $F8, $00 ; CPU:$E853 PRG:2853 00 E9 6B F2 F8 00 E9 80 F0 F8 00 E9 94 F2 F8 00 + .byte $E9, $A8, $F0, $F8, $00, $E9, $B8, $F0, $F8, $00, $E9, $C8, $F0, $F8, $00, $E9 ; CPU:$E863 PRG:2863 E9 A8 F0 F8 00 E9 B8 F0 F8 00 E9 C8 F0 F8 00 E9 + .byte $D8, $F0, $F8, $00, $E9, $E8, $F0, $EC, $00, $EA, $02, $F0, $E8, $00, $EA, $1C ; CPU:$E873 PRG:2873 D8 F0 F8 00 E9 E8 F0 EC 00 EA 02 F0 E8 00 EA 1C + .byte $F0, $FD, $00, $EA, $31, $EE, $F8, $00, $EA, $4D, $F6, $F8, $00, $EA, $5F, $F0 ; CPU:$E883 PRG:2883 F0 FD 00 EA 31 EE F8 00 EA 4D F6 F8 00 EA 5F F0 + .byte $F8, $00, $EA, $81, $F3, $F8, $00, $EA, $9F, $F0, $FC, $00, $EA, $B3, $F0, $FC ; CPU:$E893 PRG:2893 F8 00 EA 81 F3 F8 00 EA 9F F0 FC 00 EA B3 F0 FC + .byte $00, $EA, $C7, $00, $06, $00, $EA, $DC, $FC, $F8, $00, $EA, $F5, $F2, $F4, $00 ; CPU:$E8A3 PRG:28A3 00 EA C7 00 06 00 EA DC FC F8 00 EA F5 F2 F4 00 + .byte $EB, $0A, $F1, $F8, $00, $EB, $1A, $F1, $F8, $00, $EB, $2A, $F0, $F0, $00, $EB ; CPU:$E8B3 PRG:28B3 EB 0A F1 F8 00 EB 1A F1 F8 00 EB 2A F0 F0 00 EB + .byte $44, $F0, $F0, $00, $EB, $5D, $F0, $F0, $00, $EB, $6D, $F2, $F4, $00, $EB, $82 ; CPU:$E8C3 PRG:28C3 44 F0 F0 00 EB 5D F0 F0 00 EB 6D F2 F4 00 EB 82 + .byte $F2, $F4, $00, $EB, $97, $F0, $F0, $00, $EB, $B0, $F4, $F8, $00, $EB, $BA, $F4 ; CPU:$E8D3 PRG:28D3 F2 F4 00 EB 97 F0 F0 00 EB B0 F4 F8 00 EB BA F4 + .byte $F8, $00, $00, $00, $00, $08, $08, $00, $08, $08, $10, $00, $10, $08, $18, $00 ; CPU:$E8E3 PRG:28E3 F8 00 00 00 00 08 08 00 08 08 10 00 10 08 18 00 + .byte $18, $08, $20, $00, $20, $08, $00, $00, $00, $08, $00, $10, $08, $00, $08, $08 ; CPU:$E8F3 PRG:28F3 18 08 20 00 20 08 00 00 00 08 00 10 08 00 08 08 + .byte $08, $10, $10, $00, $10, $08, $10, $10, $18, $00, $18, $08, $18, $10, $20, $00 ; CPU:$E903 PRG:2903 08 10 10 00 10 08 10 10 18 00 18 08 18 10 20 00 + .byte $20, $08, $20, $10, $00, $00, $00, $08, $00, $10, $00, $18, $08, $00, $08, $08 ; CPU:$E913 PRG:2913 20 08 20 10 00 00 00 08 00 10 00 18 08 00 08 08 + .byte $08, $10, $08, $18, $10, $00, $10, $08, $10, $10, $10, $18, $18, $00, $18, $08 ; CPU:$E923 PRG:2923 08 10 08 18 10 00 10 08 10 10 10 18 18 00 18 08 + .byte $18, $10, $18, $18, $20, $00, $20, $08, $20, $10, $20, $18, $00, $08, $00, $10 ; CPU:$E933 PRG:2933 18 10 18 18 20 00 20 08 20 10 20 18 00 08 00 10 + .byte $08, $08, $08, $10, $10, $08, $10, $10, $10, $00, $10, $18, $08, $00, $08, $18 ; CPU:$E943 PRG:2943 08 08 08 10 10 08 10 10 10 00 10 18 08 00 08 18 + .byte $00, $00, $00, $18, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91 ; CPU:$E953 PRG:2953 00 00 00 18 01 FD 00 05 00 FE 96 92 90 97 93 91 + .byte $FD, $02, $98, $94, $FE, $99, $95, $FF, $01, $FD, $00, $05, $00, $FE, $06, $01 ; CPU:$E963 PRG:2963 FD 02 98 94 FE 99 95 FF 01 FD 00 05 00 FE 06 01 + .byte $FE, $07, $02, $FE, $FD, $02, $8E, $8B, $87, $8F, $8C, $88, $FF, $01, $FD, $00 ; CPU:$E973 PRG:2973 FE 07 02 FE FD 02 8E 8B 87 8F 8C 88 FF 01 FD 00 + .byte $05, $00, $FE, $06, $89, $85, $8D, $8A, $86, $FD, $02, $11, $0C, $FE, $12, $0D ; CPU:$E983 PRG:2983 05 00 FE 06 89 85 8D 8A 86 FD 02 11 0C FE 12 0D + .byte $FF, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91, $FD, $02, $9C ; CPU:$E993 PRG:2993 FF 01 FD 00 05 00 FE 96 92 90 97 93 91 FD 02 9C + .byte $9A, $FE, $9D, $9B, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9A3 PRG:29A3 9A FE 9D 9B FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9B3 PRG:29B3 08 03 09 04 FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $11, $0C, $12, $0D, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9C3 PRG:29C3 11 0C 12 0D FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9D3 PRG:29D3 08 03 09 04 FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $11, $0C, $12, $0D, $FF, $02, $FD, $00, $1E, $1B, $16, $FE, $1F, $1C, $17, $FE ; CPU:$E9E3 PRG:29E3 11 0C 12 0D FF 02 FD 00 1E 1B 16 FE 1F 1C 17 FE + .byte $FE, $1D, $18, $13, $FD, $02, $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $02 ; CPU:$E9F3 PRG:29F3 FE 1D 18 13 FD 02 FE FE 19 14 FE FE 1A 15 FF 02 + .byte $FD, $00, $FE, $24, $21, $FE, $FE, $25, $22, $FE, $27, $26, $23, $13, $FD, $02 ; CPU:$EA03 PRG:2A03 FD 00 FE 24 21 FE FE 25 22 FE 27 26 23 13 FD 02 + .byte $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $01, $FD, $00, $FE, $36, $00, $FE ; CPU:$EA13 PRG:2A13 FE FE 19 14 FE FE 1A 15 FF 01 FD 00 FE 36 00 FE + .byte $37, $32, $FE, $38, $33, $FD, $02, $3B, $39, $34, $3C, $3A, $35, $FF, $02, $FD ; CPU:$EA23 PRG:2A23 37 32 FE 38 33 FD 02 3B 39 34 3C 3A 35 FF 02 FD + .byte $00, $FE, $FE, $3F, $3D, $FE, $43, $40, $3E, $FE, $44, $41, $FE, $FD, $02, $47 ; CPU:$EA33 PRG:2A33 00 FE FE 3F 3D FE 43 40 3E FE 44 41 FE FD 02 47 + .byte $45, $FD, $00, $42, $FE, $FD, $02, $48, $46, $FF, $01, $FD, $00, $51, $4D, $49 ; CPU:$EA43 PRG:2A43 45 FD 00 42 FE FD 02 48 46 FF 01 FD 00 51 4D 49 + .byte $52, $4E, $4A, $FD, $02, $FE, $4F, $4B, $FE, $50, $4C, $FF, $03, $FD, $02, $FE ; CPU:$EA53 PRG:2A53 52 4E 4A FD 02 FE 4F 4B FE 50 4C FF 03 FD 02 FE + .byte $6F, $FD, $00, $6B, $FE, $FD, $02, $FE, $70, $FD, $00, $6C, $68, $FD, $02, $72 ; CPU:$EA63 PRG:2A63 6F FD 00 6B FE FD 02 FE 70 FD 00 6C 68 FD 02 72 + .byte $71, $FD, $00, $6D, $69, $FD, $02, $73, $FE, $FD, $00, $6E, $6A, $FF, $02, $FD ; CPU:$EA73 PRG:2A73 71 FD 00 6D 69 FD 02 73 FE FD 00 6E 6A FF 02 FD + .byte $02, $FE, $76, $FE, $FE, $7A, $77, $FD, $00, $73, $70, $FD, $02, $FE, $78, $FD ; CPU:$EA83 PRG:2A83 02 FE 76 FE FE 7A 77 FD 00 73 70 FD 02 FE 78 FD + .byte $00, $74, $71, $FD, $02, $FE, $79, $FD, $00, $75, $72, $FF, $01, $FD, $00, $05 ; CPU:$EA93 PRG:2A93 00 74 71 FD 02 FE 79 FD 00 75 72 FF 01 FD 00 05 + .byte $00, $FE, $2E, $B3, $B2, $2F, $B4, $FE, $FD, $02, $30, $2C, $FE, $31, $2D, $FF ; CPU:$EAA3 PRG:2AA3 00 FE 2E B3 B2 2F B4 FE FD 02 30 2C FE 31 2D FF + .byte $01, $FD, $00, $05, $00, $FE, $2E, $2A, $28, $2F, $2B, $29, $FD, $02, $30, $2C ; CPU:$EAB3 PRG:2AB3 01 FD 00 05 00 FE 2E 2A 28 2F 2B 29 FD 02 30 2C + .byte $FE, $31, $2D, $FF, $01, $FD, $02, $62, $5F, $5C, $FD, $00, $63, $FD, $02, $60 ; CPU:$EAC3 PRG:2AC3 FE 31 2D FF 01 FD 02 62 5F 5C FD 00 63 FD 02 60 + .byte $5D, $FD, $00, $64, $61, $FD, $02, $5E, $FF, $02, $FD, $02, $FE, $80, $FD, $00 ; CPU:$EAD3 PRG:2AD3 5D FD 00 64 61 FD 02 5E FF 02 FD 02 FE 80 FD 00 + .byte $7D, $7B, $FD, $02, $83, $81, $FD, $00, $7E, $7C, $FD, $02, $84, $82, $FD, $00 ; CPU:$EAE3 PRG:2AE3 7D 7B FD 02 83 81 FD 00 7E 7C FD 02 84 82 FD 00 + .byte $7F, $FF, $01, $FD, $00, $A7, $A2, $FE, $A8, $A3, $9E, $A9, $A4, $9F, $FD, $02 ; CPU:$EAF3 PRG:2AF3 7F FF 01 FD 00 A7 A2 FE A8 A3 9E A9 A4 9F FD 02 + .byte $AA, $A5, $A0, $AB, $A6, $A1, $FF, $00, $FD, $00, $B9, $B6, $BA, $B7, $BB, $B8 ; CPU:$EB03 PRG:2B03 AA A5 A0 AB A6 A1 FF 00 FD 00 B9 B6 BA B7 BB B8 + .byte $FD, $02, $98, $94, $99, $95, $FF, $00, $FD, $00, $BF, $BC, $C0, $BD, $C1, $BE ; CPU:$EB13 PRG:2B13 FD 02 98 94 99 95 FF 00 FD 00 BF BC C0 BD C1 BE + .byte $FD, $02, $98, $94, $99, $95, $FF, $02, $FD, $00, $FE, $DB, $DE, $E3, $FE, $DC ; CPU:$EB23 PRG:2B23 FD 02 98 94 99 95 FF 02 FD 00 FE DB DE E3 FE DC + .byte $DF, $E4, $DA, $DD, $E0, $FD, $02, $E5, $FE, $FE, $E1, $E6, $FE, $FE, $E2, $E7 ; CPU:$EB33 PRG:2B33 DF E4 DA DD E0 FD 02 E5 FE FE E1 E6 FE FE E2 E7 + .byte $FF, $02, $FD, $00, $FE, $CE, $D3, $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9 ; CPU:$EB43 PRG:2B43 FF 02 FD 00 FE CE D3 FE CA CF D4 D8 CB D0 D5 D9 + .byte $FD, $02, $CC, $D1, $D6, $FE, $CD, $D2, $D7, $FF, $02, $FD, $00, $FE, $6B, $20 ; CPU:$EB53 PRG:2B53 FD 02 CC D1 D6 FE CD D2 D7 FF 02 FD 00 FE 6B 20 + .byte $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9, $FF, $01, $FD, $00, $B0, $AE, $AC ; CPU:$EB63 PRG:2B63 FE CA CF D4 D8 CB D0 D5 D9 FF 01 FD 00 B0 AE AC + .byte $B1, $AF, $AD, $A9, $A4, $9F, $FD, $02, $AA, $A5, $A0, $AB, $A6, $A1, $FF, $01 ; CPU:$EB73 PRG:2B73 B1 AF AD A9 A4 9F FD 02 AA A5 A0 AB A6 A1 FF 01 + .byte $FD, $00, $59, $56, $53, $5A, $57, $54, $FE, $58, $55, $FD, $02, $AA, $A5, $A0 ; CPU:$EB83 PRG:2B83 FD 00 59 56 53 5A 57 54 FE 58 55 FD 02 AA A5 A0 + .byte $AB, $A6, $A1, $FF, $02, $FD, $00, $FE, $6B, $20, $FE, $CA, $CF, $D4, $D8, $CB ; CPU:$EB93 PRG:2B93 AB A6 A1 FF 02 FD 00 FE 6B 20 FE CA CF D4 D8 CB + .byte $D0, $D5, $D9, $FD, $02, $FE, $C9, $D6, $FE, $FE, $48, $C8, $FF, $03, $FD, $00 ; CPU:$EBA3 PRG:2BA3 D0 D5 D9 FD 02 FE C9 D6 FE FE 48 C8 FF 03 FD 00 + .byte $65, $65, $66, $66, $67, $67, $FF, $03, $FD, $00, $68, $68, $69, $69, $6A, $6A ; CPU:$EBB3 PRG:2BB3 65 65 66 66 67 67 FF 03 FD 00 68 68 69 69 6A 6A + .byte $FF, $20, $00, $C6, $31, $20, $01, $45, $31, $20, $21, $C4, $31, $20, $22, $44 ; CPU:$EBC3 PRG:2BC3 FF 20 00 C6 31 20 01 45 31 20 21 C4 31 20 22 44 + .byte $31, $20, $42, $C3, $31, $20, $43, $43, $31, $20, $63, $C4, $31, $20, $65, $C3 ; CPU:$EBD3 PRG:2BD3 31 20 42 C3 31 20 43 43 31 20 63 C4 31 20 65 C3 + .byte $31, $20, $C0, $C3, $37, $20, $A1, $C4, $3E, $21, $20, $42, $32, $21, $40, $42 ; CPU:$EBE3 PRG:2BE3 31 20 C0 C3 37 20 A1 C4 3E 21 20 42 32 21 40 42 + .byte $36, $21, $60, $42, $34, $21, $80, $42, $36, $21, $A0, $42, $34, $21, $C0, $C4 ; CPU:$EBF3 PRG:2BF3 36 21 60 42 34 21 80 42 36 21 A0 42 34 21 C0 C4 + .byte $32, $21, $C1, $C4, $32, $20, $A2, $C3, $3E, $20, $E3, $02, $3E, $35, $21, $02 ; CPU:$EC03 PRG:2C03 32 21 C1 C4 32 20 A2 C3 3E 20 E3 02 3E 35 21 02 + .byte $43, $36, $21, $22, $43, $34, $21, $42, $42, $36, $21, $62, $42, $34, $21, $82 ; CPU:$EC13 PRG:2C13 43 36 21 22 43 34 21 42 42 36 21 62 42 34 21 82 + .byte $C6, $32, $21, $83, $C6, $32, $20, $64, $84, $43, $42, $37, $37, $21, $44, $02 ; CPU:$EC23 PRG:2C23 C6 32 21 83 C6 32 20 64 84 43 42 37 37 21 44 02 + .byte $32, $34, $21, $64, $87, $45, $47, $49, $4B, $4B, $4D, $4F, $21, $65, $87, $44 ; CPU:$EC33 PRG:2C33 32 34 21 64 87 45 47 49 4B 4B 4D 4F 21 65 87 44 + .byte $46, $48, $4A, $4A, $4C, $4E, $20, $C5, $C3, $3E, $21, $25, $01, $36, $20, $1A ; CPU:$EC43 PRG:2C43 46 48 4A 4A 4C 4E 20 C5 C3 3E 21 25 01 36 20 1A + .byte $C6, $31, $20, $1B, $45, $31, $20, $3B, $C2, $31, $20, $3C, $44, $31, $20, $5C ; CPU:$EC53 PRG:2C53 C6 31 20 1B 45 31 20 3B C2 31 20 3C 44 31 20 5C + .byte $C5, $31, $20, $5D, $43, $31, $20, $7D, $43, $31, $20, $9E, $C4, $31, $20, $9F ; CPU:$EC63 PRG:2C63 C5 31 20 5D 43 31 20 7D 43 31 20 9E C4 31 20 9F + .byte $C3, $31, $20, $7B, $85, $43, $42, $37, $37, $37, $20, $FC, $42, $3E, $20, $9D ; CPU:$EC73 PRG:2C73 C3 31 20 7B 85 43 42 37 37 37 20 FC 42 3E 20 9D + .byte $83, $43, $42, $37, $21, $1B, $43, $36, $21, $3B, $43, $34, $21, $5C, $42, $36 ; CPU:$EC83 PRG:2C83 83 43 42 37 21 1B 43 36 21 3B 43 34 21 5C 42 36 + .byte $21, $5B, $01, $32, $20, $DA, $C4, $38, $21, $5A, $88, $32, $45, $47, $49, $4B ; CPU:$EC93 PRG:2C93 21 5B 01 32 20 DA C4 38 21 5A 88 32 45 47 49 4B + .byte $4B, $4D, $4F, $21, $7B, $87, $44, $46, $48, $4A, $4A, $4C, $4E, $21, $7C, $42 ; CPU:$ECA3 PRG:2CA3 4B 4D 4F 21 7B 87 44 46 48 4A 4A 4C 4E 21 7C 42 + .byte $34, $21, $9C, $C6, $32, $21, $9D, $C6, $32, $21, $1E, $84, $3E, $36, $34, $36 ; CPU:$ECB3 PRG:2CB3 34 21 9C C6 32 21 9D C6 32 21 1E 84 3E 36 34 36 + .byte $21, $BE, $C5, $32, $21, $9E, $01, $34, $20, $FF, $87, $37, $37, $36, $34, $36 ; CPU:$ECC3 PRG:2CC3 21 BE C5 32 21 9E 01 34 20 FF 87 37 37 36 34 36 + .byte $34, $32, $21, $DF, $C4, $32, $20, $06, $01, $80, $20, $07, $53, $82, $20, $26 ; CPU:$ECD3 PRG:2CD3 34 32 21 DF C4 32 20 06 01 80 20 07 53 82 20 26 + .byte $14, $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$ECE3 PRG:2CE3 14 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $82, $84, $20, $46, $C5, $80, $20, $49, $C5, $82, $20, $4A, $C5 ; CPU:$ECF3 PRG:2CF3 82 82 82 82 84 20 46 C5 80 20 49 C5 82 20 4A C5 + .byte $82, $20, $4D, $C5, $82, $20, $4E, $C5, $82, $20, $51, $C5, $82, $20, $52, $C5 ; CPU:$ED03 PRG:2D03 82 20 4D C5 82 20 4E C5 82 20 51 C5 82 20 52 C5 + .byte $82, $20, $55, $C5, $82, $20, $56, $C5, $82, $20, $59, $C5, $84, $20, $E6, $08 ; CPU:$ED13 PRG:2D13 82 20 55 C5 82 20 56 C5 82 20 59 C5 84 20 E6 08 + .byte $86, $87, $87, $89, $86, $87, $87, $89, $20, $EE, $08, $86, $87, $87, $89, $86 ; CPU:$ED23 PRG:2D23 86 87 87 89 86 87 87 89 20 EE 08 86 87 87 89 86 + .byte $87, $87, $89, $20, $F6, $04, $86, $87, $87, $89, $21, $46, $54, $33, $22, $26 ; CPU:$ED33 PRG:2D33 87 87 89 20 F6 04 86 87 87 89 21 46 54 33 22 26 + .byte $54, $33, $21, $66, $C6, $33, $21, $87, $C4, $8B, $22, $07, $01, $8C, $22, $08 ; CPU:$ED43 PRG:2D43 54 33 21 66 C6 33 21 87 C4 8B 22 07 01 8C 22 08 + .byte $44, $8F, $21, $6D, $C6, $33, $21, $68, $44, $8D, $21, $6C, $01, $90, $21, $8C ; CPU:$ED53 PRG:2D53 44 8F 21 6D C6 33 21 68 44 8D 21 6C 01 90 21 8C + .byte $C4, $91, $22, $0C, $01, $92, $21, $4E, $04, $D6, $D7, $D7, $D8, $21, $6E, $04 ; CPU:$ED63 PRG:2D63 C4 91 22 0C 01 92 21 4E 04 D6 D7 D7 D8 21 6E 04 + .byte $93, $96, $93, $96, $21, $8E, $C4, $94, $22, $0E, $82, $95, $9B, $21, $8F, $86 ; CPU:$ED73 PRG:2D73 93 96 93 96 21 8E C4 94 22 0E 82 95 9B 21 8F 86 + .byte $97, $97, $98, $97, $99, $9C, $21, $90, $86, $94, $94, $9A, $94, $95, $9B, $21 ; CPU:$ED83 PRG:2D83 97 97 98 97 99 9C 21 90 86 94 94 9A 94 95 9B 21 + .byte $91, $C4, $97, $22, $11, $82, $99, $9C, $21, $72, $C6, $33, $21, $73, $01, $8A ; CPU:$ED93 PRG:2D93 91 C4 97 22 11 82 99 9C 21 72 C6 33 21 73 01 8A + .byte $21, $67, $01, $8A, $21, $74, $44, $8D, $21, $93, $C4, $8B, $22, $13, $01, $8C ; CPU:$EDA3 PRG:2DA3 21 67 01 8A 21 74 44 8D 21 93 C4 8B 22 13 01 8C + .byte $22, $14, $44, $8F, $21, $79, $C6, $33, $21, $78, $01, $90, $21, $98, $C4, $91 ; CPU:$EDB3 PRG:2DB3 22 14 44 8F 21 79 C6 33 21 78 01 90 21 98 C4 91 + .byte $22, $18, $01, $92, $21, $06, $54, $33, $21, $26, $54, $32, $21, $0B, $0A, $33 ; CPU:$EDC3 PRG:2DC3 22 18 01 92 21 06 54 33 21 26 54 32 21 0B 0A 33 + .byte $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $21, $46, $C8, $D2, $21, $4D, $C8 ; CPU:$EDD3 PRG:2DD3 FA F5 E8 EA F2 33 E9 E8 F9 21 46 C8 D2 21 4D C8 + .byte $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23, $C0, $20, $00, $CC, $FF, $FF ; CPU:$EDE3 PRG:2DE3 D2 21 52 C8 D2 21 59 C8 D2 23 C0 20 00 CC FF FF + .byte $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $88, $AA, $AA ; CPU:$EDF3 PRG:2DF3 FF FF 33 00 00 CC FF FF FF FF 33 00 00 88 AA AA + .byte $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $23, $E0, $08, $A0 ; CPU:$EE03 PRG:2E03 AA AA 22 00 00 88 AA AA AA AA 22 00 23 E0 08 A0 + .byte $A8, $AA, $AA, $AA, $AA, $A2, $A0, $24, $00, $C7, $31, $24, $01, $45, $31, $24 ; CPU:$EE13 PRG:2E13 A8 AA AA AA AA A2 A0 24 00 C7 31 24 01 45 31 24 + .byte $21, $C5, $31, $24, $22, $44, $31, $24, $42, $C6, $31, $24, $43, $43, $31, $24 ; CPU:$EE23 PRG:2E23 21 C5 31 24 22 44 31 24 42 C6 31 24 43 43 31 24 + .byte $63, $01, $31, $24, $64, $C6, $31, $24, $65, $C4, $31, $24, $E0, $83, $38, $36 ; CPU:$EE33 PRG:2E33 63 01 31 24 64 C6 31 24 65 C4 31 24 E0 83 38 36 + .byte $34, $25, $40, $C8, $32, $24, $C1, $86, $37, $37, $36, $34, $36, $34, $25, $81 ; CPU:$EE43 PRG:2E43 34 25 40 C8 32 24 C1 86 37 37 36 34 36 34 25 81 + .byte $C6, $32, $25, $02, $42, $3E, $25, $22, $42, $3E, $25, $42, $42, $36, $25, $62 ; CPU:$EE53 PRG:2E53 C6 32 25 02 42 3E 25 22 42 3E 25 42 42 36 25 62 + .byte $42, $34, $25, $82, $42, $36, $25, $A2, $42, $34, $25, $C2, $C4, $32, $25, $C3 ; CPU:$EE63 PRG:2E63 42 34 25 82 42 36 25 A2 42 34 25 C2 C4 32 25 C3 + .byte $C4, $32, $25, $24, $42, $36, $24, $C5, $C2, $37, $25, $44, $42, $34, $25, $64 ; CPU:$EE73 PRG:2E73 C4 32 25 24 42 36 24 C5 C2 37 25 44 42 34 25 64 + .byte $02, $DD, $DB, $25, $84, $02, $DE, $DC, $25, $A4, $C3, $4B, $25, $A5, $C3, $4A ; CPU:$EE83 PRG:2E83 02 DD DB 25 84 02 DE DC 25 A4 C3 4B 25 A5 C3 4A + .byte $26, $04, $02, $4D, $4C, $26, $24, $02, $4F, $4E, $24, $83, $83, $43, $42, $37 ; CPU:$EE93 PRG:2E93 26 04 02 4D 4C 26 24 02 4F 4E 24 83 83 43 42 37 + .byte $24, $1A, $C7, $31, $24, $1B, $45, $31, $24, $3B, $C5, $31, $24, $3C, $44, $31 ; CPU:$EEA3 PRG:2EA3 24 1A C7 31 24 1B 45 31 24 3B C5 31 24 3C 44 31 + .byte $24, $5C, $C4, $31, $24, $5D, $43, $31, $24, $7D, $C4, $31, $24, $7E, $42, $31 ; CPU:$EEB3 PRG:2EB3 24 5C C4 31 24 5D 43 31 24 7D C4 31 24 7E 42 31 + .byte $24, $FA, $C3, $37, $25, $5A, $83, $32, $DD, $DE, $25, $BA, $C3, $4B, $26, $1A ; CPU:$EEC3 PRG:2EC3 24 FA C3 37 25 5A 83 32 DD DE 25 BA C3 4B 26 1A + .byte $82, $4D, $4F, $24, $DB, $C5, $3E, $25, $7B, $82, $DB, $DC, $25, $BB, $C3, $4A ; CPU:$EED3 PRG:2ED3 82 4D 4F 24 DB C5 3E 25 7B 82 DB DC 25 BB C3 4A + .byte $26, $1B, $82, $4C, $4E, $24, $DC, $C4, $3E, $25, $5C, $43, $36, $25, $7C, $43 ; CPU:$EEE3 PRG:2EE3 26 1B 82 4C 4E 24 DC C4 3E 25 5C 43 36 25 7C 43 + .byte $34, $25, $9C, $43, $36, $25, $BC, $43, $34, $25, $DC, $C4, $32, $25, $DD, $C4 ; CPU:$EEF3 PRG:2EF3 34 25 9C 43 36 25 BC 43 34 25 DC C4 32 25 DD C4 + .byte $32, $24, $FD, $83, $39, $32, $3E, $25, $DE, $C4, $32, $24, $9E, $82, $43, $42 ; CPU:$EF03 PRG:2F03 32 24 FD 83 39 32 3E 25 DE C4 32 24 9E 82 43 42 + .byte $24, $9F, $C2, $31, $24, $DE, $C3, $37, $24, $DF, $C3, $3E, $25, $3F, $C9, $32 ; CPU:$EF13 PRG:2F13 24 9F C2 31 24 DE C3 37 24 DF C3 3E 25 3F C9 32 + .byte $25, $3E, $01, $35, $24, $E3, $01, $37, $25, $05, $01, $38, $25, $46, $C7, $80 ; CPU:$EF23 PRG:2F23 25 3E 01 35 24 E3 01 37 25 05 01 38 25 46 C7 80 + .byte $26, $26, $02, $81, $85, $25, $47, $C7, $84, $25, $48, $04, $8A, $8D, $8D, $90 ; CPU:$EF33 PRG:2F33 26 26 02 81 85 25 47 C7 84 25 48 04 8A 8D 8D 90 + .byte $25, $68, $C5, $8B, $26, $08, $04, $8C, $8F, $8F, $92, $26, $28, $44, $D3, $25 ; CPU:$EF43 PRG:2F43 25 68 C5 8B 26 08 04 8C 8F 8F 92 26 28 44 D3 25 + .byte $6B, $C5, $91, $25, $4C, $C7, $80, $26, $2C, $01, $81, $25, $4D, $C7, $84, $26 ; CPU:$EF53 PRG:2F53 6B C5 91 25 4C C7 80 26 2C 01 81 25 4D C7 84 26 + .byte $2D, $01, $85, $25, $4E, $44, $32, $25, $6E, $04, $93, $96, $93, $96, $25, $8E ; CPU:$EF63 PRG:2F63 2D 01 85 25 4E 44 32 25 6E 04 93 96 93 96 25 8E + .byte $C4, $94, $26, $0E, $04, $95, $99, $95, $99, $26, $2E, $04, $9B, $9C, $9B, $9C ; CPU:$EF73 PRG:2F73 C4 94 26 0E 04 95 99 95 99 26 2E 04 9B 9C 9B 9C + .byte $25, $8F, $C4, $97, $25, $90, $C4, $94, $25, $91, $C4, $97, $25, $CF, $02, $D9 ; CPU:$EF83 PRG:2F83 25 8F C4 97 25 90 C4 94 25 91 C4 97 25 CF 02 D9 + .byte $DA, $25, $52, $C7, $80, $25, $53, $C7, $84, $26, $32, $02, $81, $85, $25, $54 ; CPU:$EF93 PRG:2F93 DA 25 52 C7 80 25 53 C7 84 26 32 02 81 85 25 54 + .byte $04, $8A, $8D, $8D, $90, $25, $74, $C5, $8B, $26, $14, $04, $8C, $8F, $8F, $92 ; CPU:$EFA3 PRG:2FA3 04 8A 8D 8D 90 25 74 C5 8B 26 14 04 8C 8F 8F 92 + .byte $26, $34, $44, $D3, $25, $77, $C5, $91, $25, $58, $C7, $80, $25, $59, $C7, $84 ; CPU:$EFB3 PRG:2FB3 26 34 44 D3 25 77 C5 91 25 58 C7 80 25 59 C7 84 + .byte $26, $38, $02, $81, $85, $24, $06, $01, $80, $24, $07, $53, $82, $24, $26, $14 ; CPU:$EFC3 PRG:2FC3 26 38 02 81 85 24 06 01 80 24 07 53 82 24 26 14 + .byte $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$EFD3 PRG:2FD3 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $84, $24, $46, $C5, $80, $24, $49, $C5, $82, $24, $4A, $C5, $82 ; CPU:$EFE3 PRG:2FE3 82 82 82 84 24 46 C5 80 24 49 C5 82 24 4A C5 82 + .byte $24, $4D, $C5, $82, $24, $4E, $C5, $82, $24, $51, $C5, $82, $24, $52, $C5, $82 ; CPU:$EFF3 PRG:2FF3 24 4D C5 82 24 4E C5 82 24 51 C5 82 24 52 C5 82 + .byte $24, $55, $C5, $82, $24, $56, $C5, $82, $24, $59, $C5, $84, $24, $E6, $08, $86 ; CPU:$F003 PRG:3003 24 55 C5 82 24 56 C5 82 24 59 C5 84 24 E6 08 86 + .byte $87, $87, $89, $86, $87, $87, $89, $24, $EE, $08, $86, $87, $87, $89, $86, $87 ; CPU:$F013 PRG:3013 87 87 89 86 87 87 89 24 EE 08 86 87 87 89 86 87 + .byte $87, $89, $24, $F6, $04, $86, $87, $87, $89, $25, $06, $54, $33, $25, $26, $54 ; CPU:$F023 PRG:3023 87 89 24 F6 04 86 87 87 89 25 06 54 33 25 26 54 + .byte $32, $22, $45, $56, $A5, $22, $40, $45, $32, $22, $5B, $45, $32, $22, $60, $60 ; CPU:$F033 PRG:3033 32 22 45 56 A5 22 40 45 32 22 5B 45 32 22 60 60 + .byte $32, $22, $80, $60, $32, $26, $45, $56, $A5, $26, $40, $45, $32, $26, $5B, $45 ; CPU:$F043 PRG:3043 32 22 80 60 32 26 45 56 A5 26 40 45 32 26 5B 45 + .byte $32, $26, $60, $60, $32, $26, $80, $60, $32, $00, $22, $C2, $84, $C0, $C3, $C3 ; CPU:$F053 PRG:3053 32 26 60 60 32 26 80 60 32 00 22 C2 84 C0 C3 C3 + .byte $C4, $22, $C3, $5A, $BF, $22, $C9, $84, $BB, $BD, $BD, $BE, $22, $D6, $84, $C0 ; CPU:$F063 PRG:3063 C4 22 C3 5A BF 22 C9 84 BB BD BD BE 22 D6 84 C0 + .byte $C3, $C3, $C4, $22, $DD, $84, $BB, $BD, $BD, $BE, $22, $CD, $06, $E5, $E4, $E3 ; CPU:$F073 PRG:3073 C3 C3 C4 22 DD 84 BB BD BD BE 22 CD 06 E5 E4 E3 + .byte $E2, $E1, $E0, $23, $23, $46, $C2, $23, $37, $46, $C2, $23, $0C, $02, $C0, $BF ; CPU:$F083 PRG:3083 E2 E1 E0 23 23 46 C2 23 37 46 C2 23 0C 02 C0 BF + .byte $23, $2C, $01, $C3, $23, $4C, $82, $C3, $C4, $23, $6D, $46, $C2, $23, $12, $02 ; CPU:$F093 PRG:3093 23 2C 01 C3 23 4C 82 C3 C4 23 6D 46 C2 23 12 02 + .byte $BF, $BB, $23, $33, $01, $BD, $23, $53, $82, $BD, $BE, $23, $45, $03, $9E, $24 ; CPU:$F0A3 PRG:30A3 BF BB 23 33 01 BD 23 53 82 BD BE 23 45 03 9E 24 + .byte $03, $23, $59, $03, $9D, $24, $03, $23, $0E, $04, $1D, $12, $16, $0E, $26, $C2 ; CPU:$F0B3 PRG:30B3 03 23 59 03 9D 24 03 23 0E 04 1D 12 16 0E 26 C2 + .byte $84, $C0, $C3, $C3, $C4, $26, $C3, $5A, $BF, $26, $C9, $84, $BB, $BD, $BD, $BE ; CPU:$F0C3 PRG:30C3 84 C0 C3 C3 C4 26 C3 5A BF 26 C9 84 BB BD BD BE + .byte $26, $D6, $84, $C0, $C3, $C3, $C4, $26, $DD, $84, $BB, $BD, $BD, $BE, $26, $CD ; CPU:$F0D3 PRG:30D3 26 D6 84 C0 C3 C3 C4 26 DD 84 BB BD BD BE 26 CD + .byte $06, $E5, $E4, $E3, $E2, $E1, $E0, $27, $23, $46, $C2, $27, $37, $46, $C2, $27 ; CPU:$F0E3 PRG:30E3 06 E5 E4 E3 E2 E1 E0 27 23 46 C2 27 37 46 C2 27 + .byte $0C, $02, $C0, $BF, $27, $2C, $01, $C3, $27, $4C, $82, $C3, $C4, $27, $6D, $46 ; CPU:$F0F3 PRG:30F3 0C 02 C0 BF 27 2C 01 C3 27 4C 82 C3 C4 27 6D 46 + .byte $C2, $27, $12, $02, $BF, $BB, $27, $33, $01, $BD, $27, $53, $82, $BD, $BE, $27 ; CPU:$F103 PRG:3103 C2 27 12 02 BF BB 27 33 01 BD 27 53 82 BD BE 27 + .byte $45, $03, $9E, $24, $03, $27, $59, $03, $9D, $24, $03, $27, $0E, $04, $1D, $12 ; CPU:$F113 PRG:3113 45 03 9E 24 03 27 59 03 9D 24 03 27 0E 04 1D 12 + .byte $16, $0E, $23, $E8, $18, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5 ; CPU:$F123 PRG:3123 16 0E 23 E8 18 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 + .byte $FF, $FF, $A5, $A5, $A5, $55, $55, $55, $FF, $FF, $00, $00, $00, $27, $E8, $18 ; CPU:$F133 PRG:3133 FF FF A5 A5 A5 55 55 55 FF FF 00 00 00 27 E8 18 + .byte $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5, $FF, $FF, $A5, $A5, $A5 ; CPU:$F143 PRG:3143 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 FF FF A5 A5 A5 + .byte $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $22, $E2, $08, $C0, $E5, $E4, $E3 ; CPU:$F153 PRG:3153 55 55 55 FF FF 00 00 00 00 22 E2 08 C0 E5 E4 E3 + .byte $E2, $E1, $E0, $BB, $23, $02, $83, $C3, $C3, $C4, $23, $09, $83, $BD, $BD, $BE ; CPU:$F163 PRG:3163 E2 E1 E0 BB 23 02 83 C3 C3 C4 23 09 83 BD BD BE + .byte $23, $43, $46, $C2, $22, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $23 ; CPU:$F173 PRG:3173 23 43 46 C2 22 EC 08 C0 BF 1D 12 16 0E BF BB 23 + .byte $0C, $83, $C3, $C3, $C4, $23, $13, $83, $BD, $BD, $BE, $23, $4D, $46, $C2, $22 ; CPU:$F183 PRG:3183 0C 83 C3 C3 C4 23 13 83 BD BD BE 23 4D 46 C2 22 + .byte $D6, $06, $1B, $18, $1E, $17, $0D, $24, $23, $16, $05, $0C, $18, $16, $24, $03 ; CPU:$F193 PRG:3193 D6 06 1B 18 1E 17 0D 24 23 16 05 0C 18 16 24 03 + .byte $23, $36, $05, $22, $18, $1E, $24, $03, $26, $E2, $08, $C0, $E5, $E4, $E3, $E2 ; CPU:$F1A3 PRG:31A3 23 36 05 22 18 1E 24 03 26 E2 08 C0 E5 E4 E3 E2 + .byte $E1, $E0, $BB, $27, $02, $83, $C3, $C3, $C4, $27, $09, $83, $BD, $BD, $BE, $27 ; CPU:$F1B3 PRG:31B3 E1 E0 BB 27 02 83 C3 C3 C4 27 09 83 BD BD BE 27 + .byte $43, $46, $C2, $26, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $27, $0C ; CPU:$F1C3 PRG:31C3 43 46 C2 26 EC 08 C0 BF 1D 12 16 0E BF BB 27 0C + .byte $83, $C3, $C3, $C4, $27, $13, $83, $BD, $BD, $BE, $27, $4D, $46, $C2, $26, $D6 ; CPU:$F1D3 PRG:31D3 83 C3 C3 C4 27 13 83 BD BD BE 27 4D 46 C2 26 D6 + .byte $06, $1B, $18, $1E, $17, $0D, $24, $27, $16, $05, $0C, $18, $16, $24, $03, $27 ; CPU:$F1E3 PRG:31E3 06 1B 18 1E 17 0D 24 27 16 05 0C 18 16 24 03 27 + .byte $36, $05, $22, $18, $1E, $24, $03, $23, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A ; CPU:$F1F3 PRG:31F3 36 05 22 18 1E 24 03 23 E8 18 5A 5A 5A FA FA 5A + .byte $5A, $5A, $55, $55, $55, $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00 ; CPU:$F203 PRG:3203 5A 5A 55 55 55 FF FF AA AA AA 55 55 55 FF FF 00 + .byte $00, $00, $27, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A, $5A, $5A, $55, $55, $55 ; CPU:$F213 PRG:3213 00 00 27 E8 18 5A 5A 5A FA FA 5A 5A 5A 55 55 55 + .byte $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $21, $0A ; CPU:$F223 PRG:3223 FF FF AA AA AA 55 55 55 FF FF 00 00 00 00 21 0A + .byte $0E, $33, $E9, $E8, $F9, $E9, $EC, $F9, $33, $FA, $EF, $F6, $F7, $33, $33, $21 ; CPU:$F233 PRG:3233 0E 33 E9 E8 F9 E9 EC F9 33 FA EF F6 F7 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F243 PRG:3243 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F253 PRG:3253 C0 20 00 44 55 55 55 55 11 00 00 44 55 55 55 55 + .byte $11, $00, $00, $4C, $5F, $5F, $5F, $5F, $13, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F263 PRG:3263 11 00 00 4C 5F 5F 5F 5F 13 00 00 44 55 55 55 55 + .byte $11, $00, $23, $E0, $08, $A0, $A4, $A5, $A5, $A5, $A5, $A1, $A0, $00, $21, $0A ; CPU:$F273 PRG:3273 11 00 23 E0 08 A0 A4 A5 A5 A5 A5 A1 A0 00 21 0A + .byte $0E, $33, $33, $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $33, $33, $33, $21 ; CPU:$F283 PRG:3283 0E 33 33 FA F5 E8 EA F2 33 E9 E8 F9 33 33 33 21 + .byte $46, $C8, $D2, $21, $4D, $C8, $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23 ; CPU:$F293 PRG:3293 46 C8 D2 21 4D C8 D2 21 52 C8 D2 21 59 C8 D2 23 + .byte $C0, $20, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$F2A3 PRG:32A3 C0 20 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF + .byte $33, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2B3 PRG:32B3 33 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $AA, $AA, $AA, $A2, $A0, $00, $21, $0A ; CPU:$F2C3 PRG:32C3 22 00 23 E0 08 A0 A8 AA AA AA AA A2 A0 00 21 0A + .byte $0E, $33, $F9, $EC, $FA, $FB, $E8, $FC, $F9, $E8, $F5, $FB, $33, $33, $33, $21 ; CPU:$F2D3 PRG:32D3 0E 33 F9 EC FA FB E8 FC F9 E8 F5 FB 33 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F2E3 PRG:32E3 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2F3 PRG:32F3 C0 20 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $00, $84, $A5, $25, $85, $A5, $21, $00, $00, $88, $AA, $22, $88, $AA ; CPU:$F303 PRG:3303 22 00 00 84 A5 25 85 A5 21 00 00 88 AA 22 88 AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $A2, $A8, $AA, $A2, $A0, $00, $25, $0A ; CPU:$F313 PRG:3313 22 00 23 E0 08 A0 A8 AA A2 A8 AA A2 A0 00 25 0A + .byte $0E, $33, $E9, $F6, $F6, $F2, $33, $FA, $FB, $F6, $F9, $EC, $33, $33, $33, $25 ; CPU:$F323 PRG:3323 0E 33 E9 F6 F6 F2 33 FA FB F6 F9 EC 33 33 33 25 + .byte $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F333 PRG:3333 4E 04 D6 D7 D7 D8 27 C0 20 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F343 PRG:3343 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $27, $E0, $08, $A0, $A8, $AA, $AA ; CPU:$F353 PRG:3353 00 00 88 AA AA AA AA 22 00 27 E0 08 A0 A8 AA AA + .byte $AA, $AA, $A2, $A0, $00, $25, $0A, $0E, $EB, $F0, $FA, $EA, $F6, $FC, $F5, $FB ; CPU:$F363 PRG:3363 AA AA A2 A0 00 25 0A 0E EB F0 FA EA F6 FC F5 FB + .byte $33, $FA, $EF, $F6, $F7, $33, $25, $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20 ; CPU:$F373 PRG:3373 33 FA EF F6 F7 33 25 4E 04 D6 D7 D7 D8 27 C0 20 + .byte $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55, $11, $00 ; CPU:$F383 PRG:3383 00 44 55 55 55 55 11 00 00 44 55 55 55 55 11 00 + .byte $00, $00, $00, $80, $20, $00, $00, $00, $00, $00, $00, $88, $22, $00, $00, $00 ; CPU:$F393 PRG:3393 00 00 00 80 20 00 00 00 00 00 00 88 22 00 00 00 + .byte $27, $E0, $08, $A0, $A0, $A0, $A8, $A2, $A0, $A0, $A0, $00, $20, $00, $60, $32 ; CPU:$F3A3 PRG:33A3 27 E0 08 A0 A0 A0 A8 A2 A0 A0 A0 00 20 00 60 32 + .byte $20, $20, $60, $32, $20, $40, $60, $32, $20, $60, $60, $32, $21, $40, $60, $32 ; CPU:$F3B3 PRG:33B3 20 20 60 32 20 40 60 32 20 60 60 32 21 40 60 32 + .byte $22, $20, $60, $32, $20, $80, $CD, $32, $20, $81, $CD, $32, $20, $82, $CD, $32 ; CPU:$F3C3 PRG:33C3 22 20 60 32 20 80 CD 32 20 81 CD 32 20 82 CD 32 + .byte $20, $83, $CD, $32, $20, $93, $CD, $32, $20, $9C, $CD, $32, $20, $9D, $CD, $32 ; CPU:$F3D3 PRG:33D3 20 83 CD 32 20 93 CD 32 20 9C CD 32 20 9D CD 32 + .byte $20, $9E, $CD, $32, $20, $9F, $CD, $32, $20, $94, $48, $31, $20, $B4, $47, $31 ; CPU:$F3E3 PRG:33E3 20 9E CD 32 20 9F CD 32 20 94 48 31 20 B4 47 31 + .byte $20, $D4, $47, $31, $20, $F4, $47, $31, $21, $14, $47, $31, $20, $84, $CC, $A0 ; CPU:$F3F3 PRG:33F3 20 D4 47 31 20 F4 47 31 21 14 47 31 20 84 CC A0 + .byte $20, $85, $CC, $A1, $20, $86, $CC, $A2, $20, $87, $CD, $A0, $20, $88, $8D, $33 ; CPU:$F403 PRG:3403 20 85 CC A1 20 86 CC A2 20 87 CD A0 20 88 8D 33 + .byte $A1, $A8, $A9, $A1, $A1, $32, $A1, $A1, $33, $A1, $A1, $A1, $20, $A9, $CC, $A2 ; CPU:$F413 PRG:3413 A1 A8 A9 A1 A1 32 A1 A1 33 A1 A1 A1 20 A9 CC A2 + .byte $20, $8A, $CD, $A0, $20, $8B, $8D, $33, $A1, $A8, $A9, $A1, $33, $32, $33, $A1 ; CPU:$F423 PRG:3423 20 8A CD A0 20 8B 8D 33 A1 A8 A9 A1 33 32 33 A1 + .byte $A1, $33, $A1, $A1, $20, $AC, $CC, $A2, $20, $AD, $CC, $A0, $20, $AE, $CC, $A1 ; CPU:$F433 PRG:3433 A1 33 A1 A1 20 AC CC A2 20 AD CC A0 20 AE CC A1 + .byte $20, $AF, $C5, $A2, $21, $8F, $C5, $A1, $20, $90, $CD, $A0, $20, $B1, $C5, $A1 ; CPU:$F443 PRG:3443 20 AF C5 A2 21 8F C5 A1 20 90 CD A0 20 B1 C5 A1 + .byte $21, $71, $C6, $A0, $20, $B2, $C5, $A2, $21, $72, $86, $33, $A1, $A1, $33, $AA ; CPU:$F453 PRG:3453 21 71 C6 A0 20 B2 C5 A2 21 72 86 33 A1 A1 33 AA + .byte $AA, $21, $73, $84, $A3, $A2, $A2, $A4, $21, $74, $C6, $A0, $21, $75, $C6, $A2 ; CPU:$F463 PRG:3463 AA 21 73 84 A3 A2 A2 A4 21 74 C6 A0 21 75 C6 A2 + .byte $21, $96, $C4, $A0, $21, $97, $C4, $A1, $21, $98, $C4, $A2, $21, $79, $C6, $A0 ; CPU:$F473 PRG:3473 21 96 C4 A0 21 97 C4 A1 21 98 C4 A2 21 79 C6 A0 + .byte $21, $9A, $C5, $A1, $21, $9B, $C5, $A2, $21, $24, $83, $A7, $32, $A6, $21, $05 ; CPU:$F483 PRG:3483 21 9A C5 A1 21 9B C5 A2 21 24 83 A7 32 A6 21 05 + .byte $84, $A8, $33, $32, $33, $21, $26, $83, $A4, $32, $A3, $20, $89, $84, $A3, $A2 ; CPU:$F493 PRG:3493 84 A8 33 32 33 21 26 83 A4 32 A3 20 89 84 A3 A2 + .byte $A4, $A3, $21, $6A, $01, $A6, $20, $8C, $88, $A3, $A2, $A4, $A3, $A2, $A4, $32 ; CPU:$F4A3 PRG:34A3 A4 A3 21 6A 01 A6 20 8C 88 A3 A2 A4 A3 A2 A4 32 + .byte $A3, $20, $8D, $01, $A6, $20, $8E, $84, $33, $A1, $A1, $33, $20, $8F, $01, $A3 ; CPU:$F4B3 PRG:34B3 A3 20 8D 01 A6 20 8E 84 33 A1 A1 33 20 8F 01 A3 + .byte $21, $6E, $03, $33, $33, $A3, $20, $91, $02, $33, $A3, $21, $76, $06, $A6, $33 ; CPU:$F4C3 PRG:34C3 21 6E 03 33 33 A3 20 91 02 33 A3 21 76 06 A6 33 + .byte $A3, $A0, $33, $A3, $22, $04, $03, $A7, $33, $A4, $22, $16, $03, $A7, $33, $A4 ; CPU:$F4D3 PRG:34D3 A3 A0 33 A3 22 04 03 A7 33 A4 22 16 03 A7 33 A4 + .byte $20, $22, $D1, $32, $20, $23, $D1, $32, $21, $44, $58, $32, $22, $24, $58, $32 ; CPU:$F4E3 PRG:34E3 20 22 D1 32 20 23 D1 32 21 44 58 32 22 24 58 32 + .byte $21, $A6, $01, $32, $21, $F3, $C2, $32, $21, $A5, $01, $AA, $21, $90, $C5, $A2 ; CPU:$F4F3 PRG:34F3 21 A6 01 32 21 F3 C2 32 21 A5 01 AA 21 90 C5 A2 + .byte $20, $96, $83, $43, $42, $37, $20, $F5, $02, $32, $37, $21, $15, $43, $36, $21 ; CPU:$F503 PRG:3503 20 96 83 43 42 37 20 F5 02 32 37 21 15 43 36 21 + .byte $34, $04, $32, $34, $34, $34, $20, $D8, $84, $32, $3E, $3E, $3E, $20, $D9, $84 ; CPU:$F513 PRG:3513 34 04 32 34 34 34 20 D8 84 32 3E 3E 3E 20 D9 84 + .byte $3E, $3E, $32, $3E, $20, $FA, $83, $38, $3E, $32, $20, $BB, $85, $43, $42, $37 ; CPU:$F523 PRG:3523 3E 3E 32 3E 20 FA 83 38 3E 32 20 BB 85 43 42 37 + .byte $37, $37, $22, $A6, $17, $10, $0A, $16, $0E, $2F, $0B, $2F, $2F, $2F, $2F, $02 ; CPU:$F533 PRG:3533 37 37 22 A6 17 10 0A 16 0E 2F 0B 2F 2F 2F 2F 02 + .byte $2F, $19, $15, $0A, $22, $0E, $1B, $2F, $10, $0A, $16, $0E, $22, $66, $16, $10 ; CPU:$F543 PRG:3543 2F 19 15 0A 22 0E 1B 2F 10 0A 16 0E 22 66 16 10 + .byte $0A, $16, $0E, $2F, $0A, $2F, $2F, $2F, $2F, $1F, $1C, $2B, $2F, $0C, $18, $16 ; CPU:$F553 PRG:3553 0A 16 0E 2F 0A 2F 2F 2F 2F 1F 1C 2B 2F 0C 18 16 + .byte $19, $1E, $1D, $0E, $1B, $22, $EA, $0A, $1D, $18, $19, $2F, $1B, $18, $1E, $17 ; CPU:$F563 PRG:3563 19 1E 1D 0E 1B 22 EA 0A 1D 18 19 2F 1B 18 1E 17 + .byte $0D, $24, $23, $29, $0E, $25, $01, $09, $08, $04, $2F, $17, $12, $17, $1D, $0E ; CPU:$F573 PRG:3573 0D 24 23 29 0E 25 01 09 08 04 2F 17 12 17 1D 0E + .byte $17, $0D, $18, $23, $C0, $60, $00, $23, $E0, $08, $F0, $B0, $A0, $A0, $A0, $A0 ; CPU:$F583 PRG:3583 17 0D 18 23 C0 60 00 23 E0 08 F0 B0 A0 A0 A0 A0 + .byte $A0, $A0, $23, $E8, $08, $00, $0B, $0A, $0A, $0A, $0A, $0A, $0A, $23, $F0, $50 ; CPU:$F593 PRG:3593 A0 A0 23 E8 08 00 0B 0A 0A 0A 0A 0A 0A 23 F0 50 + .byte $FF, $23, $CD, $42, $55, $23, $D5, $42, $05, $22, $1C, $02, $2D, $2E, $00, $BE ; CPU:$F5A3 PRG:35A3 FF 23 CD 42 55 23 D5 42 05 22 1C 02 2D 2E 00 BE + .byte $F5, $D6, $F5, $FA, $F5, $1E, $F6, $42, $F6, $66, $F6, $3F, $00, $10, $0F, $0F ; CPU:$F5B3 PRG:35B3 F5 D6 F5 FA F5 1E F6 42 F6 66 F6 3F 00 10 0F 0F + .byte $11, $31, $0F, $02, $0F, $27, $0F, $16, $25, $23, $0F, $05, $20, $0F, $3F, $10 ; CPU:$F5C3 PRG:35C3 11 31 0F 02 0F 27 0F 16 25 23 0F 05 20 0F 3F 10 + .byte $50, $0F, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07, $38, $2B, $0F, $00 ; CPU:$F5D3 PRG:35D3 50 0F 00 3F 00 20 0F 21 0C 38 0F 07 38 2B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $36, $31, $0F, $1A, $36, $31, $0F, $1A ; CPU:$F5E3 PRG:35E3 10 30 0F 16 30 22 0F 02 36 31 0F 1A 36 31 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07 ; CPU:$F5F3 PRG:35F3 15 0C 0F 16 27 19 00 3F 00 20 0F 21 0C 38 0F 07 + .byte $38, $2B, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $34 ; CPU:$F603 PRG:3603 38 2B 0F 00 10 30 0F 16 30 22 0F 02 26 31 0F 34 + .byte $21, $11, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21 ; CPU:$F613 PRG:3613 21 11 0F 1A 15 0C 0F 16 27 19 00 3F 00 20 0F 21 + .byte $0C, $38, $0F, $09, $31, $29, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02 ; CPU:$F623 PRG:3623 0C 38 0F 09 31 29 0F 00 10 30 0F 16 30 22 0F 02 + .byte $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F ; CPU:$F633 PRG:3633 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 27 19 00 3F + .byte $00, $20, $0F, $21, $0C, $38, $0F, $22, $18, $07, $0F, $00, $10, $30, $0F, $16 ; CPU:$F643 PRG:3643 00 20 0F 21 0C 38 0F 22 18 07 0F 00 10 30 0F 16 + .byte $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16 ; CPU:$F653 PRG:3653 30 22 0F 02 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 + .byte $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $03, $18, $0B, $0F, $00 ; CPU:$F663 PRG:3663 27 19 00 3F 00 20 0F 21 0C 38 0F 03 18 0B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A ; CPU:$F673 PRG:3673 10 30 0F 16 30 22 0F 02 26 31 0F 19 36 32 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $00, $01, $20, $00, $00, $01, $20, $00, $00 ; CPU:$F683 PRG:3683 15 0C 0F 16 27 19 00 00 01 20 00 00 01 20 00 00 + .byte $01, $20, $00, $01, $01, $7B, $C1, $00, $15, $60, $A0, $00, $03, $00, $00, $01 ; CPU:$F693 PRG:3693 01 20 00 01 01 7B C1 00 15 60 A0 00 03 00 00 01 + .byte $00, $00, $00, $01, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6A3 PRG:36A3 00 00 00 01 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $7B, $3E, $08, $15, $A0, $E0, $00, $03, $00, $00, $00 ; CPU:$F6B3 PRG:36B3 00 00 01 01 01 7B 3E 08 15 A0 E0 00 03 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6C3 PRG:36C3 00 00 00 00 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $3D, $78, $00, $13, $E0, $00, $01, $00, $03, $00, $00 ; CPU:$F6D3 PRG:36D3 00 00 01 01 01 3D 78 00 13 E0 00 01 00 03 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F6E3 PRG:36E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $F4, $FE, $20, $04, $F4, $FD, $00, $68, $F4, $FC, $00, $70, $F4 ; CPU:$F6F3 PRG:36F3 00 00 00 F4 FE 20 04 F4 FD 00 68 F4 FC 00 70 F4 + .byte $FB, $00, $78, $F4, $F6, $00, $78, $F4, $F5, $00, $80, $F4, $F4, $00, $80, $F4 ; CPU:$F703 PRG:3703 FB 00 78 F4 F6 00 78 F4 F5 00 80 F4 F4 00 80 F4 + .byte $F3, $03, $80, $F4, $F2, $00, $88, $F4, $F1, $00, $88, $F4, $F0, $03, $88, $F4 ; CPU:$F713 PRG:3713 F3 03 80 F4 F2 00 88 F4 F1 00 88 F4 F0 03 88 F4 + .byte $EF, $00, $90, $F4, $EE, $00, $90, $F4, $ED, $00, $98, $F4, $EC, $00, $98, $F4 ; CPU:$F723 PRG:3723 EF 00 90 F4 EE 00 90 F4 ED 00 98 F4 EC 00 98 F4 + .byte $EB, $00, $A0, $F4, $F9, $00, $80, $F4, $F7, $00, $88, $F4, $FA, $01, $80, $F4 ; CPU:$F733 PRG:3733 EB 00 A0 F4 F9 00 80 F4 F7 00 88 F4 FA 01 80 F4 + .byte $F8, $01, $88, $2F, $4C, $78, $7A, $7C, $7E, $4E, $79, $7B, $7D, $7F, $CD, $CB ; CPU:$F743 PRG:3743 F8 01 88 2F 4C 78 7A 7C 7E 4E 79 7B 7D 7F CD CB + .byte $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $78, $7A, $7C, $7E, $4D, $79, $7B ; CPU:$F753 PRG:3753 C9 C7 C5 CE CC CA C8 C6 FF 78 7A 7C 7E 4D 79 7B + .byte $7D, $7F, $4F, $CD, $CB, $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $00, $00 ; CPU:$F763 PRG:3763 7D 7F 4F CD CB C9 C7 C5 CE CC CA C8 C6 FF 00 00 + .byte $31, $F2, $21, $F3, $81, $F2, $68, $F3, $D1, $F2, $AF, $F7, $B6, $F7, $BD, $F7 ; CPU:$F773 PRG:3773 31 F2 21 F3 81 F2 68 F3 D1 F2 AF F7 B6 F7 BD F7 + .byte $C4, $F7, $D7, $F7, $CE, $F7, $E0, $F7, $E3, $F7, $E6, $F7, $E9, $F7, $99, $F7 ; CPU:$F783 PRG:3783 C4 F7 D7 F7 CE F7 E0 F7 E3 F7 E6 F7 E9 F7 99 F7 + .byte $A6, $F7, $CB, $F7, $EC, $F7, $04, $02, $04, $00, $04, $01, $04, $06, $04, $00 ; CPU:$F793 PRG:3793 A6 F7 CB F7 EC F7 04 02 04 00 04 01 04 06 04 00 + .byte $04, $01, $FE, $04, $00, $04, $06, $04, $01, $04, $02, $FE, $20, $0F, $10, $08 ; CPU:$F7A3 PRG:37A3 04 01 FE 04 00 04 06 04 01 04 02 FE 20 0F 10 08 + .byte $01, $04, $FF, $20, $10, $10, $09, $01, $06, $FF, $10, $0F, $10, $08, $01, $04 ; CPU:$F7B3 PRG:37B3 01 04 FF 20 10 10 09 01 06 FF 10 0F 10 08 01 04 + .byte $FF, $10, $10, $10, $09, $01, $06, $FF, $15, $0A, $FF, $10, $06, $10, $06, $10 ; CPU:$F7C3 PRG:37C3 FF 10 10 10 09 01 06 FF 15 0A FF 10 06 10 06 10 + .byte $07, $10, $07, $FE, $10, $04, $10, $04, $10, $05, $10, $05, $FE, $20, $0B, $FF ; CPU:$F7D3 PRG:37D3 07 10 07 FE 10 04 10 04 10 05 10 05 FE 20 0B FF + .byte $20, $0C, $FF, $20, $16, $FF, $20, $17, $FF, $40, $19, $F0, $18, $FF, $02, $FF ; CPU:$F7E3 PRG:37E3 20 0C FF 20 16 FF 20 17 FF 40 19 F0 18 FF 02 FF + .byte $01, $02, $FF, $01, $02, $FF, $01, $02, $FF, $01, $02, $00, $01, $FD, $14, $02 ; CPU:$F7F3 PRG:37F3 01 02 FF 01 02 FF 01 02 FF 01 02 00 01 FD 14 02 + .byte $00, $01, $02, $00, $01, $02, $01, $01, $02, $01, $01, $02, $01, $01, $02, $01 ; CPU:$F803 PRG:3803 00 01 02 00 01 02 01 01 02 01 01 02 01 01 02 01 + .byte $01, $02, $01, $01, $02, $01, $01, $02, $02, $01, $FD, $0E, $02, $02, $01, $02 ; CPU:$F813 PRG:3813 01 02 01 01 02 01 01 02 02 01 FD 0E 02 02 01 02 + .byte $02, $01, $14, $00, $01, $FD, $11, $14, $F8, $00, $FD, $0C, $0F, $03, $10, $FF ; CPU:$F823 PRG:3823 02 01 14 00 01 FD 11 14 F8 00 FD 0C 0F 03 10 FF + .byte $02, $03, $01, $FE, $0E, $00, $0A, $FF, $08, $02, $01, $FD, $11, $08, $F8, $00 ; CPU:$F833 PRG:3833 02 03 01 FE 0E 00 0A FF 08 02 01 FD 11 08 F8 00 + .byte $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD ; CPU:$F843 PRG:3843 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD + .byte $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E ; CPU:$F853 PRG:3853 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E + .byte $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08 ; CPU:$F863 PRG:3863 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 + .byte $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08 ; CPU:$F873 PRG:3873 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 + .byte $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00 ; CPU:$F883 PRG:3883 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 + .byte $FF, $FD, $1D, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F893 PRG:3893 FF FD 1D 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FD, $1A, $04, $02, $00, $04, $02, $00 ; CPU:$F8A3 PRG:38A3 02 00 04 02 00 04 02 00 FD 1A 04 02 00 04 02 00 + .byte $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F8B3 PRG:38B3 04 02 00 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FF, $48, $EA, $23, $9C, $48, $C4, $61 ; CPU:$F8C3 PRG:38C3 02 00 04 02 00 04 02 00 FF 48 EA 23 9C 48 C4 61 + .byte $98, $48, $C4, $21, $A0, $40, $C6, $20, $98, $40, $C3, $20, $A0, $38, $C5, $20 ; CPU:$F8D3 PRG:38D3 98 48 C4 21 A0 40 C6 20 98 40 C3 20 A0 38 C5 20 + .byte $98, $38, $C2, $20, $A0, $08, $F8, $08, $08, $10, $00, $FF, $10, $F0, $18, $F8 ; CPU:$F8E3 PRG:38E3 98 38 C2 20 A0 08 F8 08 08 10 00 FF 10 F0 18 F8 + .byte $18, $08, $10, $10, $FF, $18, $E0, $20, $E8, $28, $F8, $20, $00, $28, $10, $FF ; CPU:$F8F3 PRG:38F3 18 08 10 10 FF 18 E0 20 E8 28 F8 20 00 28 10 FF + .byte $20, $D0, $30, $D8, $30, $E8, $38, $F0, $30, $00, $30, $18, $FF, $30, $C8, $40 ; CPU:$F903 PRG:3903 20 D0 30 D8 30 E8 38 F0 30 00 30 18 FF 30 C8 40 + .byte $E0, $40, $08, $48, $20, $FF, $38, $B0, $40, $C0, $50, $E8, $50, $00, $FF, $50 ; CPU:$F913 PRG:3913 E0 40 08 48 20 FF 38 B0 40 C0 50 E8 50 00 FF 50 + .byte $C8, $FF, $48, $98, $50, $B0, $FF, $50, $88, $58, $90, $60, $A8, $58, $B8, $60 ; CPU:$F923 PRG:3923 C8 FF 48 98 50 B0 FF 50 88 58 90 60 A8 58 B8 60 + .byte $C8, $60, $E0, $58, $F8, $60, $08, $58, $18, $60, $20, $60, $30, $FE, $2F, $1B ; CPU:$F933 PRG:3933 C8 60 E0 58 F8 60 08 58 18 60 20 60 30 FE 2F 1B + .byte $18, $1E, $17, $0D, $24, $2F, $2F, $2F, $4F, $F9, $75, $F9, $CD, $24, $57, $FF ; CPU:$F943 PRG:3943 18 1E 17 0D 24 2F 2F 2F 4F F9 75 F9 CD 24 57 FF + .byte $13, $13, $13, $13, $13, $1A, $D8, $1B, $18, $1E, $17, $0D, $21, $D8, $B7, $B7 ; CPU:$F953 PRG:3953 13 13 13 13 13 1A D8 1B 18 1E 17 0D 21 D8 B7 B7 + .byte $B7, $B7, $B7, $21, $D8, $B7, $B7, $B7, $B7, $B7, $21, $23, $FC, $FC, $FC, $FC ; CPU:$F963 PRG:3963 B7 B7 B7 21 D8 B7 B7 B7 B7 B7 21 23 FC FC FC FC + .byte $FC, $FD, $6B, $0B, $1A, $32, $32, $2F, $19, $0A, $1E, $1C, $0E, $2F, $32, $33 ; CPU:$F973 PRG:3973 FC FD 6B 0B 1A 32 32 2F 19 0A 1E 1C 0E 2F 32 33 + .byte $5A, $24, $FF, $13, $13, $13, $13, $13, $1A, $24, $24, $24, $D8, $B7, $B7, $B7 ; CPU:$F983 PRG:3983 5A 24 FF 13 13 13 13 13 1A 24 24 24 D8 B7 B7 B7 + .byte $B7, $B7, $21, $24, $24, $24, $D8, $19, $0A, $1E, $1C, $0E, $21, $24, $24, $24 ; CPU:$F993 PRG:3993 B7 B7 21 24 24 24 D8 19 0A 1E 1C 0E 21 24 24 24 + .byte $D8, $B7, $B7, $B7, $B7, $B7, $21, $24, $24, $24, $23, $FC, $FC, $FC, $FC, $FC ; CPU:$F9A3 PRG:39A3 D8 B7 B7 B7 B7 B7 21 24 24 24 23 FC FC FC FC FC + .byte $FD, $24, $24, $01, $01, $02, $03, $00, $50, $00, $00, $00, $02, $03, $01, $04 ; CPU:$F9B3 PRG:39B3 FD 24 24 01 01 02 03 00 50 00 00 00 02 03 01 04 + .byte $06, $02, $05, $07, $05, $08, $10, $15, $16, $20, $24, $30, $E3, $F9, $E7, $F9 ; CPU:$F9C3 PRG:39C3 06 02 05 07 05 08 10 15 16 20 24 30 E3 F9 E7 F9 + .byte $EB, $F9, $EF, $F9, $F3, $F9, $F7, $F9, $FB, $F9, $FF, $F9, $03, $FA, $07, $FA ; CPU:$F9D3 PRG:39D3 EB F9 EF F9 F3 F9 F7 F9 FB F9 FF F9 03 FA 07 FA + .byte $50, $52, $51, $53, $54, $56, $55, $57, $58, $5A, $59, $5B, $5C, $5E, $5D, $5F ; CPU:$F9E3 PRG:39E3 50 52 51 53 54 56 55 57 58 5A 59 5B 5C 5E 5D 5F + .byte $60, $62, $61, $63, $64, $66, $65, $67, $68, $6A, $69, $6B, $6C, $6E, $6D, $6F ; CPU:$F9F3 PRG:39F3 60 62 61 63 64 66 65 67 68 6A 69 6B 6C 6E 6D 6F + .byte $70, $72, $71, $73, $74, $76, $75, $77, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA03 PRG:3A03 70 72 71 73 74 76 75 77 FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA13 PRG:3A13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA23 PRG:3A23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA33 PRG:3A33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA43 PRG:3A43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA53 PRG:3A53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA63 PRG:3A63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA73 PRG:3A73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA83 PRG:3A83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA93 PRG:3A93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA3 PRG:3AA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB3 PRG:3AB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC3 PRG:3AC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD3 PRG:3AD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE3 PRG:3AE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF3 PRG:3AF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB03 PRG:3B03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB13 PRG:3B13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB23 PRG:3B23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB33 PRG:3B33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB43 PRG:3B43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB53 PRG:3B53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB63 PRG:3B63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB73 PRG:3B73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB83 PRG:3B83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB93 PRG:3B93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA3 PRG:3BA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB3 PRG:3BB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC3 PRG:3BC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD3 PRG:3BD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE3 PRG:3BE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF3 PRG:3BF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC03 PRG:3C03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC13 PRG:3C13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC23 PRG:3C23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC33 PRG:3C33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC43 PRG:3C43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC53 PRG:3C53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC63 PRG:3C63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC73 PRG:3C73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC83 PRG:3C83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC93 PRG:3C93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA3 PRG:3CA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB3 PRG:3CB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC3 PRG:3CC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD3 PRG:3CD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE3 PRG:3CE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF3 PRG:3CF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD03 PRG:3D03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD13 PRG:3D13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD23 PRG:3D23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD33 PRG:3D33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD43 PRG:3D43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD53 PRG:3D53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD63 PRG:3D63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD73 PRG:3D73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD83 PRG:3D83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD93 PRG:3D93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA3 PRG:3DA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB3 PRG:3DB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC3 PRG:3DC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD3 PRG:3DD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE3 PRG:3DE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF3 PRG:3DF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE03 PRG:3E03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE13 PRG:3E13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE23 PRG:3E23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE33 PRG:3E33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE43 PRG:3E43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE53 PRG:3E53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE63 PRG:3E63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE73 PRG:3E73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE83 PRG:3E83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE93 PRG:3E93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA3 PRG:3EA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB3 PRG:3EB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC3 PRG:3EC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED3 PRG:3ED3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE3 PRG:3EE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF3 PRG:3EF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF03 PRG:3F03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF13 PRG:3F13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF23 PRG:3F23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF33 PRG:3F33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF43 PRG:3F43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF53 PRG:3F53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF63 PRG:3F63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF73 PRG:3F73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF83 PRG:3F83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF93 PRG:3F93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA3 PRG:3FA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB3 PRG:3FB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC3 PRG:3FC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD3 PRG:3FD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE3 PRG:3FE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $91, $CA, $00, $CA, $00, $CA ; CPU:$FFF3 PRG:3FF3 FF FF FF FF FF FF FF 91 CA 00 CA 00 CA diff --git a/_wip/Urban Champion (JU)/copilot/prg2.s b/_wip/Urban Champion (JU)/copilot/prg2.s new file mode 100644 index 0000000..b3690af --- /dev/null +++ b/_wip/Urban Champion (JU)/copilot/prg2.s @@ -0,0 +1,7863 @@ +; Urban Champion (JU) 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=$CA91 RESET=$CA00 IRQ=$CA00 +; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) +; +; Pass 1 trace provenance (the audit trail behind every classification below): +; 34 further routine entries recovered from table references elsewhere in the image: +; $C026, $CEBE, $CEC5, $CF4F, $CF70, $CF92, $D05E, $D084, $D086, $D187, $D7DB, $D80C, $DAA7, $DBDD, $DCF6, $DEC9, $DF4C, $E1FD, $E2B9, $E2C9, $E40E, $E459, $E462, $E4A4, $E4E2, $E506, $E535, $E54A, $E617, $E61B, $E6D4, $E6FA, $E7B6, $E7FE +; entries seeded by hand after inspecting code-shaped but unreferenced blocks: +; $CA00, $CA91 +; $CB70-$CBAB forced back to data: the only path into it is a branch that is always taken +; indirect dispatch through zero page (not followed statically): +; jmp ($0014) at $CDFB +; jmp ($00EB) at $C318 +; jmp ($00ED) at $C332 +; +.setcpu "6502" + +.include "symbols.inc" +.include "locals.inc" + +.segment "PRG" + +; ----------------------------------------------------------------------------- +; Routine: Label_C000 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C000: + jmp $C335 ; CPU:$C000 PRG:0000 4C 35 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C003 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C003: + jmp $C063 ; CPU:$C003 PRG:0003 4C 63 C0 +; ---- data $C006-$C025 (32 bytes) ---- + .byte $A8, $A5, $F3, $29, $02, $D0, $18, $A5, $EF, $29, $20, $D0, $12, $B9, $00, $C2 ; CPU:$C006 PRG:0006 A8 A5 F3 29 02 D0 18 A5 EF 29 20 D0 12 B9 00 C2 + .byte $8D, $0C, $40, $B9, $01, $C2, $8D, $0E, $40, $B9, $02, $C2, $8D, $0F, $40, $60 ; CPU:$C016 PRG:0016 8D 0C 40 B9 01 C2 8D 0E 40 B9 02 C2 8D 0F 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C026 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C026: + and #$0F ; CPU:$C026 PRG:0026 29 0F + clc ; CPU:$C028 PRG:0028 18 + adc ZpE5 ; CPU:$C029 PRG:0029 65 E5 + tay ; CPU:$C02B PRG:002B A8 + lda $C172,y ; CPU:$C02C PRG:002C B9 72 C1 + sta ZpDC,x ; CPU:$C02F PRG:002F 95 DC + rts ; CPU:$C031 PRG:0031 60 +; ---- data $C032-$C04D (28 bytes) ---- + .byte $A2, $00, $A8, $B9, $01, $C1, $F0, $0B, $9D, $02, $40, $B9, $00, $C1, $09, $08 ; CPU:$C032 PRG:0032 A2 00 A8 B9 01 C1 F0 0B 9D 02 40 B9 00 C1 09 08 + .byte $9D, $03, $40, $60, $A2, $04, $D0, $EA, $A2, $08, $D0, $E6 ; CPU:$C042 PRG:0042 9D 03 40 60 A2 04 D0 EA A2 08 D0 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_C04E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C04E: + lda ZpE6 ; CPU:$C04E PRG:004E A5 E6 + lda #$00 ; CPU:$C050 PRG:0050 A9 00 + jsr $C358 ; CPU:$C052 PRG:0052 20 58 C3 + rts ; CPU:$C055 PRG:0055 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C056 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C056: + lda #$7F ; CPU:$C056 PRG:0056 A9 7F +; ----------------------------------------------------------------------------- +; Routine: Label_C058 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C058: + sta $4001 ; CPU:$C058 PRG:0058 8D 01 40 + sta $4005 ; CPU:$C05B PRG:005B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C05E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C05E: + stx ZpE9 ; CPU:$C05E PRG:005E 86 E9 + sty ZpEA ; CPU:$C060 PRG:0060 84 EA + rts ; CPU:$C062 PRG:0062 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C063 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C063: + lda #$C2 ; CPU:$C063 PRG:0063 A9 C2 + sta ZpEE ; CPU:$C065 PRG:0065 85 EE + sta ZpEC ; CPU:$C067 PRG:0067 85 EC + rts ; CPU:$C069 PRG:0069 60 +; ---- data $C06A-$C06D (4 bytes) ---- + .byte $3A, $7F, $0E, $40 ; CPU:$C06A PRG:006A 3A 7F 0E 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C06E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C06E: + lda ZpF3 ; CPU:$C06E PRG:006E A5 F3 + and #$F8 ; CPU:$C070 PRG:0070 29 F8 + sta ZpF3 ; CPU:$C072 PRG:0072 85 F3 + lda ZpEF ; CPU:$C074 PRG:0074 A5 EF + ora #$20 ; CPU:$C076 PRG:0076 09 20 + sta ZpEF ; CPU:$C078 PRG:0078 85 EF + lda #$00 ; CPU:$C07A PRG:007A A9 00 + sta $010A ; CPU:$C07C PRG:007C 8D 0A 01 + ldx #$6A ; CPU:$C07F PRG:007F A2 6A + ldy #$C0 ; CPU:$C081 PRG:0081 A0 C0 + jsr $C195 ; CPU:$C083 PRG:0083 20 95 C1 + rts ; CPU:$C086 PRG:0086 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C087 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C087: + inc $010A ; CPU:$C087 PRG:0087 EE 0A 01 + ldy $010A ; CPU:$C08A PRG:008A AC 0A 01 + lda $C0A1,y ; CPU:$C08D PRG:008D B9 A1 C0 + sta $400C ; CPU:$C090 PRG:0090 8D 0C 40 + bne Label_C0A0 ; CPU:$C093 PRG:0093 D0 0B + lda ZpEF ; CPU:$C095 PRG:0095 A5 EF + and #$DF ; CPU:$C097 PRG:0097 29 DF + sta ZpEF ; CPU:$C099 PRG:0099 85 EF + lda #$10 ; CPU:$C09B PRG:009B A9 10 + sta $400C ; CPU:$C09D PRG:009D 8D 0C 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C0A0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0A0: + rts ; CPU:$C0A0 PRG:00A0 60 +; ---- data $C0A1-$C0AD (13 bytes) ---- +; referenced by `lda $C0A1,y` at $C08D (operand $C0A1 falls inside this region) + .byte $3F, $3F, $30, $3F, $30, $3F, $3F, $3A, $3F, $3F, $30, $3F, $00 ; CPU:$C0A1 PRG:00A1 3F 3F 30 3F 30 3F 3F 3A 3F 3F 30 3F 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C0AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0AE: + jmp $C352 ; CPU:$C0AE PRG:00AE 4C 52 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C0B1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0B1: + lda ZpF1 ; CPU:$C0B1 PRG:00B1 A5 F1 + and #$20 ; CPU:$C0B3 PRG:00B3 29 20 + bne Label_C06E ; CPU:$C0B5 PRG:00B5 D0 B7 + lda ZpEF ; CPU:$C0B7 PRG:00B7 A5 EF + and #$20 ; CPU:$C0B9 PRG:00B9 29 20 + bne Label_C087 ; CPU:$C0BB PRG:00BB D0 CA + lda ZpF0 ; CPU:$C0BD PRG:00BD A5 F0 + lsr a ; CPU:$C0BF PRG:00BF 4A + bcs Label_C0AE ; CPU:$C0C0 PRG:00C0 B0 EC + lsr a ; CPU:$C0C2 PRG:00C2 4A + bcs Label_C0CF ; CPU:$C0C3 PRG:00C3 B0 0A + lsr a ; CPU:$C0C5 PRG:00C5 4A + bcs Label_C0F8 ; CPU:$C0C6 PRG:00C6 B0 30 + lda ZpF3 ; CPU:$C0C8 PRG:00C8 A5 F3 + lsr a ; CPU:$C0CA PRG:00CA 4A + lsr a ; CPU:$C0CB PRG:00CB 4A + bcs Label_C0E0 ; CPU:$C0CC PRG:00CC B0 12 + rts ; CPU:$C0CE PRG:00CE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0CF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0CF: + lda ZpF3 ; CPU:$C0CF PRG:00CF A5 F3 + ora #$02 ; CPU:$C0D1 PRG:00D1 09 02 + sta ZpF3 ; CPU:$C0D3 PRG:00D3 85 F3 + lda #$14 ; CPU:$C0D5 PRG:00D5 A9 14 + sta $0103 ; CPU:$C0D7 PRG:00D7 8D 03 01 + ldx #$72 ; CPU:$C0DA PRG:00DA A2 72 + ldy #$C3 ; CPU:$C0DC PRG:00DC A0 C3 + bne Label_C0FC ; CPU:$C0DE PRG:00DE D0 1C +; ----------------------------------------------------------------------------- +; Routine: Label_C0E0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0E0: + inc $0103 ; CPU:$C0E0 PRG:00E0 EE 03 01 + inc $0103 ; CPU:$C0E3 PRG:00E3 EE 03 01 + lda $0103 ; CPU:$C0E6 PRG:00E6 AD 03 01 + cmp #$20 ; CPU:$C0E9 PRG:00E9 C9 20 + beq Label_C0F1 ; CPU:$C0EB PRG:00EB F0 04 + sta $400C ; CPU:$C0ED PRG:00ED 8D 0C 40 + rts ; CPU:$C0F0 PRG:00F0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0F1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0F1: + lda ZpF3 ; CPU:$C0F1 PRG:00F1 A5 F3 + and #$FD ; CPU:$C0F3 PRG:00F3 29 FD + sta ZpF3 ; CPU:$C0F5 PRG:00F5 85 F3 + rts ; CPU:$C0F7 PRG:00F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C0F8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0F8: + ldx #$6E ; CPU:$C0F8 PRG:00F8 A2 6E + ldy #$C3 ; CPU:$C0FA PRG:00FA A0 C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C0FC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C0FC: + jsr $C195 ; CPU:$C0FC PRG:00FC 20 95 C1 + rts ; CPU:$C0FF PRG:00FF 60 +; ---- data $C100-$C18C (141 bytes) ---- +; referenced by `lda $C172,y` at $C02C (operand $C172 falls inside this region) + .byte $C1, $60, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$C100 PRG:0100 C1 60 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F + .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $76, $00, $70, $01, $AB, $01, $93 ; CPU:$C110 PRG:0110 00 96 00 8D 00 85 00 7E 00 76 00 70 01 AB 01 93 + .byte $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD ; CPU:$C120 PRG:0120 01 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD + .byte $00, $EE, $00, $E1, $03, $57, $03, $27, $02, $F9, $02, $CF, $02, $A6, $02, $80 ; CPU:$C130 PRG:0130 00 EE 00 E1 03 57 03 27 02 F9 02 CF 02 A6 02 80 + .byte $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4, $06, $AE, $06, $4E ; CPU:$C140 PRG:0140 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 06 AE 06 4E + .byte $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75, $04, $35, $03, $F8 ; CPU:$C150 PRG:0150 05 F3 05 9E 05 4D 05 01 04 B9 04 75 04 35 03 F8 + .byte $03, $BF, $03, $89, $00, $69, $00, $63, $00, $5E, $00, $58, $00, $53, $00, $4A ; CPU:$C160 PRG:0160 03 BF 03 89 00 69 00 63 00 5E 00 58 00 53 00 4A + .byte $00, $46, $03, $06, $0C, $18, $30, $12, $24, $09, $04, $08, $10, $20, $40, $18 ; CPU:$C170 PRG:0170 00 46 03 06 0C 18 30 12 24 09 04 08 10 20 40 18 + .byte $30, $0C, $06, $0C, $18, $30, $60, $24, $48, $12, $10, $08, $03 ; CPU:$C180 PRG:0180 30 0C 06 0C 18 30 60 24 48 12 10 08 03 +; ----------------------------------------------------------------------------- +; Routine: Label_C18D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C18D: + lda #$00 ; CPU:$C18D PRG:018D A9 00 + beq Label_C19B ; CPU:$C18F PRG:018F F0 0A + lda #$08 ; CPU:$C191 PRG:0191 A9 08 + bne Label_C19B ; CPU:$C193 PRG:0193 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C195 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C195: + lda #$0C ; CPU:$C195 PRG:0195 A9 0C + bne Label_C19B ; CPU:$C197 PRG:0197 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_C199 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C199: + lda #$04 ; CPU:$C199 PRG:0199 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Label_C19B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C19B: + sta ZpF4 ; CPU:$C19B PRG:019B 85 F4 + lda #$40 ; CPU:$C19D PRG:019D A9 40 + sta ZpF5 ; CPU:$C19F PRG:019F 85 F5 + stx ZpF6 ; CPU:$C1A1 PRG:01A1 86 F6 + sty ZpF7 ; CPU:$C1A3 PRG:01A3 84 F7 + ldy #$00 ; CPU:$C1A5 PRG:01A5 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C1A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C1A7: + lda (ZpF6),y ; CPU:$C1A7 PRG:01A7 B1 F6 + sta (ZpF4),y ; CPU:$C1A9 PRG:01A9 91 F4 + iny ; CPU:$C1AB PRG:01AB C8 + tya ; CPU:$C1AC PRG:01AC 98 + cmp #$04 ; CPU:$C1AD PRG:01AD C9 04 + bne Label_C1A7 ; CPU:$C1AF PRG:01AF D0 F6 + rts ; CPU:$C1B1 PRG:01B1 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C1B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C1B2: + tax ; CPU:$C1B2 PRG:01B2 AA + jsr $C352 ; CPU:$C1B3 PRG:01B3 20 52 C3 + stx ZpE6 ; CPU:$C1B6 PRG:01B6 86 E6 + lda $C657,y ; CPU:$C1B8 PRG:01B8 B9 57 C6 + tay ; CPU:$C1BB PRG:01BB A8 + lda $C657,y ; CPU:$C1BC PRG:01BC B9 57 C6 + sta ZpE5 ; CPU:$C1BF PRG:01BF 85 E5 + lda $C658,y ; CPU:$C1C1 PRG:01C1 B9 58 C6 + sta ZpF8 ; CPU:$C1C4 PRG:01C4 85 F8 + lda $C659,y ; CPU:$C1C6 PRG:01C6 B9 59 C6 + sta ZpF9 ; CPU:$C1C9 PRG:01C9 85 F9 + lda $C65A,y ; CPU:$C1CB PRG:01CB B9 5A C6 + sta ZpFA ; CPU:$C1CE PRG:01CE 85 FA + lda $C65B,y ; CPU:$C1D0 PRG:01D0 B9 5B C6 + sta ZpFB ; CPU:$C1D3 PRG:01D3 85 FB + lda $C65C,y ; CPU:$C1D5 PRG:01D5 B9 5C C6 + sta ZpFC ; CPU:$C1D8 PRG:01D8 85 FC + lda $C65D,y ; CPU:$C1DA PRG:01DA B9 5D C6 + sta ZpFD ; CPU:$C1DD PRG:01DD 85 FD + lda $C65E,y ; CPU:$C1DF PRG:01DF B9 5E C6 + sta ZpFE ; CPU:$C1E2 PRG:01E2 85 FE + lda $C65F,y ; CPU:$C1E4 PRG:01E4 B9 5F C6 + sta ZpFF ; CPU:$C1E7 PRG:01E7 85 FF + lda #$01 ; CPU:$C1E9 PRG:01E9 A9 01 + sta ZpD8 ; CPU:$C1EB PRG:01EB 85 D8 + sta ZpD9 ; CPU:$C1ED PRG:01ED 85 D9 + sta ZpDA ; CPU:$C1EF PRG:01EF 85 DA + sta ZpDB ; CPU:$C1F1 PRG:01F1 85 DB + lda #$00 ; CPU:$C1F3 PRG:01F3 A9 00 + sta ZpD0 ; CPU:$C1F5 PRG:01F5 85 D0 + sta ZpD1 ; CPU:$C1F7 PRG:01F7 85 D1 + sta ZpD2 ; CPU:$C1F9 PRG:01F9 85 D2 + sta ZpD3 ; CPU:$C1FB PRG:01FB 85 D3 + rts ; CPU:$C1FD PRG:01FD 60 +; ---- data $C1FE-$C20E (17 bytes) ---- + .byte $FF, $FF, $10, $00, $18, $10, $01, $18, $00, $01, $88, $02, $02, $40, $19, $01 ; CPU:$C1FE PRG:01FE FF FF 10 00 18 10 01 18 00 01 88 02 02 40 19 01 + .byte $18 ; CPU:$C20E PRG:020E 18 +; ----------------------------------------------------------------------------- +; Routine: Label_C20F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C20F: + lda ZpF9 ; CPU:$C20F PRG:020F A5 F9 + beq Label_C24D ; CPU:$C211 PRG:0211 F0 3A + dec ZpD8 ; CPU:$C213 PRG:0213 C6 D8 + bne Label_C24D ; CPU:$C215 PRG:0215 D0 36 + ldx #$00 ; CPU:$C217 PRG:0217 A2 00 + lda #$21 ; CPU:$C219 PRG:0219 A9 21 + sta ZpED ; CPU:$C21B PRG:021B 85 ED + lda #$2F ; CPU:$C21D PRG:021D A9 2F + sta ZpEB ; CPU:$C21F PRG:021F 85 EB + ldy ZpD0 ; CPU:$C221 PRG:0221 A4 D0 + inc ZpD0 ; CPU:$C223 PRG:0223 E6 D0 + lda (ZpF8),y ; CPU:$C225 PRG:0225 B1 F8 + beq Label_C22C ; CPU:$C227 PRG:0227 F0 03 + jmp $C30D ; CPU:$C229 PRG:0229 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C22C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C22C: + jmp $C04E ; CPU:$C22C PRG:022C 4C 4E C0 +; ---- data $C22F-$C24C (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D0, $E6, $D0, $B1, $F8, $20, $32, $C0, $D0 ; CPU:$C22F PRG:022F 98 10 09 20 26 C0 A4 D0 E6 D0 B1 F8 20 32 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $E9, $8C, $00, $40, $A5, $DC, $85, $D8 ; CPU:$C23F PRG:023F 04 A0 10 D0 02 A4 E9 8C 00 40 A5 DC 85 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_C24D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C24D: + lda ZpFB ; CPU:$C24D PRG:024D A5 FB + beq Label_C288 ; CPU:$C24F PRG:024F F0 37 + dec ZpD9 ; CPU:$C251 PRG:0251 C6 D9 + bne Label_C288 ; CPU:$C253 PRG:0253 D0 33 + ldx #$01 ; CPU:$C255 PRG:0255 A2 01 + lda #$5F ; CPU:$C257 PRG:0257 A9 5F + sta ZpED ; CPU:$C259 PRG:0259 85 ED + lda #$6A ; CPU:$C25B PRG:025B A9 6A + sta ZpEB ; CPU:$C25D PRG:025D 85 EB + ldy ZpD1 ; CPU:$C25F PRG:025F A4 D1 + inc ZpD1 ; CPU:$C261 PRG:0261 E6 D1 + lda (ZpFA),y ; CPU:$C263 PRG:0263 B1 FA + beq Label_C22C ; CPU:$C265 PRG:0265 F0 C5 + jmp $C30D ; CPU:$C267 PRG:0267 4C 0D C3 +; ---- data $C26A-$C287 (30 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D1, $E6, $D1, $B1, $FA, $20, $46, $C0, $D0 ; CPU:$C26A PRG:026A 98 10 09 20 26 C0 A4 D1 E6 D1 B1 FA 20 46 C0 D0 + .byte $04, $A0, $10, $D0, $02, $A4, $EA, $8C, $04, $40, $A5, $DD, $85, $D9 ; CPU:$C27A PRG:027A 04 A0 10 D0 02 A4 EA 8C 04 40 A5 DD 85 D9 +; ----------------------------------------------------------------------------- +; Routine: Label_C288 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C288: + lda ZpFD ; CPU:$C288 PRG:0288 A5 FD + beq Label_C2DE ; CPU:$C28A PRG:028A F0 52 + dec ZpDA ; CPU:$C28C PRG:028C C6 DA + bne Label_C2DE ; CPU:$C28E PRG:028E D0 4E + ldx #$02 ; CPU:$C290 PRG:0290 A2 02 + lda #$A8 ; CPU:$C292 PRG:0292 A9 A8 + sta ZpEB ; CPU:$C294 PRG:0294 85 EB + lda #$9A ; CPU:$C296 PRG:0296 A9 9A + sta ZpED ; CPU:$C298 PRG:0298 85 ED + ldy ZpD2 ; CPU:$C29A PRG:029A A4 D2 + inc ZpD2 ; CPU:$C29C PRG:029C E6 D2 + lda (ZpFC),y ; CPU:$C29E PRG:029E B1 FC + beq Label_C2A5 ; CPU:$C2A0 PRG:02A0 F0 03 + jmp $C30D ; CPU:$C2A2 PRG:02A2 4C 0D C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C2A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C2A5: + jmp $C04E ; CPU:$C2A5 PRG:02A5 4C 4E C0 +; ---- data $C2A8-$C2DD (54 bytes) ---- + .byte $98, $10, $21, $20, $26, $C0, $A4, $E4, $F0, $04, $A9, $FF, $D0, $0B, $18, $69 ; CPU:$C2A8 PRG:02A8 98 10 21 20 26 C0 A4 E4 F0 04 A9 FF D0 0B 18 69 + .byte $FE, $0A, $0A, $C9, $3C, $90, $02, $A9, $3C, $8D, $08, $40, $85, $E7, $A4, $D2 ; CPU:$C2B8 PRG:02B8 FE 0A 0A C9 3C 90 02 A9 3C 8D 08 40 85 E7 A4 D2 + .byte $E6, $D2, $B1, $FC, $20, $4A, $C0, $D0, $04, $A0, $00, $F0, $02, $A4, $E7, $8C ; CPU:$C2C8 PRG:02C8 E6 D2 B1 FC 20 4A C0 D0 04 A0 00 F0 02 A4 E7 8C + .byte $08, $40, $A5, $DE, $85, $DA ; CPU:$C2D8 PRG:02D8 08 40 A5 DE 85 DA +; ----------------------------------------------------------------------------- +; Routine: Label_C2DE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C2DE: + lda ZpFF ; CPU:$C2DE PRG:02DE A5 FF + beq Label_C30C ; CPU:$C2E0 PRG:02E0 F0 2A + dec ZpDB ; CPU:$C2E2 PRG:02E2 C6 DB + bne Label_C30C ; CPU:$C2E4 PRG:02E4 D0 26 + ldx #$03 ; CPU:$C2E6 PRG:02E6 A2 03 + lda #$F9 ; CPU:$C2E8 PRG:02E8 A9 F9 + sta ZpEB ; CPU:$C2EA PRG:02EA 85 EB + lda #$F0 ; CPU:$C2EC PRG:02EC A9 F0 + sta ZpED ; CPU:$C2EE PRG:02EE 85 ED + ldy ZpD3 ; CPU:$C2F0 PRG:02F0 A4 D3 + inc ZpD3 ; CPU:$C2F2 PRG:02F2 E6 D3 + lda (ZpFE),y ; CPU:$C2F4 PRG:02F4 B1 FE + jmp $C30D ; CPU:$C2F6 PRG:02F6 4C 0D C3 +; ---- data $C2F9-$C30B (19 bytes) ---- + .byte $98, $10, $09, $20, $26, $C0, $A4, $D3, $E6, $D3, $B1, $FE, $20, $06, $C0, $A5 ; CPU:$C2F9 PRG:02F9 98 10 09 20 26 C0 A4 D3 E6 D3 B1 FE 20 06 C0 A5 + .byte $DF, $85, $DB ; CPU:$C309 PRG:0309 DF 85 DB +; ----------------------------------------------------------------------------- +; Routine: Label_C30C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C30C: + rts ; CPU:$C30C PRG:030C 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C30D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C30D: + tay ; CPU:$C30D PRG:030D A8 + cmp #$FF ; CPU:$C30E PRG:030E C9 FF + beq Label_C31B ; CPU:$C310 PRG:0310 F0 09 + and #$C0 ; CPU:$C312 PRG:0312 29 C0 + cmp #$C0 ; CPU:$C314 PRG:0314 C9 C0 + beq Label_C327 ; CPU:$C316 PRG:0316 F0 0F + jmp ($00EB) ; CPU:$C318 PRG:0318 6C EB 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C31B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C31B: + lda ZpE0,x ; CPU:$C31B PRG:031B B5 E0 + beq Label_C332 ; CPU:$C31D PRG:031D F0 13 + dec ZpE0,x ; CPU:$C31F PRG:031F D6 E0 + lda ZpD4,x ; CPU:$C321 PRG:0321 B5 D4 + sta ZpD0,x ; CPU:$C323 PRG:0323 95 D0 + bne Label_C332 ; CPU:$C325 PRG:0325 D0 0B +; ----------------------------------------------------------------------------- +; Routine: Label_C327 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C327: + tya ; CPU:$C327 PRG:0327 98 + and #$3F ; CPU:$C328 PRG:0328 29 3F + sta ZpE0,x ; CPU:$C32A PRG:032A 95 E0 + dec ZpE0,x ; CPU:$C32C PRG:032C D6 E0 + lda ZpD0,x ; CPU:$C32E PRG:032E B5 D0 + sta ZpD4,x ; CPU:$C330 PRG:0330 95 D4 +; ----------------------------------------------------------------------------- +; Routine: Label_C332 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C332: + jmp ($00ED) ; CPU:$C332 PRG:0332 6C ED 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C335 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C335: + lda #$C0 ; CPU:$C335 PRG:0335 A9 C0 + sta $4017 ; CPU:$C337 PRG:0337 8D 17 40 + jsr $C0B1 ; CPU:$C33A PRG:033A 20 B1 C0 + jsr $C3B3 ; CPU:$C33D PRG:033D 20 B3 C3 + jsr $C465 ; CPU:$C340 PRG:0340 20 65 C4 + jsr $C508 ; CPU:$C343 PRG:0343 20 08 C5 + jsr $C5D1 ; CPU:$C346 PRG:0346 20 D1 C5 + lda #$00 ; CPU:$C349 PRG:0349 A9 00 + sta ZpF0 ; CPU:$C34B PRG:034B 85 F0 + sta ZpF1 ; CPU:$C34D PRG:034D 85 F1 + sta ZpF2 ; CPU:$C34F PRG:034F 85 F2 + rts ; CPU:$C351 PRG:0351 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C352 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C352: + lda #$00 ; CPU:$C352 PRG:0352 A9 00 + sta ZpF3 ; CPU:$C354 PRG:0354 85 F3 + sta ZpEF ; CPU:$C356 PRG:0356 85 EF +; ----------------------------------------------------------------------------- +; Routine: Label_C358 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C358: + sta $4008 ; CPU:$C358 PRG:0358 8D 08 40 + sta $4011 ; CPU:$C35B PRG:035B 8D 11 40 + sta ZpE6 ; CPU:$C35E PRG:035E 85 E6 + sta ZpE4 ; CPU:$C360 PRG:0360 85 E4 + lda #$10 ; CPU:$C362 PRG:0362 A9 10 + sta $4000 ; CPU:$C364 PRG:0364 8D 00 40 + sta $4004 ; CPU:$C367 PRG:0367 8D 04 40 + sta $400C ; CPU:$C36A PRG:036A 8D 0C 40 + rts ; CPU:$C36D PRG:036D 60 +; ---- data $C36E-$C375 (8 bytes) ---- + .byte $1E, $7F, $05, $18, $15, $7F, $02, $88 ; CPU:$C36E PRG:036E 1E 7F 05 18 15 7F 02 88 +; ----------------------------------------------------------------------------- +; Routine: Label_C376 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C376: + ldx #$40 ; CPU:$C376 PRG:0376 A2 40 + ldy #$C4 ; CPU:$C378 PRG:0378 A0 C4 + jmp $C3FF ; CPU:$C37A PRG:037A 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C37D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C37D: + ldx #$34 ; CPU:$C37D PRG:037D A2 34 + ldy #$C4 ; CPU:$C37F PRG:037F A0 C4 + jmp $C3FF ; CPU:$C381 PRG:0381 4C FF C3 +; ----------------------------------------------------------------------------- +; Routine: Label_C384 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C384: + lda ZpF3 ; CPU:$C384 PRG:0384 A5 F3 + and #$07 ; CPU:$C386 PRG:0386 29 07 + ora #$40 ; CPU:$C388 PRG:0388 09 40 + sta ZpF3 ; CPU:$C38A PRG:038A 85 F3 + jsr $C425 ; CPU:$C38C PRG:038C 20 25 C4 + lda #$00 ; CPU:$C38F PRG:038F A9 00 + sta $0100 ; CPU:$C391 PRG:0391 8D 00 01 + ldx #$2C ; CPU:$C394 PRG:0394 A2 2C + ldy #$C4 ; CPU:$C396 PRG:0396 A0 C4 + bne Label_C405 ; CPU:$C398 PRG:0398 D0 6B +; ----------------------------------------------------------------------------- +; Routine: Label_C39A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C39A: + inc $0100 ; CPU:$C39A PRG:039A EE 00 01 + lda $0100 ; CPU:$C39D PRG:039D AD 00 01 + cmp #$04 ; CPU:$C3A0 PRG:03A0 C9 04 + bne Label_C40E ; CPU:$C3A2 PRG:03A2 D0 6A + jsr $C41E ; CPU:$C3A4 PRG:03A4 20 1E C4 + ldx #$38 ; CPU:$C3A7 PRG:03A7 A2 38 + ldy #$C4 ; CPU:$C3A9 PRG:03A9 A0 C4 + bne Label_C405 ; CPU:$C3AB PRG:03AB D0 58 +; ----------------------------------------------------------------------------- +; Routine: Label_C3AD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3AD: + ldx #$3C ; CPU:$C3AD PRG:03AD A2 3C + ldy #$C4 ; CPU:$C3AF PRG:03AF A0 C4 + bne Label_C3FF ; CPU:$C3B1 PRG:03B1 D0 4C +; ----------------------------------------------------------------------------- +; Routine: Label_C3B3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3B3: + lda ZpE6 ; CPU:$C3B3 PRG:03B3 A5 E6 + cmp #$80 ; CPU:$C3B5 PRG:03B5 C9 80 + beq Label_C3C3 ; CPU:$C3B7 PRG:03B7 F0 0A + lda ZpE6 ; CPU:$C3B9 PRG:03B9 A5 E6 + bne Label_C40E ; CPU:$C3BB PRG:03BB D0 51 + lda ZpEF ; CPU:$C3BD PRG:03BD A5 EF + and #$04 ; CPU:$C3BF PRG:03BF 29 04 + bne Label_C40E ; CPU:$C3C1 PRG:03C1 D0 4B +; ----------------------------------------------------------------------------- +; Routine: Label_C3C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3C3: + lda ZpF1 ; CPU:$C3C3 PRG:03C3 A5 F1 + and #$10 ; CPU:$C3C5 PRG:03C5 29 10 + bne Label_C376 ; CPU:$C3C7 PRG:03C7 D0 AD + lda ZpF0 ; CPU:$C3C9 PRG:03C9 A5 F0 + asl a ; CPU:$C3CB PRG:03CB 0A + bcs Label_C3E9 ; CPU:$C3CC PRG:03CC B0 1B + asl a ; CPU:$C3CE PRG:03CE 0A + bcs Label_C384 ; CPU:$C3CF PRG:03CF B0 B3 + asl a ; CPU:$C3D1 PRG:03D1 0A + bcs Label_C3E3 ; CPU:$C3D2 PRG:03D2 B0 0F + asl a ; CPU:$C3D4 PRG:03D4 0A + bcs Label_C37D ; CPU:$C3D5 PRG:03D5 B0 A6 + asl a ; CPU:$C3D7 PRG:03D7 0A + bcs Label_C3AD ; CPU:$C3D8 PRG:03D8 B0 D3 + lda ZpF3 ; CPU:$C3DA PRG:03DA A5 F3 + asl a ; CPU:$C3DC PRG:03DC 0A + bcs Label_C40F ; CPU:$C3DD PRG:03DD B0 30 + asl a ; CPU:$C3DF PRG:03DF 0A + bcs Label_C39A ; CPU:$C3E0 PRG:03E0 B0 B8 + rts ; CPU:$C3E2 PRG:03E2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C3E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3E3: + ldx #$2C ; CPU:$C3E3 PRG:03E3 A2 2C + ldy #$C4 ; CPU:$C3E5 PRG:03E5 A0 C4 + bne Label_C3FF ; CPU:$C3E7 PRG:03E7 D0 16 +; ----------------------------------------------------------------------------- +; Routine: Label_C3E9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3E9: + lda ZpF3 ; CPU:$C3E9 PRG:03E9 A5 F3 + and #$07 ; CPU:$C3EB PRG:03EB 29 07 + ora #$80 ; CPU:$C3ED PRG:03ED 09 80 + sta ZpF3 ; CPU:$C3EF PRG:03EF 85 F3 + jsr $C425 ; CPU:$C3F1 PRG:03F1 20 25 C4 + lda #$00 ; CPU:$C3F4 PRG:03F4 A9 00 + sta $0100 ; CPU:$C3F6 PRG:03F6 8D 00 01 + ldx #$30 ; CPU:$C3F9 PRG:03F9 A2 30 + ldy #$C4 ; CPU:$C3FB PRG:03FB A0 C4 + bne Label_C405 ; CPU:$C3FD PRG:03FD D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C3FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C3FF: + jsr $C425 ; CPU:$C3FF PRG:03FF 20 25 C4 + jsr $C41E ; CPU:$C402 PRG:0402 20 1E C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C405 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C405: + jsr $C199 ; CPU:$C405 PRG:0405 20 99 C1 +; ----------------------------------------------------------------------------- +; Routine: Label_C408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C408: + lda ZpEF ; CPU:$C408 PRG:0408 A5 EF + and #$BF ; CPU:$C40A PRG:040A 29 BF + sta ZpEF ; CPU:$C40C PRG:040C 85 EF +; ----------------------------------------------------------------------------- +; Routine: Label_C40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C40E: + rts ; CPU:$C40E PRG:040E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C40F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C40F: + inc $0100 ; CPU:$C40F PRG:040F EE 00 01 + lda $0100 ; CPU:$C412 PRG:0412 AD 00 01 + cmp #$05 ; CPU:$C415 PRG:0415 C9 05 + bne Label_C40E ; CPU:$C417 PRG:0417 D0 F5 + lda #$8B ; CPU:$C419 PRG:0419 A9 8B + sta $4005 ; CPU:$C41B PRG:041B 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C41E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C41E: + lda ZpF3 ; CPU:$C41E PRG:041E A5 F3 + and #$07 ; CPU:$C420 PRG:0420 29 07 + sta ZpF3 ; CPU:$C422 PRG:0422 85 F3 + rts ; CPU:$C424 PRG:0424 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C425 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C425: + lda ZpEF ; CPU:$C425 PRG:0425 A5 EF + and #$E7 ; CPU:$C427 PRG:0427 29 E7 + sta ZpEF ; CPU:$C429 PRG:0429 85 EF + rts ; CPU:$C42B PRG:042B 60 +; ---- data $C42C-$C443 (24 bytes) ---- + .byte $9F, $83, $E0, $39, $9F, $83, $40, $CA, $9F, $8B, $FF, $4A, $9F, $8D, $FF, $CA ; CPU:$C42C PRG:042C 9F 83 E0 39 9F 83 40 CA 9F 8B FF 4A 9F 8D FF CA + .byte $9F, $82, $E0, $19, $9F, $93, $FF, $B9 ; CPU:$C43C PRG:043C 9F 82 E0 19 9F 93 FF B9 +; ----------------------------------------------------------------------------- +; Routine: Label_C444 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C444: + lda #$FF ; CPU:$C444 PRG:0444 A9 FF + sta $010D ; CPU:$C446 PRG:0446 8D 0D 01 + rts ; CPU:$C449 PRG:0449 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C44A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C44A: + jsr $C352 ; CPU:$C44A PRG:044A 20 52 C3 + lda #$04 ; CPU:$C44D PRG:044D A9 04 + sta ZpEF ; CPU:$C44F PRG:044F 85 EF + lda #$FF ; CPU:$C451 PRG:0451 A9 FF + sta ZpE6 ; CPU:$C453 PRG:0453 85 E6 + lda #$00 ; CPU:$C455 PRG:0455 A9 00 + sta $010B ; CPU:$C457 PRG:0457 8D 0B 01 + sta $010D ; CPU:$C45A PRG:045A 8D 0D 01 + lda #$B0 ; CPU:$C45D PRG:045D A9 B0 + sta $010C ; CPU:$C45F PRG:045F 8D 0C 01 + jmp $C4A5 ; CPU:$C462 PRG:0462 4C A5 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C465 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C465: + lda ZpF1 ; CPU:$C465 PRG:0465 A5 F1 + lsr a ; CPU:$C467 PRG:0467 4A + bcs Label_C478 ; CPU:$C468 PRG:0468 B0 0E + lsr a ; CPU:$C46A PRG:046A 4A + bcs Label_C444 ; CPU:$C46B PRG:046B B0 D7 + lsr a ; CPU:$C46D PRG:046D 4A + bcs Label_C44A ; CPU:$C46E PRG:046E B0 DA + lda ZpEF ; CPU:$C470 PRG:0470 A5 EF + lsr a ; CPU:$C472 PRG:0472 4A + lsr a ; CPU:$C473 PRG:0473 4A + lsr a ; CPU:$C474 PRG:0474 4A + bcs Label_C48A ; CPU:$C475 PRG:0475 B0 13 + rts ; CPU:$C477 PRG:0477 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C478 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C478: + jsr $C352 ; CPU:$C478 PRG:0478 20 52 C3 + ldx #$FC ; CPU:$C47B PRG:047B A2 FC + ldy #$C4 ; CPU:$C47D PRG:047D A0 C4 + jsr $C18D ; CPU:$C47F PRG:047F 20 8D C1 + ldx #$F8 ; CPU:$C482 PRG:0482 A2 F8 + ldy #$C4 ; CPU:$C484 PRG:0484 A0 C4 + jsr $C199 ; CPU:$C486 PRG:0486 20 99 C1 + rts ; CPU:$C489 PRG:0489 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C48A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C48A: + jsr $C4BB ; CPU:$C48A PRG:048A 20 BB C4 + inc $0108 ; CPU:$C48D PRG:048D EE 08 01 + lda $0108 ; CPU:$C490 PRG:0490 AD 08 01 + cmp #$09 ; CPU:$C493 PRG:0493 C9 09 + beq Label_C49C ; CPU:$C495 PRG:0495 F0 05 + cmp #$13 ; CPU:$C497 PRG:0497 C9 13 + beq Label_C4A5 ; CPU:$C499 PRG:0499 F0 0A + rts ; CPU:$C49B PRG:049B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C49C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C49C: + lda #$AC ; CPU:$C49C PRG:049C A9 AC + sta $4001 ; CPU:$C49E PRG:049E 8D 01 40 + sta $4005 ; CPU:$C4A1 PRG:04A1 8D 05 40 +; ----------------------------------------------------------------------------- +; Routine: Label_C4A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4A4: + rts ; CPU:$C4A4 PRG:04A4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C4A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4A5: + lda #$00 ; CPU:$C4A5 PRG:04A5 A9 00 + sta $0108 ; CPU:$C4A7 PRG:04A7 8D 08 01 + ldx #$00 ; CPU:$C4AA PRG:04AA A2 00 + ldy #$C5 ; CPU:$C4AC PRG:04AC A0 C5 + jsr $C18D ; CPU:$C4AE PRG:04AE 20 8D C1 + ldx #$04 ; CPU:$C4B1 PRG:04B1 A2 04 + ldy #$C5 ; CPU:$C4B3 PRG:04B3 A0 C5 + jsr $C199 ; CPU:$C4B5 PRG:04B5 20 99 C1 + jmp $C4E6 ; CPU:$C4B8 PRG:04B8 4C E6 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C4BB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4BB: + lda $010D ; CPU:$C4BB PRG:04BB AD 0D 01 + beq Label_C4C3 ; CPU:$C4BE PRG:04BE F0 03 + jmp $C4CA ; CPU:$C4C0 PRG:04C0 4C CA C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C4C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4C3: + lda $010C ; CPU:$C4C3 PRG:04C3 AD 0C 01 + cmp #$BD ; CPU:$C4C6 PRG:04C6 C9 BD + beq Label_C4A4 ; CPU:$C4C8 PRG:04C8 F0 DA +; ----------------------------------------------------------------------------- +; Routine: Label_C4CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4CA: + inc $010B ; CPU:$C4CA PRG:04CA EE 0B 01 + lda $010B ; CPU:$C4CD PRG:04CD AD 0B 01 + cmp #$17 ; CPU:$C4D0 PRG:04D0 C9 17 + bne Label_C4A4 ; CPU:$C4D2 PRG:04D2 D0 D0 + lda #$00 ; CPU:$C4D4 PRG:04D4 A9 00 + sta $010B ; CPU:$C4D6 PRG:04D6 8D 0B 01 + lda $010D ; CPU:$C4D9 PRG:04D9 AD 0D 01 + beq Label_C4E3 ; CPU:$C4DC PRG:04DC F0 05 + dec $010C ; CPU:$C4DE PRG:04DE CE 0C 01 + bne Label_C4E6 ; CPU:$C4E1 PRG:04E1 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_C4E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C4E3: + inc $010C ; CPU:$C4E3 PRG:04E3 EE 0C 01 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_C4E6: + lda $010C ; CPU:$C4E6 PRG:04E6 AD 0C 01 + cmp #$AF ; CPU:$C4E9 PRG:04E9 C9 AF + beq Label_C4F4 ; CPU:$C4EB PRG:04EB F0 07 + sta $4000 ; CPU:$C4ED PRG:04ED 8D 00 40 + sta $4004 ; CPU:$C4F0 PRG:04F0 8D 04 40 + rts ; CPU:$C4F3 PRG:04F3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_C4F4: + jsr $C352 ; CPU:$C4F4 PRG:04F4 20 52 C3 + rts ; CPU:$C4F7 PRG:04F7 60 +; ---- data $C4F8-$C507 (16 bytes) ---- + .byte $94, $95, $30, $40, $94, $95, $38, $40, $B0, $A4, $96, $00, $B0, $A4, $8D, $00 ; CPU:$C4F8 PRG:04F8 94 95 30 40 94 95 38 40 B0 A4 96 00 B0 A4 8D 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C508 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C508: + lda ZpE6 ; CPU:$C508 PRG:0508 A5 E6 + cmp #$80 ; CPU:$C50A PRG:050A C9 80 + beq Label_C512 ; CPU:$C50C PRG:050C F0 04 + lda ZpE6 ; CPU:$C50E PRG:050E A5 E6 + bne Label_C520 ; CPU:$C510 PRG:0510 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_C512 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C512: + lda ZpF1 ; CPU:$C512 PRG:0512 A5 F1 + asl a ; CPU:$C514 PRG:0514 0A + bcs Label_C52D ; CPU:$C515 PRG:0515 B0 16 + asl a ; CPU:$C517 PRG:0517 0A + bcs Label_C542 ; CPU:$C518 PRG:0518 B0 28 + lda ZpEF ; CPU:$C51A PRG:051A A5 EF + asl a ; CPU:$C51C PRG:051C 0A + asl a ; CPU:$C51D PRG:051D 0A + bcs Label_C55A ; CPU:$C51E PRG:051E B0 3A +; ----------------------------------------------------------------------------- +; Routine: Label_C520 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C520: + rts ; CPU:$C520 PRG:0520 60 +; ---- data $C521-$C52C (12 bytes) ---- + .byte $A5, $EF, $29, $3F, $85, $EF, $A9, $10, $8D, $00, $40, $60 ; CPU:$C521 PRG:0521 A5 EF 29 3F 85 EF A9 10 8D 00 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C52D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C52D: + lda ZpEF ; CPU:$C52D PRG:052D A5 EF + and #$3F ; CPU:$C52F PRG:052F 29 3F + ora #$80 ; CPU:$C531 PRG:0531 09 80 + sta ZpEF ; CPU:$C533 PRG:0533 85 EF + lda #$20 ; CPU:$C535 PRG:0535 A9 20 + sta $0104 ; CPU:$C537 PRG:0537 8D 04 01 + ldx #$A0 ; CPU:$C53A PRG:053A A2 A0 + ldy #$C5 ; CPU:$C53C PRG:053C A0 C5 + jsr $C18D ; CPU:$C53E PRG:053E 20 8D C1 + rts ; CPU:$C541 PRG:0541 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C542 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C542: + lda ZpEF ; CPU:$C542 PRG:0542 A5 EF + and #$3F ; CPU:$C544 PRG:0544 29 3F + ora #$40 ; CPU:$C546 PRG:0546 09 40 + sta ZpEF ; CPU:$C548 PRG:0548 85 EF + lda #$BF ; CPU:$C54A PRG:054A A9 BF + sta $0105 ; CPU:$C54C PRG:054C 8D 05 01 + lda #$00 ; CPU:$C54F PRG:054F A9 00 + sta $0107 ; CPU:$C551 PRG:0551 8D 07 01 + lda #$10 ; CPU:$C554 PRG:0554 A9 10 + sta $4000 ; CPU:$C556 PRG:0556 8D 00 40 + rts ; CPU:$C559 PRG:0559 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C55A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C55A: + inc $0105 ; CPU:$C55A PRG:055A EE 05 01 + lda $0105 ; CPU:$C55D PRG:055D AD 05 01 + cmp #$0F ; CPU:$C560 PRG:0560 C9 0F + bne Label_C593 ; CPU:$C562 PRG:0562 D0 2F + lda #$00 ; CPU:$C564 PRG:0564 A9 00 + sta $0105 ; CPU:$C566 PRG:0566 8D 05 01 + inc $0107 ; CPU:$C569 PRG:0569 EE 07 01 + lda $0107 ; CPU:$C56C PRG:056C AD 07 01 + cmp #$0E ; CPU:$C56F PRG:056F C9 0E + beq Label_C590 ; CPU:$C571 PRG:0571 F0 1D + lda $05EC ; CPU:$C573 PRG:0573 AD EC 05 + and #$0F ; CPU:$C576 PRG:0576 29 0F + ora #$10 ; CPU:$C578 PRG:0578 09 10 + sta $0106 ; CPU:$C57A PRG:057A 8D 06 01 + sta $4002 ; CPU:$C57D PRG:057D 8D 02 40 + lda #$7F ; CPU:$C580 PRG:0580 A9 7F + sta $4001 ; CPU:$C582 PRG:0582 8D 01 40 + lda #$99 ; CPU:$C585 PRG:0585 A9 99 + sta $4000 ; CPU:$C587 PRG:0587 8D 00 40 + lda #$88 ; CPU:$C58A PRG:058A A9 88 + sta $4003 ; CPU:$C58C PRG:058C 8D 03 40 + rts ; CPU:$C58F PRG:058F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C590 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C590: + jmp $C408 ; CPU:$C590 PRG:0590 4C 08 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_C593 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C593: + inc $0106 ; CPU:$C593 PRG:0593 EE 06 01 + inc $0106 ; CPU:$C596 PRG:0596 EE 06 01 + lda $0106 ; CPU:$C599 PRG:0599 AD 06 01 + sta $4002 ; CPU:$C59C PRG:059C 8D 02 40 + rts ; CPU:$C59F PRG:059F 60 +; ---- data $C5A0-$C5A3 (4 bytes) ---- + .byte $95, $B5, $40, $B0 ; CPU:$C5A0 PRG:05A0 95 B5 40 B0 +; ----------------------------------------------------------------------------- +; Routine: Label_C5A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5A4: + ldy #$07 ; CPU:$C5A4 PRG:05A4 A0 07 + lda #$40 ; CPU:$C5A6 PRG:05A6 A9 40 + jmp $C63D ; CPU:$C5A8 PRG:05A8 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5AB: + ldy #$09 ; CPU:$C5AB PRG:05AB A0 09 + lda $0309 ; CPU:$C5AD PRG:05AD AD 09 03 + cmp #$01 ; CPU:$C5B0 PRG:05B0 C9 01 + beq Label_C5C5 ; CPU:$C5B2 PRG:05B2 F0 11 + lda $0329 ; CPU:$C5B4 PRG:05B4 AD 29 03 + cmp #$01 ; CPU:$C5B7 PRG:05B7 C9 01 + beq Label_C5C5 ; CPU:$C5B9 PRG:05B9 F0 0A + ldy #$08 ; CPU:$C5BB PRG:05BB A0 08 + lda Zp85 ; CPU:$C5BD PRG:05BD A5 85 + and #$01 ; CPU:$C5BF PRG:05BF 29 01 + beq Label_C5C5 ; CPU:$C5C1 PRG:05C1 F0 02 + ldy #$06 ; CPU:$C5C3 PRG:05C3 A0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C5C5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5C5: + lda #$80 ; CPU:$C5C5 PRG:05C5 A9 80 + jmp $C64E ; CPU:$C5C7 PRG:05C7 4C 4E C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5CA: + ldy #$00 ; CPU:$C5CA PRG:05CA A0 00 + lda #$01 ; CPU:$C5CC PRG:05CC A9 01 + jmp $C63D ; CPU:$C5CE PRG:05CE 4C 3D C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C5D1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5D1: + lda ZpF2 ; CPU:$C5D1 PRG:05D1 A5 F2 + lsr a ; CPU:$C5D3 PRG:05D3 4A + bcs Label_C5CA ; CPU:$C5D4 PRG:05D4 B0 F4 + lsr a ; CPU:$C5D6 PRG:05D6 4A + bcs Label_C5FF ; CPU:$C5D7 PRG:05D7 B0 26 + lsr a ; CPU:$C5D9 PRG:05D9 4A + bcs Label_C5F9 ; CPU:$C5DA PRG:05DA B0 1D + lsr a ; CPU:$C5DC PRG:05DC 4A + bcs Label_C622 ; CPU:$C5DD PRG:05DD B0 43 + lsr a ; CPU:$C5DF PRG:05DF 4A + bcs Label_C605 ; CPU:$C5E0 PRG:05E0 B0 23 + lsr a ; CPU:$C5E2 PRG:05E2 4A + bcs Label_C637 ; CPU:$C5E3 PRG:05E3 B0 52 + lsr a ; CPU:$C5E5 PRG:05E5 4A + bcs Label_C5A4 ; CPU:$C5E6 PRG:05E6 B0 BC + lsr a ; CPU:$C5E8 PRG:05E8 4A + bcs Label_C5AB ; CPU:$C5E9 PRG:05E9 B0 C0 + lda ZpEF ; CPU:$C5EB PRG:05EB A5 EF + cmp #$04 ; CPU:$C5ED PRG:05ED C9 04 + beq Label_C5F5 ; CPU:$C5EF PRG:05EF F0 04 + lda ZpE6 ; CPU:$C5F1 PRG:05F1 A5 E6 + bne Label_C5F6 ; CPU:$C5F3 PRG:05F3 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F5: + rts ; CPU:$C5F5 PRG:05F5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F6: + jmp $C20F ; CPU:$C5F6 PRG:05F6 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: Label_C5F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5F9: + ldy #$02 ; CPU:$C5F9 PRG:05F9 A0 02 + lda #$04 ; CPU:$C5FB PRG:05FB A9 04 + bne Label_C60B ; CPU:$C5FD PRG:05FD D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_C5FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C5FF: + ldy #$05 ; CPU:$C5FF PRG:05FF A0 05 + lda #$02 ; CPU:$C601 PRG:0601 A9 02 + bne Label_C60B ; CPU:$C603 PRG:0603 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_C605 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C605: + ldy #$04 ; CPU:$C605 PRG:0605 A0 04 + lda #$10 ; CPU:$C607 PRG:0607 A9 10 + bne Label_C63D ; CPU:$C609 PRG:0609 D0 32 +; ----------------------------------------------------------------------------- +; Routine: Label_C60B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C60B: + jsr $C1B2 ; CPU:$C60B PRG:060B 20 B2 C1 + ldx #$80 ; CPU:$C60E PRG:060E A2 80 + ldy #$06 ; CPU:$C610 PRG:0610 A0 06 + jsr $C05E ; CPU:$C612 PRG:0612 20 5E C0 + lda #$83 ; CPU:$C615 PRG:0615 A9 83 + sta $4001 ; CPU:$C617 PRG:0617 8D 01 40 + lda #$7F ; CPU:$C61A PRG:061A A9 7F + sta $4005 ; CPU:$C61C PRG:061C 8D 05 40 + jmp $C647 ; CPU:$C61F PRG:061F 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C622 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C622: + ldy #$03 ; CPU:$C622 PRG:0622 A0 03 + lda #$08 ; CPU:$C624 PRG:0624 A9 08 + bne Label_C63D ; CPU:$C626 PRG:0626 D0 15 + jsr $C1B2 ; CPU:$C628 PRG:0628 20 B2 C1 + ldx #$80 ; CPU:$C62B PRG:062B A2 80 + ldy #$80 ; CPU:$C62D PRG:062D A0 80 + lda #$83 ; CPU:$C62F PRG:062F A9 83 + jsr $C058 ; CPU:$C631 PRG:0631 20 58 C0 + jmp $C647 ; CPU:$C634 PRG:0634 4C 47 C6 +; ----------------------------------------------------------------------------- +; Routine: Label_C637 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C637: + ldy #$01 ; CPU:$C637 PRG:0637 A0 01 + lda #$20 ; CPU:$C639 PRG:0639 A9 20 + bne Label_C63D ; CPU:$C63B PRG:063B D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_C63D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C63D: + jsr $C1B2 ; CPU:$C63D PRG:063D 20 B2 C1 + ldx #$04 ; CPU:$C640 PRG:0640 A2 04 + ldy #$04 ; CPU:$C642 PRG:0642 A0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_C644 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C644: + jsr $C056 ; CPU:$C644 PRG:0644 20 56 C0 +; ----------------------------------------------------------------------------- +; Routine: Label_C647 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_C647: + lda #$00 ; CPU:$C647 PRG:0647 A9 00 + sta ZpE4 ; CPU:$C649 PRG:0649 85 E4 + jmp $C20F ; CPU:$C64B PRG:064B 4C 0F C2 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_C64E: + jsr $C1B2 ; CPU:$C64E PRG:064E 20 B2 C1 + ldx #$00 ; CPU:$C651 PRG:0651 A2 00 + ldy #$80 ; CPU:$C653 PRG:0653 A0 80 + bne Label_C644 ; CPU:$C655 PRG:0655 D0 ED + asl a ; CPU:$C657 PRG:0657 0A +; ---- data $C658-$C9FF (936 bytes) ---- +; referenced by `lda $C658,y` at $C1C1 (operand $C658 falls inside this region) +; referenced by `lda $C659,y` at $C1C6 (operand $C659 falls inside this region) +; referenced by `lda $C65A,y` at $C1CB (operand $C65A falls inside this region) +; referenced by `lda $C65B,y` at $C1D0 (operand $C65B falls inside this region) +; referenced by `lda $C65C,y` at $C1D5 (operand $C65C falls inside this region) +; referenced by `lda $C65D,y` at $C1DA (operand $C65D falls inside this region) +; ... and 2 further references from decoded code + .byte $13, $1C, $25, $2E, $37, $40, $49, $52, $5B, $08, $37, $C9, $00, $00, $00, $00 ; CPU:$C658 PRG:0658 13 1C 25 2E 37 40 49 52 5B 08 37 C9 00 00 00 00 + .byte $00, $00, $10, $10, $C8, $2B, $C8, $45, $C8, $1B, $C9, $10, $74, $C8, $5F, $C8 ; CPU:$C668 PRG:0668 00 00 10 10 C8 2B C8 45 C8 1B C9 10 74 C8 5F C8 + .byte $7E, $C8, $93, $C8, $10, $3D, $C9, $58, $C9, $72, $C9, $1B, $C9, $10, $A7, $C8 ; CPU:$C678 PRG:0678 7E C8 93 C8 10 3D C9 58 C9 72 C9 1B C9 10 A7 C8 + .byte $D3, $C8, $FE, $C8, $1B, $C9, $10, $83, $C9, $9C, $C9, $B2, $C9, $C8, $C9, $10 ; CPU:$C688 PRG:0688 D3 C8 FE C8 1B C9 10 83 C9 9C C9 B2 C9 C8 C9 10 + .byte $00, $00, $00, $00, $6A, $C7, $E9, $C7, $10, $BB, $C6, $FD, $C6, $3B, $C7, $61 ; CPU:$C698 PRG:0698 00 00 00 00 6A C7 E9 C7 10 BB C6 FD C6 3B C7 61 + .byte $C7, $10, $00, $00, $00, $00, $99, $C7, $E9, $C7, $10, $00, $00, $00, $00, $C6 ; CPU:$C6A8 PRG:06A8 C7 10 00 00 00 00 99 C7 E9 C7 10 00 00 00 00 C6 + .byte $C7, $E9, $C7, $89, $02, $02, $2A, $30, $32, $08, $C8, $8A, $12, $08, $FF, $89 ; CPU:$C6B8 PRG:06B8 C7 E9 C7 89 02 02 2A 30 32 08 C8 8A 12 08 FF 89 + .byte $0C, $02, $08, $02, $02, $2A, $02, $02, $2A, $24, $02, $20, $22, $24, $2A, $2E ; CPU:$C6C8 PRG:06C8 0C 02 08 02 02 2A 02 02 2A 24 02 20 22 24 2A 2E + .byte $02, $2A, $C8, $8A, $12, $08, $FF, $89, $1A, $02, $12, $02, $02, $08, $02, $02 ; CPU:$C6D8 PRG:06D8 02 2A C8 8A 12 08 FF 89 1A 02 12 02 02 08 02 02 + .byte $08, $08, $02, $08, $0A, $0C, $12, $64, $02, $1A, $12, $02, $02, $82, $02, $02 ; CPU:$C6E8 PRG:06E8 08 08 02 08 0A 0C 12 64 02 1A 12 02 02 82 02 02 + .byte $89, $18, $02, $1A, $00, $82, $02, $02, $89, $02, $02, $20, $02, $02, $02, $2A ; CPU:$C6F8 PRG:06F8 89 18 02 1A 00 82 02 02 89 02 02 20 02 02 02 2A + .byte $02, $26, $02, $02, $82, $20, $89, $20, $04, $02, $02, $02, $02, $02, $1C, $02 ; CPU:$C708 PRG:0708 02 26 02 02 82 20 89 20 04 02 02 02 02 02 1C 02 + .byte $82, $1C, $89, $4A, $02, $02, $42, $08, $02, $32, $02, $02, $2E, $02, $02, $2E ; CPU:$C718 PRG:0718 82 1C 89 4A 02 02 42 08 02 32 02 02 2E 02 02 2E + .byte $82, $2A, $89, $02, $02, $04, $0C, $02, $04, $32, $02, $02, $82, $02, $02, $89 ; CPU:$C728 PRG:0728 82 2A 89 02 02 04 0C 02 04 32 02 02 82 02 02 89 + .byte $06, $02, $08, $82, $02, $02, $42, $89, $42, $02, $38, $82, $4A, $4A, $1C, $1C ; CPU:$C738 PRG:0738 06 02 08 82 02 02 42 89 42 02 38 82 4A 4A 1C 1C + .byte $20, $89, $20, $02, $38, $82, $42, $89, $42, $02, $20, $82, $4A, $4A, $1C, $34 ; CPU:$C748 PRG:0748 20 89 20 02 38 82 42 89 42 02 20 82 4A 4A 1C 34 + .byte $38, $38, $42, $02, $02, $89, $40, $02, $42, $82, $02, $02, $DC, $89, $06, $03 ; CPU:$C758 PRG:0758 38 38 42 02 02 89 40 02 42 82 02 02 DC 89 06 03 + .byte $06, $FF, $F2, $89, $42, $02, $02, $02, $02, $48, $4A, $02, $02, $38, $02, $42 ; CPU:$C768 PRG:0768 06 FF F2 89 42 02 02 02 02 48 4A 02 02 38 02 42 + .byte $02, $02, $3E, $44, $46, $1C, $20, $02, $1C, $02, $02, $2A, $02, $02, $42, $02 ; CPU:$C778 PRG:0778 02 02 3E 44 46 1C 20 02 1C 02 02 2A 02 02 42 02 + .byte $02, $4A, $24, $02, $02, $20, $02, $1C, $88, $26, $1C, $46, $3E, $38, $34, $FF ; CPU:$C788 PRG:0788 02 4A 24 02 02 20 02 1C 88 26 1C 46 3E 38 34 FF + .byte $00, $F2, $89, $46, $02, $02, $02, $02, $1E, $24, $02, $02, $1E, $02, $24, $20 ; CPU:$C798 PRG:0798 00 F2 89 46 02 02 02 02 1E 24 02 02 1E 02 24 20 + .byte $02, $40, $02, $02, $02, $88, $40, $42, $44, $89, $46, $02, $02, $1C, $02, $1E ; CPU:$C7A8 PRG:07A8 02 40 02 02 02 88 40 42 44 89 46 02 02 1C 02 1E + .byte $02, $02, $24, $1E, $02, $02, $88, $2A, $28, $20, $40, $42, $44, $FF, $F2, $81 ; CPU:$C7B8 PRG:07B8 02 02 24 1E 02 02 88 2A 28 20 40 42 44 FF F2 81 + .byte $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $3E, $40 ; CPU:$C7C8 PRG:07C8 3C 3C 42 44 3C 3C 42 44 3C 3C 42 44 3C 3C 3E 40 + .byte $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $40, $3E ; CPU:$C7D8 PRG:07D8 42 42 48 4A 42 42 48 4A 42 42 48 4A 42 42 40 3E + .byte $FF, $F2, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $82, $0C, $0C, $0C, $89, $0C ; CPU:$C7E8 PRG:07E8 FF F2 82 0C 0C 0C 89 0C 03 0C 82 0C 0C 0C 89 0C + .byte $03, $0C, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $89, $0C, $03, $0C, $0C, $03 ; CPU:$C7F8 PRG:07F8 03 0C 82 0C 0C 0C 89 0C 03 0C 89 0C 03 0C 0C 03 + .byte $03, $0C, $03, $0C, $0C, $03, $03, $FF, $89, $04, $02, $20, $02, $02, $6A, $18 ; CPU:$C808 PRG:0808 03 0C 03 0C 0C 03 03 FF 89 04 02 20 02 02 6A 18 + .byte $02, $0C, $02, $02, $2A, $68, $02, $16, $0A, $02, $08, $02, $02, $82, $2A, $89 ; CPU:$C818 PRG:0818 02 0C 02 02 2A 68 02 16 0A 02 08 02 02 82 2A 89 + .byte $02, $48, $00, $89, $34, $02, $48, $02, $02, $22, $48, $02, $3C, $02, $02, $22 ; CPU:$C828 PRG:0828 02 48 00 89 34 02 48 02 02 22 48 02 3C 02 02 22 + .byte $20, $02, $46, $3A, $02, $38, $02, $02, $82, $22, $89, $02, $3C, $89, $34, $02 ; CPU:$C838 PRG:0838 20 02 46 3A 02 38 02 02 82 22 89 02 3C 89 34 02 + .byte $34, $48, $02, $22, $82, $46, $89, $42, $02, $08, $02, $3E, $3E, $82, $3A, $89 ; CPU:$C848 PRG:0848 34 48 02 22 82 46 89 42 02 08 02 3E 3E 82 3A 89 + .byte $38, $02, $82, $08, $89, $02, $34, $89, $32, $02, $2E, $02, $02, $02, $2A, $02 ; CPU:$C858 PRG:0858 38 02 82 08 89 02 34 89 32 02 2E 02 02 02 2A 02 + .byte $02, $26, $02, $02, $24, $02, $26, $24, $02, $20, $82, $02, $82, $02, $02, $1C ; CPU:$C868 PRG:0868 02 26 02 02 24 02 26 24 02 20 82 02 82 02 02 1C + .byte $02, $02, $02, $81, $1C, $00, $89, $2A, $02, $26, $02, $02, $02, $24, $02, $02 ; CPU:$C878 PRG:0878 02 02 02 81 1C 00 89 2A 02 26 02 02 02 24 02 02 + .byte $20, $02, $02, $1C, $02, $20, $1C, $02, $4A, $82, $02, $82, $03, $89, $06, $03 ; CPU:$C888 PRG:0888 20 02 02 1C 02 20 1C 02 4A 82 02 82 03 89 06 03 + .byte $06, $82, $03, $89, $06, $03, $06, $03, $06, $03, $06, $03, $06, $82, $09, $89 ; CPU:$C898 PRG:0898 06 82 03 89 06 03 06 03 06 03 06 03 06 82 09 89 + .byte $0C, $02, $12, $26, $02, $08, $08, $02, $2A, $24, $02, $20, $02, $02, $12, $2A ; CPU:$C8A8 PRG:08A8 0C 02 12 26 02 08 08 02 2A 24 02 20 02 02 12 2A + .byte $30, $2A, $32, $02, $04, $02, $06, $48, $20, $02, $2A, $02, $02, $02, $20, $02 ; CPU:$C8B8 PRG:08B8 30 2A 32 02 04 02 06 48 20 02 2A 02 02 02 20 02 + .byte $2A, $12, $08, $2C, $32, $2A, $1C, $04, $02, $32, $00, $89, $02, $02, $08, $82 ; CPU:$C8C8 PRG:08C8 2A 12 08 2C 32 2A 1C 04 02 32 00 89 02 02 08 82 + .byte $20, $89, $30, $02, $02, $48, $02, $46, $02, $02, $4A, $02, $48, $02, $4A, $02 ; CPU:$C8D8 PRG:08D8 20 89 30 02 02 48 02 46 02 02 4A 02 48 02 4A 02 + .byte $1C, $02, $1E, $24, $46, $02, $20, $02, $02, $2A, $44, $02, $44, $02, $02, $02 ; CPU:$C8E8 PRG:08E8 1C 02 1E 24 46 02 20 02 02 2A 44 02 44 02 02 02 + .byte $24, $1C, $02, $22, $02, $24, $C2, $89, $42, $02, $42, $82, $4A, $1C, $24, $FF ; CPU:$C8F8 PRG:08F8 24 1C 02 22 02 24 C2 89 42 02 42 82 4A 1C 24 FF + .byte $89, $42, $02, $42, $42, $42, $42, $48, $02, $48, $48, $48, $48, $46, $46, $46 ; CPU:$C908 PRG:0908 89 42 02 42 42 42 42 48 02 48 48 48 48 46 46 46 + .byte $44, $02, $42, $C2, $89, $06, $03, $06, $82, $09, $89, $06, $06, $03, $82, $09 ; CPU:$C918 PRG:0918 44 02 42 C2 89 06 03 06 82 09 89 06 06 03 82 09 + .byte $FF, $C2, $06, $03, $06, $03, $06, $06, $FF, $06, $06, $06, $09, $03, $09, $C4 ; CPU:$C928 PRG:0928 FF C2 06 03 06 03 06 06 FF 06 06 06 09 03 09 C4 + .byte $80, $10, $6E, $FF, $00, $89, $02, $02, $2A, $02, $02, $48, $2E, $02, $04, $02 ; CPU:$C938 PRG:0938 80 10 6E FF 00 89 02 02 2A 02 02 48 2E 02 04 02 + .byte $02, $22, $20, $02, $04, $0A, $0E, $10, $12, $0A, $04, $30, $2A, $22, $24, $00 ; CPU:$C948 PRG:0948 02 22 20 02 04 0A 0E 10 12 0A 04 30 2A 22 24 00 + .byte $89, $02, $02, $20, $02, $02, $82, $3C, $89, $2A, $02, $02, $48, $46, $02, $02 ; CPU:$C958 PRG:0958 89 02 02 20 02 02 82 3C 89 2A 02 02 48 46 02 02 + .byte $02, $02, $3A, $02, $02, $22, $02, $02, $46, $48, $89, $1C, $02, $1C, $82, $48 ; CPU:$C968 PRG:0968 02 02 3A 02 02 22 02 02 46 48 89 1C 02 1C 82 48 + .byte $46, $42, $89, $02, $02, $3E, $82, $3A, $38, $36, $34, $89, $02, $02, $12, $82 ; CPU:$C978 PRG:0978 46 42 89 02 02 3E 82 3A 38 36 34 89 02 02 12 82 + .byte $02, $1C, $02, $02, $89, $02, $02, $1C, $82, $1C, $02, $89, $02, $02, $12, $02 ; CPU:$C988 PRG:0988 02 1C 02 02 89 02 02 1C 82 1C 02 89 02 02 12 02 + .byte $02, $2E, $1C, $00, $89, $04, $02, $02, $02, $02, $0E, $0A, $02, $06, $02, $02 ; CPU:$C998 PRG:0998 02 2E 1C 00 89 04 02 02 02 02 0E 0A 02 06 02 02 + .byte $02, $04, $02, $06, $32, $02, $04, $84, $02, $02, $89, $2C, $02, $02, $02, $02 ; CPU:$C9A8 PRG:09A8 02 04 02 06 32 02 04 84 02 02 89 2C 02 02 02 02 + .byte $06, $04, $02, $30, $02, $02, $02, $2C, $02, $30, $2A, $02, $2C, $84, $02, $02 ; CPU:$C9B8 PRG:09B8 06 04 02 30 02 02 02 2C 02 30 2A 02 2C 84 02 02 + .byte $89, $06, $03, $06, $06, $03, $06, $06, $06, $03, $06, $03, $06, $03, $06, $03 ; CPU:$C9C8 PRG:09C8 89 06 03 06 06 03 06 06 06 03 06 03 06 03 06 03 + .byte $06, $03, $06, $06, $03, $03, $06, $03, $09, $03, $06, $03, $06, $03, $06, $06 ; CPU:$C9D8 PRG:09D8 06 03 06 06 03 03 06 03 09 03 06 03 06 03 06 06 + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9E8 PRG:09E8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9F8 PRG:09F8 FF FF FF FF FF FF FF FF +; ----------------------------------------------------------------------------- +; 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: + cld ; CPU:$CA00 PRG:0A00 D8 + sei ; CPU:$CA01 PRG:0A01 78 +; ----------------------------------------------------------------------------- +; Routine: Label_CA02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA02: + lda $2002 ; CPU:$CA02 PRG:0A02 AD 02 20 + bpl Label_CA02 ; CPU:$CA05 PRG:0A05 10 FB + ldx #$00 ; CPU:$CA07 PRG:0A07 A2 00 + stx $2000 ; CPU:$CA09 PRG:0A09 8E 00 20 + stx $2001 ; CPU:$CA0C PRG:0A0C 8E 01 20 + dex ; CPU:$CA0F PRG:0A0F CA + txs ; CPU:$CA10 PRG:0A10 9A + ldx $05EC ; CPU:$CA11 PRG:0A11 AE EC 05 + jsr $D07A ; CPU:$CA14 PRG:0A14 20 7A D0 + ldy #$06 ; CPU:$CA17 PRG:0A17 A0 06 + sty Zp01 ; CPU:$CA19 PRG:0A19 84 01 + ldy #$00 ; CPU:$CA1B PRG:0A1B A0 00 + sty Zp00 ; CPU:$CA1D PRG:0A1D 84 00 + lda #$00 ; CPU:$CA1F PRG:0A1F A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CA21 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA21: + sta (Zp00),y ; CPU:$CA21 PRG:0A21 91 00 + dey ; CPU:$CA23 PRG:0A23 88 + bne Label_CA21 ; CPU:$CA24 PRG:0A24 D0 FB + dec Zp01 ; CPU:$CA26 PRG:0A26 C6 01 + bpl Label_CA21 ; CPU:$CA28 PRG:0A28 10 F7 + txa ; CPU:$CA2A PRG:0A2A 8A + bne Label_CA2F ; CPU:$CA2B PRG:0A2B D0 02 + ldx #$5F ; CPU:$CA2D PRG:0A2D A2 5F +; ----------------------------------------------------------------------------- +; Routine: Label_CA2F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA2F: + stx $05EC ; CPU:$CA2F PRG:0A2F 8E EC 05 + jsr $CC67 ; CPU:$CA32 PRG:0A32 20 67 CC + jsr $CC77 ; CPU:$CA35 PRG:0A35 20 77 CC + ldy #$00 ; CPU:$CA38 PRG:0A38 A0 00 + sta $2005 ; CPU:$CA3A PRG:0A3A 8D 05 20 + sta $2005 ; CPU:$CA3D PRG:0A3D 8D 05 20 + ldy #$01 ; CPU:$CA40 PRG:0A40 A0 01 + sty Zp24 ; CPU:$CA42 PRG:0A42 84 24 + sty ZpA5 ; CPU:$CA44 PRG:0A44 84 A5 + lda #$0F ; CPU:$CA46 PRG:0A46 A9 0F + sta $4015 ; CPU:$CA48 PRG:0A48 8D 15 40 + jsr $C003 ; CPU:$CA4B PRG:0A4B 20 03 C0 + jsr $E7EF ; CPU:$CA4E PRG:0A4E 20 EF E7 + lda #$90 ; CPU:$CA51 PRG:0A51 A9 90 + sta $2000 ; CPU:$CA53 PRG:0A53 8D 00 20 + sta Zp08 ; CPU:$CA56 PRG:0A56 85 08 + lda #$02 ; CPU:$CA58 PRG:0A58 A9 02 + sta Zp09 ; CPU:$CA5A PRG:0A5A 85 09 + ldx #$0B ; CPU:$CA5C PRG:0A5C A2 0B +; ----------------------------------------------------------------------------- +; Routine: Label_CA5E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA5E: + lda $F68A,x ; CPU:$CA5E PRG:0A5E BD 8A F6 + sta $05F0,x ; CPU:$CA61 PRG:0A61 9D F0 05 + dex ; CPU:$CA64 PRG:0A64 CA + bpl Label_CA5E ; CPU:$CA65 PRG:0A65 10 F7 + bmi Label_CA87 ; CPU:$CA67 PRG:0A67 30 1E +; ----------------------------------------------------------------------------- +; Routine: Label_CA69 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA69: + lda Zp24 ; CPU:$CA69 PRG:0A69 A5 24 + beq Label_CA73 ; CPU:$CA6B PRG:0A6B F0 06 + lda Zp26 ; CPU:$CA6D PRG:0A6D A5 26 + cmp #$01 ; CPU:$CA6F PRG:0A6F C9 01 + bne Label_CA76 ; CPU:$CA71 PRG:0A71 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CA73 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA73: + jsr $C000 ; CPU:$CA73 PRG:0A73 20 00 C0 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CA76: + jsr $CDCA ; CPU:$CA76 PRG:0A76 20 CA CD + jsr $CCD0 ; CPU:$CA79 PRG:0A79 20 D0 CC + jsr $CADA ; CPU:$CA7C PRG:0A7C 20 DA CA + jsr $DB48 ; CPU:$CA7F PRG:0A7F 20 48 DB + inc Zp2F ; CPU:$CA82 PRG:0A82 E6 2F + jsr $D057 ; CPU:$CA84 PRG:0A84 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CA87 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CA87: + lda Zp20 ; CPU:$CA87 PRG:0A87 A5 20 + bne Label_CA69 ; CPU:$CA89 PRG:0A89 D0 DE + jsr $CFA1 ; CPU:$CA8B PRG:0A8B 20 A1 CF + jmp $CA87 ; CPU:$CA8E PRG:0A8E 4C 87 CA +; ----------------------------------------------------------------------------- +; 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: + php ; CPU:$CA91 PRG:0A91 08 + pha ; CPU:$CA92 PRG:0A92 48 + txa ; CPU:$CA93 PRG:0A93 8A + pha ; CPU:$CA94 PRG:0A94 48 + tya ; CPU:$CA95 PRG:0A95 98 + pha ; CPU:$CA96 PRG:0A96 48 + lda Zp86 ; CPU:$CA97 PRG:0A97 A5 86 + bne Label_CAC2 ; CPU:$CA99 PRG:0A99 D0 27 + lda #$00 ; CPU:$CA9B PRG:0A9B A9 00 + sta $2003 ; CPU:$CA9D PRG:0A9D 8D 03 20 + lda #$02 ; CPU:$CAA0 PRG:0AA0 A9 02 + sta $4014 ; CPU:$CAA2 PRG:0AA2 8D 14 40 + lda Zp22 ; CPU:$CAA5 PRG:0AA5 A5 22 + bne Label_CAB5 ; CPU:$CAA7 PRG:0AA7 D0 0C + jsr $CD41 ; CPU:$CAA9 PRG:0AA9 20 41 CD + jsr $CC85 ; CPU:$CAAC PRG:0AAC 20 85 CC + jsr $CCAF ; CPU:$CAAF PRG:0AAF 20 AF CC +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CAB2: + jsr $CE43 ; CPU:$CAB2 PRG:0AB2 20 43 CE +; ----------------------------------------------------------------------------- +; Routine: Label_CAB5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAB5: + ldy #$01 ; CPU:$CAB5 PRG:0AB5 A0 01 + sty Zp22 ; CPU:$CAB7 PRG:0AB7 84 22 + sty Zp20 ; CPU:$CAB9 PRG:0AB9 84 20 + pla ; CPU:$CABB PRG:0ABB 68 + tay ; CPU:$CABC PRG:0ABC A8 + pla ; CPU:$CABD PRG:0ABD 68 + tax ; CPU:$CABE PRG:0ABE AA + pla ; CPU:$CABF PRG:0ABF 68 + plp ; CPU:$CAC0 PRG:0AC0 28 + rti ; CPU:$CAC1 PRG:0AC1 40 +; ----------------------------------------------------------------------------- +; Routine: Label_CAC2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAC2: + lda Zp09 ; CPU:$CAC2 PRG:0AC2 A5 09 + and #$E7 ; CPU:$CAC4 PRG:0AC4 29 E7 + sta Zp09 ; CPU:$CAC6 PRG:0AC6 85 09 + sta $2001 ; CPU:$CAC8 PRG:0AC8 8D 01 20 + jsr $D174 ; CPU:$CACB PRG:0ACB 20 74 D1 + lda Zp09 ; CPU:$CACE PRG:0ACE A5 09 + ora #$18 ; CPU:$CAD0 PRG:0AD0 09 18 + sta Zp09 ; CPU:$CAD2 PRG:0AD2 85 09 + sta $2001 ; CPU:$CAD4 PRG:0AD4 8D 01 20 + jmp $CAB2 ; CPU:$CAD7 PRG:0AD7 4C B2 CA +; ----------------------------------------------------------------------------- +; Routine: Label_CADA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CADA: + lda Zp24 ; CPU:$CADA PRG:0ADA A5 24 + beq Label_CAE1 ; CPU:$CADC PRG:0ADC F0 03 + jmp $CB91 ; CPU:$CADE PRG:0ADE 4C 91 CB +; ----------------------------------------------------------------------------- +; Routine: Label_CAE1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CAE1: + lda Zp16 ; CPU:$CAE1 PRG:0AE1 A5 16 + and #$10 ; CPU:$CAE3 PRG:0AE3 29 10 + beq Label_CB61 ; CPU:$CAE5 PRG:0AE5 F0 7A + ldy $05FC ; CPU:$CAE7 PRG:0AE7 AC FC 05 + bne Label_CB66 ; CPU:$CAEA PRG:0AEA D0 7A + iny ; CPU:$CAEC PRG:0AEC C8 + sty $05FC ; CPU:$CAED PRG:0AED 8C FC 05 + ldy Zp25 ; CPU:$CAF0 PRG:0AF0 A4 25 + cpy #$10 ; CPU:$CAF2 PRG:0AF2 C0 10 + beq Label_CB31 ; CPU:$CAF4 PRG:0AF4 F0 3B + cpy #$03 ; CPU:$CAF6 PRG:0AF6 C0 03 + beq Label_CB06 ; CPU:$CAF8 PRG:0AF8 F0 0C + cpy #$04 ; CPU:$CAFA PRG:0AFA C0 04 + beq Label_CB06 ; CPU:$CAFC PRG:0AFC F0 08 + cpy #$0B ; CPU:$CAFE PRG:0AFE C0 0B + beq Label_CB06 ; CPU:$CB00 PRG:0B00 F0 04 + cpy #$0C ; CPU:$CB02 PRG:0B02 C0 0C + bne Label_CB66 ; CPU:$CB04 PRG:0B04 D0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CB06 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB06: + lda $0321 ; CPU:$CB06 PRG:0B06 AD 21 03 + cmp #$0B ; CPU:$CB09 PRG:0B09 C9 0B + beq Label_CB66 ; CPU:$CB0B PRG:0B0B F0 59 + ldx #$05 ; CPU:$CB0D PRG:0B0D A2 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CB0F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB0F: + lda Zp2A,x ; CPU:$CB0F PRG:0B0F B5 2A + sta $0430,x ; CPU:$CB11 PRG:0B11 9D 30 04 + dex ; CPU:$CB14 PRG:0B14 CA + bpl Label_CB0F ; CPU:$CB15 PRG:0B15 10 F8 + lda Zp09 ; CPU:$CB17 PRG:0B17 A5 09 + and #$0E ; CPU:$CB19 PRG:0B19 29 0E + sta $2001 ; CPU:$CB1B PRG:0B1B 8D 01 20 + sta Zp09 ; CPU:$CB1E PRG:0B1E 85 09 + lda Zp25 ; CPU:$CB20 PRG:0B20 A5 25 + sta Zp1D ; CPU:$CB22 PRG:0B22 85 1D + lda #$00 ; CPU:$CB24 PRG:0B24 A9 00 + sta Zp96 ; CPU:$CB26 PRG:0B26 85 96 + lda #$10 ; CPU:$CB28 PRG:0B28 A9 10 + sta Zp25 ; CPU:$CB2A PRG:0B2A 85 25 + lda #$02 ; CPU:$CB2C PRG:0B2C A9 02 + jmp $CB55 ; CPU:$CB2E PRG:0B2E 4C 55 CB +; ----------------------------------------------------------------------------- +; Routine: Label_CB31 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB31: + lda Zp09 ; CPU:$CB31 PRG:0B31 A5 09 + ora #$10 ; CPU:$CB33 PRG:0B33 09 10 + sta $2001 ; CPU:$CB35 PRG:0B35 8D 01 20 + sta Zp09 ; CPU:$CB38 PRG:0B38 85 09 + lda #$11 ; CPU:$CB3A PRG:0B3A A9 11 + sta Zp25 ; CPU:$CB3C PRG:0B3C 85 25 + lda #$30 ; CPU:$CB3E PRG:0B3E A9 30 + sta Zp1C ; CPU:$CB40 PRG:0B40 85 1C + lda #$00 ; CPU:$CB42 PRG:0B42 A9 00 + jsr $E70C ; CPU:$CB44 PRG:0B44 20 0C E7 + jsr $E793 ; CPU:$CB47 PRG:0B47 20 93 E7 +; ---- data $CB4A-$CB4A (1 bytes) ---- + .byte $A5 ; CPU:$CB4A PRG:0B4A A5 +; ----------------------------------------------------------------------------- +; Routine: Label_CB4B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB4B: + inc ZpD0 ; CPU:$CB4B PRG:0B4B E6 D0 +; ---- data $CB4D-$CB4D (1 bytes) ---- + .byte $03 ; CPU:$CB4D PRG:0B4D 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CB4E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB4E: + jmp $E7F7 ; CPU:$CB4E PRG:0B4E 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_CB51 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB51: + jsr $D012 ; CPU:$CB51 PRG:0B51 20 12 D0 + rts ; CPU:$CB54 PRG:0B54 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CB55 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB55: + jsr $E70C ; CPU:$CB55 PRG:0B55 20 0C E7 + jsr $E793 ; CPU:$CB58 PRG:0B58 20 93 E7 + jsr $D012 ; CPU:$CB5B PRG:0B5B 20 12 D0 + jmp $E7DB ; CPU:$CB5E PRG:0B5E 4C DB E7 +; ----------------------------------------------------------------------------- +; Routine: Label_CB61 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB61: + lda #$00 ; CPU:$CB61 PRG:0B61 A9 00 + sta $05FC ; CPU:$CB63 PRG:0B63 8D FC 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CB66 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CB66: + lda Zp25 ; CPU:$CB66 PRG:0B66 A5 25 + jsr $CDE0 ; CPU:$CB68 PRG:0B68 20 E0 CD + sta $B7D0,x ; CPU:$CB6B PRG:0B6B 9D D0 B7 + bne Label_CB4E ; CPU:$CB6E PRG:0B6E D0 DE +; ---- data $CB70-$CBAC (61 bytes) ---- +; referenced by `jmp $CB91` at $CADE (operand $CB91 falls inside this region) + .byte $D0, $87, $D1, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19 ; CPU:$CB70 PRG:0B70 D0 87 D1 19 D0 19 D0 19 D0 19 D0 19 D0 19 D0 19 + .byte $D0, $19, $D0, $19, $D0, $19, $D0, $52, $D1, $19, $D0, $19, $D0, $BD, $CC, $5E ; CPU:$CB80 PRG:0B80 D0 19 D0 19 D0 19 D0 52 D1 19 D0 19 D0 BD CC 5E + .byte $D0, $A5, $C0, $D0, $2B, $A9, $11, $8D, $00, $05, $A0, $22, $A2, $26, $AD, $FE ; CPU:$CB90 PRG:0B90 D0 A5 C0 D0 2B A9 11 8D 00 05 A0 22 A2 26 AD FE + .byte $05, $F0, $02, $A2, $2F, $8E, $01, $05, $A2, $64, $20, $8E, $D0 ; CPU:$CBA0 PRG:0BA0 05 F0 02 A2 2F 8E 01 05 A2 64 20 8E D0 + ldx #$26 ; CPU:$CBAD PRG:0BAD A2 26 + lda $05FE ; CPU:$CBAF PRG:0BAF AD FE 05 + bne Label_CBB6 ; CPU:$CBB2 PRG:0BB2 D0 02 + ldx #$2F ; CPU:$CBB4 PRG:0BB4 A2 2F +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CBB6: + stx $0501 ; CPU:$CBB6 PRG:0BB6 8E 01 05 + ldx #$A4 ; CPU:$CBB9 PRG:0BB9 A2 A4 + ldy #$22 ; CPU:$CBBB PRG:0BBB A0 22 + jsr $D08E ; CPU:$CBBD PRG:0BBD 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CBC0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBC0: + lda #$00 ; CPU:$CBC0 PRG:0BC0 A9 00 + sta $05FF ; CPU:$CBC2 PRG:0BC2 8D FF 05 + lda #$01 ; CPU:$CBC5 PRG:0BC5 A9 01 + sta ZpB9 ; CPU:$CBC7 PRG:0BC7 85 B9 + sta ZpBA ; CPU:$CBC9 PRG:0BC9 85 BA + lda Zp26 ; CPU:$CBCB PRG:0BCB A5 26 + beq Label_CBFB ; CPU:$CBCD PRG:0BCD F0 2C + lda $05FF ; CPU:$CBCF PRG:0BCF AD FF 05 + cmp #$01 ; CPU:$CBD2 PRG:0BD2 C9 01 + beq Label_CBE2 ; CPU:$CBD4 PRG:0BD4 F0 0C + cmp #$02 ; CPU:$CBD6 PRG:0BD6 C9 02 + beq Label_CC0B ; CPU:$CBD8 PRG:0BD8 F0 31 +; ----------------------------------------------------------------------------- +; Routine: Label_CBDA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBDA: + lda Zp16 ; CPU:$CBDA PRG:0BDA A5 16 + and #$30 ; CPU:$CBDC PRG:0BDC 29 30 + cmp #$10 ; CPU:$CBDE PRG:0BDE C9 10 + bne Label_CBF7 ; CPU:$CBE0 PRG:0BE0 D0 15 +; ----------------------------------------------------------------------------- +; Routine: Label_CBE2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBE2: + lda #$00 ; CPU:$CBE2 PRG:0BE2 A9 00 + sta Zp24 ; CPU:$CBE4 PRG:0BE4 85 24 + sta Zp25 ; CPU:$CBE6 PRG:0BE6 85 25 + sta ZpC0 ; CPU:$CBE8 PRG:0BE8 85 C0 + jsr $E793 ; CPU:$CBEA PRG:0BEA 20 93 E7 + jsr $D01A ; CPU:$CBED PRG:0BED 20 1A D0 + lda #$02 ; CPU:$CBF0 PRG:0BF0 A9 02 + sta Zp2A ; CPU:$CBF2 PRG:0BF2 85 2A + sta Zp2D ; CPU:$CBF4 PRG:0BF4 85 2D + rts ; CPU:$CBF6 PRG:0BF6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CBF7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBF7: + ldx Zp26 ; CPU:$CBF7 PRG:0BF7 A6 26 + bne Label_CC02 ; CPU:$CBF9 PRG:0BF9 D0 07 +; ----------------------------------------------------------------------------- +; Routine: Label_CBFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CBFB: + lda #$30 ; CPU:$CBFB PRG:0BFB A9 30 + sta Zp2D ; CPU:$CBFD PRG:0BFD 85 2D + jmp $CC42 ; CPU:$CBFF PRG:0BFF 4C 42 CC +; ----------------------------------------------------------------------------- +; Routine: Label_CC02 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC02: + cmp #$20 ; CPU:$CC02 PRG:0C02 C9 20 + bne Label_CC1B ; CPU:$CC04 PRG:0C04 D0 15 + lda $05FD ; CPU:$CC06 PRG:0C06 AD FD 05 + bne Label_CC29 ; CPU:$CC09 PRG:0C09 D0 1E +; ----------------------------------------------------------------------------- +; Routine: Label_CC0B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC0B: + ldy $05FE ; CPU:$CC0B PRG:0C0B AC FE 05 + iny ; CPU:$CC0E PRG:0C0E C8 + cpy #$02 ; CPU:$CC0F PRG:0C0F C0 02 + bne Label_CC15 ; CPU:$CC11 PRG:0C11 D0 02 + ldy #$00 ; CPU:$CC13 PRG:0C13 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CC15 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC15: + sty $05FE ; CPU:$CC15 PRG:0C15 8C FE 05 + jmp $CC24 ; CPU:$CC18 PRG:0C18 4C 24 CC +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CC1B: + cmp #$00 ; CPU:$CC1B PRG:0C1B C9 00 + bne Label_CC24 ; CPU:$CC1D PRG:0C1D D0 05 + sta $05FD ; CPU:$CC1F PRG:0C1F 8D FD 05 + beq Label_CC3E ; CPU:$CC22 PRG:0C22 F0 1A +; ----------------------------------------------------------------------------- +; Routine: Label_CC24 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC24: + lda #$01 ; CPU:$CC24 PRG:0C24 A9 01 + sta $05FD ; CPU:$CC26 PRG:0C26 8D FD 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CC29 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC29: + lda ZpC0 ; CPU:$CC29 PRG:0C29 A5 C0 + beq Label_CC3A ; CPU:$CC2B PRG:0C2B F0 0D + lda #$00 ; CPU:$CC2D PRG:0C2D A9 00 + sta ZpC0 ; CPU:$CC2F PRG:0C2F 85 C0 + sta ZpF0 ; CPU:$CC31 PRG:0C31 85 F0 + sta ZpF1 ; CPU:$CC33 PRG:0C33 85 F1 + sta ZpF2 ; CPU:$CC35 PRG:0C35 85 F2 + jmp $DA25 ; CPU:$CC37 PRG:0C37 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: Label_CC3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC3A: + lda #$30 ; CPU:$CC3A PRG:0C3A A9 30 + sta Zp2D ; CPU:$CC3C PRG:0C3C 85 2D +; ----------------------------------------------------------------------------- +; Routine: Label_CC3E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC3E: + cpx #$01 ; CPU:$CC3E PRG:0C3E E0 01 + bne Label_CC42 ; CPU:$CC40 PRG:0C40 D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CC42 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC42: + lda ZpC0 ; CPU:$CC42 PRG:0C42 A5 C0 + bne Label_CC5C ; CPU:$CC44 PRG:0C44 D0 16 + lda ZpA4 ; CPU:$CC46 PRG:0C46 A5 A4 + sta $0501 ; CPU:$CC48 PRG:0C48 8D 01 05 + lda ZpA5 ; CPU:$CC4B PRG:0C4B A5 A5 + sta $0502 ; CPU:$CC4D PRG:0C4D 8D 02 05 + lda #$12 ; CPU:$CC50 PRG:0C50 A9 12 + sta $0500 ; CPU:$CC52 PRG:0C52 8D 00 05 + ldx #$F4 ; CPU:$CC55 PRG:0C55 A2 F4 + ldy #$22 ; CPU:$CC57 PRG:0C57 A0 22 + jsr $D08E ; CPU:$CC59 PRG:0C59 20 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_CC5C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC5C: + lda Zp26 ; CPU:$CC5C PRG:0C5C A5 26 + jsr $CDE0 ; CPU:$CC5E PRG:0C5E 20 E0 CD +; ---- data $CC61-$CC66 (6 bytes) ---- + .byte $C3, $CF, $F2, $CF, $0F, $D0 ; CPU:$CC61 PRG:0C61 C3 CF F2 CF 0F D0 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CC67: + lda #$02 ; CPU:$CC67 PRG:0C67 A9 02 + jsr $CC6E ; CPU:$CC69 PRG:0C69 20 6E CC + lda #$01 ; CPU:$CC6C PRG:0C6C A9 01 +; ----------------------------------------------------------------------------- +; Routine: Label_CC6E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC6E: + sta Zp01 ; CPU:$CC6E PRG:0C6E 85 01 + lda #$2F ; CPU:$CC70 PRG:0C70 A9 2F + sta Zp00 ; CPU:$CC72 PRG:0C72 85 00 + jmp $CD85 ; CPU:$CC74 PRG:0C74 4C 85 CD +; ----------------------------------------------------------------------------- +; Routine: Label_CC77 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC77: + ldy #$00 ; CPU:$CC77 PRG:0C77 A0 00 + lda #$F4 ; CPU:$CC79 PRG:0C79 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: Label_CC7B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC7B: + sta $0200,y ; CPU:$CC7B PRG:0C7B 99 00 02 + iny ; CPU:$CC7E PRG:0C7E C8 + iny ; CPU:$CC7F PRG:0C7F C8 + iny ; CPU:$CC80 PRG:0C80 C8 + iny ; CPU:$CC81 PRG:0C81 C8 + bne Label_CC7B ; CPU:$CC82 PRG:0C82 D0 F7 + rts ; CPU:$CC84 PRG:0C84 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CC85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC85: + ldy Zp23 ; CPU:$CC85 PRG:0C85 A4 23 + beq Label_CCAE ; CPU:$CC87 PRG:0C87 F0 25 + dey ; CPU:$CC89 PRG:0C89 88 + tya ; CPU:$CC8A PRG:0C8A 98 + asl a ; CPU:$CC8B PRG:0C8B 0A + tay ; CPU:$CC8C PRG:0C8C A8 + lda $F5B2,y ; CPU:$CC8D PRG:0C8D B9 B2 F5 + ldx $F5B3,y ; CPU:$CC90 PRG:0C90 BE B3 F5 + ldy #$00 ; CPU:$CC93 PRG:0C93 A0 00 + sty Zp23 ; CPU:$CC95 PRG:0C95 84 23 +; ----------------------------------------------------------------------------- +; Routine: Label_CC97 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CC97: + sta Zp00 ; CPU:$CC97 PRG:0C97 85 00 + stx Zp01 ; CPU:$CC99 PRG:0C99 86 01 + jsr $CE3A ; CPU:$CC9B PRG:0C9B 20 3A CE + lda #$3F ; CPU:$CC9E PRG:0C9E A9 3F + sta $2006 ; CPU:$CCA0 PRG:0CA0 8D 06 20 + lda #$00 ; CPU:$CCA3 PRG:0CA3 A9 00 + sta $2006 ; CPU:$CCA5 PRG:0CA5 8D 06 20 + sta $2006 ; CPU:$CCA8 PRG:0CA8 8D 06 20 + sta $2006 ; CPU:$CCAB PRG:0CAB 8D 06 20 +; ----------------------------------------------------------------------------- +; Routine: Label_CCAE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCAE: + rts ; CPU:$CCAE PRG:0CAE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCAF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCAF: + ldy Zp27 ; CPU:$CCAF PRG:0CAF A4 27 + beq Label_CCAE ; CPU:$CCB1 PRG:0CB1 F0 FB + ldy #$00 ; CPU:$CCB3 PRG:0CB3 A0 00 + sty Zp27 ; CPU:$CCB5 PRG:0CB5 84 27 + lda #$00 ; CPU:$CCB7 PRG:0CB7 A9 00 + ldx #$04 ; CPU:$CCB9 PRG:0CB9 A2 04 + bne Label_CC97 ; CPU:$CCBB PRG:0CBB D0 DA + dec Zp1C ; CPU:$CCBD PRG:0CBD C6 1C + bne Label_CCCF ; CPU:$CCBF PRG:0CBF D0 0E + ldx #$05 ; CPU:$CCC1 PRG:0CC1 A2 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CCC3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCC3: + lda $0430,x ; CPU:$CCC3 PRG:0CC3 BD 30 04 + sta Zp2A,x ; CPU:$CCC6 PRG:0CC6 95 2A + dex ; CPU:$CCC8 PRG:0CC8 CA + bpl Label_CCC3 ; CPU:$CCC9 PRG:0CC9 10 F8 + lda Zp1D ; CPU:$CCCB PRG:0CCB A5 1D + sta Zp25 ; CPU:$CCCD PRG:0CCD 85 25 +; ----------------------------------------------------------------------------- +; Routine: Label_CCCF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCCF: + rts ; CPU:$CCCF PRG:0CCF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCD0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCD0: + lda #$01 ; CPU:$CCD0 PRG:0CD0 A9 01 + sta $4016 ; CPU:$CCD2 PRG:0CD2 8D 16 40 + lda #$00 ; CPU:$CCD5 PRG:0CD5 A9 00 + sta $4016 ; CPU:$CCD7 PRG:0CD7 8D 16 40 + ldy #$40 ; CPU:$CCDA PRG:0CDA A0 40 + ldx $032A ; CPU:$CCDC PRG:0CDC AE 2A 03 + beq Label_CCE3 ; CPU:$CCDF PRG:0CDF F0 02 + ldy #$42 ; CPU:$CCE1 PRG:0CE1 A0 42 +; ----------------------------------------------------------------------------- +; Routine: Label_CCE3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCE3: + sty Zp01 ; CPU:$CCE3 PRG:0CE3 84 01 + ldx #$00 ; CPU:$CCE5 PRG:0CE5 A2 00 + jsr $CCFB ; CPU:$CCE7 PRG:0CE7 20 FB CC + ldy #$40 ; CPU:$CCEA PRG:0CEA A0 40 + ldx $030A ; CPU:$CCEC PRG:0CEC AE 0A 03 + beq Label_CCF3 ; CPU:$CCEF PRG:0CEF F0 02 + ldy #$41 ; CPU:$CCF1 PRG:0CF1 A0 41 +; ----------------------------------------------------------------------------- +; Routine: Label_CCF3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCF3: + sty Zp01 ; CPU:$CCF3 PRG:0CF3 84 01 + ldx #$01 ; CPU:$CCF5 PRG:0CF5 A2 01 + jsr $CCFB ; CPU:$CCF7 PRG:0CF7 20 FB CC + rts ; CPU:$CCFA PRG:0CFA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CCFB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCFB: + ldy #$08 ; CPU:$CCFB PRG:0CFB A0 08 +; ----------------------------------------------------------------------------- +; Routine: Label_CCFD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CCFD: + pha ; CPU:$CCFD PRG:0CFD 48 + lda Zp16,x ; CPU:$CCFE PRG:0CFE B5 16 + and Zp01 ; CPU:$CD00 PRG:0D00 25 01 + sta Zp02 ; CPU:$CD02 PRG:0D02 85 02 + lda $4016,x ; CPU:$CD04 PRG:0D04 BD 16 40 + sta Zp00 ; CPU:$CD07 PRG:0D07 85 00 + lsr a ; CPU:$CD09 PRG:0D09 4A + ora Zp00 ; CPU:$CD0A PRG:0D0A 05 00 + lsr a ; CPU:$CD0C PRG:0D0C 4A + pla ; CPU:$CD0D PRG:0D0D 68 + rol a ; CPU:$CD0E PRG:0D0E 2A + dey ; CPU:$CD0F PRG:0D0F 88 + bne Label_CCFD ; CPU:$CD10 PRG:0D10 D0 EB + ldy Zp16,x ; CPU:$CD12 PRG:0D12 B4 16 + sty Zp00 ; CPU:$CD14 PRG:0D14 84 00 + sta Zp16,x ; CPU:$CD16 PRG:0D16 95 16 + and #$FF ; CPU:$CD18 PRG:0D18 29 FF + bpl Label_CD22 ; CPU:$CD1A PRG:0D1A 10 06 + bit Zp00 ; CPU:$CD1C PRG:0D1C 24 00 + bpl Label_CD22 ; CPU:$CD1E PRG:0D1E 10 02 + and #$7F ; CPU:$CD20 PRG:0D20 29 7F +; ----------------------------------------------------------------------------- +; Routine: Label_CD22 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD22: + ldy Zp18,x ; CPU:$CD22 PRG:0D22 B4 18 + sta Zp18,x ; CPU:$CD24 PRG:0D24 95 18 + tya ; CPU:$CD26 PRG:0D26 98 + and #$0F ; CPU:$CD27 PRG:0D27 29 0F + and Zp18,x ; CPU:$CD29 PRG:0D29 35 18 + beq Label_CD33 ; CPU:$CD2B PRG:0D2B F0 06 + ora #$F0 ; CPU:$CD2D PRG:0D2D 09 F0 + and Zp18,x ; CPU:$CD2F PRG:0D2F 35 18 + sta Zp18,x ; CPU:$CD31 PRG:0D31 95 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD33: + lda Zp02 ; CPU:$CD33 PRG:0D33 A5 02 + bne Label_CD38 ; CPU:$CD35 PRG:0D35 D0 01 + rts ; CPU:$CD37 PRG:0D37 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD38 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD38: + lda #$FF ; CPU:$CD38 PRG:0D38 A9 FF + eor Zp01 ; CPU:$CD3A PRG:0D3A 45 01 + and Zp18,x ; CPU:$CD3C PRG:0D3C 35 18 + sta Zp18,x ; CPU:$CD3E PRG:0D3E 95 18 + rts ; CPU:$CD40 PRG:0D40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD41 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD41: + lda Zp21 ; CPU:$CD41 PRG:0D41 A5 21 + beq Label_CD84 ; CPU:$CD43 PRG:0D43 F0 3F + lda #$21 ; CPU:$CD45 PRG:0D45 A9 21 + sta Zp00 ; CPU:$CD47 PRG:0D47 85 00 + lda #$05 ; CPU:$CD49 PRG:0D49 A9 05 + sta Zp01 ; CPU:$CD4B PRG:0D4B 85 01 + lda Zp08 ; CPU:$CD4D PRG:0D4D A5 08 + and #$FB ; CPU:$CD4F PRG:0D4F 29 FB + sta $2000 ; CPU:$CD51 PRG:0D51 8D 00 20 + sta Zp08 ; CPU:$CD54 PRG:0D54 85 08 + ldx $2002 ; CPU:$CD56 PRG:0D56 AE 02 20 + ldy #$00 ; CPU:$CD59 PRG:0D59 A0 00 + beq Label_CD76 ; CPU:$CD5B PRG:0D5B F0 19 +; ----------------------------------------------------------------------------- +; Routine: Label_CD5D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD5D: + sta $2006 ; CPU:$CD5D PRG:0D5D 8D 06 20 + iny ; CPU:$CD60 PRG:0D60 C8 + lda (Zp00),y ; CPU:$CD61 PRG:0D61 B1 00 + sta $2006 ; CPU:$CD63 PRG:0D63 8D 06 20 + iny ; CPU:$CD66 PRG:0D66 C8 + lda (Zp00),y ; CPU:$CD67 PRG:0D67 B1 00 + and #$3F ; CPU:$CD69 PRG:0D69 29 3F + tax ; CPU:$CD6B PRG:0D6B AA +; ----------------------------------------------------------------------------- +; Routine: Label_CD6C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD6C: + iny ; CPU:$CD6C PRG:0D6C C8 + lda (Zp00),y ; CPU:$CD6D PRG:0D6D B1 00 + sta $2007 ; CPU:$CD6F PRG:0D6F 8D 07 20 + dex ; CPU:$CD72 PRG:0D72 CA + bne Label_CD6C ; CPU:$CD73 PRG:0D73 D0 F7 + iny ; CPU:$CD75 PRG:0D75 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CD76 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD76: + lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00 + bne Label_CD5D ; CPU:$CD78 PRG:0D78 D0 E3 + lda #$00 ; CPU:$CD7A PRG:0D7A A9 00 + sta $0520 ; CPU:$CD7C PRG:0D7C 8D 20 05 + sta $0521 ; CPU:$CD7F PRG:0D7F 8D 21 05 + sta Zp21 ; CPU:$CD82 PRG:0D82 85 21 +; ----------------------------------------------------------------------------- +; Routine: Label_CD84 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD84: + rts ; CPU:$CD84 PRG:0D84 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CD85 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD85: + lda $2002 ; CPU:$CD85 PRG:0D85 AD 02 20 + lda Zp08 ; CPU:$CD88 PRG:0D88 A5 08 + and #$FB ; CPU:$CD8A PRG:0D8A 29 FB + sta $2000 ; CPU:$CD8C PRG:0D8C 8D 00 20 + sta Zp08 ; CPU:$CD8F PRG:0D8F 85 08 + lda #$1C ; CPU:$CD91 PRG:0D91 A9 1C + clc ; CPU:$CD93 PRG:0D93 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CD94 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CD94: + adc #$04 ; CPU:$CD94 PRG:0D94 69 04 + dec Zp01 ; CPU:$CD96 PRG:0D96 C6 01 + bne Label_CD94 ; CPU:$CD98 PRG:0D98 D0 FA + sta Zp02 ; CPU:$CD9A PRG:0D9A 85 02 + sta $2006 ; CPU:$CD9C PRG:0D9C 8D 06 20 + lda #$00 ; CPU:$CD9F PRG:0D9F A9 00 + sta $2006 ; CPU:$CDA1 PRG:0DA1 8D 06 20 + ldx #$04 ; CPU:$CDA4 PRG:0DA4 A2 04 + ldy #$00 ; CPU:$CDA6 PRG:0DA6 A0 00 + lda Zp00 ; CPU:$CDA8 PRG:0DA8 A5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDAA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDAA: + sta $2007 ; CPU:$CDAA PRG:0DAA 8D 07 20 + dey ; CPU:$CDAD PRG:0DAD 88 + bne Label_CDAA ; CPU:$CDAE PRG:0DAE D0 FA + dex ; CPU:$CDB0 PRG:0DB0 CA + bne Label_CDAA ; CPU:$CDB1 PRG:0DB1 D0 F7 + lda Zp02 ; CPU:$CDB3 PRG:0DB3 A5 02 + adc #$03 ; CPU:$CDB5 PRG:0DB5 69 03 + sta $2006 ; CPU:$CDB7 PRG:0DB7 8D 06 20 + lda #$C0 ; CPU:$CDBA PRG:0DBA A9 C0 + sta $2006 ; CPU:$CDBC PRG:0DBC 8D 06 20 + ldy #$40 ; CPU:$CDBF PRG:0DBF A0 40 + lda #$00 ; CPU:$CDC1 PRG:0DC1 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDC3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDC3: + sta $2007 ; CPU:$CDC3 PRG:0DC3 8D 07 20 + dey ; CPU:$CDC6 PRG:0DC6 88 + bne Label_CDC3 ; CPU:$CDC7 PRG:0DC7 D0 FA + rts ; CPU:$CDC9 PRG:0DC9 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDCA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDCA: + ldx #$01 ; CPU:$CDCA PRG:0DCA A2 01 + dec Zp2A ; CPU:$CDCC PRG:0DCC C6 2A + bpl Label_CDD6 ; CPU:$CDCE PRG:0DCE 10 06 + lda #$0A ; CPU:$CDD0 PRG:0DD0 A9 0A + sta Zp2A ; CPU:$CDD2 PRG:0DD2 85 2A + ldx #$03 ; CPU:$CDD4 PRG:0DD4 A2 03 +; ----------------------------------------------------------------------------- +; Routine: Label_CDD6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDD6: + lda Zp2B,x ; CPU:$CDD6 PRG:0DD6 B5 2B + beq Label_CDDC ; CPU:$CDD8 PRG:0DD8 F0 02 + dec Zp2B,x ; CPU:$CDDA PRG:0DDA D6 2B +; ----------------------------------------------------------------------------- +; Routine: Label_CDDC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDDC: + dex ; CPU:$CDDC PRG:0DDC CA + bpl Label_CDD6 ; CPU:$CDDD PRG:0DDD 10 F7 + rts ; CPU:$CDDF PRG:0DDF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CDE0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDE0: + stx Zp28 ; CPU:$CDE0 PRG:0DE0 86 28 + sty Zp29 ; CPU:$CDE2 PRG:0DE2 84 29 + asl a ; CPU:$CDE4 PRG:0DE4 0A + tay ; CPU:$CDE5 PRG:0DE5 A8 + iny ; CPU:$CDE6 PRG:0DE6 C8 + pla ; CPU:$CDE7 PRG:0DE7 68 + sta Zp14 ; CPU:$CDE8 PRG:0DE8 85 14 + pla ; CPU:$CDEA PRG:0DEA 68 + sta Zp15 ; CPU:$CDEB PRG:0DEB 85 15 + lda (Zp14),y ; CPU:$CDED PRG:0DED B1 14 + tax ; CPU:$CDEF PRG:0DEF AA + iny ; CPU:$CDF0 PRG:0DF0 C8 + lda (Zp14),y ; CPU:$CDF1 PRG:0DF1 B1 14 + sta Zp15 ; CPU:$CDF3 PRG:0DF3 85 15 + stx Zp14 ; CPU:$CDF5 PRG:0DF5 86 14 + ldx Zp28 ; CPU:$CDF7 PRG:0DF7 A6 28 + ldy Zp29 ; CPU:$CDF9 PRG:0DF9 A4 29 + jmp ($0014) ; CPU:$CDFB PRG:0DFB 6C 14 00 +; ----------------------------------------------------------------------------- +; Routine: Label_CDFE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CDFE: + sta $2006 ; CPU:$CDFE PRG:0DFE 8D 06 20 + iny ; CPU:$CE01 PRG:0E01 C8 + lda (Zp00),y ; CPU:$CE02 PRG:0E02 B1 00 + sta $2006 ; CPU:$CE04 PRG:0E04 8D 06 20 + iny ; CPU:$CE07 PRG:0E07 C8 + lda (Zp00),y ; CPU:$CE08 PRG:0E08 B1 00 + asl a ; CPU:$CE0A PRG:0E0A 0A + pha ; CPU:$CE0B PRG:0E0B 48 + lda Zp08 ; CPU:$CE0C PRG:0E0C A5 08 + ora #$04 ; CPU:$CE0E PRG:0E0E 09 04 + bcs Label_CE14 ; CPU:$CE10 PRG:0E10 B0 02 + and #$FB ; CPU:$CE12 PRG:0E12 29 FB +; ----------------------------------------------------------------------------- +; Routine: Label_CE14 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE14: + sta $2000 ; CPU:$CE14 PRG:0E14 8D 00 20 + sta Zp08 ; CPU:$CE17 PRG:0E17 85 08 + pla ; CPU:$CE19 PRG:0E19 68 + asl a ; CPU:$CE1A PRG:0E1A 0A + bcc Label_CE20 ; CPU:$CE1B PRG:0E1B 90 03 + ora #$02 ; CPU:$CE1D PRG:0E1D 09 02 + iny ; CPU:$CE1F PRG:0E1F C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CE20 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE20: + lsr a ; CPU:$CE20 PRG:0E20 4A + lsr a ; CPU:$CE21 PRG:0E21 4A + tax ; CPU:$CE22 PRG:0E22 AA +; ----------------------------------------------------------------------------- +; Routine: Label_CE23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE23: + bcs Label_CE26 ; CPU:$CE23 PRG:0E23 B0 01 + iny ; CPU:$CE25 PRG:0E25 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_CE26 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE26: + lda (Zp00),y ; CPU:$CE26 PRG:0E26 B1 00 + sta $2007 ; CPU:$CE28 PRG:0E28 8D 07 20 + dex ; CPU:$CE2B PRG:0E2B CA + bne Label_CE23 ; CPU:$CE2C PRG:0E2C D0 F5 + sec ; CPU:$CE2E PRG:0E2E 38 + tya ; CPU:$CE2F PRG:0E2F 98 + adc Zp00 ; CPU:$CE30 PRG:0E30 65 00 + sta Zp00 ; CPU:$CE32 PRG:0E32 85 00 + lda #$00 ; CPU:$CE34 PRG:0E34 A9 00 + adc Zp01 ; CPU:$CE36 PRG:0E36 65 01 + sta Zp01 ; CPU:$CE38 PRG:0E38 85 01 +; ----------------------------------------------------------------------------- +; Routine: Label_CE3A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE3A: + ldx $2002 ; CPU:$CE3A PRG:0E3A AE 02 20 + ldy #$00 ; CPU:$CE3D PRG:0E3D A0 00 + lda (Zp00),y ; CPU:$CE3F PRG:0E3F B1 00 + bne Label_CDFE ; CPU:$CE41 PRG:0E41 D0 BB +; ----------------------------------------------------------------------------- +; Routine: Label_CE43 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE43: + pha ; CPU:$CE43 PRG:0E43 48 + lda Zp0A ; CPU:$CE44 PRG:0E44 A5 0A + sta $2005 ; CPU:$CE46 PRG:0E46 8D 05 20 + lda Zp0B ; CPU:$CE49 PRG:0E49 A5 0B + sta $2005 ; CPU:$CE4B PRG:0E4B 8D 05 20 + lda Zp08 ; CPU:$CE4E PRG:0E4E A5 08 + sta $2000 ; CPU:$CE50 PRG:0E50 8D 00 20 + pla ; CPU:$CE53 PRG:0E53 68 + rts ; CPU:$CE54 PRG:0E54 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CE55 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE55: + lda #$01 ; CPU:$CE55 PRG:0E55 A9 01 + sta Zp21 ; CPU:$CE57 PRG:0E57 85 21 + ldy #$00 ; CPU:$CE59 PRG:0E59 A0 00 + lda (Zp02),y ; CPU:$CE5B PRG:0E5B B1 02 + and #$0F ; CPU:$CE5D PRG:0E5D 29 0F + sta Zp05 ; CPU:$CE5F PRG:0E5F 85 05 + lda (Zp02),y ; CPU:$CE61 PRG:0E61 B1 02 + lsr a ; CPU:$CE63 PRG:0E63 4A + lsr a ; CPU:$CE64 PRG:0E64 4A + lsr a ; CPU:$CE65 PRG:0E65 4A + lsr a ; CPU:$CE66 PRG:0E66 4A + sta Zp04 ; CPU:$CE67 PRG:0E67 85 04 + ldx $0520 ; CPU:$CE69 PRG:0E69 AE 20 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CE6C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CE6C: + lda Zp01 ; CPU:$CE6C PRG:0E6C A5 01 + sta $0521,x ; CPU:$CE6E PRG:0E6E 9D 21 05 + jsr $CEAD ; CPU:$CE71 PRG:0E71 20 AD CE + lda Zp00 ; CPU:$CE74 PRG:0E74 A5 00 + sta $0521,x ; CPU:$CE76 PRG:0E76 9D 21 05 + jsr $CEAD ; CPU:$CE79 PRG:0E79 20 AD CE + lda Zp05 ; CPU:$CE7C PRG:0E7C A5 05 + sta Zp06 ; CPU:$CE7E PRG:0E7E 85 06 + sta $0521,x ; CPU:$CE80 PRG:0E80 9D 21 05 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_CE83: + jsr $CEAD ; CPU:$CE83 PRG:0E83 20 AD CE + iny ; CPU:$CE86 PRG:0E86 C8 + lda (Zp02),y ; CPU:$CE87 PRG:0E87 B1 02 + sta $0521,x ; CPU:$CE89 PRG:0E89 9D 21 05 + dec Zp06 ; CPU:$CE8C PRG:0E8C C6 06 + bne Label_CE83 ; CPU:$CE8E PRG:0E8E D0 F3 + jsr $CEAD ; CPU:$CE90 PRG:0E90 20 AD CE + stx $0520 ; CPU:$CE93 PRG:0E93 8E 20 05 + clc ; CPU:$CE96 PRG:0E96 18 + lda #$20 ; CPU:$CE97 PRG:0E97 A9 20 + adc Zp00 ; CPU:$CE99 PRG:0E99 65 00 + sta Zp00 ; CPU:$CE9B PRG:0E9B 85 00 + lda #$00 ; CPU:$CE9D PRG:0E9D A9 00 + adc Zp01 ; CPU:$CE9F PRG:0E9F 65 01 + sta Zp01 ; CPU:$CEA1 PRG:0EA1 85 01 + dec Zp04 ; CPU:$CEA3 PRG:0EA3 C6 04 + bne Label_CE6C ; CPU:$CEA5 PRG:0EA5 D0 C5 + lda #$00 ; CPU:$CEA7 PRG:0EA7 A9 00 + sta $0521,x ; CPU:$CEA9 PRG:0EA9 9D 21 05 + rts ; CPU:$CEAC PRG:0EAC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEAD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEAD: + inx ; CPU:$CEAD PRG:0EAD E8 + txa ; CPU:$CEAE PRG:0EAE 8A + cmp #$6F ; CPU:$CEAF PRG:0EAF C9 6F + bcc Label_CEBD ; CPU:$CEB1 PRG:0EB1 90 0A + ldx $0520 ; CPU:$CEB3 PRG:0EB3 AE 20 05 + lda #$00 ; CPU:$CEB6 PRG:0EB6 A9 00 + sta $0521,x ; CPU:$CEB8 PRG:0EB8 9D 21 05 + pla ; CPU:$CEBB PRG:0EBB 68 + pla ; CPU:$CEBC PRG:0EBC 68 +; ----------------------------------------------------------------------------- +; Routine: Label_CEBD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEBD: + rts ; CPU:$CEBD PRG:0EBD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEBE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEBE: + clc ; CPU:$CEBE PRG:0EBE 18 + adc #$01 ; CPU:$CEBF PRG:0EBF 69 01 + and #$0F ; CPU:$CEC1 PRG:0EC1 29 0F + asl a ; CPU:$CEC3 PRG:0EC3 0A + asl a ; CPU:$CEC4 PRG:0EC4 0A +; ----------------------------------------------------------------------------- +; Routine: Label_CEC5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEC5: + tax ; CPU:$CEC5 PRG:0EC5 AA + lda Zp04 ; CPU:$CEC6 PRG:0EC6 A5 04 + beq Label_CEF1 ; CPU:$CEC8 PRG:0EC8 F0 27 + lda ZpC3,x ; CPU:$CECA PRG:0ECA B5 C3 + beq Label_CEF5 ; CPU:$CECC PRG:0ECC F0 27 +; ----------------------------------------------------------------------------- +; Routine: Label_CECE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CECE: + clc ; CPU:$CECE PRG:0ECE 18 + lda ZpC6,x ; CPU:$CECF PRG:0ECF B5 C6 + sta Zp03 ; CPU:$CED1 PRG:0ED1 85 03 + lda Zp07 ; CPU:$CED3 PRG:0ED3 A5 07 + jsr $CF4F ; CPU:$CED5 PRG:0ED5 20 4F CF + sta ZpC6,x ; CPU:$CED8 PRG:0ED8 95 C6 + lda ZpC5,x ; CPU:$CEDA PRG:0EDA B5 C5 + sta Zp03 ; CPU:$CEDC PRG:0EDC 85 03 + lda Zp06 ; CPU:$CEDE PRG:0EDE A5 06 + jsr $CF4F ; CPU:$CEE0 PRG:0EE0 20 4F CF + sta ZpC5,x ; CPU:$CEE3 PRG:0EE3 95 C5 + lda ZpC4,x ; CPU:$CEE5 PRG:0EE5 B5 C4 + sta Zp03 ; CPU:$CEE7 PRG:0EE7 85 03 + lda Zp05 ; CPU:$CEE9 PRG:0EE9 A5 05 + jsr $CF4F ; CPU:$CEEB PRG:0EEB 20 4F CF + sta ZpC4,x ; CPU:$CEEE PRG:0EEE 95 C4 + rts ; CPU:$CEF0 PRG:0EF0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CEF1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEF1: + lda ZpC3,x ; CPU:$CEF1 PRG:0EF1 B5 C3 + beq Label_CECE ; CPU:$CEF3 PRG:0EF3 F0 D9 +; ----------------------------------------------------------------------------- +; Routine: Label_CEF5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CEF5: + sec ; CPU:$CEF5 PRG:0EF5 38 + lda ZpC6,x ; CPU:$CEF6 PRG:0EF6 B5 C6 + sta Zp03 ; CPU:$CEF8 PRG:0EF8 85 03 + lda Zp07 ; CPU:$CEFA PRG:0EFA A5 07 + jsr $CF70 ; CPU:$CEFC PRG:0EFC 20 70 CF + sta ZpC6,x ; CPU:$CEFF PRG:0EFF 95 C6 + lda ZpC5,x ; CPU:$CF01 PRG:0F01 B5 C5 + sta Zp03 ; CPU:$CF03 PRG:0F03 85 03 + lda Zp06 ; CPU:$CF05 PRG:0F05 A5 06 + jsr $CF70 ; CPU:$CF07 PRG:0F07 20 70 CF + sta ZpC5,x ; CPU:$CF0A PRG:0F0A 95 C5 + lda ZpC4,x ; CPU:$CF0C PRG:0F0C B5 C4 + sta Zp03 ; CPU:$CF0E PRG:0F0E 85 03 + lda Zp05 ; CPU:$CF10 PRG:0F10 A5 05 + jsr $CF70 ; CPU:$CF12 PRG:0F12 20 70 CF + sta ZpC4,x ; CPU:$CF15 PRG:0F15 95 C4 + lda ZpC4,x ; CPU:$CF17 PRG:0F17 B5 C4 + bne Label_CF23 ; CPU:$CF19 PRG:0F19 D0 08 + lda ZpC5,x ; CPU:$CF1B PRG:0F1B B5 C5 + bne Label_CF23 ; CPU:$CF1D PRG:0F1D D0 04 + lda ZpC6,x ; CPU:$CF1F PRG:0F1F B5 C6 + beq Label_CF25 ; CPU:$CF21 PRG:0F21 F0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_CF23 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF23: + bcs Label_CF4E ; CPU:$CF23 PRG:0F23 B0 29 +; ----------------------------------------------------------------------------- +; Routine: Label_CF25 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF25: + lda #$00 ; CPU:$CF25 PRG:0F25 A9 00 + sta ZpC3,x ; CPU:$CF27 PRG:0F27 95 C3 + sta ZpC4,x ; CPU:$CF29 PRG:0F29 95 C4 + sta ZpC5,x ; CPU:$CF2B PRG:0F2B 95 C5 + sta ZpC6,x ; CPU:$CF2D PRG:0F2D 95 C6 + inc Zp3D ; CPU:$CF2F PRG:0F2F E6 3D + rts ; CPU:$CF31 PRG:0F31 60 +; ---- data $CF32-$CF4D (28 bytes) ---- + .byte $95, $C3, $38, $A9, $00, $85, $03, $B5, $C6, $20, $70, $CF, $95, $C6, $B5, $C5 ; CPU:$CF32 PRG:0F32 95 C3 38 A9 00 85 03 B5 C6 20 70 CF 95 C6 B5 C5 + .byte $20, $70, $CF, $95, $C5, $B5, $C4, $20, $70, $CF, $95, $C4 ; CPU:$CF42 PRG:0F42 20 70 CF 95 C5 B5 C4 20 70 CF 95 C4 +; ----------------------------------------------------------------------------- +; Routine: Label_CF4E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF4E: + rts ; CPU:$CF4E PRG:0F4E 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF4F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF4F: + jsr $CF92 ; CPU:$CF4F PRG:0F4F 20 92 CF + adc Zp01 ; CPU:$CF52 PRG:0F52 65 01 + cmp #$0A ; CPU:$CF54 PRG:0F54 C9 0A + bcc Label_CF5A ; CPU:$CF56 PRG:0F56 90 02 + adc #$05 ; CPU:$CF58 PRG:0F58 69 05 +; ----------------------------------------------------------------------------- +; Routine: Label_CF5A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF5A: + clc ; CPU:$CF5A PRG:0F5A 18 + adc Zp02 ; CPU:$CF5B PRG:0F5B 65 02 + sta Zp02 ; CPU:$CF5D PRG:0F5D 85 02 + lda Zp03 ; CPU:$CF5F PRG:0F5F A5 03 + and #$F0 ; CPU:$CF61 PRG:0F61 29 F0 + adc Zp02 ; CPU:$CF63 PRG:0F63 65 02 + bcc Label_CF6B ; CPU:$CF65 PRG:0F65 90 04 +; ----------------------------------------------------------------------------- +; Routine: Label_CF67 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF67: + adc #$5F ; CPU:$CF67 PRG:0F67 69 5F + sec ; CPU:$CF69 PRG:0F69 38 + rts ; CPU:$CF6A PRG:0F6A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF6B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF6B: + cmp #$A0 ; CPU:$CF6B PRG:0F6B C9 A0 + bcs Label_CF67 ; CPU:$CF6D PRG:0F6D B0 F8 + rts ; CPU:$CF6F PRG:0F6F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF70 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF70: + jsr $CF92 ; CPU:$CF70 PRG:0F70 20 92 CF + sbc Zp01 ; CPU:$CF73 PRG:0F73 E5 01 + sta Zp01 ; CPU:$CF75 PRG:0F75 85 01 + bcs Label_CF83 ; CPU:$CF77 PRG:0F77 B0 0A + adc #$0A ; CPU:$CF79 PRG:0F79 69 0A + sta Zp01 ; CPU:$CF7B PRG:0F7B 85 01 + lda Zp02 ; CPU:$CF7D PRG:0F7D A5 02 + adc #$0F ; CPU:$CF7F PRG:0F7F 69 0F + sta Zp02 ; CPU:$CF81 PRG:0F81 85 02 +; ----------------------------------------------------------------------------- +; Routine: Label_CF83 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF83: + lda Zp03 ; CPU:$CF83 PRG:0F83 A5 03 + and #$F0 ; CPU:$CF85 PRG:0F85 29 F0 + sec ; CPU:$CF87 PRG:0F87 38 + sbc Zp02 ; CPU:$CF88 PRG:0F88 E5 02 + bcs Label_CF8F ; CPU:$CF8A PRG:0F8A B0 03 + adc #$A0 ; CPU:$CF8C PRG:0F8C 69 A0 + clc ; CPU:$CF8E PRG:0F8E 18 +; ----------------------------------------------------------------------------- +; Routine: Label_CF8F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF8F: + ora Zp01 ; CPU:$CF8F PRG:0F8F 05 01 + rts ; CPU:$CF91 PRG:0F91 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CF92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CF92: + pha ; CPU:$CF92 PRG:0F92 48 + and #$0F ; CPU:$CF93 PRG:0F93 29 0F + sta Zp01 ; CPU:$CF95 PRG:0F95 85 01 + pla ; CPU:$CF97 PRG:0F97 68 + and #$F0 ; CPU:$CF98 PRG:0F98 29 F0 + sta Zp02 ; CPU:$CF9A PRG:0F9A 85 02 + lda Zp03 ; CPU:$CF9C PRG:0F9C A5 03 + and #$0F ; CPU:$CF9E PRG:0F9E 29 0F + rts ; CPU:$CFA0 PRG:0FA0 60 +; ----------------------------------------------------------------------------- +; Routine: Label_CFA1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CFA1: + lda $05EC ; CPU:$CFA1 PRG:0FA1 AD EC 05 + and #$02 ; CPU:$CFA4 PRG:0FA4 29 02 + sta Zp07 ; CPU:$CFA6 PRG:0FA6 85 07 + lda $05ED ; CPU:$CFA8 PRG:0FA8 AD ED 05 + and #$02 ; CPU:$CFAB PRG:0FAB 29 02 + eor Zp07 ; CPU:$CFAD PRG:0FAD 45 07 + clc ; CPU:$CFAF PRG:0FAF 18 + beq Label_CFB3 ; CPU:$CFB0 PRG:0FB0 F0 01 + sec ; CPU:$CFB2 PRG:0FB2 38 +; ----------------------------------------------------------------------------- +; Routine: Label_CFB3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_CFB3: + ror $05EC ; CPU:$CFB3 PRG:0FB3 6E EC 05 + ror $05ED ; CPU:$CFB6 PRG:0FB6 6E ED 05 + ror $05EE ; CPU:$CFB9 PRG:0FB9 6E EE 05 + ror $05EF ; CPU:$CFBC PRG:0FBC 6E EF 05 + lda $05EC ; CPU:$CFBF PRG:0FBF AD EC 05 + rts ; CPU:$CFC2 PRG:0FC2 60 +; ---- data $CFC3-$D011 (79 bytes) ---- + .byte $20, $1A, $D0, $20, $6C, $CC, $20, $12, $D0, $A9, $02, $85, $01, $A9, $50, $85 ; CPU:$CFC3 PRG:0FC3 20 1A D0 20 6C CC 20 12 D0 A9 02 85 01 A9 50 85 + .byte $00, $20, $85, $CD, $20, $77, $CC, $20, $12, $D0, $A2, $AF, $A0, $F3, $20, $50 ; CPU:$CFD3 PRG:0FD3 00 20 85 CD 20 77 CC 20 12 D0 A2 AF A0 F3 20 50 + .byte $D0, $A9, $01, $85, $23, $A9, $01, $8D, $FD, $05, $E6, $26, $4C, $27, $D0, $A5 ; CPU:$CFE3 PRG:0FE3 D0 A9 01 85 23 A9 01 8D FD 05 E6 26 4C 27 D0 A5 + .byte $2D, $D0, $18, $A9, $01, $85, $C0, $A9, $00, $85, $1F, $85, $25, $20, $93, $E7 ; CPU:$CFF3 PRG:0FF3 2D D0 18 A9 01 85 C0 A9 00 85 1F 85 25 20 93 E7 + .byte $20, $1A, $D0, $A9, $02, $85, $2A, $85, $2D, $E6, $26, $60, $4C, $66, $CB ; CPU:$D003 PRG:1003 20 1A D0 A9 02 85 2A 85 2D E6 26 60 4C 66 CB +; ----------------------------------------------------------------------------- +; Routine: Label_D012 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D012: + jsr $D057 ; CPU:$D012 PRG:1012 20 57 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_D015 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D015: + lda Zp20 ; CPU:$D015 PRG:1015 A5 20 + beq Label_D015 ; CPU:$D017 PRG:1017 F0 FC + rts ; CPU:$D019 PRG:1019 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D01A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D01A: + jsr $D012 ; CPU:$D01A PRG:101A 20 12 D0 + lda Zp09 ; CPU:$D01D PRG:101D A5 09 + and #$E7 ; CPU:$D01F PRG:101F 29 E7 + sta Zp09 ; CPU:$D021 PRG:1021 85 09 + sta $2001 ; CPU:$D023 PRG:1023 8D 01 20 + rts ; CPU:$D026 PRG:1026 60 +; ---- data $D027-$D02F (9 bytes) ---- + .byte $20, $12, $D0, $A5, $09, $09, $18, $D0, $F1 ; CPU:$D027 PRG:1027 20 12 D0 A5 09 09 18 D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Label_D030 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D030: + sty ZpA2 ; CPU:$D030 PRG:1030 84 A2 + ldx #$00 ; CPU:$D032 PRG:1032 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D034 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D034: + lda $0300,y ; CPU:$D034 PRG:1034 B9 00 03 + sta Zp30,x ; CPU:$D037 PRG:1037 95 30 + iny ; CPU:$D039 PRG:1039 C8 + inx ; CPU:$D03A PRG:103A E8 + cpx #$20 ; CPU:$D03B PRG:103B E0 20 + bne Label_D034 ; CPU:$D03D PRG:103D D0 F5 + rts ; CPU:$D03F PRG:103F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D040 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D040: + ldy ZpA2 ; CPU:$D040 PRG:1040 A4 A2 + ldx #$00 ; CPU:$D042 PRG:1042 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D044 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D044: + lda Zp30,x ; CPU:$D044 PRG:1044 B5 30 + sta $0300,y ; CPU:$D046 PRG:1046 99 00 03 + iny ; CPU:$D049 PRG:1049 C8 + inx ; CPU:$D04A PRG:104A E8 + cpx #$20 ; CPU:$D04B PRG:104B E0 20 + bne Label_D044 ; CPU:$D04D PRG:104D D0 F5 + rts ; CPU:$D04F PRG:104F 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D050 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D050: + stx Zp00 ; CPU:$D050 PRG:1050 86 00 + sty Zp01 ; CPU:$D052 PRG:1052 84 01 + jmp $CE3A ; CPU:$D054 PRG:1054 4C 3A CE +; ----------------------------------------------------------------------------- +; Routine: Label_D057 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D057: + lda #$00 ; CPU:$D057 PRG:1057 A9 00 + sta Zp20 ; CPU:$D059 PRG:1059 85 20 + sta Zp22 ; CPU:$D05B PRG:105B 85 22 + rts ; CPU:$D05D PRG:105D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D05E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D05E: + lda Zp2D ; CPU:$D05E PRG:105E A5 2D + bne Label_D066 ; CPU:$D060 PRG:1060 D0 04 + lda Zp1E ; CPU:$D062 PRG:1062 A5 1E + sta Zp25 ; CPU:$D064 PRG:1064 85 25 +; ----------------------------------------------------------------------------- +; Routine: Label_D066 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D066: + rts ; CPU:$D066 PRG:1066 60 +; ---- data $D067-$D079 (19 bytes) ---- + .byte $86, $1E, $85, $2D, $A9, $12, $85, $25, $60, $A0, $00, $98, $99, $00, $03, $C8 ; CPU:$D067 PRG:1067 86 1E 85 2D A9 12 85 25 60 A0 00 98 99 00 03 C8 + .byte $D0, $FA, $60 ; CPU:$D077 PRG:1077 D0 FA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D07A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D07A: + lda #$00 ; CPU:$D07A PRG:107A A9 00 + ldx #$30 ; CPU:$D07C PRG:107C A2 30 +; ----------------------------------------------------------------------------- +; Routine: Label_D07E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D07E: + sta Zp00,x ; CPU:$D07E PRG:107E 95 00 + inx ; CPU:$D080 PRG:1080 E8 + bne Label_D07E ; CPU:$D081 PRG:1081 D0 FB + rts ; CPU:$D083 PRG:1083 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D084 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D084: + lda #$00 ; CPU:$D084 PRG:1084 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D086 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D086: + ldx #$8F ; CPU:$D086 PRG:1086 A2 8F +; ----------------------------------------------------------------------------- +; Routine: Label_D088 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D088: + sta Zp30,x ; CPU:$D088 PRG:1088 95 30 + dex ; CPU:$D08A PRG:108A CA + bpl Label_D088 ; CPU:$D08B PRG:108B 10 FB + rts ; CPU:$D08D PRG:108D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D08E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D08E: + stx Zp00 ; CPU:$D08E PRG:108E 86 00 + sty Zp01 ; CPU:$D090 PRG:1090 84 01 + ldx #$00 ; CPU:$D092 PRG:1092 A2 00 + ldy #$05 ; CPU:$D094 PRG:1094 A0 05 + stx Zp02 ; CPU:$D096 PRG:1096 86 02 + sty Zp03 ; CPU:$D098 PRG:1098 84 03 + jmp $CE55 ; CPU:$D09A PRG:109A 4C 55 CE +; ---- data $D09D-$D173 (215 bytes) ---- + .byte $20, $84, $D0, $20, $12, $D0, $20, $67, $CC, $20, $8A, $E7, $A2, $01, $A5, $C0 ; CPU:$D09D PRG:109D 20 84 D0 20 12 D0 20 67 CC 20 8A E7 A2 01 A5 C0 + .byte $D0, $05, $AD, $FE, $05, $85, $1F, $86, $25, $60, $20, $12, $D0, $A2, $C4, $A0 ; CPU:$D0AD PRG:10AD D0 05 AD FE 05 85 1F 86 25 60 20 12 D0 A2 C4 A0 + .byte $EB, $20, $50, $D0, $A2, $5C, $A0, $F1, $A5, $1F, $F0, $04, $A2, $5D, $A0, $F0 ; CPU:$D0BD PRG:10BD EB 20 50 D0 A2 5C A0 F1 A5 1F F0 04 A2 5D A0 F0 + .byte $20, $50, $D0, $A9, $02, $85, $23, $A9, $02, $85, $25, $20, $43, $CE, $20, $27 ; CPU:$D0CD PRG:10CD 20 50 D0 A9 02 85 23 A9 02 85 25 20 43 CE 20 27 + .byte $D0, $20, $8A, $E7, $20, $C0, $E4, $A0, $00, $84, $A1, $20, $30, $D0, $20, $AC ; CPU:$D0DD PRG:10DD D0 20 8A E7 20 C0 E4 A0 00 84 A1 20 30 D0 20 AC + .byte $E5, $A0, $20, $20, $30, $D0, $20, $AC, $E5, $A0, $40, $20, $30, $D0, $20, $AC ; CPU:$D0ED PRG:10ED E5 A0 20 20 30 D0 20 AC E5 A0 40 20 30 D0 20 AC + .byte $E5, $A9, $90, $8D, $00, $20, $85, $08, $20, $E3, $E7, $20, $E0, $E3, $20, $E3 ; CPU:$D0FD PRG:10FD E5 A9 90 8D 00 20 85 08 20 E3 E7 20 E0 E3 20 E3 + .byte $DC, $A9, $00, $85, $9D, $85, $94, $85, $0A, $85, $8F, $85, $71, $85, $72, $85 ; CPU:$D10D PRG:110D DC A9 00 85 9D 85 94 85 0A 85 8F 85 71 85 72 85 + .byte $74, $A9, $F4, $8D, $58, $02, $A5, $08, $29, $FE, $85, $08, $A9, $55, $85, $73 ; CPU:$D11D PRG:111D 74 A9 F4 8D 58 02 A5 08 29 FE 85 08 A9 55 85 73 + .byte $A9, $01, $85, $95, $A5, $1F, $D0, $08, $A9, $02, $85, $96, $A5, $C0, $F0, $00 ; CPU:$D12D PRG:112D A9 01 85 95 A5 1F D0 08 A9 02 85 96 A5 C0 F0 00 + .byte $A9, $03, $85, $85, $A6, $1F, $D0, $0A, $A6, $C0, $D0, $06, $A9, $40, $85, $2B ; CPU:$D13D PRG:113D A9 03 85 85 A6 1F D0 0A A6 C0 D0 06 A9 40 85 2B + .byte $A9, $0E, $85, $25, $60, $A5, $2B, $D0, $10, $A9, $01, $8D, $01, $03, $8D, $21 ; CPU:$D14D PRG:114D A9 0E 85 25 60 A5 2B D0 10 A9 01 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $A9, $03, $85, $25, $60, $A9, $00, $8D, $01, $03, $8D, $21 ; CPU:$D15D PRG:115D 03 8D 41 03 A9 03 85 25 60 A9 00 8D 01 03 8D 21 + .byte $03, $8D, $41, $03, $4C, $A4, $D1 ; CPU:$D16D PRG:116D 03 8D 41 03 4C A4 D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D174 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D174: + lda Zp85 ; CPU:$D174 PRG:1174 A5 85 + asl a ; CPU:$D176 PRG:1176 0A + tax ; CPU:$D177 PRG:1177 AA + lda $F771,x ; CPU:$D178 PRG:1178 BD 71 F7 + ldy $F772,x ; CPU:$D17B PRG:117B BC 72 F7 + tax ; CPU:$D17E PRG:117E AA + jsr $D050 ; CPU:$D17F PRG:117F 20 50 D0 + lda #$00 ; CPU:$D182 PRG:1182 A9 00 + sta Zp86 ; CPU:$D184 PRG:1184 85 86 + rts ; CPU:$D186 PRG:1186 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D187 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D187: + lda ZpC0 ; CPU:$D187 PRG:1187 A5 C0 + beq Label_D1A4 ; CPU:$D189 PRG:1189 F0 19 + lda Zp80 ; CPU:$D18B PRG:118B A5 80 + cmp #$08 ; CPU:$D18D PRG:118D C9 08 + bne Label_D1A4 ; CPU:$D18F PRG:118F D0 13 + lda Zp81 ; CPU:$D191 PRG:1191 A5 81 + cmp #$05 ; CPU:$D193 PRG:1193 C9 05 + bne Label_D1A4 ; CPU:$D195 PRG:1195 D0 0D + lda #$00 ; CPU:$D197 PRG:1197 A9 00 + sta ZpC0 ; CPU:$D199 PRG:1199 85 C0 + sta ZpF0 ; CPU:$D19B PRG:119B 85 F0 + sta ZpF1 ; CPU:$D19D PRG:119D 85 F1 + sta ZpF2 ; CPU:$D19F PRG:119F 85 F2 + jmp $DA25 ; CPU:$D1A1 PRG:11A1 4C 25 DA +; ----------------------------------------------------------------------------- +; Routine: Label_D1A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1A4: + ldx #$00 ; CPU:$D1A4 PRG:11A4 A2 00 + lda Zp2A ; CPU:$D1A6 PRG:11A6 A5 2A + and #$01 ; CPU:$D1A8 PRG:11A8 29 01 + beq Label_D1AE ; CPU:$D1AA PRG:11AA F0 02 + ldx #$04 ; CPU:$D1AC PRG:11AC A2 04 +; ----------------------------------------------------------------------------- +; Routine: Label_D1AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1AE: + jsr $E26C ; CPU:$D1AE PRG:11AE 20 6C E2 + jsr $E2D8 ; CPU:$D1B1 PRG:11B1 20 D8 E2 + lda Zp87 ; CPU:$D1B4 PRG:11B4 A5 87 + beq Label_D1C4 ; CPU:$D1B6 PRG:11B6 F0 0C + dec Zp87 ; CPU:$D1B8 PRG:11B8 C6 87 + bne Label_D1C4 ; CPU:$D1BA PRG:11BA D0 08 + lda #$F4 ; CPU:$D1BC PRG:11BC A9 F4 + sta $0258 ; CPU:$D1BE PRG:11BE 8D 58 02 + sta $025C ; CPU:$D1C1 PRG:11C1 8D 5C 02 +; ----------------------------------------------------------------------------- +; Routine: Label_D1C4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1C4: + ldy #$01 ; CPU:$D1C4 PRG:11C4 A0 01 + sty Zp89 ; CPU:$D1C6 PRG:11C6 84 89 + ldy #$20 ; CPU:$D1C8 PRG:11C8 A0 20 +; ----------------------------------------------------------------------------- +; Routine: Label_D1CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1CA: + lda Zp8B ; CPU:$D1CA PRG:11CA A5 8B + beq Label_D1F9 ; CPU:$D1CC PRG:11CC F0 2B + lda $0303 ; CPU:$D1CE PRG:11CE AD 03 03 + sec ; CPU:$D1D1 PRG:11D1 38 + sbc $0323 ; CPU:$D1D2 PRG:11D2 ED 23 03 + ldx $0305 ; CPU:$D1D5 PRG:11D5 AE 05 03 + cpx #$11 ; CPU:$D1D8 PRG:11D8 E0 11 + beq Label_D1E8 ; CPU:$D1DA PRG:11DA F0 0C + ldx $0325 ; CPU:$D1DC PRG:11DC AE 25 03 + cpx #$11 ; CPU:$D1DF PRG:11DF E0 11 + beq Label_D1E8 ; CPU:$D1E1 PRG:11E1 F0 05 + cmp #$19 ; CPU:$D1E3 PRG:11E3 C9 19 + jmp $D1EA ; CPU:$D1E5 PRG:11E5 4C EA D1 +; ----------------------------------------------------------------------------- +; Routine: Label_D1E8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1E8: + cmp #$09 ; CPU:$D1E8 PRG:11E8 C9 09 +; ----------------------------------------------------------------------------- +; Routine: Label_D1EA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1EA: + bcs Label_D1F9 ; CPU:$D1EA PRG:11EA B0 0D + ldx #$01 ; CPU:$D1EC PRG:11EC A2 01 + stx Zp88 ; CPU:$D1EE PRG:11EE 86 88 + dex ; CPU:$D1F0 PRG:11F0 CA + stx Zp8B ; CPU:$D1F1 PRG:11F1 86 8B + stx $031F ; CPU:$D1F3 PRG:11F3 8E 1F 03 + stx $033F ; CPU:$D1F6 PRG:11F6 8E 3F 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D1F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D1F9: + jsr $D030 ; CPU:$D1F9 PRG:11F9 20 30 D0 + jsr $DE03 ; CPU:$D1FC PRG:11FC 20 03 DE + jsr $E040 ; CPU:$D1FF PRG:11FF 20 40 E0 + ldy Zp46 ; CPU:$D202 PRG:1202 A4 46 + beq Label_D213 ; CPU:$D204 PRG:1204 F0 0D + lda Zp45 ; CPU:$D206 PRG:1206 A5 45 + beq Label_D243 ; CPU:$D208 PRG:1208 F0 39 + dec Zp45 ; CPU:$D20A PRG:120A C6 45 + cmp #$07 ; CPU:$D20C PRG:120C C9 07 + bcs Label_D213 ; CPU:$D20E PRG:120E B0 03 + jmp $D2B2 ; CPU:$D210 PRG:1210 4C B2 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D213 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D213: + jsr $E7FE ; CPU:$D213 PRG:1213 20 FE E7 + lda Zp31 ; CPU:$D216 PRG:1216 A5 31 + jsr $CDE0 ; CPU:$D218 PRG:1218 20 E0 CD +; ---- data $D21B-$D242 (40 bytes) ---- + .byte $B2, $D2, $6E, $D2, $61, $D3, $FA, $D3, $98, $D3, $6C, $D4, $C4, $D4, $A2, $D5 ; CPU:$D21B PRG:121B B2 D2 6E D2 61 D3 FA D3 98 D3 6C D4 C4 D4 A2 D5 + .byte $C4, $D5, $56, $D6, $01, $D5, $AB, $D6, $61, $D2, $0C, $D8, $34, $D8, $75, $D8 ; CPU:$D22B PRG:122B C4 D5 56 D6 01 D5 AB D6 61 D2 0C D8 34 D8 75 D8 + .byte $B4, $D8, $EA, $D8, $16, $D9, $7D, $D9 ; CPU:$D23B PRG:123B B4 D8 EA D8 16 D9 7D D9 +; ----------------------------------------------------------------------------- +; Routine: Label_D243 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D243: + sty Zp43 ; CPU:$D243 PRG:1243 84 43 + jsr $E459 ; CPU:$D245 PRG:1245 20 59 E4 + lda Zp31 ; CPU:$D248 PRG:1248 A5 31 + cmp #$0D ; CPU:$D24A PRG:124A C9 0D + bne Label_D254 ; CPU:$D24C PRG:124C D0 06 + sta $031C,x ; CPU:$D24E PRG:124E 9D 1C 03 + jsr $E21E ; CPU:$D251 PRG:1251 20 1E E2 +; ----------------------------------------------------------------------------- +; Routine: Label_D254 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D254: + lda #$05 ; CPU:$D254 PRG:1254 A9 05 + sta Zp31 ; CPU:$D256 PRG:1256 85 31 + lda #$00 ; CPU:$D258 PRG:1258 A9 00 + sta Zp3E ; CPU:$D25A PRG:125A 85 3E + sta $0315,x ; CPU:$D25C PRG:125C 9D 15 03 + beq Label_D213 ; CPU:$D25F PRG:125F F0 B2 +; ----------------------------------------------------------------------------- +; Routine: Label_D261 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D261: + lda Zp88 ; CPU:$D261 PRG:1261 A5 88 + bne Label_D29E ; CPU:$D263 PRG:1263 D0 39 + ldy #$0B ; CPU:$D265 PRG:1265 A0 0B + sty Zp4F ; CPU:$D267 PRG:1267 84 4F + bne Label_D2A9 ; CPU:$D269 PRG:1269 D0 3E + jmp $D304 ; CPU:$D26B PRG:126B 4C 04 D3 +; ---- data $D26E-$D27A (13 bytes) ---- + .byte $20, $6E, $E4, $A2, $04, $A0, $0D, $A9, $01, $24, $00, $D0, $F0 ; CPU:$D26E PRG:126E 20 6E E4 A2 04 A0 0D A9 01 24 00 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_D27B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D27B: + ldy #$01 ; CPU:$D27B PRG:127B A0 01 + lda #$40 ; CPU:$D27D PRG:127D A9 40 + bit Zp00 ; CPU:$D27F PRG:127F 24 00 + bne Label_D289 ; CPU:$D281 PRG:1281 D0 06 + iny ; CPU:$D283 PRG:1283 C8 + iny ; CPU:$D284 PRG:1284 C8 + lda #$80 ; CPU:$D285 PRG:1285 A9 80 + bit Zp00 ; CPU:$D287 PRG:1287 24 00 +; ----------------------------------------------------------------------------- +; Routine: Label_D289 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D289: + bne Label_D2C7 ; CPU:$D289 PRG:1289 D0 3C + lda #$02 ; CPU:$D28B PRG:128B A9 02 + bit Zp00 ; CPU:$D28D PRG:128D 24 00 + bne Label_D261 ; CPU:$D28F PRG:128F D0 D0 + lda Zp88 ; CPU:$D291 PRG:1291 A5 88 + bne Label_D29E ; CPU:$D293 PRG:1293 D0 09 + lda Zp4F ; CPU:$D295 PRG:1295 A5 4F + beq Label_D29E ; CPU:$D297 PRG:1297 F0 05 + jsr $D7DB ; CPU:$D299 PRG:1299 20 DB D7 + bne Label_D2B2 ; CPU:$D29C PRG:129C D0 14 +; ----------------------------------------------------------------------------- +; Routine: Label_D29E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D29E: + ldy #$06 ; CPU:$D29E PRG:129E A0 06 + lda Zp44 ; CPU:$D2A0 PRG:12A0 A5 44 + bne Label_D2A5 ; CPU:$D2A2 PRG:12A2 D0 01 + dey ; CPU:$D2A4 PRG:12A4 88 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A5: + ldx #$01 ; CPU:$D2A5 PRG:12A5 A2 01 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A7: + stx Zp31 ; CPU:$D2A7 PRG:12A7 86 31 +; ----------------------------------------------------------------------------- +; Routine: Label_D2A9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2A9: + cpy Zp43 ; CPU:$D2A9 PRG:12A9 C4 43 + bne Label_D2C4 ; CPU:$D2AB PRG:12AB D0 17 +; ----------------------------------------------------------------------------- +; Routine: Label_D2AD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2AD: + sty Zp43 ; CPU:$D2AD PRG:12AD 84 43 +; ----------------------------------------------------------------------------- +; Routine: Label_D2AF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2AF: + jsr $E4E2 ; CPU:$D2AF PRG:12AF 20 E2 E4 +; ----------------------------------------------------------------------------- +; Routine: Label_D2B2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2B2: + jsr $E5AC ; CPU:$D2B2 PRG:12B2 20 AC E5 + jsr $D040 ; CPU:$D2B5 PRG:12B5 20 40 D0 + ldx Zp89 ; CPU:$D2B8 PRG:12B8 A6 89 + beq Label_D2CA ; CPU:$D2BA PRG:12BA F0 0E + dex ; CPU:$D2BC PRG:12BC CA + stx Zp89 ; CPU:$D2BD PRG:12BD 86 89 + ldy #$00 ; CPU:$D2BF PRG:12BF A0 00 + jmp $D1CA ; CPU:$D2C1 PRG:12C1 4C CA D1 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_D2C4: + jmp $D34B ; CPU:$D2C4 PRG:12C4 4C 4B D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D2C7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2C7: + jmp $D313 ; CPU:$D2C7 PRG:12C7 4C 13 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D2CA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D2CA: + inx ; CPU:$D2CA PRG:12CA E8 + inx ; CPU:$D2CB PRG:12CB E8 + stx Zp89 ; CPU:$D2CC PRG:12CC 86 89 + ldy #$40 ; CPU:$D2CE PRG:12CE A0 40 + jsr $D030 ; CPU:$D2D0 PRG:12D0 20 30 D0 + jsr $E076 ; CPU:$D2D3 PRG:12D3 20 76 E0 + jsr $E5AC ; CPU:$D2D6 PRG:12D6 20 AC E5 + jsr $E207 ; CPU:$D2D9 PRG:12D9 20 07 E2 + jsr $D040 ; CPU:$D2DC PRG:12DC 20 40 D0 + jsr $DBBF ; CPU:$D2DF PRG:12DF 20 BF DB + lda Zp93 ; CPU:$D2E2 PRG:12E2 A5 93 + bne Label_D300 ; CPU:$D2E4 PRG:12E4 D0 1A + ldx ZpCC ; CPU:$D2E6 PRG:12E6 A6 CC + txa ; CPU:$D2E8 PRG:12E8 8A + eor #$20 ; CPU:$D2E9 PRG:12E9 49 20 + tay ; CPU:$D2EB PRG:12EB A8 + lda #$60 ; CPU:$D2EC PRG:12EC A9 60 + sta $0306,x ; CPU:$D2EE PRG:12EE 9D 06 03 + lda #$A0 ; CPU:$D2F1 PRG:12F1 A9 A0 + sta $0307,x ; CPU:$D2F3 PRG:12F3 9D 07 03 + lda #$A0 ; CPU:$D2F6 PRG:12F6 A9 A0 + sta $0306,y ; CPU:$D2F8 PRG:12F8 99 06 03 + lda #$E0 ; CPU:$D2FB PRG:12FB A9 E0 + sta $0307,y ; CPU:$D2FD PRG:12FD 99 07 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D300 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D300: + rts ; CPU:$D300 PRG:1300 60 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_D301: + jmp $D392 ; CPU:$D301 PRG:1301 4C 92 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D304 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D304: + lda Zp88 ; CPU:$D304 PRG:1304 A5 88 + beq Label_D301 ; CPU:$D306 PRG:1306 F0 F9 + lda #$7D ; CPU:$D308 PRG:1308 A9 7D + sta Zp32 ; CPU:$D30A PRG:130A 85 32 + lda #$00 ; CPU:$D30C PRG:130C A9 00 + sta Zp46 ; CPU:$D30E PRG:130E 85 46 + jmp $D2A7 ; CPU:$D310 PRG:1310 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D313 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D313: + ldx Zp1F ; CPU:$D313 PRG:1313 A6 1F + bne Label_D31F ; CPU:$D315 PRG:1315 D0 08 + ldx Zp89 ; CPU:$D317 PRG:1317 A6 89 + bne Label_D31F ; CPU:$D319 PRG:1319 D0 04 + ldy #$03 ; CPU:$D31B PRG:131B A0 03 + bne Label_D332 ; CPU:$D31D PRG:131D D0 13 +; ----------------------------------------------------------------------------- +; Routine: Label_D31F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D31F: + ldx Zp3D ; CPU:$D31F PRG:131F A6 3D + beq Label_D327 ; CPU:$D321 PRG:1321 F0 04 + ldy #$01 ; CPU:$D323 PRG:1323 A0 01 + lda #$80 ; CPU:$D325 PRG:1325 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Label_D327 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D327: + pha ; CPU:$D327 PRG:1327 48 + tya ; CPU:$D328 PRG:1328 98 + pha ; CPU:$D329 PRG:1329 48 + ldx #$01 ; CPU:$D32A PRG:132A A2 01 + jsr $E2B9 ; CPU:$D32C PRG:132C 20 B9 E2 + pla ; CPU:$D32F PRG:132F 68 + tay ; CPU:$D330 PRG:1330 A8 + pla ; CPU:$D331 PRG:1331 68 +; ----------------------------------------------------------------------------- +; Routine: Label_D332 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D332: + asl a ; CPU:$D332 PRG:1332 0A + sta Zp4C ; CPU:$D333 PRG:1333 85 4C + jsr $E459 ; CPU:$D335 PRG:1335 20 59 E4 + stx ZpCC ; CPU:$D338 PRG:1338 86 CC + ldx #$03 ; CPU:$D33A PRG:133A A2 03 + lda Zp44 ; CPU:$D33C PRG:133C A5 44 + beq Label_D341 ; CPU:$D33E PRG:133E F0 01 + iny ; CPU:$D340 PRG:1340 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_D341 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D341: + jmp $D2A7 ; CPU:$D341 PRG:1341 4C A7 D2 +; ---- data $D344-$D34A (7 bytes) ---- + .byte $A5, $88, $F0, $C8, $4C, $9E, $D2 ; CPU:$D344 PRG:1344 A5 88 F0 C8 4C 9E D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D34B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D34B: + jsr $E462 ; CPU:$D34B PRG:134B 20 62 E4 + cpy #$0D ; CPU:$D34E PRG:134E C0 0D + beq Label_D35E ; CPU:$D350 PRG:1350 F0 0C + cpy #$07 ; CPU:$D352 PRG:1352 C0 07 + beq Label_D35E ; CPU:$D354 PRG:1354 F0 08 + cpy #$08 ; CPU:$D356 PRG:1356 C0 08 + beq Label_D35E ; CPU:$D358 PRG:1358 F0 04 + lda #$7B ; CPU:$D35A PRG:135A A9 7B + sta Zp32 ; CPU:$D35C PRG:135C 85 32 +; ----------------------------------------------------------------------------- +; Routine: Label_D35E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D35E: + jmp $D2AD ; CPU:$D35E PRG:135E 4C AD D2 +; ---- data $D361-$D366 (6 bytes) ---- + .byte $A5, $3E, $F0, $05, $C6, $3E ; CPU:$D361 PRG:1361 A5 3E F0 05 C6 3E +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_D367: + jmp $D2B2 ; CPU:$D367 PRG:1367 4C B2 D2 +; ---- data $D36A-$D391 (40 bytes) ---- + .byte $20, $6E, $E4, $A0, $0B, $A2, $02, $A5, $33, $C9, $2E, $90, $12, $C9, $D2, $B0 ; CPU:$D36A PRG:136A 20 6E E4 A0 0B A2 02 A5 33 C9 2E 90 12 C9 D2 B0 + .byte $0E, $A9, $01, $24, $00, $D0, $C0, $A9, $01, $85, $4F, $A0, $00, $F0, $45, $20 ; CPU:$D37A PRG:137A 0E A9 01 24 00 D0 C0 A9 01 85 4F A0 00 F0 45 20 + .byte $DB, $D7, $A9, $01, $85, $3A, $D0, $F1 ; CPU:$D38A PRG:138A DB D7 A9 01 85 3A D0 F1 +; ----------------------------------------------------------------------------- +; Routine: Label_D392 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D392: + ldx #$02 ; CPU:$D392 PRG:1392 A2 02 + stx Zp31 ; CPU:$D394 PRG:1394 86 31 + bne Label_D367 ; CPU:$D396 PRG:1396 D0 CF + jsr $E46E ; CPU:$D398 PRG:1398 20 6E E4 + lda Zp00 ; CPU:$D39B PRG:139B A5 00 + and #$C0 ; CPU:$D39D PRG:139D 29 C0 + beq Label_D3A4 ; CPU:$D39F PRG:139F F0 03 + jmp $D27B ; CPU:$D3A1 PRG:13A1 4C 7B D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D3A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3A4: + lda #$02 ; CPU:$D3A4 PRG:13A4 A9 02 + bit Zp00 ; CPU:$D3A6 PRG:13A6 24 00 + bne Label_D3C3 ; CPU:$D3A8 PRG:13A8 D0 19 + lda Zp43 ; CPU:$D3AA PRG:13AA A5 43 + bne Label_D40E ; CPU:$D3AC PRG:13AC D0 60 + lda Zp47 ; CPU:$D3AE PRG:13AE A5 47 + beq Label_D3BD ; CPU:$D3B0 PRG:13B0 F0 0B + lda #$00 ; CPU:$D3B2 PRG:13B2 A9 00 + sta Zp47 ; CPU:$D3B4 PRG:13B4 85 47 + ldx #$04 ; CPU:$D3B6 PRG:13B6 A2 04 + ldy #$0D ; CPU:$D3B8 PRG:13B8 A0 0D + jmp $D304 ; CPU:$D3BA PRG:13BA 4C 04 D3 +; ----------------------------------------------------------------------------- +; Routine: Label_D3BD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3BD: + lda #$01 ; CPU:$D3BD PRG:13BD A9 01 + bit Zp00 ; CPU:$D3BF PRG:13BF 24 00 + bne Label_D3D1 ; CPU:$D3C1 PRG:13C1 D0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_D3C3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3C3: + lda #$50 ; CPU:$D3C3 PRG:13C3 A9 50 + sta Zp3E ; CPU:$D3C5 PRG:13C5 85 3E + ldy #$05 ; CPU:$D3C7 PRG:13C7 A0 05 + lda Zp44 ; CPU:$D3C9 PRG:13C9 A5 44 + beq Label_D3CE ; CPU:$D3CB PRG:13CB F0 01 + iny ; CPU:$D3CD PRG:13CD C8 +; ----------------------------------------------------------------------------- +; Routine: Label_D3CE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3CE: + jmp $D2A5 ; CPU:$D3CE PRG:13CE 4C A5 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D3D1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3D1: + lda Zp88 ; CPU:$D3D1 PRG:13D1 A5 88 + beq Label_D392 ; CPU:$D3D3 PRG:13D3 F0 BD + lda Zp3A ; CPU:$D3D5 PRG:13D5 A5 3A + bne Label_D3C3 ; CPU:$D3D7 PRG:13D7 D0 EA + lda #$7B ; CPU:$D3D9 PRG:13D9 A9 7B + sta Zp32 ; CPU:$D3DB PRG:13DB 85 32 + lda #$00 ; CPU:$D3DD PRG:13DD A9 00 + sta Zp46 ; CPU:$D3DF PRG:13DF 85 46 + sta Zp88 ; CPU:$D3E1 PRG:13E1 85 88 + lda #$03 ; CPU:$D3E3 PRG:13E3 A9 03 + sta Zp35 ; CPU:$D3E5 PRG:13E5 85 35 + lda #$10 ; CPU:$D3E7 PRG:13E7 A9 10 + sta Zp3E ; CPU:$D3E9 PRG:13E9 85 3E + lda #$10 ; CPU:$D3EB PRG:13EB A9 10 + ldx Zp89 ; CPU:$D3ED PRG:13ED A6 89 + beq Label_D3F3 ; CPU:$D3EF PRG:13EF F0 02 + lda #$F0 ; CPU:$D3F1 PRG:13F1 A9 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_D3F3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D3F3: + clc ; CPU:$D3F3 PRG:13F3 18 + adc Zp33 ; CPU:$D3F4 PRG:13F4 65 33 + sta Zp33 ; CPU:$D3F6 PRG:13F6 85 33 + bne Label_D392 ; CPU:$D3F8 PRG:13F8 D0 98 + lda Zp41 ; CPU:$D3FA PRG:13FA A5 41 + cmp #$01 ; CPU:$D3FC PRG:13FC C9 01 + bne Label_D408 ; CPU:$D3FE PRG:13FE D0 08 + lda Zp42 ; CPU:$D400 PRG:1400 A5 42 + ldy Zp43 ; CPU:$D402 PRG:1402 A4 43 + cmp #$02 ; CPU:$D404 PRG:1404 C9 02 + beq Label_D411 ; CPU:$D406 PRG:1406 F0 09 +; ----------------------------------------------------------------------------- +; Routine: Label_D408 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D408: + lda Zp43 ; CPU:$D408 PRG:1408 A5 43 + bne Label_D40E ; CPU:$D40A PRG:140A D0 02 + beq Label_D3C3 ; CPU:$D40C PRG:140C F0 B5 +; ----------------------------------------------------------------------------- +; Routine: Label_D40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D40E: + jmp $D2AF ; CPU:$D40E PRG:140E 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D411 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D411: + sty Zp01 ; CPU:$D411 PRG:1411 84 01 + lda Zp88 ; CPU:$D413 PRG:1413 A5 88 + beq Label_D45B ; CPU:$D415 PRG:1415 F0 44 + jsr $E459 ; CPU:$D417 PRG:1417 20 59 E4 + lda $0301,x ; CPU:$D41A PRG:141A BD 01 03 + cmp #$0D ; CPU:$D41D PRG:141D C9 0D + beq Label_D463 ; CPU:$D41F PRG:141F F0 42 + cmp #$03 ; CPU:$D421 PRG:1421 C9 03 + beq Label_D436 ; CPU:$D423 PRG:1423 F0 11 + cmp #$01 ; CPU:$D425 PRG:1425 C9 01 + bne Label_D45B ; CPU:$D427 PRG:1427 D0 32 + lda Zp31 ; CPU:$D429 PRG:1429 A5 31 + cmp #$08 ; CPU:$D42B PRG:142B C9 08 + beq Label_D436 ; CPU:$D42D PRG:142D F0 07 + lda Zp44 ; CPU:$D42F PRG:142F A5 44 + cmp $0314,x ; CPU:$D431 PRG:1431 DD 14 03 + beq Label_D444 ; CPU:$D434 PRG:1434 F0 0E +; ----------------------------------------------------------------------------- +; Routine: Label_D436 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D436: + tya ; CPU:$D436 PRG:1436 98 + clc ; CPU:$D437 PRG:1437 18 + adc #$06 ; CPU:$D438 PRG:1438 69 06 + sta $0316,x ; CPU:$D43A PRG:143A 9D 16 03 + lda #$0D ; CPU:$D43D PRG:143D A9 0D + sta $0315,x ; CPU:$D43F PRG:143F 9D 15 03 + bne Label_D447 ; CPU:$D442 PRG:1442 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_D444 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D444: + jsr $E7A7 ; CPU:$D444 PRG:1444 20 A7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_D447 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D447: + lda #$50 ; CPU:$D447 PRG:1447 A9 50 + sta $030E,x ; CPU:$D449 PRG:1449 9D 0E 03 + lda #$7B ; CPU:$D44C PRG:144C A9 7B + sta $0302,x ; CPU:$D44E PRG:144E 9D 02 03 + tya ; CPU:$D451 PRG:1451 98 + pha ; CPU:$D452 PRG:1452 48 + ldx #$01 ; CPU:$D453 PRG:1453 A2 01 + ldy Zp4C ; CPU:$D455 PRG:1455 A4 4C + ldx #$10 ; CPU:$D457 PRG:1457 A2 10 + pla ; CPU:$D459 PRG:1459 68 + tay ; CPU:$D45A PRG:145A A8 +; ----------------------------------------------------------------------------- +; Routine: Label_D45B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D45B: + ldx #$03 ; CPU:$D45B PRG:145B A2 03 + jsr $E7AF ; CPU:$D45D PRG:145D 20 AF E7 + jmp $D2A7 ; CPU:$D460 PRG:1460 4C A7 D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D463 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D463: + jsr $E21E ; CPU:$D463 PRG:1463 20 1E E2 + jmp $D436 ; CPU:$D466 PRG:1466 4C 36 D4 +; ---- data $D469-$D7DA (882 bytes) ---- +; referenced by `ora $D5D0,y` at $DBCB (operand $D5D0 falls inside this region) + .byte $4C, $B2, $D2, $A5, $89, $0A, $0A, $0A, $85, $34, $20, $59, $E4, $A9, $10, $A4 ; CPU:$D469 PRG:1469 4C B2 D2 A5 89 0A 0A 0A 85 34 20 59 E4 A9 10 A4 + .byte $3D, $D0, $3A, $BC, $1C, $03, $D0, $35, $A2, $04, $20, $B9, $E2, $A5, $33, $C9 ; CPU:$D479 PRG:1479 3D D0 3A BC 1C 03 D0 35 A2 04 20 B9 E2 A5 33 C9 + .byte $36, $90, $2E, $C9, $C8, $B0, $2A, $A4, $43, $C0, $09, $F0, $07, $20, $9F, $E7 ; CPU:$D489 PRG:1489 36 90 2E C9 C8 B0 2A A4 43 C0 09 F0 07 20 9F E7 + .byte $A2, $17, $D0, $05, $20, $A3, $E7, $A2, $16, $A9, $00, $85, $46, $85, $43, $85 ; CPU:$D499 PRG:1499 A2 17 D0 05 20 A3 E7 A2 16 A9 00 85 46 85 43 85 + .byte $49, $A9, $46, $85, $4A, $86, $35, $A2, $06, $86, $31, $D0, $B3, $AA, $20, $B9 ; CPU:$D4A9 PRG:14A9 49 A9 46 85 4A 86 35 A2 06 86 31 D0 B3 AA 20 B9 + .byte $E2, $A2, $07, $86, $31, $A9, $00, $85, $46, $F0, $A5, $20, $6E, $E4, $20, $0E ; CPU:$D4B9 PRG:14B9 E2 A2 07 86 31 A9 00 85 46 F0 A5 20 6E E4 20 0E + .byte $E4, $C9, $FF, $F0, $21, $A5, $49, $C9, $0E, $D0, $18, $20, $59, $E4, $BD, $01 ; CPU:$D4C9 PRG:14C9 E4 C9 FF F0 21 A5 49 C9 0E D0 18 20 59 E4 BD 01 + .byte $03, $C9, $05, $B0, $14, $A9, $0C, $9D, $01, $03, $E6, $8B, $A9, $00, $9D, $0E ; CPU:$D4D9 PRG:14D9 03 C9 05 B0 14 A9 0C 9D 01 03 E6 8B A9 00 9D 0E + .byte $03, $85, $88, $4C, $B2, $D2, $4C, $C3, $D3, $A9, $0A, $A4, $89, $D0, $02, $A9 ; CPU:$D4E9 PRG:14E9 03 85 88 4C B2 D2 4C C3 D3 A9 0A A4 89 D0 02 A9 + .byte $F6, $18, $65, $33, $85, $33, $D0, $EB, $C6, $45, $D0, $E7, $A4, $39, $D0, $24 ; CPU:$D4F9 PRG:14F9 F6 18 65 33 85 33 D0 EB C6 45 D0 E7 A4 39 D0 24 + .byte $20, $59, $E4, $A9, $11, $9D, $01, $03, $85, $93, $A9, $00, $85, $91, $85, $92 ; CPU:$D509 PRG:1509 20 59 E4 A9 11 9D 01 03 85 93 A9 00 85 91 85 92 + .byte $85, $30, $85, $31, $8D, $40, $03, $9D, $06, $03, $A9, $40, $9D, $07, $03, $20 ; CPU:$D519 PRG:1519 85 30 85 31 8D 40 03 9D 06 03 A9 40 9D 07 03 20 + .byte $F7, $DD, $D0, $BF, $A9, $0B, $A4, $89, $D0, $02, $A9, $00, $85, $31, $A9, $00 ; CPU:$D529 PRG:1529 F7 DD D0 BF A9 0B A4 89 D0 02 A9 00 85 31 A9 00 + .byte $8D, $01, $03, $8D, $41, $03, $85, $0A, $A9, $3D, $8D, $42, $03, $A9, $F4, $8D ; CPU:$D539 PRG:1539 8D 01 03 8D 41 03 85 0A A9 3D 8D 42 03 A9 F4 8D + .byte $58, $02, $8D, $5C, $02, $8D, $54, $02, $8D, $50, $02, $A9, $13, $8D, $45, $03 ; CPU:$D549 PRG:1549 58 02 8D 5C 02 8D 54 02 8D 50 02 A9 13 8D 45 03 + .byte $20, $E3, $DC, $A5, $89, $85, $8A, $F0, $18, $E6, $85, $A5, $85, $C9, $06, $D0 ; CPU:$D559 PRG:1559 20 E3 DC A5 89 85 8A F0 18 E6 85 A5 85 C9 06 D0 + .byte $04, $A9, $02, $85, $85, $A5, $08, $49, $01, $85, $08, $A9, $FF, $85, $0A, $D0 ; CPU:$D569 PRG:1569 04 A9 02 85 85 A5 08 49 01 85 08 A9 FF 85 0A D0 + .byte $08, $C6, $85, $D0, $04, $A9, $04, $85, $85, $20, $12, $D0, $A2, $01, $20, $3B ; CPU:$D579 PRG:1579 08 C6 85 D0 04 A9 04 85 85 20 12 D0 A2 01 20 3B + .byte $DA, $A2, $00, $20, $3B, $DA, $A9, $9F, $8D, $00, $02, $A9, $0B, $8D, $21, $03 ; CPU:$D589 PRG:1589 DA A2 00 20 3B DA A9 9F 8D 00 02 A9 0B 8D 21 03 + .byte $20, $E7, $E7, $A9, $01, $85, $86, $D0, $4F, $A9, $00, $85, $46, $85, $49, $85 ; CPU:$D599 PRG:1599 20 E7 E7 A9 01 85 86 D0 4F A9 00 85 46 85 49 85 + .byte $4A, $A0, $0B, $A5, $44, $D0, $06, $20, $9B, $E7, $C8, $D0, $03, $20, $97, $E7 ; CPU:$D5A9 PRG:15A9 4A A0 0B A5 44 D0 06 20 9B E7 C8 D0 03 20 97 E7 + .byte $84, $35, $20, $B6, $E7, $A2, $08, $86, $31, $D0, $2D, $20, $0E, $E4, $C9, $FF ; CPU:$D5B9 PRG:15B9 84 35 20 B6 E7 A2 08 86 31 D0 2D 20 0E E4 C9 FF + .byte $F0, $29, $A4, $35, $C0, $0E, $D0, $11, $C9, $2E, $90, $49, $C9, $D2, $B0, $45 ; CPU:$D5C9 PRG:15C9 F0 29 A4 35 C0 0E D0 11 C9 2E 90 49 C9 D2 B0 45 + .byte $A5, $49, $C9, $14, $D0, $03, $20, $C2, $E7, $C0, $11, $D0, $0B, $E6, $4F, $20 ; CPU:$D5D9 PRG:15D9 A5 49 C9 14 D0 03 20 C2 E7 C0 11 D0 0B E6 4F 20 + .byte $59, $E4, $E6, $8B, $A9, $00, $85, $88, $4C, $B2, $D2, $A9, $7B, $85, $32, $A0 ; CPU:$D5E9 PRG:15E9 59 E4 E6 8B A9 00 85 88 4C B2 D2 A9 7B 85 32 A0 + .byte $04, $A5, $44, $F0, $01, $C8, $20, $62, $E4, $A9, $0A, $85, $48, $8D, $18, $03 ; CPU:$D5F9 PRG:15F9 04 A5 44 F0 01 C8 20 62 E4 A9 0A 85 48 8D 18 03 + .byte $8D, $38, $03, $4C, $A5, $D2, $20, $C2, $E7, $A9, $00, $85, $84, $8D, $41, $03 ; CPU:$D609 PRG:1609 8D 38 03 4C A5 D2 20 C2 E7 A9 00 85 84 8D 41 03 + .byte $A9, $4A, $4C, $37, $D6, $A9, $00, $85, $49, $85, $88, $20, $05, $DB, $A5, $39 ; CPU:$D619 PRG:1619 A9 4A 4C 37 D6 A9 00 85 49 85 88 20 05 DB A5 39 + .byte $D0, $E4, $A9, $00, $85, $84, $20, $BA, $E7, $20, $B7, $DA, $A9, $42, $85, $4A ; CPU:$D629 PRG:1629 D0 E4 A9 00 85 84 20 BA E7 20 B7 DA A9 42 85 4A + .byte $20, $59, $E4, $A9, $00, $9D, $01, $03, $9D, $11, $03, $9D, $12, $03, $9D, $0E ; CPU:$D639 PRG:1639 20 59 E4 A9 00 9D 01 03 9D 11 03 9D 12 03 9D 0E + .byte $03, $FE, $1F, $03, $E6, $4F, $A9, $09, $85, $31, $4C, $B2, $D2, $20, $0E, $E4 ; CPU:$D649 PRG:1649 03 FE 1F 03 E6 4F A9 09 85 31 4C B2 D2 20 0E E4 + .byte $C9, $FF, $D0, $1F, $A9, $20, $85, $45, $A9, $0A, $85, $31, $A5, $32, $C9, $98 ; CPU:$D659 PRG:1659 C9 FF D0 1F A9 20 85 45 A9 0A 85 31 A5 32 C9 98 + .byte $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9, $F0, $90, $04, $A9, $FC, $85, $32 ; CPU:$D669 PRG:1669 B0 0A A5 33 C9 12 90 04 C9 F0 90 04 A9 FC 85 32 + .byte $4C, $B2, $D2, $A5, $32, $C9, $98, $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9 ; CPU:$D679 PRG:1679 4C B2 D2 A5 32 C9 98 B0 0A A5 33 C9 12 90 04 C9 + .byte $F4, $90, $ED, $A9, $FC, $85, $32, $D0, $CB, $D0, $E5, $A5, $0A, $C9, $D3, $D0 ; CPU:$D689 PRG:1689 F4 90 ED A9 FC 85 32 D0 CB D0 E5 A5 0A C9 D3 D0 + .byte $4C, $A9, $7B, $85, $32, $A9, $F8, $85, $33, $A9, $15, $85, $35, $D0, $3E, $4C ; CPU:$D699 PRG:1699 4C A9 7B 85 32 A9 F8 85 33 A9 15 85 35 D0 3E 4C + .byte $6F, $D7, $A9, $0B, $8D, $01, $03, $A9, $06, $8D, $41, $03, $A5, $8A, $D0, $EF ; CPU:$D6A9 PRG:16A9 6F D7 A9 0B 8D 01 03 A9 06 8D 41 03 A5 8A D0 EF + .byte $A6, $89, $E0, $02, $F0, $27, $E0, $00, $F0, $D1, $A5, $83, $D0, $1F, $A5, $0A ; CPU:$D6B9 PRG:16B9 A6 89 E0 02 F0 27 E0 00 F0 D1 A5 83 D0 1F A5 0A + .byte $C9, $86, $D0, $08, $85, $83, $A9, $15, $85, $35, $D0, $11, $A0, $0B, $84, $43 ; CPU:$D6C9 PRG:16C9 C9 86 D0 08 85 83 A9 15 85 35 D0 11 A0 0B 84 43 + .byte $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2, $E4, $D0, $02, $C6, $33, $A5 ; CPU:$D6D9 PRG:16D9 A9 00 85 3E A9 7B 85 32 20 E2 E4 D0 02 C6 33 A5 + .byte $89, $C9, $00, $F0, $06, $C9, $02, $F0, $6A, $D0, $9E, $A2, $00, $DE, $5B, $02 ; CPU:$D6E9 PRG:16E9 89 C9 00 F0 06 C9 02 F0 6A D0 9E A2 00 DE 5B 02 + .byte $DE, $5F, $02, $20, $D0, $D7, $A5, $0A, $C9, $80, $D0, $23, $A5, $A0, $F0, $1F ; CPU:$D6F9 PRG:16F9 DE 5F 02 20 D0 D7 A5 0A C9 80 D0 23 A5 A0 F0 1F + .byte $E6, $73, $E6, $74, $A5, $74, $C9, $06, $D0, $12, $A5, $72, $C9, $12, $F0, $0C ; CPU:$D709 PRG:1709 E6 73 E6 74 A5 74 C9 06 D0 12 A5 72 C9 12 F0 0C + .byte $E6, $72, $E6, $72, $A9, $01, $85, $74, $A9, $56, $85, $73, $20, $50, $E3, $E6 ; CPU:$D719 PRG:1719 E6 72 E6 72 A9 01 85 74 A9 56 85 73 20 50 E3 E6 + .byte $0A, $D0, $2D, $A5, $08, $49, $01, $85, $08, $A0, $01, $84, $31, $8C, $21, $03 ; CPU:$D729 PRG:1729 0A D0 2D A5 08 49 01 85 08 A0 01 84 31 8C 21 03 + .byte $8C, $41, $03, $20, $EB, $E7, $20, $E0, $E3, $A5, $1F, $D0, $08, $A5, $8A, $D0 ; CPU:$D739 PRG:1739 8C 41 03 20 EB E7 20 E0 E3 A5 1F D0 08 A5 8A D0 + .byte $04, $A9, $20, $85, $96, $A5, $A0, $F0, $07, $20, $D9, $DA, $A9, $00, $85, $A0 ; CPU:$D749 PRG:1749 04 A9 20 85 96 A5 A0 F0 07 20 D9 DA A9 00 85 A0 + .byte $4C, $B2, $D2, $AD, $02, $20, $29, $40, $F0, $F9, $A6, $0A, $A9, $00, $85, $0A ; CPU:$D759 PRG:1759 4C B2 D2 AD 02 20 29 40 F0 F9 A6 0A A9 00 85 0A + .byte $20, $43, $CE, $86, $0A, $60, $A6, $89, $E0, $02, $F0, $27, $E0, $00, $D0, $43 ; CPU:$D769 PRG:1769 20 43 CE 86 0A 60 A6 89 E0 02 F0 27 E0 00 D0 43 + .byte $A5, $83, $D0, $1F, $A5, $0A, $C9, $80, $D0, $08, $85, $83, $A9, $15, $85, $35 ; CPU:$D779 PRG:1779 A5 83 D0 1F A5 0A C9 80 D0 08 85 83 A9 15 85 35 + .byte $D0, $11, $A0, $0B, $84, $43, $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2 ; CPU:$D789 PRG:1789 D0 11 A0 0B 84 43 A9 00 85 3E A9 7B 85 32 20 E2 + .byte $E4, $D0, $02, $E6, $33, $A5, $89, $C9, $00, $F0, $06, $C9, $02, $F0, $B4, $D0 ; CPU:$D799 PRG:1799 E4 D0 02 E6 33 A5 89 C9 00 F0 06 C9 02 F0 B4 D0 + .byte $80, $A2, $00, $FE, $5B, $02, $FE, $5F, $02, $20, $D0, $D7, $C6, $0A, $D0, $EF ; CPU:$D7A9 PRG:17A9 80 A2 00 FE 5B 02 FE 5F 02 20 D0 D7 C6 0A D0 EF + .byte $4C, $32, $D7, $A5, $0A, $C9, $32, $D0, $DA, $A9, $7B, $85, $32, $A9, $02, $85 ; CPU:$D7B9 PRG:17B9 4C 32 D7 A5 0A C9 32 D0 DA A9 7B 85 32 A9 02 85 + .byte $33, $A9, $15, $85, $35, $D0, $CC, $D0, $08, $A9, $F4, $9D, $58, $02, $9D, $5C ; CPU:$D7C9 PRG:17C9 33 A9 15 85 35 D0 CC D0 08 A9 F4 9D 58 02 9D 5C + .byte $02, $60 ; CPU:$D7D9 PRG:17D9 02 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D7DB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D7DB: + lda Zp84 ; CPU:$D7DB PRG:17DB A5 84 + cmp #$03 ; CPU:$D7DD PRG:17DD C9 03 + bne Label_D7FC ; CPU:$D7DF PRG:17DF D0 1B + lda Zp82 ; CPU:$D7E1 PRG:17E1 A5 82 + bne Label_D7FC ; CPU:$D7E3 PRG:17E3 D0 17 + lda #$1B ; CPU:$D7E5 PRG:17E5 A9 1B + sta Zp35 ; CPU:$D7E7 PRG:17E7 85 35 + ldx Zp89 ; CPU:$D7E9 PRG:17E9 A6 89 + lda Zp2B,x ; CPU:$D7EB PRG:17EB B5 2B + bne Label_D807 ; CPU:$D7ED PRG:17ED D0 18 + lda #$60 ; CPU:$D7EF PRG:17EF A9 60 + sta Zp2B,x ; CPU:$D7F1 PRG:17F1 95 2B + lda #$08 ; CPU:$D7F3 PRG:17F3 A9 08 + eor Zp34 ; CPU:$D7F5 PRG:17F5 45 34 + sta Zp34 ; CPU:$D7F7 PRG:17F7 85 34 + jmp $D807 ; CPU:$D7F9 PRG:17F9 4C 07 D8 +; ----------------------------------------------------------------------------- +; Routine: Label_D7FC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D7FC: + lda Zp89 ; CPU:$D7FC PRG:17FC A5 89 + asl a ; CPU:$D7FE PRG:17FE 0A + asl a ; CPU:$D7FF PRG:17FF 0A + asl a ; CPU:$D800 PRG:1800 0A + sta Zp34 ; CPU:$D801 PRG:1801 85 34 + lda #$15 ; CPU:$D803 PRG:1803 A9 15 + sta Zp35 ; CPU:$D805 PRG:1805 85 35 +; ----------------------------------------------------------------------------- +; Routine: Label_D807 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D807: + lda #$7B ; CPU:$D807 PRG:1807 A9 7B + sta Zp32 ; CPU:$D809 PRG:1809 85 32 + rts ; CPU:$D80B PRG:180B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_D80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D80C: + ldx Zp89 ; CPU:$D80C PRG:180C A6 89 + lda Zp35 ; CPU:$D80E PRG:180E A5 35 + cmp #$18 ; CPU:$D810 PRG:1810 C9 18 + bne Label_D825 ; CPU:$D812 PRG:1812 D0 11 + jsr $E21E ; CPU:$D814 PRG:1814 20 1E E2 + lda Zp2B,x ; CPU:$D817 PRG:1817 B5 2B + beq Label_D828 ; CPU:$D819 PRG:1819 F0 0D + and #$0F ; CPU:$D81B PRG:181B 29 0F + bne Label_D825 ; CPU:$D81D PRG:181D D0 06 + lda #$08 ; CPU:$D81F PRG:181F A9 08 + eor Zp34 ; CPU:$D821 PRG:1821 45 34 + sta Zp34 ; CPU:$D823 PRG:1823 85 34 +; ----------------------------------------------------------------------------- +; Routine: Label_D825 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D825: + jmp $D2AF ; CPU:$D825 PRG:1825 4C AF D2 +; ----------------------------------------------------------------------------- +; Routine: Label_D828 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_D828: + lda Zp89 ; CPU:$D828 PRG:1828 A5 89 + asl a ; CPU:$D82A PRG:182A 0A + asl a ; CPU:$D82B PRG:182B 0A + asl a ; CPU:$D82C PRG:182C 0A + sta Zp34 ; CPU:$D82D PRG:182D 85 34 + ldy #$00 ; CPU:$D82F PRG:182F A0 00 + jmp $D2A5 ; CPU:$D831 PRG:1831 4C A5 D2 +; ---- data $D834-$DA24 (497 bytes) ---- + .byte $A5, $84, $C9, $03, $D0, $08, $AD, $2F, $02, $38, $E5, $33, $F0, $03, $4C, $B2 ; CPU:$D834 PRG:1834 A5 84 C9 03 D0 08 AD 2F 02 38 E5 33 F0 03 4C B2 + .byte $D2, $A9, $04, $85, $84, $A9, $01, $85, $90, $A9, $97, $8D, $40, $02, $8D, $44 ; CPU:$D844 PRG:1844 D2 A9 04 85 84 A9 01 85 90 A9 97 8D 40 02 8D 44 + .byte $02, $A9, $9F, $8D, $48, $02, $8D, $4C, $02, $A9, $A3, $85, $4A, $A9, $00, $85 ; CPU:$D854 PRG:1854 02 A9 9F 8D 48 02 8D 4C 02 A9 A3 85 4A A9 00 85 + .byte $49, $A9, $1D, $85, $35, $A9, $7B, $85, $32, $A9, $60, $85, $45, $E6, $31, $D0 ; CPU:$D864 PRG:1864 49 A9 1D 85 35 A9 7B 85 32 A9 60 85 45 E6 31 D0 + .byte $CD, $A5, $45, $F0, $05, $C6, $45, $4C, $B2, $D2, $20, $0E, $E4, $C9, $FF, $D0 ; CPU:$D874 PRG:1874 CD A5 45 F0 05 C6 45 4C B2 D2 20 0E E4 C9 FF D0 + .byte $20, $A9, $03, $85, $84, $20, $59, $E4, $A9, $10, $9D, $01, $03, $20, $05, $DB ; CPU:$D884 PRG:1884 20 A9 03 85 84 20 59 E4 A9 10 9D 01 03 20 05 DB + .byte $A5, $89, $0A, $0A, $0A, $85, $34, $A9, $00, $85, $31, $85, $32, $85, $33, $F0 ; CPU:$D894 PRG:1894 A5 89 0A 0A 0A 85 34 A9 00 85 31 85 32 85 33 F0 + .byte $0C, $A5, $2A, $29, $0F, $D0, $06, $A9, $08, $45, $34, $85, $34, $4C, $B2, $D2 ; CPU:$D8A4 PRG:18A4 0C A5 2A 29 0F D0 06 A9 08 45 34 85 34 4C B2 D2 + .byte $A5, $33, $38, $A6, $89, $D0, $06, $E9, $58, $90, $0D, $B0, $04, $E9, $B0, $B0 ; CPU:$D8B4 PRG:18B4 A5 33 38 A6 89 D0 06 E9 58 90 0D B0 04 E9 B0 B0 + .byte $07, $A0, $0B, $84, $4F, $4C, $A9, $D2, $A9, $15, $85, $35, $A5, $84, $C9, $01 ; CPU:$D8C4 PRG:18C4 07 A0 0B 84 4F 4C A9 D2 A9 15 85 35 A5 84 C9 01 + .byte $D0, $11, $20, $59, $E4, $A9, $0A, $9D, $01, $03, $A9, $20, $9D, $15, $03, $A9 ; CPU:$D8D4 PRG:18D4 D0 11 20 59 E4 A9 0A 9D 01 03 A9 20 9D 15 03 A9 + .byte $00, $85, $31, $4C, $B2, $D2, $A2, $18, $DE, $40, $02, $CA, $CA, $CA, $CA, $10 ; CPU:$D8E4 PRG:18E4 00 85 31 4C B2 D2 A2 18 DE 40 02 CA CA CA CA 10 + .byte $F7, $AD, $44, $02, $C9, $2F, $D0, $17, $E6, $31, $20, $F3, $E7, $20, $AC, $DD ; CPU:$D8F4 PRG:18F4 F7 AD 44 02 C9 2F D0 17 E6 31 20 F3 E7 20 AC DD + .byte $20, $59, $E4, $A9, $7B, $85, $32, $A9, $1C, $85, $35, $A9, $30, $85, $2D, $4C ; CPU:$D904 PRG:1904 20 59 E4 A9 7B 85 32 A9 1C 85 35 A9 30 85 2D 4C + .byte $B2, $D2, $A5, $2D, $F0, $59, $A5, $2B, $D0, $0A, $A9, $30, $85, $2B, $A9, $08 ; CPU:$D914 PRG:1914 B2 D2 A5 2D F0 59 A5 2B D0 0A A9 30 85 2B A9 08 + .byte $45, $34, $85, $34, $A5, $2C, $D0, $41, $A9, $10, $85, $2C, $AD, $45, $02, $49 ; CPU:$D924 PRG:1924 45 34 85 34 A5 2C D0 41 A9 10 85 2C AD 45 02 49 + .byte $03, $8D, $45, $02, $AD, $49, $02, $49, $03, $8D, $49, $02, $A6, $91, $A4, $92 ; CPU:$D934 PRG:1934 03 8D 45 02 AD 49 02 49 03 8D 49 02 A6 91 A4 92 + .byte $BD, $E8, $F8, $C9, $FE, $F0, $1E, $C9, $FF, $F0, $19, $18, $6D, $60, $02, $99 ; CPU:$D944 PRG:1944 BD E8 F8 C9 FE F0 1E C9 FF F0 19 18 6D 60 02 99 + .byte $60, $02, $E8, $BD, $E8, $F8, $18, $6D, $63, $02, $99, $63, $02, $E8, $C8, $C8 ; CPU:$D954 PRG:1954 60 02 E8 BD E8 F8 18 6D 63 02 99 63 02 E8 C8 C8 + .byte $C8, $C8, $D0, $DC, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $A9 ; CPU:$D964 PRG:1964 C8 C8 D0 DC E8 86 91 84 92 20 D1 DD 4C B2 D2 A9 + .byte $00, $85, $91, $85, $92, $E6, $31, $D0, $F3, $AD, $44, $02, $C9, $48, $F0, $0B ; CPU:$D974 PRG:1974 00 85 91 85 92 E6 31 D0 F3 AD 44 02 C9 48 F0 0B + .byte $A2, $18, $FE, $40, $02, $CA, $CA, $CA, $CA, $10, $F7, $A5, $2C, $D0, $2B, $A9 ; CPU:$D984 PRG:1984 A2 18 FE 40 02 CA CA CA CA 10 F7 A5 2C D0 2B A9 + .byte $10, $85, $2C, $A6, $91, $A4, $92, $BD, $E8, $F8, $C9, $FE, $F0, $22, $C9, $FF ; CPU:$D994 PRG:1994 10 85 2C A6 91 A4 92 BD E8 F8 C9 FE F0 22 C9 FF + .byte $F0, $10, $A9, $00, $99, $60, $02, $E8, $99, $63, $02, $E8, $C8, $C8, $C8, $C8 ; CPU:$D9A4 PRG:19A4 F0 10 A9 00 99 60 02 E8 99 63 02 E8 C8 C8 C8 C8 + .byte $D0, $E5, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $4C, $22, $DA ; CPU:$D9B4 PRG:19B4 D0 E5 E8 86 91 84 92 20 D1 DD 4C B2 D2 4C 22 DA + .byte $A5, $1F, $D0, $F9, $A5, $89, $F0, $43, $A9, $03, $8D, $09, $03, $85, $A0, $8D ; CPU:$D9C4 PRG:19C4 A5 1F D0 F9 A5 89 F0 43 A9 03 8D 09 03 85 A0 8D + .byte $01, $05, $A9, $11, $8D, $00, $05, $A0, $23, $A2, $1A, $20, $8E, $D0, $A2, $1A ; CPU:$D9D4 PRG:19D4 01 05 A9 11 8D 00 05 A0 23 A2 1A 20 8E D0 A2 1A + .byte $A0, $27, $20, $8E, $D0, $20, $D9, $DA, $A5, $71, $C9, $19, $F0, $02, $E6, $71 ; CPU:$D9E4 PRG:19E4 A0 27 20 8E D0 20 D9 DA A5 71 C9 19 F0 02 E6 71 + .byte $A9, $15, $85, $35, $A9, $01, $8D, $15, $03, $8D, $00, $03, $8D, $40, $03, $A9 ; CPU:$D9F4 PRG:19F4 A9 15 85 35 A9 01 8D 15 03 8D 00 03 8D 40 03 A9 + .byte $00, $85, $93, $A9, $0A, $8D, $01, $03, $4C, $B2, $D2, $A2, $00, $B5, $A4, $38 ; CPU:$DA04 PRG:1A04 00 85 93 A9 0A 8D 01 03 4C B2 D2 A2 00 B5 A4 38 + .byte $F5, $94, $F0, $1C, $B0, $08, $A5, $94, $85, $A4, $A5, $95, $85, $A5, $20, $DF ; CPU:$DA14 PRG:1A14 F5 94 F0 1C B0 08 A5 94 85 A4 A5 95 85 A5 20 DF + .byte $E7 ; CPU:$DA24 PRG:1A24 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_DA25 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DA25: + lda #$01 ; CPU:$DA25 PRG:1A25 A9 01 + sta Zp24 ; CPU:$DA27 PRG:1A27 85 24 + lda #$00 ; CPU:$DA29 PRG:1A29 A9 00 + sta Zp26 ; CPU:$DA2B PRG:1A2B 85 26 + lda Zp08 ; CPU:$DA2D PRG:1A2D A5 08 + and #$FE ; CPU:$DA2F PRG:1A2F 29 FE + sta Zp08 ; CPU:$DA31 PRG:1A31 85 08 + rts ; CPU:$DA33 PRG:1A33 60 +; ---- data $DA34-$DAA6 (115 bytes) ---- + .byte $E0, $01, $F0, $EA, $E8, $D0, $D6, $A9, $45, $8D, $00, $05, $E0, $00, $D0, $31 ; CPU:$DA34 PRG:1A34 E0 01 F0 EA E8 D0 D6 A9 45 8D 00 05 E0 00 D0 31 + .byte $AD, $09, $03, $C9, $01, $D0, $5B, $A2, $00, $A0, $01, $BD, $47, $F7, $C9, $FF ; CPU:$DA44 PRG:1A44 AD 09 03 C9 01 D0 5B A2 00 A0 01 BD 47 F7 C9 FF + .byte $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $1B, $A0, $22, $20, $A7, $DA ; CPU:$DA54 PRG:1A54 F0 07 99 00 05 E8 C8 D0 F2 A2 1B A0 22 20 A7 DA + .byte $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E7, $A0, $23, $4C, $A7 ; CPU:$DA64 PRG:1A64 A9 A5 8D 01 05 A9 11 8D 00 05 A2 E7 A0 23 4C A7 + .byte $DA, $AD, $29, $03, $C9, $01, $D0, $2A, $A2, $00, $A0, $01, $BD, $5C, $F7, $C9 ; CPU:$DA74 PRG:1A74 DA AD 29 03 C9 01 D0 2A A2 00 A0 01 BD 5C F7 C9 + .byte $FF, $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $00, $A0, $22, $20, $A7 ; CPU:$DA84 PRG:1A84 FF F0 07 99 00 05 E8 C8 D0 F2 A2 00 A0 22 20 A7 + .byte $DA, $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E0, $A0, $23, $20 ; CPU:$DA94 PRG:1A94 DA A9 A5 8D 01 05 A9 11 8D 00 05 A2 E0 A0 23 20 + .byte $A7, $DA, $60 ; CPU:$DAA4 PRG:1AA4 A7 DA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DAA7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DAA7: + lda Zp08 ; CPU:$DAA7 PRG:1AA7 A5 08 + eor Zp8A ; CPU:$DAA9 PRG:1AA9 45 8A + and #$01 ; CPU:$DAAB PRG:1AAB 29 01 + bne Label_DAB3 ; CPU:$DAAD PRG:1AAD D0 04 + iny ; CPU:$DAAF PRG:1AAF C8 + iny ; CPU:$DAB0 PRG:1AB0 C8 + iny ; CPU:$DAB1 PRG:1AB1 C8 + iny ; CPU:$DAB2 PRG:1AB2 C8 +; ----------------------------------------------------------------------------- +; Routine: Label_DAB3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DAB3: + jsr $D08E ; CPU:$DAB3 PRG:1AB3 20 8E D0 + rts ; CPU:$DAB6 PRG:1AB6 60 +; ---- data $DAB7-$DB47 (145 bytes) ---- + .byte $A9, $98, $A2, $00, $A0, $08, $84, $00, $9D, $00, $02, $E8, $E8, $E8, $A8, $A9 ; CPU:$DAB7 PRG:1AB7 A9 98 A2 00 A0 08 84 00 9D 00 02 E8 E8 E8 A8 A9 + .byte $00, $9D, $00, $02, $98, $E8, $C6, $00, $D0, $EE, $18, $69, $08, $E0, $60, $D0 ; CPU:$DAC7 PRG:1AC7 00 9D 00 02 98 E8 C6 00 D0 EE 18 69 08 E0 60 D0 + .byte $E3, $60, $A5, $A0, $F0, $FB, $A9, $32, $A2, $14, $9D, $00, $05, $CA, $D0, $FA ; CPU:$DAD7 PRG:1AD7 E3 60 A5 A0 F0 FB A9 32 A2 14 9D 00 05 CA D0 FA + .byte $A9, $4C, $8D, $01, $05, $A9, $4E, $8D, $06, $05, $A9, $45, $8D, $00, $05, $A2 ; CPU:$DAE7 PRG:1AE7 A9 4C 8D 01 05 A9 4E 8D 06 05 A9 45 8D 00 05 A2 + .byte $1B, $A0, $22, $A5, $85, $29, $01, $F0, $02, $A0, $26, $4C, $8E, $D0, $A5, $39 ; CPU:$DAF7 PRG:1AF7 1B A0 22 A5 85 29 01 F0 02 A0 26 4C 8E D0 A5 39 + .byte $F0, $04, $C6, $39, $A5, $39, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A0, $23 ; CPU:$DB07 PRG:1B07 F0 04 C6 39 A5 39 8D 01 05 A9 11 8D 00 05 A0 23 + .byte $A5, $1F, $D0, $18, $A2, $3A, $A5, $89, $D0, $1A, $E6, $95, $A5, $95, $C9, $0A ; CPU:$DB17 PRG:1B17 A5 1F D0 18 A2 3A A5 89 D0 1A E6 95 A5 95 C9 0A + .byte $D0, $06, $E6, $94, $A9, $00, $85, $95, $A2, $1A, $D0, $08, $A2, $47, $A5, $89 ; CPU:$DB27 PRG:1B27 D0 06 E6 94 A9 00 85 95 A2 1A D0 08 A2 47 A5 89 + .byte $D0, $02, $A2, $5B, $86, $0C, $20, $8E, $D0, $A6, $0C, $A0, $27, $20, $8E, $D0 ; CPU:$DB37 PRG:1B37 D0 02 A2 5B 86 0C 20 8E D0 A6 0C A0 27 20 8E D0 + .byte $60 ; CPU:$DB47 PRG:1B47 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB48 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB48: + lda Zp96 ; CPU:$DB48 PRG:1B48 A5 96 + beq Label_DB91 ; CPU:$DB4A PRG:1B4A F0 45 + cmp #$02 ; CPU:$DB4C PRG:1B4C C9 02 + beq Label_DB57 ; CPU:$DB4E PRG:1B4E F0 07 + cmp #$01 ; CPU:$DB50 PRG:1B50 C9 01 + beq Label_DB92 ; CPU:$DB52 PRG:1B52 F0 3E + dec Zp96 ; CPU:$DB54 PRG:1B54 C6 96 + rts ; CPU:$DB56 PRG:1B56 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB57 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB57: + dec Zp96 ; CPU:$DB57 PRG:1B57 C6 96 + lda #$80 ; CPU:$DB59 PRG:1B59 A9 80 + sta Zp97 ; CPU:$DB5B PRG:1B5B 85 97 + lda Zp94 ; CPU:$DB5D PRG:1B5D A5 94 + sta $0501 ; CPU:$DB5F PRG:1B5F 8D 01 05 + lda Zp95 ; CPU:$DB62 PRG:1B62 A5 95 + sta $0502 ; CPU:$DB64 PRG:1B64 8D 02 05 + lda #$12 ; CPU:$DB67 PRG:1B67 A9 12 + sta $0500 ; CPU:$DB69 PRG:1B69 8D 00 05 + ldx #$DC ; CPU:$DB6C PRG:1B6C A2 DC + ldy #$22 ; CPU:$DB6E PRG:1B6E A0 22 + jsr $D08E ; CPU:$DB70 PRG:1B70 20 8E D0 + ldx #$DC ; CPU:$DB73 PRG:1B73 A2 DC + ldy #$26 ; CPU:$DB75 PRG:1B75 A0 26 + jsr $D08E ; CPU:$DB77 PRG:1B77 20 8E D0 + jsr $DBA6 ; CPU:$DB7A PRG:1B7A 20 A6 DB +; ----------------------------------------------------------------------------- +; Routine: Label_DB7D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB7D: + lda #$1A ; CPU:$DB7D PRG:1B7D A9 1A + sta $0500 ; CPU:$DB7F PRG:1B7F 8D 00 05 + ldx #$6B ; CPU:$DB82 PRG:1B82 A2 6B + ldy #$22 ; CPU:$DB84 PRG:1B84 A0 22 + lda Zp85 ; CPU:$DB86 PRG:1B86 A5 85 + and #$01 ; CPU:$DB88 PRG:1B88 29 01 + bne Label_DB8E ; CPU:$DB8A PRG:1B8A D0 02 + ldy #$26 ; CPU:$DB8C PRG:1B8C A0 26 +; ----------------------------------------------------------------------------- +; Routine: Label_DB8E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB8E: + jmp $D08E ; CPU:$DB8E PRG:1B8E 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_DB91 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB91: + rts ; CPU:$DB91 PRG:1B91 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DB92 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB92: + dec Zp97 ; CPU:$DB92 PRG:1B92 C6 97 + bne Label_DB91 ; CPU:$DB94 PRG:1B94 D0 FB + lda #$00 ; CPU:$DB96 PRG:1B96 A9 00 + sta Zp96 ; CPU:$DB98 PRG:1B98 85 96 + lda #$32 ; CPU:$DB9A PRG:1B9A A9 32 + ldx #$0A ; CPU:$DB9C PRG:1B9C A2 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DB9E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DB9E: + sta $0500,x ; CPU:$DB9E PRG:1B9E 9D 00 05 + dex ; CPU:$DBA1 PRG:1BA1 CA + bne Label_DB9E ; CPU:$DBA2 PRG:1BA2 D0 FA + beq Label_DB7D ; CPU:$DBA4 PRG:1BA4 F0 D7 +; ----------------------------------------------------------------------------- +; Routine: Label_DBA6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBA6: + ldx #$0A ; CPU:$DBA6 PRG:1BA6 A2 0A + ldy #$0A ; CPU:$DBA8 PRG:1BA8 A0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DBAA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBAA: + lda $F940,y ; CPU:$DBAA PRG:1BAA B9 40 F9 + sta $0500,x ; CPU:$DBAD PRG:1BAD 9D 00 05 + dey ; CPU:$DBB0 PRG:1BB0 88 + dex ; CPU:$DBB1 PRG:1BB1 CA + bne Label_DBAA ; CPU:$DBB2 PRG:1BB2 D0 F6 + lda Zp94 ; CPU:$DBB4 PRG:1BB4 A5 94 + sta $0508 ; CPU:$DBB6 PRG:1BB6 8D 08 05 + lda Zp95 ; CPU:$DBB9 PRG:1BB9 A5 95 + sta $0509 ; CPU:$DBBB PRG:1BBB 8D 09 05 + rts ; CPU:$DBBE PRG:1BBE 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DBBF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBBF: + lda Zp93 ; CPU:$DBBF PRG:1BBF A5 93 + bne Label_DBEF ; CPU:$DBC1 PRG:1BC1 D0 2C + jsr $DD8C ; CPU:$DBC3 PRG:1BC3 20 8C DD + lda Zp84 ; CPU:$DBC6 PRG:1BC6 A5 84 + jsr $CDE0 ; CPU:$DBC8 PRG:1BC8 20 E0 CD + ora $D5D0,y ; CPU:$DBCB PRG:1BCB 19 D0 D5 +; ---- data $DBCE-$DBDC (15 bytes) ---- + .byte $DB, $FD, $DB, $A1, $DC, $F6, $DC, $A5, $80, $0A, $0A, $0A, $0A, $85, $00 ; CPU:$DBCE PRG:1BCE DB FD DB A1 DC F6 DC A5 80 0A 0A 0A 0A 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_DBDD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBDD: + lda Zp81 ; CPU:$DBDD PRG:1BDD A5 81 + and #$0F ; CPU:$DBDF PRG:1BDF 29 0F + ora Zp00 ; CPU:$DBE1 PRG:1BE1 05 00 + cmp #$20 ; CPU:$DBE3 PRG:1BE3 C9 20 + beq Label_DBF0 ; CPU:$DBE5 PRG:1BE5 F0 09 + cmp #$50 ; CPU:$DBE7 PRG:1BE7 C9 50 + beq Label_DBF0 ; CPU:$DBE9 PRG:1BE9 F0 05 + cmp #$70 ; CPU:$DBEB PRG:1BEB C9 70 + beq Label_DBF0 ; CPU:$DBED PRG:1BED F0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DBEF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBEF: + rts ; CPU:$DBEF PRG:1BEF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DBF0 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DBF0: + lda $05EC ; CPU:$DBF0 PRG:1BF0 AD EC 05 + and #$7F ; CPU:$DBF3 PRG:1BF3 29 7F + bne Label_DBEF ; CPU:$DBF5 PRG:1BF5 D0 F8 + jsr $E80C ; CPU:$DBF7 PRG:1BF7 20 0C E8 + inc Zp84 ; CPU:$DBFA PRG:1BFA E6 84 + rts ; CPU:$DBFC PRG:1BFC 60 +; ---- data $DBFD-$DCF5 (249 bytes) ---- + .byte $A9, $AB, $85, $00, $A2, $00, $BD, $07, $02, $C9, $FF, $F0, $0A, $E8, $E8, $E8 ; CPU:$DBFD PRG:1BFD A9 AB 85 00 A2 00 BD 07 02 C9 FF F0 0A E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $F0, $6A, $BD, $04, $02, $18, $65, $00, $9D, $04, $02 ; CPU:$DC0D PRG:1C0D E8 E0 3C D0 F1 F0 6A BD 04 02 18 65 00 9D 04 02 + .byte $A5, $00, $38, $E9, $08, $85, $00, $E0, $38, $D0, $E2, $AD, $01, $03, $C9, $0B ; CPU:$DC1D PRG:1C1D A5 00 38 E9 08 85 00 E0 38 D0 E2 AD 01 03 C9 0B + .byte $D0, $08, $20, $D0, $DC, $A9, $01, $85, $84, $60, $E6, $84, $A5, $82, $F0, $41 ; CPU:$DC2D PRG:1C2D D0 08 20 D0 DC A9 01 85 84 60 E6 84 A5 82 F0 41 + .byte $A2, $0E, $A0, $00, $AD, $03, $03, $38, $E9, $7F, $90, $15, $85, $00, $A9, $7F ; CPU:$DC3D PRG:1C3D A2 0E A0 00 AD 03 03 38 E9 7F 90 15 85 00 A9 7F + .byte $38, $ED, $23, $03, $90, $07, $38, $E5, $00, $F0, $2A, $B0, $04, $A2, $00, $A0 ; CPU:$DC4D PRG:1C4D 38 ED 23 03 90 07 38 E5 00 F0 2A B0 04 A2 00 A0 + .byte $0E, $8E, $21, $03, $8C, $01, $03, $A9, $15, $8D, $05, $03, $8D, $25, $03, $A9 ; CPU:$DC5D PRG:1C5D 0E 8E 21 03 8C 01 03 A9 15 8D 05 03 8D 25 03 A9 + .byte $7B, $8D, $02, $03, $8D, $22, $03, $A9, $00, $8D, $04, $03, $A9, $08, $8D, $24 ; CPU:$DC6D PRG:1C6D 7B 8D 02 03 8D 22 03 A9 00 8D 04 03 A9 08 8D 24 + .byte $03, $20, $7D, $DD, $60, $38, $A5, $C5, $E5, $C9, $F0, $04, $B0, $D3, $90, $CD ; CPU:$DC7D PRG:1C7D 03 20 7D DD 60 38 A5 C5 E5 C9 F0 04 B0 D3 90 CD + .byte $A5, $C6, $38, $E5, $CA, $F0, $04, $B0, $C8, $90, $C2, $AD, $EC, $05, $29, $01 ; CPU:$DC8D PRG:1C8D A5 C6 38 E5 CA F0 04 B0 C8 90 C2 AD EC 05 29 01 + .byte $F0, $BF, $D0, $B9, $A2, $00, $BD, $07, $02, $C9, $00, $F0, $14, $E8, $E8, $E8 ; CPU:$DC9D PRG:1C9D F0 BF D0 B9 A2 00 BD 07 02 C9 00 F0 14 E8 E8 E8 + .byte $E8, $E0, $3C, $D0, $F1, $AD, $07, $02, $C9, $47, $D0, $C5, $20, $D2, $E7, $D0 ; CPU:$DCAD PRG:1CAD E8 E0 3C D0 F1 AD 07 02 C9 47 D0 C5 20 D2 E7 D0 + .byte $C0, $A9, $F4, $9D, $04, $02, $E0, $38, $D0, $E3, $20, $7D, $DD, $A9, $01, $85 ; CPU:$DCBD PRG:1CBD C0 A9 F4 9D 04 02 E0 38 D0 E3 20 7D DD A9 01 85 + .byte $84, $D0, $AE, $A0, $00, $A2, $00, $B9, $FA, $F6, $C9, $2F, $F0, $07, $9D, $04 ; CPU:$DCCD PRG:1CCD 84 D0 AE A0 00 A2 00 B9 FA F6 C9 2F F0 07 9D 04 + .byte $02, $E8, $C8, $D0, $F2, $60, $A0, $00, $A2, $00, $B9, $F6, $F6, $C9, $2F, $F0 ; CPU:$DCDD PRG:1CDD 02 E8 C8 D0 F2 60 A0 00 A2 00 B9 F6 F6 C9 2F F0 + .byte $07, $9D, $00, $02, $E8, $C8, $D0, $F2, $60 ; CPU:$DCED PRG:1CED 07 9D 00 02 E8 C8 D0 F2 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DCF6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DCF6: + jsr $DD00 ; CPU:$DCF6 PRG:1CF6 20 00 DD + lda Zp90 ; CPU:$DCF9 PRG:1CF9 A5 90 + bne Label_DCFF ; CPU:$DCFB PRG:1CFB D0 02 + sta Zp84 ; CPU:$DCFD PRG:1CFD 85 84 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_DCFF: + rts ; CPU:$DCFF PRG:1CFF 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD00 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD00: + lda Zp90 ; CPU:$DD00 PRG:1D00 A5 90 + beq Label_DD33 ; CPU:$DD02 PRG:1D02 F0 2F + cmp #$02 ; CPU:$DD04 PRG:1D04 C9 02 + beq Label_DD3B ; CPU:$DD06 PRG:1D06 F0 33 + dec $0240 ; CPU:$DD08 PRG:1D08 CE 40 02 + dec $0244 ; CPU:$DD0B PRG:1D0B CE 44 02 + dec $0248 ; CPU:$DD0E PRG:1D0E CE 48 02 + dec $024C ; CPU:$DD11 PRG:1D11 CE 4C 02 + dec $0243 ; CPU:$DD14 PRG:1D14 CE 43 02 + dec $0247 ; CPU:$DD17 PRG:1D17 CE 47 02 + dec $024B ; CPU:$DD1A PRG:1D1A CE 4B 02 + dec $024F ; CPU:$DD1D PRG:1D1D CE 4F 02 + dec $0243 ; CPU:$DD20 PRG:1D20 CE 43 02 + dec $0247 ; CPU:$DD23 PRG:1D23 CE 47 02 + dec $024B ; CPU:$DD26 PRG:1D26 CE 4B 02 + dec $024F ; CPU:$DD29 PRG:1D29 CE 4F 02 + lda $0240 ; CPU:$DD2C PRG:1D2C AD 40 02 + cmp #$8F ; CPU:$DD2F PRG:1D2F C9 8F + beq Label_DD34 ; CPU:$DD31 PRG:1D31 F0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DD33 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD33: + rts ; CPU:$DD33 PRG:1D33 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD34 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD34: + lda #$06 ; CPU:$DD34 PRG:1D34 A9 06 + sta Zp2E ; CPU:$DD36 PRG:1D36 85 2E + inc Zp90 ; CPU:$DD38 PRG:1D38 E6 90 + rts ; CPU:$DD3A PRG:1D3A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD3B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD3B: + lda Zp2E ; CPU:$DD3B PRG:1D3B A5 2E + bne Label_DD33 ; CPU:$DD3D PRG:1D3D D0 F4 + inc $0240 ; CPU:$DD3F PRG:1D3F EE 40 02 + inc $0244 ; CPU:$DD42 PRG:1D42 EE 44 02 + inc $0248 ; CPU:$DD45 PRG:1D45 EE 48 02 + inc $024C ; CPU:$DD48 PRG:1D48 EE 4C 02 + inc $0243 ; CPU:$DD4B PRG:1D4B EE 43 02 + inc $0247 ; CPU:$DD4E PRG:1D4E EE 47 02 + inc $024B ; CPU:$DD51 PRG:1D51 EE 4B 02 + inc $024F ; CPU:$DD54 PRG:1D54 EE 4F 02 + inc $0243 ; CPU:$DD57 PRG:1D57 EE 43 02 + inc $0247 ; CPU:$DD5A PRG:1D5A EE 47 02 + inc $024B ; CPU:$DD5D PRG:1D5D EE 4B 02 + inc $024F ; CPU:$DD60 PRG:1D60 EE 4F 02 + lda $0240 ; CPU:$DD63 PRG:1D63 AD 40 02 + cmp #$97 ; CPU:$DD66 PRG:1D66 C9 97 + bne Label_DD33 ; CPU:$DD68 PRG:1D68 D0 C9 + lda #$F4 ; CPU:$DD6A PRG:1D6A A9 F4 + sta $0240 ; CPU:$DD6C PRG:1D6C 8D 40 02 + sta $0244 ; CPU:$DD6F PRG:1D6F 8D 44 02 + sta $0248 ; CPU:$DD72 PRG:1D72 8D 48 02 + sta $024C ; CPU:$DD75 PRG:1D75 8D 4C 02 + lda #$00 ; CPU:$DD78 PRG:1D78 A9 00 + sta Zp90 ; CPU:$DD7A PRG:1D7A 85 90 + rts ; CPU:$DD7C PRG:1D7C 60 +; ---- data $DD7D-$DD8B (15 bytes) ---- + .byte $A0, $13, $A2, $00, $DE, $07, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$DD7D PRG:1D7D A0 13 A2 00 DE 07 02 E8 E8 E8 E8 88 D0 F6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DD8C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD8C: + lda Zp2A ; CPU:$DD8C PRG:1D8C A5 2A + and #$1F ; CPU:$DD8E PRG:1D8E 29 1F + bne Label_DDAB ; CPU:$DD90 PRG:1D90 D0 19 + ldx #$00 ; CPU:$DD92 PRG:1D92 A2 00 + ldy #$02 ; CPU:$DD94 PRG:1D94 A0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_DD96 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DD96: + lda $021D,x ; CPU:$DD96 PRG:1D96 BD 1D 02 + eor #$03 ; CPU:$DD99 PRG:1D99 49 03 + sta $021D,x ; CPU:$DD9B PRG:1D9B 9D 1D 02 + lda $021E,x ; CPU:$DD9E PRG:1D9E BD 1E 02 + eor #$40 ; CPU:$DDA1 PRG:1DA1 49 40 + sta $021E,x ; CPU:$DDA3 PRG:1DA3 9D 1E 02 + ldx #$0C ; CPU:$DDA6 PRG:1DA6 A2 0C + dey ; CPU:$DDA8 PRG:1DA8 88 + bne Label_DD96 ; CPU:$DDA9 PRG:1DA9 D0 EB +; ----------------------------------------------------------------------------- +; Routine: Label_DDAB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DDAB: + rts ; CPU:$DDAB PRG:1DAB 60 +; ---- data $DDAC-$DE02 (87 bytes) ---- + .byte $A2, $00, $A9, $00, $9D, $60, $02, $9D, $62, $02, $9D, $63, $02, $A9, $E8, $9D ; CPU:$DDAC PRG:1DAC A2 00 A9 00 9D 60 02 9D 62 02 9D 63 02 A9 E8 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E8, $A9, $32, $8D, $60, $02, $A9 ; CPU:$DDBC PRG:1DBC 61 02 E8 E8 E8 E8 E0 A0 D0 E8 A9 32 8D 60 02 A9 + .byte $A0, $8D, $63, $02, $60, $A5, $2A, $29, $7F, $D0, $1F, $A2, $00, $AC, $EC, $05 ; CPU:$DDCC PRG:1DCC A0 8D 63 02 60 A5 2A 29 7F D0 1F A2 00 AC EC 05 + .byte $98, $69, $75, $A8, $29, $C3, $9D, $62, $02, $A9, $E8, $90, $02, $A9, $E9, $9D ; CPU:$DDDC PRG:1DDC 98 69 75 A8 29 C3 9D 62 02 A9 E8 90 02 A9 E9 9D + .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E6, $60, $A2, $1B, $BD, $CC, $F8 ; CPU:$DDEC PRG:1DEC 61 02 E8 E8 E8 E8 E0 A0 D0 E6 60 A2 1B BD CC F8 + .byte $9D, $40, $02, $CA, $10, $F7, $60 ; CPU:$DDFC PRG:1DFC 9D 40 02 CA 10 F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DE03 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE03: + lda Zp1F ; CPU:$DE03 PRG:1E03 A5 1F + bne Label_DE35 ; CPU:$DE05 PRG:1E05 D0 2E + ldx Zp89 ; CPU:$DE07 PRG:1E07 A6 89 + cpx #$00 ; CPU:$DE09 PRG:1E09 E0 00 + bne Label_DE35 ; CPU:$DE0B PRG:1E0B D0 28 + lda #$00 ; CPU:$DE0D PRG:1E0D A9 00 + sta Zp19 ; CPU:$DE0F PRG:1E0F 85 19 + lda Zp82 ; CPU:$DE11 PRG:1E11 A5 82 + beq Label_DE1C ; CPU:$DE13 PRG:1E13 F0 07 + lda $0204 ; CPU:$DE15 PRG:1E15 AD 04 02 + cmp #$9F ; CPU:$DE18 PRG:1E18 C9 9F + beq Label_DE35 ; CPU:$DE1A PRG:1E1A F0 19 +; ----------------------------------------------------------------------------- +; Routine: Label_DE1C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE1C: + lda Zp40 ; CPU:$DE1C PRG:1E1C A5 40 + jsr $CDE0 ; CPU:$DE1E PRG:1E1E 20 E0 CD + ora $2CD0,y ; CPU:$DE21 PRG:1E21 19 D0 2C +; ---- data $DE24-$DE34 (17 bytes) ---- + .byte $DF, $36, $DE, $C9, $DE, $D8, $DE, $F0, $DE, $F4, $DE, $19, $DF, $A9, $06, $85 ; CPU:$DE24 PRG:1E24 DF 36 DE C9 DE D8 DE F0 DE F4 DE 19 DF A9 06 85 + .byte $40 ; CPU:$DE34 PRG:1E34 40 +; ----------------------------------------------------------------------------- +; Routine: Label_DE35 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DE35: + rts ; CPU:$DE35 PRG:1E35 60 +; ---- data $DE36-$DEC8 (147 bytes) ---- + .byte $A9, $01, $85, $40, $A5, $31, $C9, $01, $D0, $5A, $AD, $58, $02, $C9, $F4, $F0 ; CPU:$DE36 PRG:1E36 A9 01 85 40 A5 31 C9 01 D0 5A AD 58 02 C9 F4 F0 + .byte $1C, $C9, $5B, $90, $18, $AD, $5B, $02, $38, $E9, $04, $85, $00, $38, $A5, $33 ; CPU:$DE46 PRG:1E46 1C C9 5B 90 18 AD 5B 02 38 E9 04 85 00 38 A5 33 + .byte $E5, $00, $90, $09, $C9, $0E, $B0, $05, $A9, $07, $85, $40, $60, $A5, $88, $F0 ; CPU:$DE56 PRG:1E56 E5 00 90 09 C9 0E B0 05 A9 07 85 40 60 A5 88 F0 + .byte $CA, $AD, $21, $03, $C9, $0D, $F0, $5F, $C9, $08, $B0, $C3, $AE, $EC, $05, $A4 ; CPU:$DE66 PRG:1E66 CA AD 21 03 C9 0D F0 5F C9 08 B0 C3 AE EC 05 A4 + .byte $8F, $C0, $03, $B0, $00, $C9, $03, $D0, $37, $AD, $4C, $03, $F0, $07, $8A, $A0 ; CPU:$DE76 PRG:1E76 8F C0 03 B0 00 C9 03 D0 37 AD 4C 03 F0 07 8A A0 + .byte $80, $29, $07, $F0, $0C, $20, $96, $DF, $A0, $01, $29, $07, $F0, $03, $4C, $6D ; CPU:$DE86 PRG:1E86 80 29 07 F0 0C 20 96 DF A0 01 29 07 F0 03 4C 6D + .byte $DF, $84, $19, $60, $C9, $06, $F0, $05, $C9, $02, $F0, $08, $60, $8A, $A0, $01 ; CPU:$DE96 PRG:1E96 DF 84 19 60 C9 06 F0 05 C9 02 F0 08 60 8A A0 01 + .byte $29, $0F, $F0, $ED, $20, $96, $DF, $A0, $80, $29, $3F, $F0, $E4, $4C, $6D, $DF ; CPU:$DEA6 PRG:1EA6 29 0F F0 ED 20 96 DF A0 80 29 3F F0 E4 4C 6D DF + .byte $8A, $A0, $05, $29, $01, $F0, $09, $20, $96, $DF, $29, $01, $D0, $D0, $A0, $03 ; CPU:$DEB6 PRG:1EB6 8A A0 05 29 01 F0 09 20 96 DF 29 01 D0 D0 A0 03 + .byte $84, $40, $60 ; CPU:$DEC6 PRG:1EC6 84 40 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DEC9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DEC9: + lda #$01 ; CPU:$DEC9 PRG:1EC9 A9 01 + sta Zp19 ; CPU:$DECB PRG:1ECB 85 19 + lda ZpAC ; CPU:$DECD PRG:1ECD A5 AC + sta Zp8D ; CPU:$DECF PRG:1ECF 85 8D + ldx #$04 ; CPU:$DED1 PRG:1ED1 A2 04 + stx Zp40 ; CPU:$DED3 PRG:1ED3 86 40 + jmp $DF7A ; CPU:$DED5 PRG:1ED5 4C 7A DF +; ---- data $DED8-$DF4B (116 bytes) ---- + .byte $A5, $8D, $F0, $03, $C6, $8D, $60, $A0, $80, $AD, $EC, $05, $29, $01, $D0, $02 ; CPU:$DED8 PRG:1ED8 A5 8D F0 03 C6 8D 60 A0 80 AD EC 05 29 01 D0 02 + .byte $A0, $40, $A9, $01, $85, $40, $D0, $A7, $A5, $AC, $D0, $DB, $A5, $88, $D0, $1D ; CPU:$DEE8 PRG:1EE8 A0 40 A9 01 85 40 D0 A7 A5 AC D0 DB A5 88 D0 1D + .byte $AD, $58, $02, $C9, $F4, $F0, $12, $C9, $5B, $90, $0E, $A5, $33, $38, $ED, $5B ; CPU:$DEF8 PRG:1EF8 AD 58 02 C9 F4 F0 12 C9 5B 90 0E A5 33 38 ED 5B + .byte $02, $90, $06, $C9, $15, $B0, $02, $90, $04, $A0, $02, $D0, $82, $A0, $00, $F0 ; CPU:$DF08 PRG:1F08 02 90 06 C9 15 B0 02 90 04 A0 02 D0 82 A0 00 F0 + .byte $D1, $A5, $3A, $D0, $0B, $A5, $35, $C9, $01, $F0, $F2, $A0, $01, $4C, $97, $DE ; CPU:$DF18 PRG:1F18 D1 A5 3A D0 0B A5 35 C9 01 F0 F2 A0 01 4C 97 DE + .byte $A0, $01, $D0, $BE, $A6, $71, $E0, $02, $B0, $10, $A5, $33, $C9, $67, $B0, $0A ; CPU:$DF28 PRG:1F28 A0 01 D0 BE A6 71 E0 02 B0 10 A5 33 C9 67 B0 0A + .byte $A9, $00, $E0, $00, $F0, $02, $A9, $01, $85, $8F, $A5, $8E, $F0, $16, $A6, $8F ; CPU:$DF38 PRG:1F38 A9 00 E0 00 F0 02 A9 01 85 8F A5 8E F0 16 A6 8F + .byte $E0, $02, $90, $0A ; CPU:$DF48 PRG:1F48 E0 02 90 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DF4C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF4C: + and #$07 ; CPU:$DF4C PRG:1F4C 29 07 + bne Label_DF53 ; CPU:$DF4E PRG:1F4E D0 03 + jsr $DF9E ; CPU:$DF50 PRG:1F50 20 9E DF +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_DF53: + dec Zp8E ; CPU:$DF53 PRG:1F53 C6 8E + rts ; CPU:$DF55 PRG:1F55 60 +; ---- data $DF56-$DF73 (30 bytes) ---- + .byte $29, $0F, $D0, $F9, $F0, $F4, $A5, $8F, $0A, $AA, $BD, $EA, $DF, $85, $8E, $BD ; CPU:$DF56 PRG:1F56 29 0F D0 F9 F0 F4 A5 8F 0A AA BD EA DF 85 8E BD + .byte $EB, $DF, $85, $AC, $E6, $40, $60, $A9, $04, $AC, $34, $03, $D0, $01 ; CPU:$DF66 PRG:1F66 EB DF 85 AC E6 40 60 A9 04 AC 34 03 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DF74 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF74: + asl a ; CPU:$DF74 PRG:1F74 0A +; ----------------------------------------------------------------------------- +; Routine: Label_DF75 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF75: + ora Zp19 ; CPU:$DF75 PRG:1F75 05 19 + sta Zp19 ; CPU:$DF77 PRG:1F77 85 19 + rts ; CPU:$DF79 PRG:1F79 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF7A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF7A: + lda $05EC ; CPU:$DF7A PRG:1F7A AD EC 05 + sta Zp00 ; CPU:$DF7D PRG:1F7D 85 00 + and #$07 ; CPU:$DF7F PRG:1F7F 29 07 + bne Label_DF8D ; CPU:$DF81 PRG:1F81 D0 0A + lda #$04 ; CPU:$DF83 PRG:1F83 A9 04 + lsr Zp00 ; CPU:$DF85 PRG:1F85 46 00 + bcc Label_DF75 ; CPU:$DF87 PRG:1F87 90 EC + lda #$08 ; CPU:$DF89 PRG:1F89 A9 08 + bne Label_DF75 ; CPU:$DF8B PRG:1F8B D0 E8 +; ----------------------------------------------------------------------------- +; Routine: Label_DF8D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF8D: + lda #$04 ; CPU:$DF8D PRG:1F8D A9 04 + ldy $0334 ; CPU:$DF8F PRG:1F8F AC 34 03 + beq Label_DF75 ; CPU:$DF92 PRG:1F92 F0 E1 + bne Label_DF74 ; CPU:$DF94 PRG:1F94 D0 DE + txa ; CPU:$DF96 PRG:1F96 8A + adc Zp4D ; CPU:$DF97 PRG:1F97 65 4D + sta $05EC ; CPU:$DF99 PRG:1F99 8D EC 05 + tax ; CPU:$DF9C PRG:1F9C AA + rts ; CPU:$DF9D PRG:1F9D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DF9E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DF9E: + lda Zp88 ; CPU:$DF9E PRG:1F9E A5 88 + beq Label_DFB7 ; CPU:$DFA0 PRG:1FA0 F0 15 + lda $0321 ; CPU:$DFA2 PRG:1FA2 AD 21 03 + cmp #$08 ; CPU:$DFA5 PRG:1FA5 C9 08 + beq Label_DFB7 ; CPU:$DFA7 PRG:1FA7 F0 0E + ldx $05EC ; CPU:$DFA9 PRG:1FA9 AE EC 05 + lda #$01 ; CPU:$DFAC PRG:1FAC A9 01 +; ----------------------------------------------------------------------------- +; Routine: Label_DFAE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFAE: + rol a ; CPU:$DFAE PRG:1FAE 2A + dex ; CPU:$DFAF PRG:1FAF CA + bne Label_DFAE ; CPU:$DFB0 PRG:1FB0 D0 FC + and #$CE ; CPU:$DFB2 PRG:1FB2 29 CE + sta Zp19 ; CPU:$DFB4 PRG:1FB4 85 19 + rts ; CPU:$DFB6 PRG:1FB6 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFB7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFB7: + lda #$06 ; CPU:$DFB7 PRG:1FB7 A9 06 + sta Zp40 ; CPU:$DFB9 PRG:1FB9 85 40 + rts ; CPU:$DFBB PRG:1FBB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFBC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFBC: + lda Zp1F ; CPU:$DFBC PRG:1FBC A5 1F + bne Label_DFE4 ; CPU:$DFBE PRG:1FBE D0 24 + lda $05EC ; CPU:$DFC0 PRG:1FC0 AD EC 05 + and #$01 ; CPU:$DFC3 PRG:1FC3 29 01 + bne Label_DFE4 ; CPU:$DFC5 PRG:1FC5 D0 1D + lda Zp71 ; CPU:$DFC7 PRG:1FC7 A5 71 + asl a ; CPU:$DFC9 PRG:1FC9 0A + tax ; CPU:$DFCA PRG:1FCA AA + lda $E00C,x ; CPU:$DFCB PRG:1FCB BD 0C E0 + sta Zp00 ; CPU:$DFCE PRG:1FCE 85 00 + lda $E00D,x ; CPU:$DFD0 PRG:1FD0 BD 0D E0 + sta Zp01 ; CPU:$DFD3 PRG:1FD3 85 01 + ldx $05EC ; CPU:$DFD5 PRG:1FD5 AE EC 05 + ldy Zp8F ; CPU:$DFD8 PRG:1FD8 A4 8F +; ----------------------------------------------------------------------------- +; Routine: Label_DFDA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFDA: + iny ; CPU:$DFDA PRG:1FDA C8 + cpy Zp01 ; CPU:$DFDB PRG:1FDB C4 01 + bcs Label_DFE5 ; CPU:$DFDD PRG:1FDD B0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_DFDF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFDF: + dex ; CPU:$DFDF PRG:1FDF CA + bne Label_DFDA ; CPU:$DFE0 PRG:1FE0 D0 F8 + sty Zp8F ; CPU:$DFE2 PRG:1FE2 84 8F +; ----------------------------------------------------------------------------- +; Routine: Label_DFE4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFE4: + rts ; CPU:$DFE4 PRG:1FE4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_DFE5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_DFE5: + ldy Zp00 ; CPU:$DFE5 PRG:1FE5 A4 00 + jmp $DFDF ; CPU:$DFE7 PRG:1FE7 4C DF DF +; ---- data $DFEA-$E03F (86 bytes) ---- +; referenced by `lda $E00C,x` at $DFCB (operand $E00C falls inside this region) +; referenced by `lda $E00D,x` at $DFD0 (operand $E00D falls inside this region) + .byte $FF, $20, $E0, $14, $FF, $14, $E0, $14, $C0, $0C, $A0, $0A, $80, $07, $60, $07 ; CPU:$DFEA PRG:1FEA FF 20 E0 14 FF 14 E0 14 C0 0C A0 0A 80 07 60 07 + .byte $40, $07, $20, $07, $10, $08, $06, $06, $04, $04, $02, $04, $00, $04, $00, $03 ; CPU:$DFFA PRG:1FFA 40 07 20 07 10 08 06 06 04 04 02 04 00 04 00 03 + .byte $00, $03, $00, $02, $00, $03, $01, $03, $02, $04, $02, $05, $03, $05, $03, $06 ; CPU:$E00A PRG:200A 00 03 00 02 00 03 01 03 02 04 02 05 03 05 03 06 + .byte $04, $07, $04, $08, $05, $09, $05, $0A, $05, $0B, $06, $0B, $06, $0C, $07, $0C ; CPU:$E01A PRG:201A 04 07 04 08 05 09 05 0A 05 0B 06 0B 06 0C 07 0C + .byte $07, $0D, $08, $0D, $08, $0E, $09, $0E, $09, $0F, $0A, $0F, $0B, $0F, $0C, $10 ; CPU:$E02A PRG:202A 07 0D 08 0D 08 0E 09 0E 09 0F 0A 0F 0B 0F 0C 10 + .byte $0D, $10, $0E, $10, $0F, $10 ; CPU:$E03A PRG:203A 0D 10 0E 10 0F 10 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E040: + lda ZpC0 ; CPU:$E040 PRG:2040 A5 C0 + beq Label_E075 ; CPU:$E042 PRG:2042 F0 31 + ldx Zp89 ; CPU:$E044 PRG:2044 A6 89 + cpx #$01 ; CPU:$E046 PRG:2046 E0 01 + bne Label_E075 ; CPU:$E048 PRG:2048 D0 2B + lda #$00 ; CPU:$E04A PRG:204A A9 00 + sta Zp18 ; CPU:$E04C PRG:204C 85 18 + lda Zp88 ; CPU:$E04E PRG:204E A5 88 + bne Label_E056 ; CPU:$E050 PRG:2050 D0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E052: + lda #$01 ; CPU:$E052 PRG:2052 A9 01 + bne Label_E073 ; CPU:$E054 PRG:2054 D0 1D +; ----------------------------------------------------------------------------- +; Routine: Label_E056 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E056: + lda $0301 ; CPU:$E056 PRG:2056 AD 01 03 + cmp #$08 ; CPU:$E059 PRG:2059 C9 08 + beq Label_E052 ; CPU:$E05B PRG:205B F0 F5 + lda Zp70 ; CPU:$E05D PRG:205D A5 70 + beq Label_E064 ; CPU:$E05F PRG:205F F0 03 + dec Zp70 ; CPU:$E061 PRG:2061 C6 70 + rts ; CPU:$E063 PRG:2063 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E064 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E064: + lda #$08 ; CPU:$E064 PRG:2064 A9 08 + sta Zp70 ; CPU:$E066 PRG:2066 85 70 + lda #$01 ; CPU:$E068 PRG:2068 A9 01 + ldx $05EC ; CPU:$E06A PRG:206A AE EC 05 +; ----------------------------------------------------------------------------- +; Routine: Label_E06D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E06D: + rol a ; CPU:$E06D PRG:206D 2A + dex ; CPU:$E06E PRG:206E CA + bne Label_E06D ; CPU:$E06F PRG:206F D0 FC + and #$CD ; CPU:$E071 PRG:2071 29 CD +; ----------------------------------------------------------------------------- +; Routine: Label_E073 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E073: + sta Zp18 ; CPU:$E073 PRG:2073 85 18 +; ----------------------------------------------------------------------------- +; Routine: Label_E075 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E075: + rts ; CPU:$E075 PRG:2075 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E076 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E076: + ldx Zp93 ; CPU:$E076 PRG:2076 A6 93 + bne Label_E075 ; CPU:$E078 PRG:2078 D0 FB + lda Zp31 ; CPU:$E07A PRG:207A A5 31 + jsr $CDE0 ; CPU:$E07C PRG:207C 20 E0 CD + ora $8DD0,y ; CPU:$E07F PRG:207F 19 D0 8D + cpx #$E9 ; CPU:$E082 PRG:2082 E0 E9 + cpx #$FC ; CPU:$E084 PRG:2084 E0 FC + cpx #$1D ; CPU:$E086 PRG:2086 E0 1D + sbc (ZpC0,x) ; CPU:$E088 PRG:2088 E1 C0 + sbc (ZpAB,x) ; CPU:$E08A PRG:208A E1 AB + dec ZpA5,x ; CPU:$E08C PRG:208C D6 A5 + rol a ; CPU:$E08E PRG:208E 2A + bne Label_E075 ; CPU:$E08F PRG:208F D0 E4 + ldy $0301 ; CPU:$E091 PRG:2091 AC 01 03 + cpy #$05 ; CPU:$E094 PRG:2094 C0 05 + bcs Label_E075 ; CPU:$E096 PRG:2096 B0 DD + ldy $0321 ; CPU:$E098 PRG:2098 AC 21 03 + cpy #$05 ; CPU:$E09B PRG:209B C0 05 + bcs Label_E11C ; CPU:$E09D PRG:209D B0 7D + lda $05EC ; CPU:$E09F PRG:209F AD EC 05 + and #$7F ; CPU:$E0A2 PRG:20A2 29 7F + bne Label_E075 ; CPU:$E0A4 PRG:20A4 D0 CF + ldx Zp1F ; CPU:$E0A6 PRG:20A6 A6 1F + beq Label_E0B4 ; CPU:$E0A8 PRG:20A8 F0 0A + lda $05EC ; CPU:$E0AA PRG:20AA AD EC 05 + ldx $0303 ; CPU:$E0AD PRG:20AD AE 03 03 + and #$08 ; CPU:$E0B0 PRG:20B0 29 08 + bne Label_E0B7 ; CPU:$E0B2 PRG:20B2 D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E0B4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E0B4: + ldx $0323 ; CPU:$E0B4 PRG:20B4 AE 23 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E0B7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E0B7: + txa ; CPU:$E0B7 PRG:20B7 8A + sec ; CPU:$E0B8 PRG:20B8 38 + sbc #$0F ; CPU:$E0B9 PRG:20B9 E9 0F + and #$F0 ; CPU:$E0BB PRG:20BB 29 F0 + ora #$18 ; CPU:$E0BD PRG:20BD 09 18 + cmp #$30 ; CPU:$E0BF PRG:20BF C9 30 + bcc Label_E11C ; CPU:$E0C1 PRG:20C1 90 59 + cmp #$D0 ; CPU:$E0C3 PRG:20C3 C9 D0 + bcs Label_E11C ; CPU:$E0C5 PRG:20C5 B0 55 + sta Zp33 ; CPU:$E0C7 PRG:20C7 85 33 + lda #$00 ; CPU:$E0C9 PRG:20C9 A9 00 + ldx Zp82 ; CPU:$E0CB PRG:20CB A6 82 + bne Label_E11A ; CPU:$E0CD PRG:20CD D0 4B + lda #$01 ; CPU:$E0CF PRG:20CF A9 01 + ldx Zp84 ; CPU:$E0D1 PRG:20D1 A6 84 + cpx #$01 ; CPU:$E0D3 PRG:20D3 E0 01 + bne Label_E11A ; CPU:$E0D5 PRG:20D5 D0 43 + ldx $0301 ; CPU:$E0D7 PRG:20D7 AE 01 03 + cpx #$0D ; CPU:$E0DA PRG:20DA E0 0D + beq Label_E11A ; CPU:$E0DC PRG:20DC F0 3C + ldx $0321 ; CPU:$E0DE PRG:20DE AE 21 03 + cpx #$0D ; CPU:$E0E1 PRG:20E1 E0 0D + beq Label_E11A ; CPU:$E0E3 PRG:20E3 F0 35 + lda #$02 ; CPU:$E0E5 PRG:20E5 A9 02 + bne Label_E11A ; CPU:$E0E7 PRG:20E7 D0 31 + dec Zp32 ; CPU:$E0E9 PRG:20E9 C6 32 + lda Zp32 ; CPU:$E0EB PRG:20EB A5 32 + cmp #$2B ; CPU:$E0ED PRG:20ED C9 2B + bne Label_E11C ; CPU:$E0EF PRG:20EF D0 2B + lda #$12 ; CPU:$E0F1 PRG:20F1 A9 12 + sta Zp35 ; CPU:$E0F3 PRG:20F3 85 35 + jsr $E1CD ; CPU:$E0F5 PRG:20F5 20 CD E1 + lda #$03 ; CPU:$E0F8 PRG:20F8 A9 03 + bne Label_E11A ; CPU:$E0FA PRG:20FA D0 1E + lda $05EC ; CPU:$E0FC PRG:20FC AD EC 05 + clc ; CPU:$E0FF PRG:20FF 18 + adc #$08 ; CPU:$E100 PRG:2100 69 08 + bcc Label_E11C ; CPU:$E102 PRG:2102 90 18 + lda #$13 ; CPU:$E104 PRG:2104 A9 13 + sta Zp35 ; CPU:$E106 PRG:2106 85 35 + jsr $E1FD ; CPU:$E108 PRG:2108 20 FD E1 + lda #$2F ; CPU:$E10B PRG:210B A9 2F + sta $0258,x ; CPU:$E10D PRG:210D 9D 58 02 + lda #$27 ; CPU:$E110 PRG:2110 A9 27 + sta $025C,x ; CPU:$E112 PRG:2112 9D 5C 02 + jsr $E7C6 ; CPU:$E115 PRG:2115 20 C6 E7 + lda #$04 ; CPU:$E118 PRG:2118 A9 04 +; ----------------------------------------------------------------------------- +; Routine: Label_E11A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E11A: + sta Zp31 ; CPU:$E11A PRG:211A 85 31 +; ----------------------------------------------------------------------------- +; Routine: Label_E11C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E11C: + rts ; CPU:$E11C PRG:211C 60 +; ---- data $E11D-$E1CC (176 bytes) ---- + .byte $20, $FD, $E1, $FE, $58, $02, $FE, $5C, $02, $BD, $58, $02, $C9, $6D, $90, $EF ; CPU:$E11D PRG:211D 20 FD E1 FE 58 02 FE 5C 02 BD 58 02 C9 6D 90 EF + .byte $C9, $79, $90, $0E, $C9, $8E, $D0, $E7, $20, $1E, $E2, $20, $CE, $E7, $A9, $05 ; CPU:$E12D PRG:212D C9 79 90 0E C9 8E D0 E7 20 1E E2 20 CE E7 A9 05 + .byte $D0, $DB, $48, $86, $00, $A2, $01, $86, $01, $A9, $0A, $BC, $00, $03, $C0, $04 ; CPU:$E13D PRG:213D D0 DB 48 86 00 A2 01 86 01 A9 0A BC 00 03 C0 04 + .byte $D0, $06, $18, $7D, $02, $03, $D0, $03, $BD, $02, $03, $A4, $00, $38, $E9, $04 ; CPU:$E14D PRG:214D D0 06 18 7D 02 03 D0 03 BD 02 03 A4 00 38 E9 04 + .byte $38, $F9, $5B, $02, $B0, $04, $49, $FF, $69, $01, $C9, $06, $90, $0E, $68, $A4 ; CPU:$E15D PRG:215D 38 F9 5B 02 B0 04 49 FF 69 01 C9 06 90 0E 68 A4 + .byte $01, $F0, $C1, $48, $C6, $01, $A9, $F1, $A2, $21, $D0, $CF, $68, $A9, $0D, $9D ; CPU:$E16D PRG:216D 01 F0 C1 48 C6 01 A9 F1 A2 21 D0 CF 68 A9 0D 9D + .byte $00, $03, $A9, $0E, $9D, $12, $03, $A9, $7B, $9D, $01, $03, $8A, $48, $A9, $0F ; CPU:$E17D PRG:217D 00 03 A9 0E 9D 12 03 A9 7B 9D 01 03 8A 48 A9 0F + .byte $E0, $01, $F0, $02, $A9, $00, $A2, $05, $20, $C9, $E2, $68, $AA, $A9, $00, $9D ; CPU:$E18D PRG:218D E0 01 F0 02 A9 00 A2 05 20 C9 E2 68 AA A9 00 9D + .byte $11, $03, $9D, $10, $03, $9D, $0D, $03, $85, $88, $E6, $8B, $20, $CE, $E7, $20 ; CPU:$E19D PRG:219D 11 03 9D 10 03 9D 0D 03 85 88 E6 8B 20 CE E7 20 + .byte $CA, $E7, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $A9, $FF, $99, $2B, $00, $A6, $00 ; CPU:$E1AD PRG:21AD CA E7 8A 4A 4A 4A 4A 4A A8 A9 FF 99 2B 00 A6 00 + .byte $4C, $3B, $E1, $E6, $32, $A5, $32, $C9, $3D, $D0, $34, $A9, $01, $4C, $3D, $E1 ; CPU:$E1BD PRG:21BD 4C 3B E1 E6 32 A5 32 C9 3D D0 34 A9 01 4C 3D E1 +; ----------------------------------------------------------------------------- +; Routine: Label_E1CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E1CD: + jsr $E1FD ; CPU:$E1CD PRG:21CD 20 FD E1 + lda #$1D ; CPU:$E1D0 PRG:21D0 A9 1D + sta $0258,x ; CPU:$E1D2 PRG:21D2 9D 58 02 + lda #$15 ; CPU:$E1D5 PRG:21D5 A9 15 + sta $025C,x ; CPU:$E1D7 PRG:21D7 9D 5C 02 + inx ; CPU:$E1DA PRG:21DA E8 + lda #$6D ; CPU:$E1DB PRG:21DB A9 6D + sta $0258,x ; CPU:$E1DD PRG:21DD 9D 58 02 + lda #$6C ; CPU:$E1E0 PRG:21E0 A9 6C + sta $025C,x ; CPU:$E1E2 PRG:21E2 9D 5C 02 + inx ; CPU:$E1E5 PRG:21E5 E8 + lda #$02 ; CPU:$E1E6 PRG:21E6 A9 02 + sta $0258,x ; CPU:$E1E8 PRG:21E8 9D 58 02 + lda #$03 ; CPU:$E1EB PRG:21EB A9 03 + sta $025C,x ; CPU:$E1ED PRG:21ED 9D 5C 02 + inx ; CPU:$E1F0 PRG:21F0 E8 + lda Zp33 ; CPU:$E1F1 PRG:21F1 A5 33 + clc ; CPU:$E1F3 PRG:21F3 18 + adc #$04 ; CPU:$E1F4 PRG:21F4 69 04 + sta $0258,x ; CPU:$E1F6 PRG:21F6 9D 58 02 + sta $025C,x ; CPU:$E1F9 PRG:21F9 9D 5C 02 + rts ; CPU:$E1FC PRG:21FC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E1FD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E1FD: + ldx Zp89 ; CPU:$E1FD PRG:21FD A6 89 + dex ; CPU:$E1FF PRG:21FF CA + dex ; CPU:$E200 PRG:2200 CA + txa ; CPU:$E201 PRG:2201 8A + asl a ; CPU:$E202 PRG:2202 0A + asl a ; CPU:$E203 PRG:2203 0A + asl a ; CPU:$E204 PRG:2204 0A + tax ; CPU:$E205 PRG:2205 AA + rts ; CPU:$E206 PRG:2206 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E207 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E207: + ldx Zp36 ; CPU:$E207 PRG:2207 A6 36 + inx ; CPU:$E209 PRG:2209 E8 + inx ; CPU:$E20A PRG:220A E8 + ldy #$03 ; CPU:$E20B PRG:220B A0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E20D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E20D: + lda $0200,x ; CPU:$E20D PRG:220D BD 00 02 + ora #$40 ; CPU:$E210 PRG:2210 09 40 + sta $0200,x ; CPU:$E212 PRG:2212 9D 00 02 + txa ; CPU:$E215 PRG:2215 8A + clc ; CPU:$E216 PRG:2216 18 + adc #$08 ; CPU:$E217 PRG:2217 69 08 + tax ; CPU:$E219 PRG:2219 AA + dey ; CPU:$E21A PRG:221A 88 + bne Label_E20D ; CPU:$E21B PRG:221B D0 F0 + rts ; CPU:$E21D PRG:221D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E21E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E21E: + lda $0258 ; CPU:$E21E PRG:221E AD 58 02 + beq Label_E235 ; CPU:$E221 PRG:2221 F0 12 + lda Zp87 ; CPU:$E223 PRG:2223 A5 87 + bne Label_E235 ; CPU:$E225 PRG:2225 D0 0E + lda #$6F ; CPU:$E227 PRG:2227 A9 6F + sta $0259 ; CPU:$E229 PRG:2229 8D 59 02 + lda #$6E ; CPU:$E22C PRG:222C A9 6E + sta $025D ; CPU:$E22E PRG:222E 8D 5D 02 + lda #$0A ; CPU:$E231 PRG:2231 A9 0A + sta Zp87 ; CPU:$E233 PRG:2233 85 87 +; ----------------------------------------------------------------------------- +; Routine: Label_E235 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E235: + rts ; CPU:$E235 PRG:2235 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E236 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E236: + stx Zp0C ; CPU:$E236 PRG:2236 86 0C + sty Zp0D ; CPU:$E238 PRG:2238 84 0D + asl a ; CPU:$E23A PRG:223A 0A + tax ; CPU:$E23B PRG:223B AA + lda $F9CF,x ; CPU:$E23C PRG:223C BD CF F9 + sta Zp14 ; CPU:$E23F PRG:223F 85 14 + lda $F9D0,x ; CPU:$E241 PRG:2241 BD D0 F9 + sta Zp15 ; CPU:$E244 PRG:2244 85 15 + ldx #$05 ; CPU:$E246 PRG:2246 A2 05 + ldy #$04 ; CPU:$E248 PRG:2248 A0 04 +; ----------------------------------------------------------------------------- +; Routine: Label_E24A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E24A: + dey ; CPU:$E24A PRG:224A 88 + dex ; CPU:$E24B PRG:224B CA + beq Label_E255 ; CPU:$E24C PRG:224C F0 07 + lda (Zp14),y ; CPU:$E24E PRG:224E B1 14 + sta $0500,x ; CPU:$E250 PRG:2250 9D 00 05 + bne Label_E24A ; CPU:$E253 PRG:2253 D0 F5 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E255: + lda #$22 ; CPU:$E255 PRG:2255 A9 22 + sta $0500 ; CPU:$E257 PRG:2257 8D 00 05 + ldx Zp0C ; CPU:$E25A PRG:225A A6 0C + ldy Zp0D ; CPU:$E25C PRG:225C A4 0D + jsr $D08E ; CPU:$E25E PRG:225E 20 8E D0 + lda Zp0D ; CPU:$E261 PRG:2261 A5 0D + clc ; CPU:$E263 PRG:2263 18 + adc #$04 ; CPU:$E264 PRG:2264 69 04 + tay ; CPU:$E266 PRG:2266 A8 + ldx Zp0C ; CPU:$E267 PRG:2267 A6 0C + jmp $D08E ; CPU:$E269 PRG:2269 4C 8E D0 +; ----------------------------------------------------------------------------- +; Routine: Label_E26C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E26C: + stx Zp0E ; CPU:$E26C PRG:226C 86 0E + lda ZpC6,x ; CPU:$E26E PRG:226E B5 C6 + and #$0F ; CPU:$E270 PRG:2270 29 0F + sta ZpCF ; CPU:$E272 PRG:2272 85 CF + lda ZpC6,x ; CPU:$E274 PRG:2274 B5 C6 + lsr a ; CPU:$E276 PRG:2276 4A + lsr a ; CPU:$E277 PRG:2277 4A + lsr a ; CPU:$E278 PRG:2278 4A + lsr a ; CPU:$E279 PRG:2279 4A + sta ZpCE ; CPU:$E27A PRG:227A 85 CE + lda ZpC5,x ; CPU:$E27C PRG:227C B5 C5 + and #$0F ; CPU:$E27E PRG:227E 29 0F + sta ZpCD ; CPU:$E280 PRG:2280 85 CD + lda Zp1F ; CPU:$E282 PRG:2282 A5 1F + bne Label_E290 ; CPU:$E284 PRG:2284 D0 0A + cpx #$04 ; CPU:$E286 PRG:2286 E0 04 + bne Label_E2B8 ; CPU:$E288 PRG:2288 D0 2E + ldx #$07 ; CPU:$E28A PRG:228A A2 07 + ldy #$23 ; CPU:$E28C PRG:228C A0 23 + bne Label_E29C ; CPU:$E28E PRG:228E D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E290 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E290: + ldx #$E7 ; CPU:$E290 PRG:2290 A2 E7 + ldy #$22 ; CPU:$E292 PRG:2292 A0 22 + lda Zp0E ; CPU:$E294 PRG:2294 A5 0E + bne Label_E29C ; CPU:$E296 PRG:2296 D0 04 + ldx #$FB ; CPU:$E298 PRG:2298 A2 FB + ldy #$22 ; CPU:$E29A PRG:229A A0 22 +; ----------------------------------------------------------------------------- +; Routine: Label_E29C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E29C: + lda ZpCF ; CPU:$E29C PRG:229C A5 CF + jsr $E236 ; CPU:$E29E PRG:229E 20 36 E2 + ldy #$02 ; CPU:$E2A1 PRG:22A1 A0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E2A3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2A3: + sty Zp0F ; CPU:$E2A3 PRG:22A3 84 0F + lda Zp0C ; CPU:$E2A5 PRG:22A5 A5 0C + sec ; CPU:$E2A7 PRG:22A7 38 + sbc #$02 ; CPU:$E2A8 PRG:22A8 E9 02 + tax ; CPU:$E2AA PRG:22AA AA + lda a:$00CC,y ; CPU:$E2AB PRG:22AB B9 CC 00 + ldy Zp0D ; CPU:$E2AE PRG:22AE A4 0D + jsr $E236 ; CPU:$E2B0 PRG:22B0 20 36 E2 + ldy Zp0F ; CPU:$E2B3 PRG:22B3 A4 0F + dey ; CPU:$E2B5 PRG:22B5 88 + bne Label_E2A3 ; CPU:$E2B6 PRG:22B6 D0 EB +; ----------------------------------------------------------------------------- +; Routine: Label_E2B8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2B8: + rts ; CPU:$E2B8 PRG:22B8 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E2B9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2B9: + lda Zp1F ; CPU:$E2B9 PRG:22B9 A5 1F + bne Label_E2C1 ; CPU:$E2BB PRG:22BB D0 04 + lda Zp89 ; CPU:$E2BD PRG:22BD A5 89 + beq Label_E2B8 ; CPU:$E2BF PRG:22BF F0 F7 +; ----------------------------------------------------------------------------- +; Routine: Label_E2C1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2C1: + lda #$0F ; CPU:$E2C1 PRG:22C1 A9 0F + ldy Zp89 ; CPU:$E2C3 PRG:22C3 A4 89 + beq Label_E2C9 ; CPU:$E2C5 PRG:22C5 F0 02 + lda #$00 ; CPU:$E2C7 PRG:22C7 A9 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E2C9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2C9: + ldy #$00 ; CPU:$E2C9 PRG:22C9 A0 00 + sty Zp05 ; CPU:$E2CB PRG:22CB 84 05 + sty Zp06 ; CPU:$E2CD PRG:22CD 84 06 + ldy #$FF ; CPU:$E2CF PRG:22CF A0 FF + sty Zp04 ; CPU:$E2D1 PRG:22D1 84 04 + stx Zp07 ; CPU:$E2D3 PRG:22D3 86 07 + jmp $CEBE ; CPU:$E2D5 PRG:22D5 4C BE CE +; ----------------------------------------------------------------------------- +; Routine: Label_E2D8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2D8: + lda Zp93 ; CPU:$E2D8 PRG:22D8 A5 93 + bne Label_E34F ; CPU:$E2DA PRG:22DA D0 73 + lda Zp82 ; CPU:$E2DC PRG:22DC A5 82 + bne Label_E34F ; CPU:$E2DE PRG:22DE D0 6F + ldy #$02 ; CPU:$E2E0 PRG:22E0 A0 02 + lda $0301 ; CPU:$E2E2 PRG:22E2 AD 01 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E2E5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2E5: + cmp #$0A ; CPU:$E2E5 PRG:22E5 C9 0A + beq Label_E34F ; CPU:$E2E7 PRG:22E7 F0 66 + cmp #$0B ; CPU:$E2E9 PRG:22E9 C9 0B + beq Label_E34F ; CPU:$E2EB PRG:22EB F0 62 + lda $0321 ; CPU:$E2ED PRG:22ED AD 21 03 + dey ; CPU:$E2F0 PRG:22F0 88 + bne Label_E2E5 ; CPU:$E2F1 PRG:22F1 D0 F2 + lda Zp2D ; CPU:$E2F3 PRG:22F3 A5 2D + bne Label_E34F ; CPU:$E2F5 PRG:22F5 D0 58 + lda #$07 ; CPU:$E2F7 PRG:22F7 A9 07 + ldx Zp1F ; CPU:$E2F9 PRG:22F9 A6 1F + bne Label_E2FF ; CPU:$E2FB PRG:22FB D0 02 + lda #$06 ; CPU:$E2FD PRG:22FD A9 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E2FF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E2FF: + sta Zp2D ; CPU:$E2FF PRG:22FF 85 2D + lda Zp81 ; CPU:$E301 PRG:2301 A5 81 + cmp #$03 ; CPU:$E303 PRG:2303 C9 03 + beq Label_E30F ; CPU:$E305 PRG:2305 F0 08 + cmp #$06 ; CPU:$E307 PRG:2307 C9 06 + beq Label_E30F ; CPU:$E309 PRG:2309 F0 04 + cmp #$09 ; CPU:$E30B PRG:230B C9 09 + bne Label_E312 ; CPU:$E30D PRG:230D D0 03 +; ----------------------------------------------------------------------------- +; Routine: Label_E30F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E30F: + jsr $DFBC ; CPU:$E30F PRG:230F 20 BC DF +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E312: + dec Zp81 ; CPU:$E312 PRG:2312 C6 81 + bpl Label_E31E ; CPU:$E314 PRG:2314 10 08 + dec Zp80 ; CPU:$E316 PRG:2316 C6 80 + bmi Label_E346 ; CPU:$E318 PRG:2318 30 2C + lda #$09 ; CPU:$E31A PRG:231A A9 09 + sta Zp81 ; CPU:$E31C PRG:231C 85 81 +; ----------------------------------------------------------------------------- +; Routine: Label_E31E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E31E: + lda Zp1F ; CPU:$E31E PRG:231E A5 1F + bne Label_E334 ; CPU:$E320 PRG:2320 D0 12 + ldx #$0E ; CPU:$E322 PRG:2322 A2 0E + ldy #$23 ; CPU:$E324 PRG:2324 A0 23 + lda Zp80 ; CPU:$E326 PRG:2326 A5 80 + jsr $E236 ; CPU:$E328 PRG:2328 20 36 E2 + ldx #$10 ; CPU:$E32B PRG:232B A2 10 + ldy #$23 ; CPU:$E32D PRG:232D A0 23 + lda Zp81 ; CPU:$E32F PRG:232F A5 81 + jmp $E236 ; CPU:$E331 PRG:2331 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E334 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E334: + ldx #$2E ; CPU:$E334 PRG:2334 A2 2E + ldy #$23 ; CPU:$E336 PRG:2336 A0 23 + lda Zp80 ; CPU:$E338 PRG:2338 A5 80 + jsr $E236 ; CPU:$E33A PRG:233A 20 36 E2 + ldx #$30 ; CPU:$E33D PRG:233D A2 30 + ldy #$23 ; CPU:$E33F PRG:233F A0 23 + lda Zp81 ; CPU:$E341 PRG:2341 A5 81 + jmp $E236 ; CPU:$E343 PRG:2343 4C 36 E2 +; ----------------------------------------------------------------------------- +; Routine: Label_E346 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E346: + inc Zp82 ; CPU:$E346 PRG:2346 E6 82 + lda #$02 ; CPU:$E348 PRG:2348 A9 02 + sta Zp84 ; CPU:$E34A PRG:234A 85 84 + jsr $E80C ; CPU:$E34C PRG:234C 20 0C E8 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E34F: + rts ; CPU:$E34F PRG:234F 60 +; ---- data $E350-$E40D (190 bytes) ---- + .byte $A5, $1F, $D0, $FB, $A6, $72, $E0, $12, $F0, $32, $BD, $C7, $E3, $85, $0C, $BD ; CPU:$E350 PRG:2350 A5 1F D0 FB A6 72 E0 12 F0 32 BD C7 E3 85 0C BD + .byte $C6, $E3, $8D, $01, $05, $A6, $73, $86, $0D, $E0, $56, $F0, $39, $A9, $11, $8D ; CPU:$E360 PRG:2360 C6 E3 8D 01 05 A6 73 86 0D E0 56 F0 39 A9 11 8D + .byte $00, $05, $20, $B7, $E3, $A5, $0C, $8D, $01, $05, $8D, $02, $05, $8D, $03, $05 ; CPU:$E370 PRG:2370 00 05 20 B7 E3 A5 0C 8D 01 05 8D 02 05 8D 03 05 + .byte $A9, $13, $8D, $00, $05, $A2, $F5, $86, $0D, $4C, $B7, $E3, $A0, $09, $A2, $08 ; CPU:$E380 PRG:2380 A9 13 8D 00 05 A2 F5 86 0D 4C B7 E3 A0 09 A2 08 + .byte $BD, $D7, $E3, $99, $FF, $04, $88, $CA, $D0, $F6, $A9, $18, $8D, $00, $05, $A2 ; CPU:$E390 PRG:2390 BD D7 E3 99 FF 04 88 CA D0 F6 A9 18 8D 00 05 A2 + .byte $56, $86, $0D, $4C, $B7, $E3, $A2, $04, $A9, $2F, $9D, $01, $05, $CA, $D0, $FA ; CPU:$E3A0 PRG:23A0 56 86 0D 4C B7 E3 A2 04 A9 2F 9D 01 05 CA D0 FA + .byte $A9, $15, $8D, $00, $05, $D0, $BB, $A6, $0D, $A0, $23, $20, $8E, $D0, $A6, $0D ; CPU:$E3B0 PRG:23B0 A9 15 8D 00 05 D0 BB A6 0D A0 23 20 8E D0 A6 0D + .byte $A0, $27, $20, $8E, $D0, $60, $AB, $FA, $AE, $5A, $C1, $5A, $E7, $0A, $AC, $FA ; CPU:$E3C0 PRG:23C0 A0 27 20 8E D0 60 AB FA AE 5A C1 5A E7 0A AC FA + .byte $BC, $5A, $AF, $5A, $E6, $FA, $AD, $FA, $EA, $EF, $E8, $F4, $F7, $F0, $F6, $F5 ; CPU:$E3D0 PRG:23D0 BC 5A AF 5A E6 FA AD FA EA EF E8 F4 F7 F0 F6 F5 + .byte $A0, $00, $84, $82, $84, $88, $84, $8B, $8C, $00, $02, $8C, $0D, $03, $8C, $2D ; CPU:$E3E0 PRG:23E0 A0 00 84 82 84 88 84 8B 8C 00 02 8C 0D 03 8C 2D + .byte $03, $84, $3D, $84, $C6, $84, $CA, $84, $83, $84, $93, $84, $A3, $C8, $84, $84 ; CPU:$E3F0 PRG:23F0 03 84 3D 84 C6 84 CA 84 83 84 93 84 A3 C8 84 84 + .byte $C8, $84, $C5, $84, $C9, $A9, $09, $85, $80, $A9, $0A, $85, $81, $60 ; CPU:$E400 PRG:2400 C8 84 C5 84 C9 A9 09 85 80 A9 0A 85 81 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E40E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E40E: + lda #$80 ; CPU:$E40E PRG:240E A9 80 + ldy Zp49 ; CPU:$E410 PRG:2410 A4 49 + beq Label_E418 ; CPU:$E412 PRG:2412 F0 04 + dec Zp49 ; CPU:$E414 PRG:2414 C6 49 + bne Label_E458 ; CPU:$E416 PRG:2416 D0 40 +; ----------------------------------------------------------------------------- +; Routine: Label_E418 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E418: + ldy Zp4A ; CPU:$E418 PRG:2418 A4 4A +; ----------------------------------------------------------------------------- +; Routine: Label_E41A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E41A: + lda $F7F1,y ; CPU:$E41A PRG:241A B9 F1 F7 + cmp #$FF ; CPU:$E41D PRG:241D C9 FF + beq Label_E458 ; CPU:$E41F PRG:241F F0 37 + cmp #$FE ; CPU:$E421 PRG:2421 C9 FE + bne Label_E42A ; CPU:$E423 PRG:2423 D0 05 + dey ; CPU:$E425 PRG:2425 88 + dey ; CPU:$E426 PRG:2426 88 + dey ; CPU:$E427 PRG:2427 88 + bne Label_E41A ; CPU:$E428 PRG:2428 D0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_E42A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E42A: + cmp #$FD ; CPU:$E42A PRG:242A C9 FD + bne Label_E438 ; CPU:$E42C PRG:242C D0 0A + iny ; CPU:$E42E PRG:242E C8 + lda $F7F1,y ; CPU:$E42F PRG:242F B9 F1 F7 + sta Zp35 ; CPU:$E432 PRG:2432 85 35 + iny ; CPU:$E434 PRG:2434 C8 + lda $F7F1,y ; CPU:$E435 PRG:2435 B9 F1 F7 +; ----------------------------------------------------------------------------- +; Routine: Label_E438 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E438: + sta Zp49 ; CPU:$E438 PRG:2438 85 49 + iny ; CPU:$E43A PRG:243A C8 + lda $F7F1,y ; CPU:$E43B PRG:243B B9 F1 F7 + clc ; CPU:$E43E PRG:243E 18 + adc Zp32 ; CPU:$E43F PRG:243F 65 32 + sta Zp32 ; CPU:$E441 PRG:2441 85 32 + iny ; CPU:$E443 PRG:2443 C8 + lda $F7F1,y ; CPU:$E444 PRG:2444 B9 F1 F7 + ldx Zp89 ; CPU:$E447 PRG:2447 A6 89 + beq Label_E450 ; CPU:$E449 PRG:2449 F0 05 + eor #$FF ; CPU:$E44B PRG:244B 49 FF + clc ; CPU:$E44D PRG:244D 18 + adc #$01 ; CPU:$E44E PRG:244E 69 01 +; ----------------------------------------------------------------------------- +; Routine: Label_E450 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E450: + clc ; CPU:$E450 PRG:2450 18 + adc Zp33 ; CPU:$E451 PRG:2451 65 33 + sta Zp33 ; CPU:$E453 PRG:2453 85 33 + iny ; CPU:$E455 PRG:2455 C8 + sty Zp4A ; CPU:$E456 PRG:2456 84 4A +; ----------------------------------------------------------------------------- +; Routine: Label_E458 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E458: + rts ; CPU:$E458 PRG:2458 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E459 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E459: + ldx #$20 ; CPU:$E459 PRG:2459 A2 20 + lda Zp89 ; CPU:$E45B PRG:245B A5 89 + beq Label_E461 ; CPU:$E45D PRG:245D F0 02 + ldx #$00 ; CPU:$E45F PRG:245F A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E461 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E461: + rts ; CPU:$E461 PRG:2461 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E462 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E462: + lda #$00 ; CPU:$E462 PRG:2462 A9 00 + sta Zp41 ; CPU:$E464 PRG:2464 85 41 + sta Zp42 ; CPU:$E466 PRG:2466 85 42 + rts ; CPU:$E468 PRG:2468 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E469 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E469: + lda #$00 ; CPU:$E469 PRG:2469 A9 00 + sta Zp00 ; CPU:$E46B PRG:246B 85 00 + rts ; CPU:$E46D PRG:246D 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E46E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E46E: + lda Zp82 ; CPU:$E46E PRG:246E A5 82 + beq Label_E479 ; CPU:$E470 PRG:2470 F0 07 + lda $0204 ; CPU:$E472 PRG:2472 AD 04 02 + cmp #$9F ; CPU:$E475 PRG:2475 C9 9F + beq Label_E469 ; CPU:$E477 PRG:2477 F0 F0 +; ----------------------------------------------------------------------------- +; Routine: Label_E479 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E479: + lda Zp89 ; CPU:$E479 PRG:2479 A5 89 + eor #$01 ; CPU:$E47B PRG:247B 49 01 + tax ; CPU:$E47D PRG:247D AA + lda Zp18,x ; CPU:$E47E PRG:247E B5 18 + ldy Zp84 ; CPU:$E480 PRG:2480 A4 84 + cpy #$02 ; CPU:$E482 PRG:2482 C0 02 + beq Label_E48A ; CPU:$E484 PRG:2484 F0 04 + cpy #$03 ; CPU:$E486 PRG:2486 C0 03 + bne Label_E496 ; CPU:$E488 PRG:2488 D0 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E48A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E48A: + ldy Zp82 ; CPU:$E48A PRG:248A A4 82 + bne Label_E496 ; CPU:$E48C PRG:248C D0 08 + lda #$01 ; CPU:$E48E PRG:248E A9 01 + cpx #$00 ; CPU:$E490 PRG:2490 E0 00 + bne Label_E496 ; CPU:$E492 PRG:2492 D0 02 + lda #$02 ; CPU:$E494 PRG:2494 A9 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E496 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E496: + sta Zp00 ; CPU:$E496 PRG:2496 85 00 + beq Label_E4BF ; CPU:$E498 PRG:2498 F0 25 + lda #$00 ; CPU:$E49A PRG:249A A9 00 + sta Zp3E ; CPU:$E49C PRG:249C 85 3E + ldx Zp89 ; CPU:$E49E PRG:249E A6 89 + beq Label_E4AE ; CPU:$E4A0 PRG:24A0 F0 0C + lda Zp00 ; CPU:$E4A2 PRG:24A2 A5 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E4A4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4A4: + and #$03 ; CPU:$E4A4 PRG:24A4 29 03 + beq Label_E4AE ; CPU:$E4A6 PRG:24A6 F0 06 + lda #$03 ; CPU:$E4A8 PRG:24A8 A9 03 + eor Zp00 ; CPU:$E4AA PRG:24AA 45 00 + sta Zp00 ; CPU:$E4AC PRG:24AC 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E4AE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4AE: + ldx #$01 ; CPU:$E4AE PRG:24AE A2 01 + lda #$04 ; CPU:$E4B0 PRG:24B0 A9 04 + bit Zp00 ; CPU:$E4B2 PRG:24B2 24 00 + bne Label_E4BD ; CPU:$E4B4 PRG:24B4 D0 07 + dex ; CPU:$E4B6 PRG:24B6 CA + lda #$08 ; CPU:$E4B7 PRG:24B7 A9 08 + bit Zp00 ; CPU:$E4B9 PRG:24B9 24 00 + beq Label_E4BF ; CPU:$E4BB PRG:24BB F0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E4BD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4BD: + stx Zp44 ; CPU:$E4BD PRG:24BD 86 44 +; ----------------------------------------------------------------------------- +; Routine: Label_E4BF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4BF: + rts ; CPU:$E4BF PRG:24BF 60 +; ---- data $E4C0-$E4E1 (34 bytes) ---- + .byte $A2, $1F, $BD, $96, $F6, $9D, $00, $03, $CA, $10, $F7, $A2, $1F, $BD, $B6, $F6 ; CPU:$E4C0 PRG:24C0 A2 1F BD 96 F6 9D 00 03 CA 10 F7 A2 1F BD B6 F6 + .byte $9D, $20, $03, $CA, $10, $F7, $A2, $1F, $BD, $D6, $F6, $9D, $40, $03, $CA, $10 ; CPU:$E4D0 PRG:24D0 9D 20 03 CA 10 F7 A2 1F BD D6 F6 9D 40 03 CA 10 + .byte $F7, $60 ; CPU:$E4E0 PRG:24E0 F7 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E4E2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4E2: + lda Zp41 ; CPU:$E4E2 PRG:24E2 A5 41 + beq Label_E4EA ; CPU:$E4E4 PRG:24E4 F0 04 + dec Zp41 ; CPU:$E4E6 PRG:24E6 C6 41 + bne Label_E52A ; CPU:$E4E8 PRG:24E8 D0 40 +; ----------------------------------------------------------------------------- +; Routine: Label_E4EA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4EA: + lda Zp3E ; CPU:$E4EA PRG:24EA A5 3E + beq Label_E4F6 ; CPU:$E4EC PRG:24EC F0 08 + dec Zp3E ; CPU:$E4EE PRG:24EE C6 3E + lda #$4F ; CPU:$E4F0 PRG:24F0 A9 4F + cmp Zp3E ; CPU:$E4F2 PRG:24F2 C5 3E + bne Label_E52A ; CPU:$E4F4 PRG:24F4 D0 34 +; ----------------------------------------------------------------------------- +; Routine: Label_E4F6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E4F6: + ldy Zp43 ; CPU:$E4F6 PRG:24F6 A4 43 + beq Label_E52A ; CPU:$E4F8 PRG:24F8 F0 30 + dey ; CPU:$E4FA PRG:24FA 88 + tya ; CPU:$E4FB PRG:24FB 98 + asl a ; CPU:$E4FC PRG:24FC 0A + tay ; CPU:$E4FD PRG:24FD A8 + lda $F77D,y ; CPU:$E4FE PRG:24FE B9 7D F7 + ldx $F77E,y ; CPU:$E501 PRG:2501 BE 7E F7 + sta Zp00 ; CPU:$E504 PRG:2504 85 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E506 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E506: + stx Zp01 ; CPU:$E506 PRG:2506 86 01 + ldy Zp42 ; CPU:$E508 PRG:2508 A4 42 +; ----------------------------------------------------------------------------- +; Routine: Label_E50A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E50A: + lda (Zp00),y ; CPU:$E50A PRG:250A B1 00 + cmp #$FE ; CPU:$E50C PRG:250C C9 FE + beq Label_E52B ; CPU:$E50E PRG:250E F0 1B + cmp #$FF ; CPU:$E510 PRG:2510 C9 FF + beq Label_E52F ; CPU:$E512 PRG:2512 F0 1B + sta Zp41 ; CPU:$E514 PRG:2514 85 41 + iny ; CPU:$E516 PRG:2516 C8 + lda (Zp00),y ; CPU:$E517 PRG:2517 B1 00 + sta Zp35 ; CPU:$E519 PRG:2519 85 35 + iny ; CPU:$E51B PRG:251B C8 + sty Zp42 ; CPU:$E51C PRG:251C 84 42 + lda Zp89 ; CPU:$E51E PRG:251E A5 89 + cmp #$02 ; CPU:$E520 PRG:2520 C9 02 + bcs Label_E52A ; CPU:$E522 PRG:2522 B0 06 + jsr $E535 ; CPU:$E524 PRG:2524 20 35 E5 + jsr $E54A ; CPU:$E527 PRG:2527 20 4A E5 +; ----------------------------------------------------------------------------- +; Routine: Label_E52A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52A: + rts ; CPU:$E52A PRG:252A 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E52B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52B: + ldy #$00 ; CPU:$E52B PRG:252B A0 00 + beq Label_E50A ; CPU:$E52D PRG:252D F0 DB +; ----------------------------------------------------------------------------- +; Routine: Label_E52F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E52F: + jsr $E462 ; CPU:$E52F PRG:252F 20 62 E4 + sta Zp43 ; CPU:$E532 PRG:2532 85 43 + rts ; CPU:$E534 PRG:2534 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E535 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E535: + lda Zp3E ; CPU:$E535 PRG:2535 A5 3E + bne Label_E549 ; CPU:$E537 PRG:2537 D0 10 + lda Zp43 ; CPU:$E539 PRG:2539 A5 43 + cmp #$05 ; CPU:$E53B PRG:253B C9 05 + beq Label_E543 ; CPU:$E53D PRG:253D F0 04 + cmp #$06 ; CPU:$E53F PRG:253F C9 06 + bne Label_E549 ; CPU:$E541 PRG:2541 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E543 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E543: + lda #$01 ; CPU:$E543 PRG:2543 A9 01 + eor Zp32 ; CPU:$E545 PRG:2545 45 32 + sta Zp32 ; CPU:$E547 PRG:2547 85 32 +; ----------------------------------------------------------------------------- +; Routine: Label_E549 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E549: + rts ; CPU:$E549 PRG:2549 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E54A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E54A: + lda Zp89 ; CPU:$E54A PRG:254A A5 89 + asl a ; CPU:$E54C PRG:254C 0A + asl a ; CPU:$E54D PRG:254D 0A + asl a ; CPU:$E54E PRG:254E 0A + sta Zp34 ; CPU:$E54F PRG:254F 85 34 + lda #$02 ; CPU:$E551 PRG:2551 A9 02 + sta Zp00 ; CPU:$E553 PRG:2553 85 00 + lda Zp31 ; CPU:$E555 PRG:2555 A5 31 + cmp #$0C ; CPU:$E557 PRG:2557 C9 0C + beq Label_E582 ; CPU:$E559 PRG:2559 F0 27 + cmp #$10 ; CPU:$E55B PRG:255B C9 10 + beq Label_E582 ; CPU:$E55D PRG:255D F0 23 + cmp #$01 ; CPU:$E55F PRG:255F C9 01 + beq Label_E56B ; CPU:$E561 PRG:2561 F0 08 + cmp #$02 ; CPU:$E563 PRG:2563 C9 02 + bne Label_E5AB ; CPU:$E565 PRG:2565 D0 44 + lda #$00 ; CPU:$E567 PRG:2567 A9 00 + sta Zp88 ; CPU:$E569 PRG:2569 85 88 +; ----------------------------------------------------------------------------- +; Routine: Label_E56B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E56B: + jsr $E46E ; CPU:$E56B PRG:256B 20 6E E4 + lda Zp88 ; CPU:$E56E PRG:256E A5 88 + bne Label_E5AB ; CPU:$E570 PRG:2570 D0 39 + lda #$01 ; CPU:$E572 PRG:2572 A9 01 + bit Zp00 ; CPU:$E574 PRG:2574 24 00 + bne Label_E582 ; CPU:$E576 PRG:2576 D0 0A + lda #$02 ; CPU:$E578 PRG:2578 A9 02 + bit Zp00 ; CPU:$E57A PRG:257A 24 00 + beq Label_E5AB ; CPU:$E57C PRG:257C F0 2D + lda #$00 ; CPU:$E57E PRG:257E A9 00 + sta Zp3A ; CPU:$E580 PRG:2580 85 3A +; ----------------------------------------------------------------------------- +; Routine: Label_E582 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E582: + ldx #$03 ; CPU:$E582 PRG:2582 A2 03 + lda Zp89 ; CPU:$E584 PRG:2584 A5 89 + eor Zp00 ; CPU:$E586 PRG:2586 45 00 + and #$01 ; CPU:$E588 PRG:2588 29 01 + bne Label_E594 ; CPU:$E58A PRG:258A D0 08 + txa ; CPU:$E58C PRG:258C 8A + eor #$FF ; CPU:$E58D PRG:258D 49 FF + clc ; CPU:$E58F PRG:258F 18 + adc #$01 ; CPU:$E590 PRG:2590 69 01 + bne Label_E595 ; CPU:$E592 PRG:2592 D0 01 +; ----------------------------------------------------------------------------- +; Routine: Label_E594 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E594: + txa ; CPU:$E594 PRG:2594 8A +; ----------------------------------------------------------------------------- +; Routine: Label_E595 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E595: + clc ; CPU:$E595 PRG:2595 18 + adc Zp33 ; CPU:$E596 PRG:2596 65 33 + sta Zp33 ; CPU:$E598 PRG:2598 85 33 + lda #$7B ; CPU:$E59A PRG:259A A9 7B + sta Zp32 ; CPU:$E59C PRG:259C 85 32 + lda #$01 ; CPU:$E59E PRG:259E A9 01 + sta Zp8B ; CPU:$E5A0 PRG:25A0 85 8B + lda Zp35 ; CPU:$E5A2 PRG:25A2 A5 35 + cmp #$00 ; CPU:$E5A4 PRG:25A4 C9 00 + bne Label_E5AB ; CPU:$E5A6 PRG:25A6 D0 03 + jsr $E7AB ; CPU:$E5A8 PRG:25A8 20 AB E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E5AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5AB: + rts ; CPU:$E5AB PRG:25AB 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E5AC +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5AC: + lda Zp30 ; CPU:$E5AC PRG:25AC A5 30 + beq Label_E5E4 ; CPU:$E5AE PRG:25AE F0 34 + lda Zp36 ; CPU:$E5B0 PRG:25B0 A5 36 + sta ZpB4 ; CPU:$E5B2 PRG:25B2 85 B4 + lda Zp35 ; CPU:$E5B4 PRG:25B4 A5 35 + asl a ; CPU:$E5B6 PRG:25B6 0A + tay ; CPU:$E5B7 PRG:25B7 A8 + lda #$13 ; CPU:$E5B8 PRG:25B8 A9 13 + sta Zp12 ; CPU:$E5BA PRG:25BA 85 12 + lda #$E8 ; CPU:$E5BC PRG:25BC A9 E8 + sta Zp13 ; CPU:$E5BE PRG:25BE 85 13 + lda (Zp12),y ; CPU:$E5C0 PRG:25C0 B1 12 + sta Zp10 ; CPU:$E5C2 PRG:25C2 85 10 + iny ; CPU:$E5C4 PRG:25C4 C8 + lda (Zp12),y ; CPU:$E5C5 PRG:25C5 B1 12 + sta Zp11 ; CPU:$E5C7 PRG:25C7 85 11 + ldy #$00 ; CPU:$E5C9 PRG:25C9 A0 00 + sty Zp1A ; CPU:$E5CB PRG:25CB 84 1A +; ----------------------------------------------------------------------------- +; Routine: Label_E5CD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5CD: + ldy Zp1A ; CPU:$E5CD PRG:25CD A4 1A + lda (Zp10),y ; CPU:$E5CF PRG:25CF B1 10 + cmp #$00 ; CPU:$E5D1 PRG:25D1 C9 00 + bne Label_E5E5 ; CPU:$E5D3 PRG:25D3 D0 10 + ldx ZpB4 ; CPU:$E5D5 PRG:25D5 A6 B4 + lda #$F4 ; CPU:$E5D7 PRG:25D7 A9 F4 +; ----------------------------------------------------------------------------- +; Routine: Label_E5D9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5D9: + cpx Zp37 ; CPU:$E5D9 PRG:25D9 E4 37 + beq Label_E5E4 ; CPU:$E5DB PRG:25DB F0 07 + sta $0200,x ; CPU:$E5DD PRG:25DD 9D 00 02 + inx ; CPU:$E5E0 PRG:25E0 E8 + jmp $E5D9 ; CPU:$E5E1 PRG:25E1 4C D9 E5 +; ----------------------------------------------------------------------------- +; Routine: Label_E5E4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5E4: + rts ; CPU:$E5E4 PRG:25E4 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E5E5 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5E5: + sta Zp13 ; CPU:$E5E5 PRG:25E5 85 13 + iny ; CPU:$E5E7 PRG:25E7 C8 + lda (Zp10),y ; CPU:$E5E8 PRG:25E8 B1 10 + iny ; CPU:$E5EA PRG:25EA C8 + sta Zp12 ; CPU:$E5EB PRG:25EB 85 12 + lda (Zp10),y ; CPU:$E5ED PRG:25ED B1 10 + iny ; CPU:$E5EF PRG:25EF C8 + jsr $E6CE ; CPU:$E5F0 PRG:25F0 20 CE E6 + bcc Label_E5FB ; CPU:$E5F3 PRG:25F3 90 06 + jsr $E6FA ; CPU:$E5F5 PRG:25F5 20 FA E6 + sec ; CPU:$E5F8 PRG:25F8 38 + sbc #$08 ; CPU:$E5F9 PRG:25F9 E9 08 +; ----------------------------------------------------------------------------- +; Routine: Label_E5FB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E5FB: + clc ; CPU:$E5FB PRG:25FB 18 + adc Zp32 ; CPU:$E5FC PRG:25FC 65 32 + sta ZpB1 ; CPU:$E5FE PRG:25FE 85 B1 + lda (Zp10),y ; CPU:$E600 PRG:2600 B1 10 + iny ; CPU:$E602 PRG:2602 C8 + jsr $E6D4 ; CPU:$E603 PRG:2603 20 D4 E6 + bne Label_E60E ; CPU:$E606 PRG:2606 D0 06 + jsr $E6FA ; CPU:$E608 PRG:2608 20 FA E6 + sec ; CPU:$E60B PRG:260B 38 + sbc #$08 ; CPU:$E60C PRG:260C E9 08 +; ----------------------------------------------------------------------------- +; Routine: Label_E60E +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E60E: + clc ; CPU:$E60E PRG:260E 18 + adc Zp33 ; CPU:$E60F PRG:260F 65 33 + sta ZpB2 ; CPU:$E611 PRG:2611 85 B2 + sty Zp1A ; CPU:$E613 PRG:2613 84 1A + ldy #$00 ; CPU:$E615 PRG:2615 A0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E617 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E617: + lda (Zp12),y ; CPU:$E617 PRG:2617 B1 12 + ldx #$00 ; CPU:$E619 PRG:2619 A2 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E61B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E61B: + cmp #$00 ; CPU:$E61B PRG:261B C9 00 + beq Label_E62D ; CPU:$E61D PRG:261D F0 0E + ldx #$14 ; CPU:$E61F PRG:261F A2 14 + cmp #$01 ; CPU:$E621 PRG:2621 C9 01 + beq Label_E62D ; CPU:$E623 PRG:2623 F0 08 + ldx #$32 ; CPU:$E625 PRG:2625 A2 32 + cmp #$02 ; CPU:$E627 PRG:2627 C9 02 + beq Label_E62D ; CPU:$E629 PRG:2629 F0 02 + ldx #$5A ; CPU:$E62B PRG:262B A2 5A +; ----------------------------------------------------------------------------- +; Routine: Label_E62D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E62D: + stx Zp1B ; CPU:$E62D PRG:262D 86 1B +; ----------------------------------------------------------------------------- +; Routine: Label_E62F +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E62F: + iny ; CPU:$E62F PRG:262F C8 +; ----------------------------------------------------------------------------- +; Routine: Label_E630 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E630: + lda (Zp12),y ; CPU:$E630 PRG:2630 B1 12 + cmp #$FF ; CPU:$E632 PRG:2632 C9 FF + beq Label_E5CD ; CPU:$E634 PRG:2634 F0 97 + cmp #$FE ; CPU:$E636 PRG:2636 C9 FE + bne Label_E641 ; CPU:$E638 PRG:2638 D0 07 + inc Zp1B ; CPU:$E63A PRG:263A E6 1B + inc Zp1B ; CPU:$E63C PRG:263C E6 1B + jmp $E62F ; CPU:$E63E PRG:263E 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E641 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E641: + cmp #$FD ; CPU:$E641 PRG:2641 C9 FD + bne Label_E65A ; CPU:$E643 PRG:2643 D0 15 + iny ; CPU:$E645 PRG:2645 C8 + lda (Zp12),y ; CPU:$E646 PRG:2646 B1 12 + clc ; CPU:$E648 PRG:2648 18 + adc Zp3C ; CPU:$E649 PRG:2649 65 3C + sta ZpB3 ; CPU:$E64B PRG:264B 85 B3 + lda Zp38 ; CPU:$E64D PRG:264D A5 38 + beq Label_E62F ; CPU:$E64F PRG:264F F0 DE + lda ZpB3 ; CPU:$E651 PRG:2651 A5 B3 + ora #$20 ; CPU:$E653 PRG:2653 09 20 + sta ZpB3 ; CPU:$E655 PRG:2655 85 B3 + jmp $E62F ; CPU:$E657 PRG:2657 4C 2F E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E65A +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E65A: + ldx Zp1B ; CPU:$E65A PRG:265A A6 1B + lda $E8E5,x ; CPU:$E65C PRG:265C BD E5 E8 + inc Zp1B ; CPU:$E65F PRG:265F E6 1B + jsr $E6CE ; CPU:$E661 PRG:2661 20 CE E6 + bcc Label_E669 ; CPU:$E664 PRG:2664 90 03 + jsr $E6FA ; CPU:$E666 PRG:2666 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E669 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E669: + clc ; CPU:$E669 PRG:2669 18 + adc ZpB1 ; CPU:$E66A PRG:266A 65 B1 + jsr $E6DD ; CPU:$E66C PRG:266C 20 DD E6 + ldx ZpB4 ; CPU:$E66F PRG:266F A6 B4 + sta $0200,x ; CPU:$E671 PRG:2671 9D 00 02 + inc ZpB4 ; CPU:$E674 PRG:2674 E6 B4 + lda (Zp12),y ; CPU:$E676 PRG:2676 B1 12 + iny ; CPU:$E678 PRG:2678 C8 + ldx ZpB4 ; CPU:$E679 PRG:2679 A6 B4 + sta $0200,x ; CPU:$E67B PRG:267B 9D 00 02 + inc ZpB4 ; CPU:$E67E PRG:267E E6 B4 + lda ZpB3 ; CPU:$E680 PRG:2680 A5 B3 + ldx Zp34 ; CPU:$E682 PRG:2682 A6 34 + beq Label_E6A8 ; CPU:$E684 PRG:2684 F0 22 + pha ; CPU:$E686 PRG:2686 48 + lda #$BF ; CPU:$E687 PRG:2687 A9 BF + cpx #$08 ; CPU:$E689 PRG:2689 E0 08 + beq Label_E695 ; CPU:$E68B PRG:268B F0 08 + lda #$7F ; CPU:$E68D PRG:268D A9 7F + cpx #$80 ; CPU:$E68F PRG:268F E0 80 + beq Label_E695 ; CPU:$E691 PRG:2691 F0 02 + lda #$3F ; CPU:$E693 PRG:2693 A9 3F +; ----------------------------------------------------------------------------- +; Routine: Label_E695 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E695: + sta Zp00 ; CPU:$E695 PRG:2695 85 00 + eor #$FF ; CPU:$E697 PRG:2697 49 FF + sta Zp01 ; CPU:$E699 PRG:2699 85 01 + pla ; CPU:$E69B PRG:269B 68 + and Zp00 ; CPU:$E69C PRG:269C 25 00 + sta Zp0C ; CPU:$E69E PRG:269E 85 0C + lda ZpB3 ; CPU:$E6A0 PRG:26A0 A5 B3 + and Zp01 ; CPU:$E6A2 PRG:26A2 25 01 + eor Zp01 ; CPU:$E6A4 PRG:26A4 45 01 + ora Zp0C ; CPU:$E6A6 PRG:26A6 05 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E6A8 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6A8: + ldx ZpB4 ; CPU:$E6A8 PRG:26A8 A6 B4 + sta $0200,x ; CPU:$E6AA PRG:26AA 9D 00 02 + inc ZpB4 ; CPU:$E6AD PRG:26AD E6 B4 + ldx Zp1B ; CPU:$E6AF PRG:26AF A6 1B + lda $E8E5,x ; CPU:$E6B1 PRG:26B1 BD E5 E8 + inc Zp1B ; CPU:$E6B4 PRG:26B4 E6 1B + jsr $E6D4 ; CPU:$E6B6 PRG:26B6 20 D4 E6 + bne Label_E6BE ; CPU:$E6B9 PRG:26B9 D0 03 + jsr $E6FA ; CPU:$E6BB PRG:26BB 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6BE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6BE: + clc ; CPU:$E6BE PRG:26BE 18 + adc ZpB2 ; CPU:$E6BF PRG:26BF 65 B2 + jsr $E6E3 ; CPU:$E6C1 PRG:26C1 20 E3 E6 + ldx ZpB4 ; CPU:$E6C4 PRG:26C4 A6 B4 + sta $0200,x ; CPU:$E6C6 PRG:26C6 9D 00 02 + inc ZpB4 ; CPU:$E6C9 PRG:26C9 E6 B4 + jmp $E630 ; CPU:$E6CB PRG:26CB 4C 30 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E6CE: + pha ; CPU:$E6CE PRG:26CE 48 + lda Zp34 ; CPU:$E6CF PRG:26CF A5 34 + rol a ; CPU:$E6D1 PRG:26D1 2A + pla ; CPU:$E6D2 PRG:26D2 68 + rts ; CPU:$E6D3 PRG:26D3 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6D4 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6D4: + pha ; CPU:$E6D4 PRG:26D4 48 + lda Zp34 ; CPU:$E6D5 PRG:26D5 A5 34 + asl a ; CPU:$E6D7 PRG:26D7 0A + tax ; CPU:$E6D8 PRG:26D8 AA + pla ; CPU:$E6D9 PRG:26D9 68 + cpx #$10 ; CPU:$E6DA PRG:26DA E0 10 + rts ; CPU:$E6DC PRG:26DC 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6DD +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6DD: + pha ; CPU:$E6DD PRG:26DD 48 + lda Zp32 ; CPU:$E6DE PRG:26DE A5 32 + jmp $E6E6 ; CPU:$E6E0 PRG:26E0 4C E6 E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6E3 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6E3: + pha ; CPU:$E6E3 PRG:26E3 48 + lda Zp33 ; CPU:$E6E4 PRG:26E4 A5 33 +; ----------------------------------------------------------------------------- +; Routine: Label_E6E6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6E6: + sta Zp0F ; CPU:$E6E6 PRG:26E6 85 0F + pla ; CPU:$E6E8 PRG:26E8 68 + pha ; CPU:$E6E9 PRG:26E9 48 + sec ; CPU:$E6EA PRG:26EA 38 + sbc Zp0F ; CPU:$E6EB PRG:26EB E5 0F + bcs Label_E6F2 ; CPU:$E6ED PRG:26ED B0 03 + jsr $E6FA ; CPU:$E6EF PRG:26EF 20 FA E6 +; ----------------------------------------------------------------------------- +; Routine: Label_E6F2 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6F2: + cmp #$30 ; CPU:$E6F2 PRG:26F2 C9 30 + pla ; CPU:$E6F4 PRG:26F4 68 + bcc Label_E6F9 ; CPU:$E6F5 PRG:26F5 90 02 + lda #$FF ; CPU:$E6F7 PRG:26F7 A9 FF +; ----------------------------------------------------------------------------- +; Routine: Label_E6F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6F9: + rts ; CPU:$E6F9 PRG:26F9 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E6FA +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E6FA: + eor #$FF ; CPU:$E6FA PRG:26FA 49 FF + clc ; CPU:$E6FC PRG:26FC 18 + adc #$01 ; CPU:$E6FD PRG:26FD 69 01 + rts ; CPU:$E6FF PRG:26FF 60 +; ---- data $E700-$E70B (12 bytes) ---- + .byte $B9, $32, $03, $85, $B1, $B9, $33, $03, $85, $B2, $85, $0C ; CPU:$E700 PRG:2700 B9 32 03 85 B1 B9 33 03 85 B2 85 0C +; ----------------------------------------------------------------------------- +; Routine: Label_E70C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E70C: + pha ; CPU:$E70C PRG:270C 48 + jsr $D012 ; CPU:$E70D PRG:270D 20 12 D0 + jsr $C000 ; CPU:$E710 PRG:2710 20 00 C0 + pla ; CPU:$E713 PRG:2713 68 + sta Zp1B ; CPU:$E714 PRG:2714 85 1B + beq Label_E764 ; CPU:$E716 PRG:2716 F0 4C + asl a ; CPU:$E718 PRG:2718 0A + tax ; CPU:$E719 PRG:2719 AA + lda $F949,x ; CPU:$E71A PRG:271A BD 49 F9 + sta Zp14 ; CPU:$E71D PRG:271D 85 14 + lda $F94A,x ; CPU:$E71F PRG:271F BD 4A F9 + sta Zp15 ; CPU:$E722 PRG:2722 85 15 + ldy #$01 ; CPU:$E724 PRG:2724 A0 01 + lda (Zp14),y ; CPU:$E726 PRG:2726 B1 14 + sta Zp0F ; CPU:$E728 PRG:2728 85 0F + ldx #$00 ; CPU:$E72A PRG:272A A2 00 + iny ; CPU:$E72C PRG:272C C8 +; ----------------------------------------------------------------------------- +; Routine: Label_E72D +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E72D: + lda (Zp14),y ; CPU:$E72D PRG:272D B1 14 + sta $0500,x ; CPU:$E72F PRG:272F 9D 00 05 + iny ; CPU:$E732 PRG:2732 C8 + inx ; CPU:$E733 PRG:2733 E8 + dec Zp0F ; CPU:$E734 PRG:2734 C6 0F + bne Label_E72D ; CPU:$E736 PRG:2736 D0 F5 + lda Zp1B ; CPU:$E738 PRG:2738 A5 1B + cmp #$01 ; CPU:$E73A PRG:273A C9 01 + bne Label_E753 ; CPU:$E73C PRG:273C D0 15 + lda ZpC1 ; CPU:$E73E PRG:273E A5 C1 + lsr a ; CPU:$E740 PRG:2740 4A + lsr a ; CPU:$E741 PRG:2741 4A + lsr a ; CPU:$E742 PRG:2742 4A + lsr a ; CPU:$E743 PRG:2743 4A + beq Label_E749 ; CPU:$E744 PRG:2744 F0 03 + sta $0518 ; CPU:$E746 PRG:2746 8D 18 05 +; ----------------------------------------------------------------------------- +; Routine: Label_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. +; ----------------------------------------------------------------------------- +Label_E749: + lda ZpC1 ; CPU:$E749 PRG:2749 A5 C1 + and #$0F ; CPU:$E74B PRG:274B 29 0F + sta $0519 ; CPU:$E74D PRG:274D 8D 19 05 + jmp $E777 ; CPU:$E750 PRG:2750 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E753 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E753: + cmp #$05 ; CPU:$E753 PRG:2753 C9 05 + bne Label_E777 ; CPU:$E755 PRG:2755 D0 20 + lda Zp0C ; CPU:$E757 PRG:2757 A5 0C + sta $0521 ; CPU:$E759 PRG:2759 8D 21 05 + lda Zp0D ; CPU:$E75C PRG:275C A5 0D + sta $0522 ; CPU:$E75E PRG:275E 8D 22 05 + jmp $E777 ; CPU:$E761 PRG:2761 4C 77 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E764 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E764: + ldx #$07 ; CPU:$E764 PRG:2764 A2 07 + lda #$32 ; CPU:$E766 PRG:2766 A9 32 +; ----------------------------------------------------------------------------- +; Routine: Label_E768 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E768: + sta $0501,x ; CPU:$E768 PRG:2768 9D 01 05 + dex ; CPU:$E76B PRG:276B CA + bpl Label_E768 ; CPU:$E76C PRG:276C 10 FA + lda #$17 ; CPU:$E76E PRG:276E A9 17 + sta $0500 ; CPU:$E770 PRG:2770 8D 00 05 + ldx #$6D ; CPU:$E773 PRG:2773 A2 6D + bne Label_E77C ; CPU:$E775 PRG:2775 D0 05 +; ----------------------------------------------------------------------------- +; Routine: Label_E777 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E777: + ldy #$00 ; CPU:$E777 PRG:2777 A0 00 + lda (Zp14),y ; CPU:$E779 PRG:2779 B1 14 + tax ; CPU:$E77B PRG:277B AA +; ----------------------------------------------------------------------------- +; Routine: Label_E77C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E77C: + ldy #$22 ; CPU:$E77C PRG:277C A0 22 + stx Zp07 ; CPU:$E77E PRG:277E 86 07 + jsr $D08E ; CPU:$E780 PRG:2780 20 8E D0 + ldx Zp07 ; CPU:$E783 PRG:2783 A6 07 + ldy #$26 ; CPU:$E785 PRG:2785 A0 26 + jmp $D08E ; CPU:$E787 PRG:2787 4C 8E D0 +; ---- data $E78A-$E792 (9 bytes) ---- + .byte $20, $77, $CC, $20, $84, $D0, $4C, $70, $D0 ; CPU:$E78A PRG:278A 20 77 CC 20 84 D0 4C 70 D0 +; ----------------------------------------------------------------------------- +; Routine: Label_E793 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E793: + lda #$01 ; CPU:$E793 PRG:2793 A9 01 + bne Label_E7B1 ; CPU:$E795 PRG:2795 D0 1A + lda #$80 ; CPU:$E797 PRG:2797 A9 80 + bne Label_E7B1 ; CPU:$E799 PRG:2799 D0 16 + lda #$40 ; CPU:$E79B PRG:279B A9 40 + bne Label_E7B1 ; CPU:$E79D PRG:279D D0 12 + lda #$20 ; CPU:$E79F PRG:279F A9 20 + bne Label_E7B1 ; CPU:$E7A1 PRG:27A1 D0 0E + lda #$10 ; CPU:$E7A3 PRG:27A3 A9 10 + bne Label_E7B1 ; CPU:$E7A5 PRG:27A5 D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_E7A7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7A7: + lda #$08 ; CPU:$E7A7 PRG:27A7 A9 08 + bne Label_E7B1 ; CPU:$E7A9 PRG:27A9 D0 06 +; ----------------------------------------------------------------------------- +; Routine: Label_E7AB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7AB: + lda #$04 ; CPU:$E7AB PRG:27AB A9 04 + bne Label_E7B1 ; CPU:$E7AD PRG:27AD D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7AF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7AF: + lda #$02 ; CPU:$E7AF PRG:27AF A9 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7B1 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7B1: + ora ZpF0 ; CPU:$E7B1 PRG:27B1 05 F0 + sta ZpF0 ; CPU:$E7B3 PRG:27B3 85 F0 + rts ; CPU:$E7B5 PRG:27B5 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7B6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7B6: + lda #$08 ; CPU:$E7B6 PRG:27B6 A9 08 + bne Label_E7D6 ; CPU:$E7B8 PRG:27B8 D0 1C + lda #$01 ; CPU:$E7BA PRG:27BA A9 01 + bne Label_E7D6 ; CPU:$E7BC PRG:27BC D0 18 +; ----------------------------------------------------------------------------- +; Routine: Label_E7BE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7BE: + lda #$04 ; CPU:$E7BE PRG:27BE A9 04 + bne Label_E7D6 ; CPU:$E7C0 PRG:27C0 D0 14 + lda #$10 ; CPU:$E7C2 PRG:27C2 A9 10 + bne Label_E7D6 ; CPU:$E7C4 PRG:27C4 D0 10 +; ----------------------------------------------------------------------------- +; Routine: Label_E7C6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7C6: + lda #$80 ; CPU:$E7C6 PRG:27C6 A9 80 + bne Label_E7D6 ; CPU:$E7C8 PRG:27C8 D0 0C + lda #$40 ; CPU:$E7CA PRG:27CA A9 40 + bne Label_E7D6 ; CPU:$E7CC PRG:27CC D0 08 + lda #$20 ; CPU:$E7CE PRG:27CE A9 20 + bne Label_E7D6 ; CPU:$E7D0 PRG:27D0 D0 04 + lda #$02 ; CPU:$E7D2 PRG:27D2 A9 02 + bne Label_E7D6 ; CPU:$E7D4 PRG:27D4 D0 00 +; ----------------------------------------------------------------------------- +; Routine: Label_E7D6 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7D6: + ora ZpF1 ; CPU:$E7D6 PRG:27D6 05 F1 + sta ZpF1 ; CPU:$E7D8 PRG:27D8 85 F1 + rts ; CPU:$E7DA PRG:27DA 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7DB +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7DB: + lda #$01 ; CPU:$E7DB PRG:27DB A9 01 + bne Label_E7F9 ; CPU:$E7DD PRG:27DD D0 1A + lda #$10 ; CPU:$E7DF PRG:27DF A9 10 + bne Label_E7F9 ; CPU:$E7E1 PRG:27E1 D0 16 + lda #$20 ; CPU:$E7E3 PRG:27E3 A9 20 + bne Label_E7F9 ; CPU:$E7E5 PRG:27E5 D0 12 + lda #$08 ; CPU:$E7E7 PRG:27E7 A9 08 + bne Label_E7F9 ; CPU:$E7E9 PRG:27E9 D0 0E + lda #$04 ; CPU:$E7EB PRG:27EB A9 04 + bne Label_E7F9 ; CPU:$E7ED PRG:27ED D0 0A +; ----------------------------------------------------------------------------- +; Routine: Label_E7EF +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7EF: + lda #$02 ; CPU:$E7EF PRG:27EF A9 02 + bne Label_E7F9 ; CPU:$E7F1 PRG:27F1 D0 06 + lda #$40 ; CPU:$E7F3 PRG:27F3 A9 40 + bne Label_E7F9 ; CPU:$E7F5 PRG:27F5 D0 02 +; ----------------------------------------------------------------------------- +; Routine: Label_E7F7 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7F7: + lda #$80 ; CPU:$E7F7 PRG:27F7 A9 80 +; ----------------------------------------------------------------------------- +; Routine: Label_E7F9 +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7F9: + ora ZpF2 ; CPU:$E7F9 PRG:27F9 05 F2 + sta ZpF2 ; CPU:$E7FB PRG:27FB 85 F2 + rts ; CPU:$E7FD PRG:27FD 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E7FE +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E7FE: + lda ZpA3 ; CPU:$E7FE PRG:27FE A5 A3 + bne Label_E80B ; CPU:$E800 PRG:2800 D0 09 + lda ZpE6 ; CPU:$E802 PRG:2802 A5 E6 + bne Label_E80B ; CPU:$E804 PRG:2804 D0 05 + inc ZpA3 ; CPU:$E806 PRG:2806 E6 A3 + jmp $E7F7 ; CPU:$E808 PRG:2808 4C F7 E7 +; ----------------------------------------------------------------------------- +; Routine: Label_E80B +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E80B: + rts ; CPU:$E80B PRG:280B 60 +; ----------------------------------------------------------------------------- +; Routine: Label_E80C +; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. +; Local: Continues its parent routine along the condition or operation encoded in this label, +; then returns, branches again, or rejoins shared code as documented by the instructions. +; Parameters: Undetermined in Pass 1 unless implied by the caller. +; Returns: Undetermined in Pass 1; status flags and registers may carry results. +; Clobbers: Undetermined in Pass 1. +; ----------------------------------------------------------------------------- +Label_E80C: + lda #$00 ; CPU:$E80C PRG:280C A9 00 + sta ZpA3 ; CPU:$E80E PRG:280E 85 A3 + jmp $E7BE ; CPU:$E810 PRG:2810 4C BE E7 +; ---- data $E813-$FFFF (6125 bytes) ---- +; referenced by `lda $F68A,x` at $CA5E (operand $F68A falls inside this region) +; referenced by `lda $F5B2,y` at $CC8D (operand $F5B2 falls inside this region) +; referenced by `ldx $F5B3,y` at $CC90 (operand $F5B3 falls inside this region) +; referenced by `lda $F771,x` at $D178 (operand $F771 falls inside this region) +; referenced by `ldy $F772,x` at $D17B (operand $F772 falls inside this region) +; referenced by `lda $F940,y` at $DBAA (operand $F940 falls inside this region) +; ... and 13 further references from decoded code + .byte $4F, $E8, $54, $E8, $59, $E8, $5E, $E8, $63, $E8, $68, $E8, $6D, $E8, $72, $E8 ; CPU:$E813 PRG:2813 4F E8 54 E8 59 E8 5E E8 63 E8 68 E8 6D E8 72 E8 + .byte $77, $E8, $7C, $E8, $81, $E8, $86, $E8, $8B, $E8, $90, $E8, $95, $E8, $9A, $E8 ; CPU:$E823 PRG:2823 77 E8 7C E8 81 E8 86 E8 8B E8 90 E8 95 E8 9A E8 + .byte $9F, $E8, $A4, $E8, $DB, $E8, $E0, $E8, $A9, $E8, $AE, $E8, $B3, $E8, $B8, $E8 ; CPU:$E833 PRG:2833 9F E8 A4 E8 DB E8 E0 E8 A9 E8 AE E8 B3 E8 B8 E8 + .byte $BD, $E8, $C2, $E8, $C7, $E8, $CC, $E8, $D1, $E8, $D6, $E8, $E9, $57, $F2, $F8 ; CPU:$E843 PRG:2843 BD E8 C2 E8 C7 E8 CC E8 D1 E8 D6 E8 E9 57 F2 F8 + .byte $00, $E9, $6B, $F2, $F8, $00, $E9, $80, $F0, $F8, $00, $E9, $94, $F2, $F8, $00 ; CPU:$E853 PRG:2853 00 E9 6B F2 F8 00 E9 80 F0 F8 00 E9 94 F2 F8 00 + .byte $E9, $A8, $F0, $F8, $00, $E9, $B8, $F0, $F8, $00, $E9, $C8, $F0, $F8, $00, $E9 ; CPU:$E863 PRG:2863 E9 A8 F0 F8 00 E9 B8 F0 F8 00 E9 C8 F0 F8 00 E9 + .byte $D8, $F0, $F8, $00, $E9, $E8, $F0, $EC, $00, $EA, $02, $F0, $E8, $00, $EA, $1C ; CPU:$E873 PRG:2873 D8 F0 F8 00 E9 E8 F0 EC 00 EA 02 F0 E8 00 EA 1C + .byte $F0, $FD, $00, $EA, $31, $EE, $F8, $00, $EA, $4D, $F6, $F8, $00, $EA, $5F, $F0 ; CPU:$E883 PRG:2883 F0 FD 00 EA 31 EE F8 00 EA 4D F6 F8 00 EA 5F F0 + .byte $F8, $00, $EA, $81, $F3, $F8, $00, $EA, $9F, $F0, $FC, $00, $EA, $B3, $F0, $FC ; CPU:$E893 PRG:2893 F8 00 EA 81 F3 F8 00 EA 9F F0 FC 00 EA B3 F0 FC + .byte $00, $EA, $C7, $00, $06, $00, $EA, $DC, $FC, $F8, $00, $EA, $F5, $F2, $F4, $00 ; CPU:$E8A3 PRG:28A3 00 EA C7 00 06 00 EA DC FC F8 00 EA F5 F2 F4 00 + .byte $EB, $0A, $F1, $F8, $00, $EB, $1A, $F1, $F8, $00, $EB, $2A, $F0, $F0, $00, $EB ; CPU:$E8B3 PRG:28B3 EB 0A F1 F8 00 EB 1A F1 F8 00 EB 2A F0 F0 00 EB + .byte $44, $F0, $F0, $00, $EB, $5D, $F0, $F0, $00, $EB, $6D, $F2, $F4, $00, $EB, $82 ; CPU:$E8C3 PRG:28C3 44 F0 F0 00 EB 5D F0 F0 00 EB 6D F2 F4 00 EB 82 + .byte $F2, $F4, $00, $EB, $97, $F0, $F0, $00, $EB, $B0, $F4, $F8, $00, $EB, $BA, $F4 ; CPU:$E8D3 PRG:28D3 F2 F4 00 EB 97 F0 F0 00 EB B0 F4 F8 00 EB BA F4 + .byte $F8, $00, $00, $00, $00, $08, $08, $00, $08, $08, $10, $00, $10, $08, $18, $00 ; CPU:$E8E3 PRG:28E3 F8 00 00 00 00 08 08 00 08 08 10 00 10 08 18 00 + .byte $18, $08, $20, $00, $20, $08, $00, $00, $00, $08, $00, $10, $08, $00, $08, $08 ; CPU:$E8F3 PRG:28F3 18 08 20 00 20 08 00 00 00 08 00 10 08 00 08 08 + .byte $08, $10, $10, $00, $10, $08, $10, $10, $18, $00, $18, $08, $18, $10, $20, $00 ; CPU:$E903 PRG:2903 08 10 10 00 10 08 10 10 18 00 18 08 18 10 20 00 + .byte $20, $08, $20, $10, $00, $00, $00, $08, $00, $10, $00, $18, $08, $00, $08, $08 ; CPU:$E913 PRG:2913 20 08 20 10 00 00 00 08 00 10 00 18 08 00 08 08 + .byte $08, $10, $08, $18, $10, $00, $10, $08, $10, $10, $10, $18, $18, $00, $18, $08 ; CPU:$E923 PRG:2923 08 10 08 18 10 00 10 08 10 10 10 18 18 00 18 08 + .byte $18, $10, $18, $18, $20, $00, $20, $08, $20, $10, $20, $18, $00, $08, $00, $10 ; CPU:$E933 PRG:2933 18 10 18 18 20 00 20 08 20 10 20 18 00 08 00 10 + .byte $08, $08, $08, $10, $10, $08, $10, $10, $10, $00, $10, $18, $08, $00, $08, $18 ; CPU:$E943 PRG:2943 08 08 08 10 10 08 10 10 10 00 10 18 08 00 08 18 + .byte $00, $00, $00, $18, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91 ; CPU:$E953 PRG:2953 00 00 00 18 01 FD 00 05 00 FE 96 92 90 97 93 91 + .byte $FD, $02, $98, $94, $FE, $99, $95, $FF, $01, $FD, $00, $05, $00, $FE, $06, $01 ; CPU:$E963 PRG:2963 FD 02 98 94 FE 99 95 FF 01 FD 00 05 00 FE 06 01 + .byte $FE, $07, $02, $FE, $FD, $02, $8E, $8B, $87, $8F, $8C, $88, $FF, $01, $FD, $00 ; CPU:$E973 PRG:2973 FE 07 02 FE FD 02 8E 8B 87 8F 8C 88 FF 01 FD 00 + .byte $05, $00, $FE, $06, $89, $85, $8D, $8A, $86, $FD, $02, $11, $0C, $FE, $12, $0D ; CPU:$E983 PRG:2983 05 00 FE 06 89 85 8D 8A 86 FD 02 11 0C FE 12 0D + .byte $FF, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91, $FD, $02, $9C ; CPU:$E993 PRG:2993 FF 01 FD 00 05 00 FE 96 92 90 97 93 91 FD 02 9C + .byte $9A, $FE, $9D, $9B, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9A3 PRG:29A3 9A FE 9D 9B FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9B3 PRG:29B3 08 03 09 04 FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 + .byte $11, $0C, $12, $0D, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9C3 PRG:29C3 11 0C 12 0D FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9D3 PRG:29D3 08 03 09 04 FF 00 FD 00 05 00 06 01 07 02 FD 02 + .byte $11, $0C, $12, $0D, $FF, $02, $FD, $00, $1E, $1B, $16, $FE, $1F, $1C, $17, $FE ; CPU:$E9E3 PRG:29E3 11 0C 12 0D FF 02 FD 00 1E 1B 16 FE 1F 1C 17 FE + .byte $FE, $1D, $18, $13, $FD, $02, $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $02 ; CPU:$E9F3 PRG:29F3 FE 1D 18 13 FD 02 FE FE 19 14 FE FE 1A 15 FF 02 + .byte $FD, $00, $FE, $24, $21, $FE, $FE, $25, $22, $FE, $27, $26, $23, $13, $FD, $02 ; CPU:$EA03 PRG:2A03 FD 00 FE 24 21 FE FE 25 22 FE 27 26 23 13 FD 02 + .byte $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $01, $FD, $00, $FE, $36, $00, $FE ; CPU:$EA13 PRG:2A13 FE FE 19 14 FE FE 1A 15 FF 01 FD 00 FE 36 00 FE + .byte $37, $32, $FE, $38, $33, $FD, $02, $3B, $39, $34, $3C, $3A, $35, $FF, $02, $FD ; CPU:$EA23 PRG:2A23 37 32 FE 38 33 FD 02 3B 39 34 3C 3A 35 FF 02 FD + .byte $00, $FE, $FE, $3F, $3D, $FE, $43, $40, $3E, $FE, $44, $41, $FE, $FD, $02, $47 ; CPU:$EA33 PRG:2A33 00 FE FE 3F 3D FE 43 40 3E FE 44 41 FE FD 02 47 + .byte $45, $FD, $00, $42, $FE, $FD, $02, $48, $46, $FF, $01, $FD, $00, $51, $4D, $49 ; CPU:$EA43 PRG:2A43 45 FD 00 42 FE FD 02 48 46 FF 01 FD 00 51 4D 49 + .byte $52, $4E, $4A, $FD, $02, $FE, $4F, $4B, $FE, $50, $4C, $FF, $03, $FD, $02, $FE ; CPU:$EA53 PRG:2A53 52 4E 4A FD 02 FE 4F 4B FE 50 4C FF 03 FD 02 FE + .byte $6F, $FD, $00, $6B, $FE, $FD, $02, $FE, $70, $FD, $00, $6C, $68, $FD, $02, $72 ; CPU:$EA63 PRG:2A63 6F FD 00 6B FE FD 02 FE 70 FD 00 6C 68 FD 02 72 + .byte $71, $FD, $00, $6D, $69, $FD, $02, $73, $FE, $FD, $00, $6E, $6A, $FF, $02, $FD ; CPU:$EA73 PRG:2A73 71 FD 00 6D 69 FD 02 73 FE FD 00 6E 6A FF 02 FD + .byte $02, $FE, $76, $FE, $FE, $7A, $77, $FD, $00, $73, $70, $FD, $02, $FE, $78, $FD ; CPU:$EA83 PRG:2A83 02 FE 76 FE FE 7A 77 FD 00 73 70 FD 02 FE 78 FD + .byte $00, $74, $71, $FD, $02, $FE, $79, $FD, $00, $75, $72, $FF, $01, $FD, $00, $05 ; CPU:$EA93 PRG:2A93 00 74 71 FD 02 FE 79 FD 00 75 72 FF 01 FD 00 05 + .byte $00, $FE, $2E, $B3, $B2, $2F, $B4, $FE, $FD, $02, $30, $2C, $FE, $31, $2D, $FF ; CPU:$EAA3 PRG:2AA3 00 FE 2E B3 B2 2F B4 FE FD 02 30 2C FE 31 2D FF + .byte $01, $FD, $00, $05, $00, $FE, $2E, $2A, $28, $2F, $2B, $29, $FD, $02, $30, $2C ; CPU:$EAB3 PRG:2AB3 01 FD 00 05 00 FE 2E 2A 28 2F 2B 29 FD 02 30 2C + .byte $FE, $31, $2D, $FF, $01, $FD, $02, $62, $5F, $5C, $FD, $00, $63, $FD, $02, $60 ; CPU:$EAC3 PRG:2AC3 FE 31 2D FF 01 FD 02 62 5F 5C FD 00 63 FD 02 60 + .byte $5D, $FD, $00, $64, $61, $FD, $02, $5E, $FF, $02, $FD, $02, $FE, $80, $FD, $00 ; CPU:$EAD3 PRG:2AD3 5D FD 00 64 61 FD 02 5E FF 02 FD 02 FE 80 FD 00 + .byte $7D, $7B, $FD, $02, $83, $81, $FD, $00, $7E, $7C, $FD, $02, $84, $82, $FD, $00 ; CPU:$EAE3 PRG:2AE3 7D 7B FD 02 83 81 FD 00 7E 7C FD 02 84 82 FD 00 + .byte $7F, $FF, $01, $FD, $00, $A7, $A2, $FE, $A8, $A3, $9E, $A9, $A4, $9F, $FD, $02 ; CPU:$EAF3 PRG:2AF3 7F FF 01 FD 00 A7 A2 FE A8 A3 9E A9 A4 9F FD 02 + .byte $AA, $A5, $A0, $AB, $A6, $A1, $FF, $00, $FD, $00, $B9, $B6, $BA, $B7, $BB, $B8 ; CPU:$EB03 PRG:2B03 AA A5 A0 AB A6 A1 FF 00 FD 00 B9 B6 BA B7 BB B8 + .byte $FD, $02, $98, $94, $99, $95, $FF, $00, $FD, $00, $BF, $BC, $C0, $BD, $C1, $BE ; CPU:$EB13 PRG:2B13 FD 02 98 94 99 95 FF 00 FD 00 BF BC C0 BD C1 BE + .byte $FD, $02, $98, $94, $99, $95, $FF, $02, $FD, $00, $FE, $DB, $DE, $E3, $FE, $DC ; CPU:$EB23 PRG:2B23 FD 02 98 94 99 95 FF 02 FD 00 FE DB DE E3 FE DC + .byte $DF, $E4, $DA, $DD, $E0, $FD, $02, $E5, $FE, $FE, $E1, $E6, $FE, $FE, $E2, $E7 ; CPU:$EB33 PRG:2B33 DF E4 DA DD E0 FD 02 E5 FE FE E1 E6 FE FE E2 E7 + .byte $FF, $02, $FD, $00, $FE, $CE, $D3, $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9 ; CPU:$EB43 PRG:2B43 FF 02 FD 00 FE CE D3 FE CA CF D4 D8 CB D0 D5 D9 + .byte $FD, $02, $CC, $D1, $D6, $FE, $CD, $D2, $D7, $FF, $02, $FD, $00, $FE, $6B, $20 ; CPU:$EB53 PRG:2B53 FD 02 CC D1 D6 FE CD D2 D7 FF 02 FD 00 FE 6B 20 + .byte $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9, $FF, $01, $FD, $00, $B0, $AE, $AC ; CPU:$EB63 PRG:2B63 FE CA CF D4 D8 CB D0 D5 D9 FF 01 FD 00 B0 AE AC + .byte $B1, $AF, $AD, $A9, $A4, $9F, $FD, $02, $AA, $A5, $A0, $AB, $A6, $A1, $FF, $01 ; CPU:$EB73 PRG:2B73 B1 AF AD A9 A4 9F FD 02 AA A5 A0 AB A6 A1 FF 01 + .byte $FD, $00, $59, $56, $53, $5A, $57, $54, $FE, $58, $55, $FD, $02, $AA, $A5, $A0 ; CPU:$EB83 PRG:2B83 FD 00 59 56 53 5A 57 54 FE 58 55 FD 02 AA A5 A0 + .byte $AB, $A6, $A1, $FF, $02, $FD, $00, $FE, $6B, $20, $FE, $CA, $CF, $D4, $D8, $CB ; CPU:$EB93 PRG:2B93 AB A6 A1 FF 02 FD 00 FE 6B 20 FE CA CF D4 D8 CB + .byte $D0, $D5, $D9, $FD, $02, $FE, $C9, $D6, $FE, $FE, $48, $C8, $FF, $03, $FD, $00 ; CPU:$EBA3 PRG:2BA3 D0 D5 D9 FD 02 FE C9 D6 FE FE 48 C8 FF 03 FD 00 + .byte $65, $65, $66, $66, $67, $67, $FF, $03, $FD, $00, $68, $68, $69, $69, $6A, $6A ; CPU:$EBB3 PRG:2BB3 65 65 66 66 67 67 FF 03 FD 00 68 68 69 69 6A 6A + .byte $FF, $20, $00, $C6, $31, $20, $01, $45, $31, $20, $21, $C4, $31, $20, $22, $44 ; CPU:$EBC3 PRG:2BC3 FF 20 00 C6 31 20 01 45 31 20 21 C4 31 20 22 44 + .byte $31, $20, $42, $C3, $31, $20, $43, $43, $31, $20, $63, $C4, $31, $20, $65, $C3 ; CPU:$EBD3 PRG:2BD3 31 20 42 C3 31 20 43 43 31 20 63 C4 31 20 65 C3 + .byte $31, $20, $C0, $C3, $37, $20, $A1, $C4, $3E, $21, $20, $42, $32, $21, $40, $42 ; CPU:$EBE3 PRG:2BE3 31 20 C0 C3 37 20 A1 C4 3E 21 20 42 32 21 40 42 + .byte $36, $21, $60, $42, $34, $21, $80, $42, $36, $21, $A0, $42, $34, $21, $C0, $C4 ; CPU:$EBF3 PRG:2BF3 36 21 60 42 34 21 80 42 36 21 A0 42 34 21 C0 C4 + .byte $32, $21, $C1, $C4, $32, $20, $A2, $C3, $3E, $20, $E3, $02, $3E, $35, $21, $02 ; CPU:$EC03 PRG:2C03 32 21 C1 C4 32 20 A2 C3 3E 20 E3 02 3E 35 21 02 + .byte $43, $36, $21, $22, $43, $34, $21, $42, $42, $36, $21, $62, $42, $34, $21, $82 ; CPU:$EC13 PRG:2C13 43 36 21 22 43 34 21 42 42 36 21 62 42 34 21 82 + .byte $C6, $32, $21, $83, $C6, $32, $20, $64, $84, $43, $42, $37, $37, $21, $44, $02 ; CPU:$EC23 PRG:2C23 C6 32 21 83 C6 32 20 64 84 43 42 37 37 21 44 02 + .byte $32, $34, $21, $64, $87, $45, $47, $49, $4B, $4B, $4D, $4F, $21, $65, $87, $44 ; CPU:$EC33 PRG:2C33 32 34 21 64 87 45 47 49 4B 4B 4D 4F 21 65 87 44 + .byte $46, $48, $4A, $4A, $4C, $4E, $20, $C5, $C3, $3E, $21, $25, $01, $36, $20, $1A ; CPU:$EC43 PRG:2C43 46 48 4A 4A 4C 4E 20 C5 C3 3E 21 25 01 36 20 1A + .byte $C6, $31, $20, $1B, $45, $31, $20, $3B, $C2, $31, $20, $3C, $44, $31, $20, $5C ; CPU:$EC53 PRG:2C53 C6 31 20 1B 45 31 20 3B C2 31 20 3C 44 31 20 5C + .byte $C5, $31, $20, $5D, $43, $31, $20, $7D, $43, $31, $20, $9E, $C4, $31, $20, $9F ; CPU:$EC63 PRG:2C63 C5 31 20 5D 43 31 20 7D 43 31 20 9E C4 31 20 9F + .byte $C3, $31, $20, $7B, $85, $43, $42, $37, $37, $37, $20, $FC, $42, $3E, $20, $9D ; CPU:$EC73 PRG:2C73 C3 31 20 7B 85 43 42 37 37 37 20 FC 42 3E 20 9D + .byte $83, $43, $42, $37, $21, $1B, $43, $36, $21, $3B, $43, $34, $21, $5C, $42, $36 ; CPU:$EC83 PRG:2C83 83 43 42 37 21 1B 43 36 21 3B 43 34 21 5C 42 36 + .byte $21, $5B, $01, $32, $20, $DA, $C4, $38, $21, $5A, $88, $32, $45, $47, $49, $4B ; CPU:$EC93 PRG:2C93 21 5B 01 32 20 DA C4 38 21 5A 88 32 45 47 49 4B + .byte $4B, $4D, $4F, $21, $7B, $87, $44, $46, $48, $4A, $4A, $4C, $4E, $21, $7C, $42 ; CPU:$ECA3 PRG:2CA3 4B 4D 4F 21 7B 87 44 46 48 4A 4A 4C 4E 21 7C 42 + .byte $34, $21, $9C, $C6, $32, $21, $9D, $C6, $32, $21, $1E, $84, $3E, $36, $34, $36 ; CPU:$ECB3 PRG:2CB3 34 21 9C C6 32 21 9D C6 32 21 1E 84 3E 36 34 36 + .byte $21, $BE, $C5, $32, $21, $9E, $01, $34, $20, $FF, $87, $37, $37, $36, $34, $36 ; CPU:$ECC3 PRG:2CC3 21 BE C5 32 21 9E 01 34 20 FF 87 37 37 36 34 36 + .byte $34, $32, $21, $DF, $C4, $32, $20, $06, $01, $80, $20, $07, $53, $82, $20, $26 ; CPU:$ECD3 PRG:2CD3 34 32 21 DF C4 32 20 06 01 80 20 07 53 82 20 26 + .byte $14, $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$ECE3 PRG:2CE3 14 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $82, $84, $20, $46, $C5, $80, $20, $49, $C5, $82, $20, $4A, $C5 ; CPU:$ECF3 PRG:2CF3 82 82 82 82 84 20 46 C5 80 20 49 C5 82 20 4A C5 + .byte $82, $20, $4D, $C5, $82, $20, $4E, $C5, $82, $20, $51, $C5, $82, $20, $52, $C5 ; CPU:$ED03 PRG:2D03 82 20 4D C5 82 20 4E C5 82 20 51 C5 82 20 52 C5 + .byte $82, $20, $55, $C5, $82, $20, $56, $C5, $82, $20, $59, $C5, $84, $20, $E6, $08 ; CPU:$ED13 PRG:2D13 82 20 55 C5 82 20 56 C5 82 20 59 C5 84 20 E6 08 + .byte $86, $87, $87, $89, $86, $87, $87, $89, $20, $EE, $08, $86, $87, $87, $89, $86 ; CPU:$ED23 PRG:2D23 86 87 87 89 86 87 87 89 20 EE 08 86 87 87 89 86 + .byte $87, $87, $89, $20, $F6, $04, $86, $87, $87, $89, $21, $46, $54, $33, $22, $26 ; CPU:$ED33 PRG:2D33 87 87 89 20 F6 04 86 87 87 89 21 46 54 33 22 26 + .byte $54, $33, $21, $66, $C6, $33, $21, $87, $C4, $8B, $22, $07, $01, $8C, $22, $08 ; CPU:$ED43 PRG:2D43 54 33 21 66 C6 33 21 87 C4 8B 22 07 01 8C 22 08 + .byte $44, $8F, $21, $6D, $C6, $33, $21, $68, $44, $8D, $21, $6C, $01, $90, $21, $8C ; CPU:$ED53 PRG:2D53 44 8F 21 6D C6 33 21 68 44 8D 21 6C 01 90 21 8C + .byte $C4, $91, $22, $0C, $01, $92, $21, $4E, $04, $D6, $D7, $D7, $D8, $21, $6E, $04 ; CPU:$ED63 PRG:2D63 C4 91 22 0C 01 92 21 4E 04 D6 D7 D7 D8 21 6E 04 + .byte $93, $96, $93, $96, $21, $8E, $C4, $94, $22, $0E, $82, $95, $9B, $21, $8F, $86 ; CPU:$ED73 PRG:2D73 93 96 93 96 21 8E C4 94 22 0E 82 95 9B 21 8F 86 + .byte $97, $97, $98, $97, $99, $9C, $21, $90, $86, $94, $94, $9A, $94, $95, $9B, $21 ; CPU:$ED83 PRG:2D83 97 97 98 97 99 9C 21 90 86 94 94 9A 94 95 9B 21 + .byte $91, $C4, $97, $22, $11, $82, $99, $9C, $21, $72, $C6, $33, $21, $73, $01, $8A ; CPU:$ED93 PRG:2D93 91 C4 97 22 11 82 99 9C 21 72 C6 33 21 73 01 8A + .byte $21, $67, $01, $8A, $21, $74, $44, $8D, $21, $93, $C4, $8B, $22, $13, $01, $8C ; CPU:$EDA3 PRG:2DA3 21 67 01 8A 21 74 44 8D 21 93 C4 8B 22 13 01 8C + .byte $22, $14, $44, $8F, $21, $79, $C6, $33, $21, $78, $01, $90, $21, $98, $C4, $91 ; CPU:$EDB3 PRG:2DB3 22 14 44 8F 21 79 C6 33 21 78 01 90 21 98 C4 91 + .byte $22, $18, $01, $92, $21, $06, $54, $33, $21, $26, $54, $32, $21, $0B, $0A, $33 ; CPU:$EDC3 PRG:2DC3 22 18 01 92 21 06 54 33 21 26 54 32 21 0B 0A 33 + .byte $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $21, $46, $C8, $D2, $21, $4D, $C8 ; CPU:$EDD3 PRG:2DD3 FA F5 E8 EA F2 33 E9 E8 F9 21 46 C8 D2 21 4D C8 + .byte $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23, $C0, $20, $00, $CC, $FF, $FF ; CPU:$EDE3 PRG:2DE3 D2 21 52 C8 D2 21 59 C8 D2 23 C0 20 00 CC FF FF + .byte $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $88, $AA, $AA ; CPU:$EDF3 PRG:2DF3 FF FF 33 00 00 CC FF FF FF FF 33 00 00 88 AA AA + .byte $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $23, $E0, $08, $A0 ; CPU:$EE03 PRG:2E03 AA AA 22 00 00 88 AA AA AA AA 22 00 23 E0 08 A0 + .byte $A8, $AA, $AA, $AA, $AA, $A2, $A0, $24, $00, $C7, $31, $24, $01, $45, $31, $24 ; CPU:$EE13 PRG:2E13 A8 AA AA AA AA A2 A0 24 00 C7 31 24 01 45 31 24 + .byte $21, $C5, $31, $24, $22, $44, $31, $24, $42, $C6, $31, $24, $43, $43, $31, $24 ; CPU:$EE23 PRG:2E23 21 C5 31 24 22 44 31 24 42 C6 31 24 43 43 31 24 + .byte $63, $01, $31, $24, $64, $C6, $31, $24, $65, $C4, $31, $24, $E0, $83, $38, $36 ; CPU:$EE33 PRG:2E33 63 01 31 24 64 C6 31 24 65 C4 31 24 E0 83 38 36 + .byte $34, $25, $40, $C8, $32, $24, $C1, $86, $37, $37, $36, $34, $36, $34, $25, $81 ; CPU:$EE43 PRG:2E43 34 25 40 C8 32 24 C1 86 37 37 36 34 36 34 25 81 + .byte $C6, $32, $25, $02, $42, $3E, $25, $22, $42, $3E, $25, $42, $42, $36, $25, $62 ; CPU:$EE53 PRG:2E53 C6 32 25 02 42 3E 25 22 42 3E 25 42 42 36 25 62 + .byte $42, $34, $25, $82, $42, $36, $25, $A2, $42, $34, $25, $C2, $C4, $32, $25, $C3 ; CPU:$EE63 PRG:2E63 42 34 25 82 42 36 25 A2 42 34 25 C2 C4 32 25 C3 + .byte $C4, $32, $25, $24, $42, $36, $24, $C5, $C2, $37, $25, $44, $42, $34, $25, $64 ; CPU:$EE73 PRG:2E73 C4 32 25 24 42 36 24 C5 C2 37 25 44 42 34 25 64 + .byte $02, $DD, $DB, $25, $84, $02, $DE, $DC, $25, $A4, $C3, $4B, $25, $A5, $C3, $4A ; CPU:$EE83 PRG:2E83 02 DD DB 25 84 02 DE DC 25 A4 C3 4B 25 A5 C3 4A + .byte $26, $04, $02, $4D, $4C, $26, $24, $02, $4F, $4E, $24, $83, $83, $43, $42, $37 ; CPU:$EE93 PRG:2E93 26 04 02 4D 4C 26 24 02 4F 4E 24 83 83 43 42 37 + .byte $24, $1A, $C7, $31, $24, $1B, $45, $31, $24, $3B, $C5, $31, $24, $3C, $44, $31 ; CPU:$EEA3 PRG:2EA3 24 1A C7 31 24 1B 45 31 24 3B C5 31 24 3C 44 31 + .byte $24, $5C, $C4, $31, $24, $5D, $43, $31, $24, $7D, $C4, $31, $24, $7E, $42, $31 ; CPU:$EEB3 PRG:2EB3 24 5C C4 31 24 5D 43 31 24 7D C4 31 24 7E 42 31 + .byte $24, $FA, $C3, $37, $25, $5A, $83, $32, $DD, $DE, $25, $BA, $C3, $4B, $26, $1A ; CPU:$EEC3 PRG:2EC3 24 FA C3 37 25 5A 83 32 DD DE 25 BA C3 4B 26 1A + .byte $82, $4D, $4F, $24, $DB, $C5, $3E, $25, $7B, $82, $DB, $DC, $25, $BB, $C3, $4A ; CPU:$EED3 PRG:2ED3 82 4D 4F 24 DB C5 3E 25 7B 82 DB DC 25 BB C3 4A + .byte $26, $1B, $82, $4C, $4E, $24, $DC, $C4, $3E, $25, $5C, $43, $36, $25, $7C, $43 ; CPU:$EEE3 PRG:2EE3 26 1B 82 4C 4E 24 DC C4 3E 25 5C 43 36 25 7C 43 + .byte $34, $25, $9C, $43, $36, $25, $BC, $43, $34, $25, $DC, $C4, $32, $25, $DD, $C4 ; CPU:$EEF3 PRG:2EF3 34 25 9C 43 36 25 BC 43 34 25 DC C4 32 25 DD C4 + .byte $32, $24, $FD, $83, $39, $32, $3E, $25, $DE, $C4, $32, $24, $9E, $82, $43, $42 ; CPU:$EF03 PRG:2F03 32 24 FD 83 39 32 3E 25 DE C4 32 24 9E 82 43 42 + .byte $24, $9F, $C2, $31, $24, $DE, $C3, $37, $24, $DF, $C3, $3E, $25, $3F, $C9, $32 ; CPU:$EF13 PRG:2F13 24 9F C2 31 24 DE C3 37 24 DF C3 3E 25 3F C9 32 + .byte $25, $3E, $01, $35, $24, $E3, $01, $37, $25, $05, $01, $38, $25, $46, $C7, $80 ; CPU:$EF23 PRG:2F23 25 3E 01 35 24 E3 01 37 25 05 01 38 25 46 C7 80 + .byte $26, $26, $02, $81, $85, $25, $47, $C7, $84, $25, $48, $04, $8A, $8D, $8D, $90 ; CPU:$EF33 PRG:2F33 26 26 02 81 85 25 47 C7 84 25 48 04 8A 8D 8D 90 + .byte $25, $68, $C5, $8B, $26, $08, $04, $8C, $8F, $8F, $92, $26, $28, $44, $D3, $25 ; CPU:$EF43 PRG:2F43 25 68 C5 8B 26 08 04 8C 8F 8F 92 26 28 44 D3 25 + .byte $6B, $C5, $91, $25, $4C, $C7, $80, $26, $2C, $01, $81, $25, $4D, $C7, $84, $26 ; CPU:$EF53 PRG:2F53 6B C5 91 25 4C C7 80 26 2C 01 81 25 4D C7 84 26 + .byte $2D, $01, $85, $25, $4E, $44, $32, $25, $6E, $04, $93, $96, $93, $96, $25, $8E ; CPU:$EF63 PRG:2F63 2D 01 85 25 4E 44 32 25 6E 04 93 96 93 96 25 8E + .byte $C4, $94, $26, $0E, $04, $95, $99, $95, $99, $26, $2E, $04, $9B, $9C, $9B, $9C ; CPU:$EF73 PRG:2F73 C4 94 26 0E 04 95 99 95 99 26 2E 04 9B 9C 9B 9C + .byte $25, $8F, $C4, $97, $25, $90, $C4, $94, $25, $91, $C4, $97, $25, $CF, $02, $D9 ; CPU:$EF83 PRG:2F83 25 8F C4 97 25 90 C4 94 25 91 C4 97 25 CF 02 D9 + .byte $DA, $25, $52, $C7, $80, $25, $53, $C7, $84, $26, $32, $02, $81, $85, $25, $54 ; CPU:$EF93 PRG:2F93 DA 25 52 C7 80 25 53 C7 84 26 32 02 81 85 25 54 + .byte $04, $8A, $8D, $8D, $90, $25, $74, $C5, $8B, $26, $14, $04, $8C, $8F, $8F, $92 ; CPU:$EFA3 PRG:2FA3 04 8A 8D 8D 90 25 74 C5 8B 26 14 04 8C 8F 8F 92 + .byte $26, $34, $44, $D3, $25, $77, $C5, $91, $25, $58, $C7, $80, $25, $59, $C7, $84 ; CPU:$EFB3 PRG:2FB3 26 34 44 D3 25 77 C5 91 25 58 C7 80 25 59 C7 84 + .byte $26, $38, $02, $81, $85, $24, $06, $01, $80, $24, $07, $53, $82, $24, $26, $14 ; CPU:$EFC3 PRG:2FC3 26 38 02 81 85 24 06 01 80 24 07 53 82 24 26 14 + .byte $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$EFD3 PRG:2FD3 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 + .byte $82, $82, $82, $84, $24, $46, $C5, $80, $24, $49, $C5, $82, $24, $4A, $C5, $82 ; CPU:$EFE3 PRG:2FE3 82 82 82 84 24 46 C5 80 24 49 C5 82 24 4A C5 82 + .byte $24, $4D, $C5, $82, $24, $4E, $C5, $82, $24, $51, $C5, $82, $24, $52, $C5, $82 ; CPU:$EFF3 PRG:2FF3 24 4D C5 82 24 4E C5 82 24 51 C5 82 24 52 C5 82 + .byte $24, $55, $C5, $82, $24, $56, $C5, $82, $24, $59, $C5, $84, $24, $E6, $08, $86 ; CPU:$F003 PRG:3003 24 55 C5 82 24 56 C5 82 24 59 C5 84 24 E6 08 86 + .byte $87, $87, $89, $86, $87, $87, $89, $24, $EE, $08, $86, $87, $87, $89, $86, $87 ; CPU:$F013 PRG:3013 87 87 89 86 87 87 89 24 EE 08 86 87 87 89 86 87 + .byte $87, $89, $24, $F6, $04, $86, $87, $87, $89, $25, $06, $54, $33, $25, $26, $54 ; CPU:$F023 PRG:3023 87 89 24 F6 04 86 87 87 89 25 06 54 33 25 26 54 + .byte $32, $22, $45, $56, $A5, $22, $40, $45, $32, $22, $5B, $45, $32, $22, $60, $60 ; CPU:$F033 PRG:3033 32 22 45 56 A5 22 40 45 32 22 5B 45 32 22 60 60 + .byte $32, $22, $80, $60, $32, $26, $45, $56, $A5, $26, $40, $45, $32, $26, $5B, $45 ; CPU:$F043 PRG:3043 32 22 80 60 32 26 45 56 A5 26 40 45 32 26 5B 45 + .byte $32, $26, $60, $60, $32, $26, $80, $60, $32, $00, $22, $C2, $84, $C0, $C3, $C3 ; CPU:$F053 PRG:3053 32 26 60 60 32 26 80 60 32 00 22 C2 84 C0 C3 C3 + .byte $C4, $22, $C3, $5A, $BF, $22, $C9, $84, $BB, $BD, $BD, $BE, $22, $D6, $84, $C0 ; CPU:$F063 PRG:3063 C4 22 C3 5A BF 22 C9 84 BB BD BD BE 22 D6 84 C0 + .byte $C3, $C3, $C4, $22, $DD, $84, $BB, $BD, $BD, $BE, $22, $CD, $06, $E5, $E4, $E3 ; CPU:$F073 PRG:3073 C3 C3 C4 22 DD 84 BB BD BD BE 22 CD 06 E5 E4 E3 + .byte $E2, $E1, $E0, $23, $23, $46, $C2, $23, $37, $46, $C2, $23, $0C, $02, $C0, $BF ; CPU:$F083 PRG:3083 E2 E1 E0 23 23 46 C2 23 37 46 C2 23 0C 02 C0 BF + .byte $23, $2C, $01, $C3, $23, $4C, $82, $C3, $C4, $23, $6D, $46, $C2, $23, $12, $02 ; CPU:$F093 PRG:3093 23 2C 01 C3 23 4C 82 C3 C4 23 6D 46 C2 23 12 02 + .byte $BF, $BB, $23, $33, $01, $BD, $23, $53, $82, $BD, $BE, $23, $45, $03, $9E, $24 ; CPU:$F0A3 PRG:30A3 BF BB 23 33 01 BD 23 53 82 BD BE 23 45 03 9E 24 + .byte $03, $23, $59, $03, $9D, $24, $03, $23, $0E, $04, $1D, $12, $16, $0E, $26, $C2 ; CPU:$F0B3 PRG:30B3 03 23 59 03 9D 24 03 23 0E 04 1D 12 16 0E 26 C2 + .byte $84, $C0, $C3, $C3, $C4, $26, $C3, $5A, $BF, $26, $C9, $84, $BB, $BD, $BD, $BE ; CPU:$F0C3 PRG:30C3 84 C0 C3 C3 C4 26 C3 5A BF 26 C9 84 BB BD BD BE + .byte $26, $D6, $84, $C0, $C3, $C3, $C4, $26, $DD, $84, $BB, $BD, $BD, $BE, $26, $CD ; CPU:$F0D3 PRG:30D3 26 D6 84 C0 C3 C3 C4 26 DD 84 BB BD BD BE 26 CD + .byte $06, $E5, $E4, $E3, $E2, $E1, $E0, $27, $23, $46, $C2, $27, $37, $46, $C2, $27 ; CPU:$F0E3 PRG:30E3 06 E5 E4 E3 E2 E1 E0 27 23 46 C2 27 37 46 C2 27 + .byte $0C, $02, $C0, $BF, $27, $2C, $01, $C3, $27, $4C, $82, $C3, $C4, $27, $6D, $46 ; CPU:$F0F3 PRG:30F3 0C 02 C0 BF 27 2C 01 C3 27 4C 82 C3 C4 27 6D 46 + .byte $C2, $27, $12, $02, $BF, $BB, $27, $33, $01, $BD, $27, $53, $82, $BD, $BE, $27 ; CPU:$F103 PRG:3103 C2 27 12 02 BF BB 27 33 01 BD 27 53 82 BD BE 27 + .byte $45, $03, $9E, $24, $03, $27, $59, $03, $9D, $24, $03, $27, $0E, $04, $1D, $12 ; CPU:$F113 PRG:3113 45 03 9E 24 03 27 59 03 9D 24 03 27 0E 04 1D 12 + .byte $16, $0E, $23, $E8, $18, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5 ; CPU:$F123 PRG:3123 16 0E 23 E8 18 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 + .byte $FF, $FF, $A5, $A5, $A5, $55, $55, $55, $FF, $FF, $00, $00, $00, $27, $E8, $18 ; CPU:$F133 PRG:3133 FF FF A5 A5 A5 55 55 55 FF FF 00 00 00 27 E8 18 + .byte $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5, $FF, $FF, $A5, $A5, $A5 ; CPU:$F143 PRG:3143 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 FF FF A5 A5 A5 + .byte $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $22, $E2, $08, $C0, $E5, $E4, $E3 ; CPU:$F153 PRG:3153 55 55 55 FF FF 00 00 00 00 22 E2 08 C0 E5 E4 E3 + .byte $E2, $E1, $E0, $BB, $23, $02, $83, $C3, $C3, $C4, $23, $09, $83, $BD, $BD, $BE ; CPU:$F163 PRG:3163 E2 E1 E0 BB 23 02 83 C3 C3 C4 23 09 83 BD BD BE + .byte $23, $43, $46, $C2, $22, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $23 ; CPU:$F173 PRG:3173 23 43 46 C2 22 EC 08 C0 BF 1D 12 16 0E BF BB 23 + .byte $0C, $83, $C3, $C3, $C4, $23, $13, $83, $BD, $BD, $BE, $23, $4D, $46, $C2, $22 ; CPU:$F183 PRG:3183 0C 83 C3 C3 C4 23 13 83 BD BD BE 23 4D 46 C2 22 + .byte $D6, $06, $1B, $18, $1E, $17, $0D, $24, $23, $16, $05, $0C, $18, $16, $24, $03 ; CPU:$F193 PRG:3193 D6 06 1B 18 1E 17 0D 24 23 16 05 0C 18 16 24 03 + .byte $23, $36, $05, $22, $18, $1E, $24, $03, $26, $E2, $08, $C0, $E5, $E4, $E3, $E2 ; CPU:$F1A3 PRG:31A3 23 36 05 22 18 1E 24 03 26 E2 08 C0 E5 E4 E3 E2 + .byte $E1, $E0, $BB, $27, $02, $83, $C3, $C3, $C4, $27, $09, $83, $BD, $BD, $BE, $27 ; CPU:$F1B3 PRG:31B3 E1 E0 BB 27 02 83 C3 C3 C4 27 09 83 BD BD BE 27 + .byte $43, $46, $C2, $26, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $27, $0C ; CPU:$F1C3 PRG:31C3 43 46 C2 26 EC 08 C0 BF 1D 12 16 0E BF BB 27 0C + .byte $83, $C3, $C3, $C4, $27, $13, $83, $BD, $BD, $BE, $27, $4D, $46, $C2, $26, $D6 ; CPU:$F1D3 PRG:31D3 83 C3 C3 C4 27 13 83 BD BD BE 27 4D 46 C2 26 D6 + .byte $06, $1B, $18, $1E, $17, $0D, $24, $27, $16, $05, $0C, $18, $16, $24, $03, $27 ; CPU:$F1E3 PRG:31E3 06 1B 18 1E 17 0D 24 27 16 05 0C 18 16 24 03 27 + .byte $36, $05, $22, $18, $1E, $24, $03, $23, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A ; CPU:$F1F3 PRG:31F3 36 05 22 18 1E 24 03 23 E8 18 5A 5A 5A FA FA 5A + .byte $5A, $5A, $55, $55, $55, $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00 ; CPU:$F203 PRG:3203 5A 5A 55 55 55 FF FF AA AA AA 55 55 55 FF FF 00 + .byte $00, $00, $27, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A, $5A, $5A, $55, $55, $55 ; CPU:$F213 PRG:3213 00 00 27 E8 18 5A 5A 5A FA FA 5A 5A 5A 55 55 55 + .byte $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $21, $0A ; CPU:$F223 PRG:3223 FF FF AA AA AA 55 55 55 FF FF 00 00 00 00 21 0A + .byte $0E, $33, $E9, $E8, $F9, $E9, $EC, $F9, $33, $FA, $EF, $F6, $F7, $33, $33, $21 ; CPU:$F233 PRG:3233 0E 33 E9 E8 F9 E9 EC F9 33 FA EF F6 F7 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F243 PRG:3243 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F253 PRG:3253 C0 20 00 44 55 55 55 55 11 00 00 44 55 55 55 55 + .byte $11, $00, $00, $4C, $5F, $5F, $5F, $5F, $13, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F263 PRG:3263 11 00 00 4C 5F 5F 5F 5F 13 00 00 44 55 55 55 55 + .byte $11, $00, $23, $E0, $08, $A0, $A4, $A5, $A5, $A5, $A5, $A1, $A0, $00, $21, $0A ; CPU:$F273 PRG:3273 11 00 23 E0 08 A0 A4 A5 A5 A5 A5 A1 A0 00 21 0A + .byte $0E, $33, $33, $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $33, $33, $33, $21 ; CPU:$F283 PRG:3283 0E 33 33 FA F5 E8 EA F2 33 E9 E8 F9 33 33 33 21 + .byte $46, $C8, $D2, $21, $4D, $C8, $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23 ; CPU:$F293 PRG:3293 46 C8 D2 21 4D C8 D2 21 52 C8 D2 21 59 C8 D2 23 + .byte $C0, $20, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$F2A3 PRG:32A3 C0 20 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF + .byte $33, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2B3 PRG:32B3 33 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $AA, $AA, $AA, $A2, $A0, $00, $21, $0A ; CPU:$F2C3 PRG:32C3 22 00 23 E0 08 A0 A8 AA AA AA AA A2 A0 00 21 0A + .byte $0E, $33, $F9, $EC, $FA, $FB, $E8, $FC, $F9, $E8, $F5, $FB, $33, $33, $33, $21 ; CPU:$F2D3 PRG:32D3 0E 33 F9 EC FA FB E8 FC F9 E8 F5 FB 33 33 33 21 + .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F2E3 PRG:32E3 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 + .byte $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2F3 PRG:32F3 C0 20 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA + .byte $22, $00, $00, $84, $A5, $25, $85, $A5, $21, $00, $00, $88, $AA, $22, $88, $AA ; CPU:$F303 PRG:3303 22 00 00 84 A5 25 85 A5 21 00 00 88 AA 22 88 AA + .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $A2, $A8, $AA, $A2, $A0, $00, $25, $0A ; CPU:$F313 PRG:3313 22 00 23 E0 08 A0 A8 AA A2 A8 AA A2 A0 00 25 0A + .byte $0E, $33, $E9, $F6, $F6, $F2, $33, $FA, $FB, $F6, $F9, $EC, $33, $33, $33, $25 ; CPU:$F323 PRG:3323 0E 33 E9 F6 F6 F2 33 FA FB F6 F9 EC 33 33 33 25 + .byte $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F333 PRG:3333 4E 04 D6 D7 D7 D8 27 C0 20 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F343 PRG:3343 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA 22 + .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $27, $E0, $08, $A0, $A8, $AA, $AA ; CPU:$F353 PRG:3353 00 00 88 AA AA AA AA 22 00 27 E0 08 A0 A8 AA AA + .byte $AA, $AA, $A2, $A0, $00, $25, $0A, $0E, $EB, $F0, $FA, $EA, $F6, $FC, $F5, $FB ; CPU:$F363 PRG:3363 AA AA A2 A0 00 25 0A 0E EB F0 FA EA F6 FC F5 FB + .byte $33, $FA, $EF, $F6, $F7, $33, $25, $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20 ; CPU:$F373 PRG:3373 33 FA EF F6 F7 33 25 4E 04 D6 D7 D7 D8 27 C0 20 + .byte $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55, $11, $00 ; CPU:$F383 PRG:3383 00 44 55 55 55 55 11 00 00 44 55 55 55 55 11 00 + .byte $00, $00, $00, $80, $20, $00, $00, $00, $00, $00, $00, $88, $22, $00, $00, $00 ; CPU:$F393 PRG:3393 00 00 00 80 20 00 00 00 00 00 00 88 22 00 00 00 + .byte $27, $E0, $08, $A0, $A0, $A0, $A8, $A2, $A0, $A0, $A0, $00, $20, $00, $60, $32 ; CPU:$F3A3 PRG:33A3 27 E0 08 A0 A0 A0 A8 A2 A0 A0 A0 00 20 00 60 32 + .byte $20, $20, $60, $32, $20, $40, $60, $32, $20, $60, $60, $32, $21, $40, $60, $32 ; CPU:$F3B3 PRG:33B3 20 20 60 32 20 40 60 32 20 60 60 32 21 40 60 32 + .byte $22, $20, $60, $32, $20, $80, $CD, $32, $20, $81, $CD, $32, $20, $82, $CD, $32 ; CPU:$F3C3 PRG:33C3 22 20 60 32 20 80 CD 32 20 81 CD 32 20 82 CD 32 + .byte $20, $83, $CD, $32, $20, $93, $CD, $32, $20, $9C, $CD, $32, $20, $9D, $CD, $32 ; CPU:$F3D3 PRG:33D3 20 83 CD 32 20 93 CD 32 20 9C CD 32 20 9D CD 32 + .byte $20, $9E, $CD, $32, $20, $9F, $CD, $32, $20, $94, $48, $31, $20, $B4, $47, $31 ; CPU:$F3E3 PRG:33E3 20 9E CD 32 20 9F CD 32 20 94 48 31 20 B4 47 31 + .byte $20, $D4, $47, $31, $20, $F4, $47, $31, $21, $14, $47, $31, $20, $84, $CC, $A0 ; CPU:$F3F3 PRG:33F3 20 D4 47 31 20 F4 47 31 21 14 47 31 20 84 CC A0 + .byte $20, $85, $CC, $A1, $20, $86, $CC, $A2, $20, $87, $CD, $A0, $20, $88, $8D, $33 ; CPU:$F403 PRG:3403 20 85 CC A1 20 86 CC A2 20 87 CD A0 20 88 8D 33 + .byte $A1, $A8, $A9, $A1, $A1, $32, $A1, $A1, $33, $A1, $A1, $A1, $20, $A9, $CC, $A2 ; CPU:$F413 PRG:3413 A1 A8 A9 A1 A1 32 A1 A1 33 A1 A1 A1 20 A9 CC A2 + .byte $20, $8A, $CD, $A0, $20, $8B, $8D, $33, $A1, $A8, $A9, $A1, $33, $32, $33, $A1 ; CPU:$F423 PRG:3423 20 8A CD A0 20 8B 8D 33 A1 A8 A9 A1 33 32 33 A1 + .byte $A1, $33, $A1, $A1, $20, $AC, $CC, $A2, $20, $AD, $CC, $A0, $20, $AE, $CC, $A1 ; CPU:$F433 PRG:3433 A1 33 A1 A1 20 AC CC A2 20 AD CC A0 20 AE CC A1 + .byte $20, $AF, $C5, $A2, $21, $8F, $C5, $A1, $20, $90, $CD, $A0, $20, $B1, $C5, $A1 ; CPU:$F443 PRG:3443 20 AF C5 A2 21 8F C5 A1 20 90 CD A0 20 B1 C5 A1 + .byte $21, $71, $C6, $A0, $20, $B2, $C5, $A2, $21, $72, $86, $33, $A1, $A1, $33, $AA ; CPU:$F453 PRG:3453 21 71 C6 A0 20 B2 C5 A2 21 72 86 33 A1 A1 33 AA + .byte $AA, $21, $73, $84, $A3, $A2, $A2, $A4, $21, $74, $C6, $A0, $21, $75, $C6, $A2 ; CPU:$F463 PRG:3463 AA 21 73 84 A3 A2 A2 A4 21 74 C6 A0 21 75 C6 A2 + .byte $21, $96, $C4, $A0, $21, $97, $C4, $A1, $21, $98, $C4, $A2, $21, $79, $C6, $A0 ; CPU:$F473 PRG:3473 21 96 C4 A0 21 97 C4 A1 21 98 C4 A2 21 79 C6 A0 + .byte $21, $9A, $C5, $A1, $21, $9B, $C5, $A2, $21, $24, $83, $A7, $32, $A6, $21, $05 ; CPU:$F483 PRG:3483 21 9A C5 A1 21 9B C5 A2 21 24 83 A7 32 A6 21 05 + .byte $84, $A8, $33, $32, $33, $21, $26, $83, $A4, $32, $A3, $20, $89, $84, $A3, $A2 ; CPU:$F493 PRG:3493 84 A8 33 32 33 21 26 83 A4 32 A3 20 89 84 A3 A2 + .byte $A4, $A3, $21, $6A, $01, $A6, $20, $8C, $88, $A3, $A2, $A4, $A3, $A2, $A4, $32 ; CPU:$F4A3 PRG:34A3 A4 A3 21 6A 01 A6 20 8C 88 A3 A2 A4 A3 A2 A4 32 + .byte $A3, $20, $8D, $01, $A6, $20, $8E, $84, $33, $A1, $A1, $33, $20, $8F, $01, $A3 ; CPU:$F4B3 PRG:34B3 A3 20 8D 01 A6 20 8E 84 33 A1 A1 33 20 8F 01 A3 + .byte $21, $6E, $03, $33, $33, $A3, $20, $91, $02, $33, $A3, $21, $76, $06, $A6, $33 ; CPU:$F4C3 PRG:34C3 21 6E 03 33 33 A3 20 91 02 33 A3 21 76 06 A6 33 + .byte $A3, $A0, $33, $A3, $22, $04, $03, $A7, $33, $A4, $22, $16, $03, $A7, $33, $A4 ; CPU:$F4D3 PRG:34D3 A3 A0 33 A3 22 04 03 A7 33 A4 22 16 03 A7 33 A4 + .byte $20, $22, $D1, $32, $20, $23, $D1, $32, $21, $44, $58, $32, $22, $24, $58, $32 ; CPU:$F4E3 PRG:34E3 20 22 D1 32 20 23 D1 32 21 44 58 32 22 24 58 32 + .byte $21, $A6, $01, $32, $21, $F3, $C2, $32, $21, $A5, $01, $AA, $21, $90, $C5, $A2 ; CPU:$F4F3 PRG:34F3 21 A6 01 32 21 F3 C2 32 21 A5 01 AA 21 90 C5 A2 + .byte $20, $96, $83, $43, $42, $37, $20, $F5, $02, $32, $37, $21, $15, $43, $36, $21 ; CPU:$F503 PRG:3503 20 96 83 43 42 37 20 F5 02 32 37 21 15 43 36 21 + .byte $34, $04, $32, $34, $34, $34, $20, $D8, $84, $32, $3E, $3E, $3E, $20, $D9, $84 ; CPU:$F513 PRG:3513 34 04 32 34 34 34 20 D8 84 32 3E 3E 3E 20 D9 84 + .byte $3E, $3E, $32, $3E, $20, $FA, $83, $38, $3E, $32, $20, $BB, $85, $43, $42, $37 ; CPU:$F523 PRG:3523 3E 3E 32 3E 20 FA 83 38 3E 32 20 BB 85 43 42 37 + .byte $37, $37, $22, $A6, $17, $10, $0A, $16, $0E, $2F, $0B, $2F, $2F, $2F, $2F, $02 ; CPU:$F533 PRG:3533 37 37 22 A6 17 10 0A 16 0E 2F 0B 2F 2F 2F 2F 02 + .byte $2F, $19, $15, $0A, $22, $0E, $1B, $2F, $10, $0A, $16, $0E, $22, $66, $16, $10 ; CPU:$F543 PRG:3543 2F 19 15 0A 22 0E 1B 2F 10 0A 16 0E 22 66 16 10 + .byte $0A, $16, $0E, $2F, $0A, $2F, $2F, $2F, $2F, $1F, $1C, $2B, $2F, $0C, $18, $16 ; CPU:$F553 PRG:3553 0A 16 0E 2F 0A 2F 2F 2F 2F 1F 1C 2B 2F 0C 18 16 + .byte $19, $1E, $1D, $0E, $1B, $22, $EA, $0A, $1D, $18, $19, $2F, $1B, $18, $1E, $17 ; CPU:$F563 PRG:3563 19 1E 1D 0E 1B 22 EA 0A 1D 18 19 2F 1B 18 1E 17 + .byte $0D, $24, $23, $29, $0E, $25, $01, $09, $08, $04, $2F, $17, $12, $17, $1D, $0E ; CPU:$F573 PRG:3573 0D 24 23 29 0E 25 01 09 08 04 2F 17 12 17 1D 0E + .byte $17, $0D, $18, $23, $C0, $60, $00, $23, $E0, $08, $F0, $B0, $A0, $A0, $A0, $A0 ; CPU:$F583 PRG:3583 17 0D 18 23 C0 60 00 23 E0 08 F0 B0 A0 A0 A0 A0 + .byte $A0, $A0, $23, $E8, $08, $00, $0B, $0A, $0A, $0A, $0A, $0A, $0A, $23, $F0, $50 ; CPU:$F593 PRG:3593 A0 A0 23 E8 08 00 0B 0A 0A 0A 0A 0A 0A 23 F0 50 + .byte $FF, $23, $CD, $42, $55, $23, $D5, $42, $05, $22, $1C, $02, $2D, $2E, $00, $BE ; CPU:$F5A3 PRG:35A3 FF 23 CD 42 55 23 D5 42 05 22 1C 02 2D 2E 00 BE + .byte $F5, $D6, $F5, $FA, $F5, $1E, $F6, $42, $F6, $66, $F6, $3F, $00, $10, $0F, $0F ; CPU:$F5B3 PRG:35B3 F5 D6 F5 FA F5 1E F6 42 F6 66 F6 3F 00 10 0F 0F + .byte $11, $31, $0F, $02, $0F, $27, $0F, $16, $25, $23, $0F, $05, $20, $0F, $3F, $10 ; CPU:$F5C3 PRG:35C3 11 31 0F 02 0F 27 0F 16 25 23 0F 05 20 0F 3F 10 + .byte $50, $0F, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07, $38, $2B, $0F, $00 ; CPU:$F5D3 PRG:35D3 50 0F 00 3F 00 20 0F 21 0C 38 0F 07 38 2B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $36, $31, $0F, $1A, $36, $31, $0F, $1A ; CPU:$F5E3 PRG:35E3 10 30 0F 16 30 22 0F 02 36 31 0F 1A 36 31 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07 ; CPU:$F5F3 PRG:35F3 15 0C 0F 16 27 19 00 3F 00 20 0F 21 0C 38 0F 07 + .byte $38, $2B, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $34 ; CPU:$F603 PRG:3603 38 2B 0F 00 10 30 0F 16 30 22 0F 02 26 31 0F 34 + .byte $21, $11, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21 ; CPU:$F613 PRG:3613 21 11 0F 1A 15 0C 0F 16 27 19 00 3F 00 20 0F 21 + .byte $0C, $38, $0F, $09, $31, $29, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02 ; CPU:$F623 PRG:3623 0C 38 0F 09 31 29 0F 00 10 30 0F 16 30 22 0F 02 + .byte $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F ; CPU:$F633 PRG:3633 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 27 19 00 3F + .byte $00, $20, $0F, $21, $0C, $38, $0F, $22, $18, $07, $0F, $00, $10, $30, $0F, $16 ; CPU:$F643 PRG:3643 00 20 0F 21 0C 38 0F 22 18 07 0F 00 10 30 0F 16 + .byte $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16 ; CPU:$F653 PRG:3653 30 22 0F 02 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 + .byte $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $03, $18, $0B, $0F, $00 ; CPU:$F663 PRG:3663 27 19 00 3F 00 20 0F 21 0C 38 0F 03 18 0B 0F 00 + .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A ; CPU:$F673 PRG:3673 10 30 0F 16 30 22 0F 02 26 31 0F 19 36 32 0F 1A + .byte $15, $0C, $0F, $16, $27, $19, $00, $00, $01, $20, $00, $00, $01, $20, $00, $00 ; CPU:$F683 PRG:3683 15 0C 0F 16 27 19 00 00 01 20 00 00 01 20 00 00 + .byte $01, $20, $00, $01, $01, $7B, $C1, $00, $15, $60, $A0, $00, $03, $00, $00, $01 ; CPU:$F693 PRG:3693 01 20 00 01 01 7B C1 00 15 60 A0 00 03 00 00 01 + .byte $00, $00, $00, $01, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6A3 PRG:36A3 00 00 00 01 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $7B, $3E, $08, $15, $A0, $E0, $00, $03, $00, $00, $00 ; CPU:$F6B3 PRG:36B3 00 00 01 01 01 7B 3E 08 15 A0 E0 00 03 00 00 00 + .byte $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6C3 PRG:36C3 00 00 00 00 00 00 04 00 00 00 00 0A 00 00 05 00 + .byte $00, $00, $01, $01, $01, $3D, $78, $00, $13, $E0, $00, $01, $00, $03, $00, $00 ; CPU:$F6D3 PRG:36D3 00 00 01 01 01 3D 78 00 13 E0 00 01 00 03 00 00 + .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F6E3 PRG:36E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .byte $00, $00, $00, $F4, $FE, $20, $04, $F4, $FD, $00, $68, $F4, $FC, $00, $70, $F4 ; CPU:$F6F3 PRG:36F3 00 00 00 F4 FE 20 04 F4 FD 00 68 F4 FC 00 70 F4 + .byte $FB, $00, $78, $F4, $F6, $00, $78, $F4, $F5, $00, $80, $F4, $F4, $00, $80, $F4 ; CPU:$F703 PRG:3703 FB 00 78 F4 F6 00 78 F4 F5 00 80 F4 F4 00 80 F4 + .byte $F3, $03, $80, $F4, $F2, $00, $88, $F4, $F1, $00, $88, $F4, $F0, $03, $88, $F4 ; CPU:$F713 PRG:3713 F3 03 80 F4 F2 00 88 F4 F1 00 88 F4 F0 03 88 F4 + .byte $EF, $00, $90, $F4, $EE, $00, $90, $F4, $ED, $00, $98, $F4, $EC, $00, $98, $F4 ; CPU:$F723 PRG:3723 EF 00 90 F4 EE 00 90 F4 ED 00 98 F4 EC 00 98 F4 + .byte $EB, $00, $A0, $F4, $F9, $00, $80, $F4, $F7, $00, $88, $F4, $FA, $01, $80, $F4 ; CPU:$F733 PRG:3733 EB 00 A0 F4 F9 00 80 F4 F7 00 88 F4 FA 01 80 F4 + .byte $F8, $01, $88, $2F, $4C, $78, $7A, $7C, $7E, $4E, $79, $7B, $7D, $7F, $CD, $CB ; CPU:$F743 PRG:3743 F8 01 88 2F 4C 78 7A 7C 7E 4E 79 7B 7D 7F CD CB + .byte $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $78, $7A, $7C, $7E, $4D, $79, $7B ; CPU:$F753 PRG:3753 C9 C7 C5 CE CC CA C8 C6 FF 78 7A 7C 7E 4D 79 7B + .byte $7D, $7F, $4F, $CD, $CB, $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $00, $00 ; CPU:$F763 PRG:3763 7D 7F 4F CD CB C9 C7 C5 CE CC CA C8 C6 FF 00 00 + .byte $31, $F2, $21, $F3, $81, $F2, $68, $F3, $D1, $F2, $AF, $F7, $B6, $F7, $BD, $F7 ; CPU:$F773 PRG:3773 31 F2 21 F3 81 F2 68 F3 D1 F2 AF F7 B6 F7 BD F7 + .byte $C4, $F7, $D7, $F7, $CE, $F7, $E0, $F7, $E3, $F7, $E6, $F7, $E9, $F7, $99, $F7 ; CPU:$F783 PRG:3783 C4 F7 D7 F7 CE F7 E0 F7 E3 F7 E6 F7 E9 F7 99 F7 + .byte $A6, $F7, $CB, $F7, $EC, $F7, $04, $02, $04, $00, $04, $01, $04, $06, $04, $00 ; CPU:$F793 PRG:3793 A6 F7 CB F7 EC F7 04 02 04 00 04 01 04 06 04 00 + .byte $04, $01, $FE, $04, $00, $04, $06, $04, $01, $04, $02, $FE, $20, $0F, $10, $08 ; CPU:$F7A3 PRG:37A3 04 01 FE 04 00 04 06 04 01 04 02 FE 20 0F 10 08 + .byte $01, $04, $FF, $20, $10, $10, $09, $01, $06, $FF, $10, $0F, $10, $08, $01, $04 ; CPU:$F7B3 PRG:37B3 01 04 FF 20 10 10 09 01 06 FF 10 0F 10 08 01 04 + .byte $FF, $10, $10, $10, $09, $01, $06, $FF, $15, $0A, $FF, $10, $06, $10, $06, $10 ; CPU:$F7C3 PRG:37C3 FF 10 10 10 09 01 06 FF 15 0A FF 10 06 10 06 10 + .byte $07, $10, $07, $FE, $10, $04, $10, $04, $10, $05, $10, $05, $FE, $20, $0B, $FF ; CPU:$F7D3 PRG:37D3 07 10 07 FE 10 04 10 04 10 05 10 05 FE 20 0B FF + .byte $20, $0C, $FF, $20, $16, $FF, $20, $17, $FF, $40, $19, $F0, $18, $FF, $02, $FF ; CPU:$F7E3 PRG:37E3 20 0C FF 20 16 FF 20 17 FF 40 19 F0 18 FF 02 FF + .byte $01, $02, $FF, $01, $02, $FF, $01, $02, $FF, $01, $02, $00, $01, $FD, $14, $02 ; CPU:$F7F3 PRG:37F3 01 02 FF 01 02 FF 01 02 FF 01 02 00 01 FD 14 02 + .byte $00, $01, $02, $00, $01, $02, $01, $01, $02, $01, $01, $02, $01, $01, $02, $01 ; CPU:$F803 PRG:3803 00 01 02 00 01 02 01 01 02 01 01 02 01 01 02 01 + .byte $01, $02, $01, $01, $02, $01, $01, $02, $02, $01, $FD, $0E, $02, $02, $01, $02 ; CPU:$F813 PRG:3813 01 02 01 01 02 01 01 02 02 01 FD 0E 02 02 01 02 + .byte $02, $01, $14, $00, $01, $FD, $11, $14, $F8, $00, $FD, $0C, $0F, $03, $10, $FF ; CPU:$F823 PRG:3823 02 01 14 00 01 FD 11 14 F8 00 FD 0C 0F 03 10 FF + .byte $02, $03, $01, $FE, $0E, $00, $0A, $FF, $08, $02, $01, $FD, $11, $08, $F8, $00 ; CPU:$F833 PRG:3833 02 03 01 FE 0E 00 0A FF 08 02 01 FD 11 08 F8 00 + .byte $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD ; CPU:$F843 PRG:3843 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD + .byte $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E ; CPU:$F853 PRG:3853 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E + .byte $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08 ; CPU:$F863 PRG:3863 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 + .byte $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08 ; CPU:$F873 PRG:3873 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 + .byte $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00 ; CPU:$F883 PRG:3883 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 + .byte $FF, $FD, $1D, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F893 PRG:3893 FF FD 1D 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FD, $1A, $04, $02, $00, $04, $02, $00 ; CPU:$F8A3 PRG:38A3 02 00 04 02 00 04 02 00 FD 1A 04 02 00 04 02 00 + .byte $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F8B3 PRG:38B3 04 02 00 04 02 00 04 02 00 04 02 00 04 02 00 04 + .byte $02, $00, $04, $02, $00, $04, $02, $00, $FF, $48, $EA, $23, $9C, $48, $C4, $61 ; CPU:$F8C3 PRG:38C3 02 00 04 02 00 04 02 00 FF 48 EA 23 9C 48 C4 61 + .byte $98, $48, $C4, $21, $A0, $40, $C6, $20, $98, $40, $C3, $20, $A0, $38, $C5, $20 ; CPU:$F8D3 PRG:38D3 98 48 C4 21 A0 40 C6 20 98 40 C3 20 A0 38 C5 20 + .byte $98, $38, $C2, $20, $A0, $08, $F8, $08, $08, $10, $00, $FF, $10, $F0, $18, $F8 ; CPU:$F8E3 PRG:38E3 98 38 C2 20 A0 08 F8 08 08 10 00 FF 10 F0 18 F8 + .byte $18, $08, $10, $10, $FF, $18, $E0, $20, $E8, $28, $F8, $20, $00, $28, $10, $FF ; CPU:$F8F3 PRG:38F3 18 08 10 10 FF 18 E0 20 E8 28 F8 20 00 28 10 FF + .byte $20, $D0, $30, $D8, $30, $E8, $38, $F0, $30, $00, $30, $18, $FF, $30, $C8, $40 ; CPU:$F903 PRG:3903 20 D0 30 D8 30 E8 38 F0 30 00 30 18 FF 30 C8 40 + .byte $E0, $40, $08, $48, $20, $FF, $38, $B0, $40, $C0, $50, $E8, $50, $00, $FF, $50 ; CPU:$F913 PRG:3913 E0 40 08 48 20 FF 38 B0 40 C0 50 E8 50 00 FF 50 + .byte $C8, $FF, $48, $98, $50, $B0, $FF, $50, $88, $58, $90, $60, $A8, $58, $B8, $60 ; CPU:$F923 PRG:3923 C8 FF 48 98 50 B0 FF 50 88 58 90 60 A8 58 B8 60 + .byte $C8, $60, $E0, $58, $F8, $60, $08, $58, $18, $60, $20, $60, $30, $FE, $2F, $1B ; CPU:$F933 PRG:3933 C8 60 E0 58 F8 60 08 58 18 60 20 60 30 FE 2F 1B + .byte $18, $1E, $17, $0D, $24, $2F, $2F, $2F, $4F, $F9, $75, $F9, $CD, $24, $57, $FF ; CPU:$F943 PRG:3943 18 1E 17 0D 24 2F 2F 2F 4F F9 75 F9 CD 24 57 FF + .byte $13, $13, $13, $13, $13, $1A, $D8, $1B, $18, $1E, $17, $0D, $21, $D8, $B7, $B7 ; CPU:$F953 PRG:3953 13 13 13 13 13 1A D8 1B 18 1E 17 0D 21 D8 B7 B7 + .byte $B7, $B7, $B7, $21, $D8, $B7, $B7, $B7, $B7, $B7, $21, $23, $FC, $FC, $FC, $FC ; CPU:$F963 PRG:3963 B7 B7 B7 21 D8 B7 B7 B7 B7 B7 21 23 FC FC FC FC + .byte $FC, $FD, $6B, $0B, $1A, $32, $32, $2F, $19, $0A, $1E, $1C, $0E, $2F, $32, $33 ; CPU:$F973 PRG:3973 FC FD 6B 0B 1A 32 32 2F 19 0A 1E 1C 0E 2F 32 33 + .byte $5A, $24, $FF, $13, $13, $13, $13, $13, $1A, $24, $24, $24, $D8, $B7, $B7, $B7 ; CPU:$F983 PRG:3983 5A 24 FF 13 13 13 13 13 1A 24 24 24 D8 B7 B7 B7 + .byte $B7, $B7, $21, $24, $24, $24, $D8, $19, $0A, $1E, $1C, $0E, $21, $24, $24, $24 ; CPU:$F993 PRG:3993 B7 B7 21 24 24 24 D8 19 0A 1E 1C 0E 21 24 24 24 + .byte $D8, $B7, $B7, $B7, $B7, $B7, $21, $24, $24, $24, $23, $FC, $FC, $FC, $FC, $FC ; CPU:$F9A3 PRG:39A3 D8 B7 B7 B7 B7 B7 21 24 24 24 23 FC FC FC FC FC + .byte $FD, $24, $24, $01, $01, $02, $03, $00, $50, $00, $00, $00, $02, $03, $01, $04 ; CPU:$F9B3 PRG:39B3 FD 24 24 01 01 02 03 00 50 00 00 00 02 03 01 04 + .byte $06, $02, $05, $07, $05, $08, $10, $15, $16, $20, $24, $30, $E3, $F9, $E7, $F9 ; CPU:$F9C3 PRG:39C3 06 02 05 07 05 08 10 15 16 20 24 30 E3 F9 E7 F9 + .byte $EB, $F9, $EF, $F9, $F3, $F9, $F7, $F9, $FB, $F9, $FF, $F9, $03, $FA, $07, $FA ; CPU:$F9D3 PRG:39D3 EB F9 EF F9 F3 F9 F7 F9 FB F9 FF F9 03 FA 07 FA + .byte $50, $52, $51, $53, $54, $56, $55, $57, $58, $5A, $59, $5B, $5C, $5E, $5D, $5F ; CPU:$F9E3 PRG:39E3 50 52 51 53 54 56 55 57 58 5A 59 5B 5C 5E 5D 5F + .byte $60, $62, $61, $63, $64, $66, $65, $67, $68, $6A, $69, $6B, $6C, $6E, $6D, $6F ; CPU:$F9F3 PRG:39F3 60 62 61 63 64 66 65 67 68 6A 69 6B 6C 6E 6D 6F + .byte $70, $72, $71, $73, $74, $76, $75, $77, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA03 PRG:3A03 70 72 71 73 74 76 75 77 FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA13 PRG:3A13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA23 PRG:3A23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA33 PRG:3A33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA43 PRG:3A43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA53 PRG:3A53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA63 PRG:3A63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA73 PRG:3A73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA83 PRG:3A83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA93 PRG:3A93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA3 PRG:3AA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB3 PRG:3AB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC3 PRG:3AC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD3 PRG:3AD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE3 PRG:3AE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF3 PRG:3AF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB03 PRG:3B03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB13 PRG:3B13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB23 PRG:3B23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB33 PRG:3B33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB43 PRG:3B43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB53 PRG:3B53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB63 PRG:3B63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB73 PRG:3B73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB83 PRG:3B83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB93 PRG:3B93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA3 PRG:3BA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB3 PRG:3BB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC3 PRG:3BC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD3 PRG:3BD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE3 PRG:3BE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF3 PRG:3BF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC03 PRG:3C03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC13 PRG:3C13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC23 PRG:3C23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC33 PRG:3C33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC43 PRG:3C43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC53 PRG:3C53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC63 PRG:3C63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC73 PRG:3C73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC83 PRG:3C83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC93 PRG:3C93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA3 PRG:3CA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB3 PRG:3CB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC3 PRG:3CC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD3 PRG:3CD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE3 PRG:3CE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF3 PRG:3CF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD03 PRG:3D03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD13 PRG:3D13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD23 PRG:3D23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD33 PRG:3D33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD43 PRG:3D43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD53 PRG:3D53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD63 PRG:3D63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD73 PRG:3D73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD83 PRG:3D83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD93 PRG:3D93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA3 PRG:3DA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB3 PRG:3DB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC3 PRG:3DC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD3 PRG:3DD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE3 PRG:3DE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF3 PRG:3DF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE03 PRG:3E03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE13 PRG:3E13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE23 PRG:3E23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE33 PRG:3E33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE43 PRG:3E43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE53 PRG:3E53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE63 PRG:3E63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE73 PRG:3E73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE83 PRG:3E83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE93 PRG:3E93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA3 PRG:3EA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB3 PRG:3EB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC3 PRG:3EC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED3 PRG:3ED3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE3 PRG:3EE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF3 PRG:3EF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF03 PRG:3F03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF13 PRG:3F13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF23 PRG:3F23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF33 PRG:3F33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF43 PRG:3F43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF53 PRG:3F53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF63 PRG:3F63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF73 PRG:3F73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF83 PRG:3F83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF93 PRG:3F93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA3 PRG:3FA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB3 PRG:3FB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC3 PRG:3FC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD3 PRG:3FD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE3 PRG:3FE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $91, $CA, $00, $CA, $00, $CA ; CPU:$FFF3 PRG:3FF3 FF FF FF FF FF FF FF 91 CA 00 CA 00 CA diff --git a/_wip/Urban Champion (JU)/copilot/reconstructed.lbl b/_wip/Urban Champion (JU)/copilot/reconstructed.lbl index e69de29..60c9996 100644 --- a/_wip/Urban Champion (JU)/copilot/reconstructed.lbl +++ b/_wip/Urban Champion (JU)/copilot/reconstructed.lbl @@ -0,0 +1,435 @@ +al 00E80C .InitSoundExit_E80C +al 00E80B .InitSoundCallE5AC +al 00E7FE .InitSoundExit +al 00E7F7 .InitSoundEntry +al 00E7EF .InitSound +al 00E7F9 .InitSoundCallE4E2 +al 00E7DB .InitSpriteDataCallE5ACAlt6 +al 00E7C6 .InitSpriteDataCallE5ACAlt5 +al 00E7BE .InitSpriteDataCallE4E2Alt5 +al 00E7D6 .InitSpriteDataCallE4E2Alt6 +al 00E7B6 .InitSpriteDataExit +al 00E7AF .InitSpriteDataCallE4E2Alt4 +al 00E7AB .InitSpriteDataCallE5ACAlt3 +al 00E7A7 .InitSpriteDataCallE4E2Alt3 +al 00E7B1 .InitSpriteDataCallE5ACAlt4 +al 00E793 .InitSpriteData +al 00E77C .InitSpriteDataCallE5ACAlt2 +al 00E768 .InitSpriteDataCallE5ACAlt +al 00E777 .InitSpriteDataCallE4E2Alt2 +al 00E749 .InitSpriteDataCallE4E2 +al 00E753 .InitSpriteDataCallE5AC +al 00E72D .InitSpriteDataLoop +al 00E764 .InitSpriteDataCallE4E2Alt +al 00E70C .InitSpriteDataEntry +al 00E6FA .UpdateMusicLoopExit +al 00E6F9 .UpdateMusicLoopCallE4E2Alt4 +al 00E6F2 .UpdateMusicLoopCallE5ACAlt2 +al 00E6E6 .UpdateMusicLoopCallE4E2Alt3 +al 00E6E3 .UpdateMusicLoopCallE5ACAlt +al 00E6DD .UpdateMusicLoopCallE4E2Alt2 +al 00E6D4 .UpdateMusicLoop +al 00E6CE .UpdateMusicLoopCallE4E2Alt +al 00E6BE .UpdateMusicLoopCallE5AC +al 00E695 .UpdateMusicLoopEntry +al 00E6A8 .UpdateMusicLoopCallE4E2 +al 00E669 .UpdateMusicCallE4E2Alt6 +al 00E65A .UpdateMusicCallE5ACAlt5 +al 00E641 .UpdateMusicCallE4E2Alt5 +al 00E630 .UpdateMusicCallE5ACAlt4 +al 00E62F .UpdateMusicCallE4E2Alt4 +al 00E62D .UpdateMusicCallE5ACAlt3 +al 00E61B .UpdateMusicAlt +al 00E617 .UpdateMusicExit +al 00E60E .UpdateMusicCallE4E2Alt3 +al 00E5FB .UpdateMusicCallE5ACAlt2 +al 00E5D9 .UpdateMusicCallE4E2Alt +al 00E5E5 .UpdateMusicCallE5ACAlt +al 00E5CD .UpdateMusicCallE5AC +al 00E5E4 .UpdateMusicCallE4E2Alt2 +al 00E5AC .UpdateMusicCallE4E2 +al 00E595 .PlaySoundEffectCallE5ACAlt3 +al 00E594 .PlaySoundEffectCallE4E2Alt4 +al 00E5AB .UpdateMusicEntry +al 00E56B .PlaySoundEffectCallE4E2Alt3 +al 00E582 .PlaySoundEffectCallE5ACAlt2 +al 00E54A .PlaySoundEffectAlt +al 00E543 .PlaySoundEffectCallE4E2Alt2 +al 00E549 .PlaySoundEffectCallE5ACAlt +al 00E535 .PlaySoundEffectExit +al 00E52F .PlaySoundEffectCallE4E2Alt +al 00E52B .PlaySoundEffectCallE5AC +al 00E50A .PlaySoundEffectEntry +al 00E506 .PlaySoundEffect +al 00E4F6 .UpdateSoundCallE4E2Alt7 +al 00E52A .PlaySoundEffectCallE4E2 +al 00E4EA .UpdateSoundCallE5ACAlt2 +al 00E4E2 .UpdateSoundAltExit +al 00E4BD .UpdateSoundCallE4E2Alt5 +al 00E4A4 .UpdateSoundAlt +al 00E4AE .UpdateSoundCallE5ACAlt +al 00E4BF .UpdateSoundCallE4E2Alt6 +al 00E496 .UpdateSoundCallE4E2Alt3 +al 00E48A .UpdateSoundCallE4E2Alt2 +al 00E479 .UpdateSoundCallE4E2Alt +al 00E46E .UpdateSoundCallE5AC +al 00E469 .UpdateSoundCallE4E2 +al 00E462 .UpdateSoundEntry +al 00E461 .HandleRoundStartCallE4E2Alt4 +al 00E459 .UpdateSound +al 00E450 .HandleRoundStartCallE4E2Alt2 +al 00E438 .HandleRoundStartCallE4E2Alt +al 00E42A .HandleRoundStartCallE5AC +al 00E41A .HandleRoundStartCallE4E2 +al 00E458 .HandleRoundStartCallE4E2Alt3 +al 00E418 .HandleRoundStartEntry +al 00E40E .HandleRoundStartExit +al 00E334 .HandleGameOverCallE4E2Alt +al 00E346 .HandleGameOverCallE4E2Alt2 +al 00E31E .HandleGameOverCallE5AC +al 00E312 .HandleGameOverCallE4E2 +al 00E30F .HandleGameOverEntry +al 00E2FF .HandlePlayer2LogicCallE4E2Alt3 +al 00E2E5 .HandlePlayer2LogicCallE4E2Alt2 +al 00E34F .HandleGameOverCallE4E2Alt3 +al 00E2D8 .HandlePlayer2LogicCallE4E2Alt +al 00E2C9 .HandlePlayerLogicExit +al 00E2C1 .HandlePlayer2LogicCallE5AC +al 00E2B9 .HandlePlayer2Logic +al 00E2A3 .HandlePlayer2LogicStxZp31 +al 00E29C .HandlePlayer2LogicCpyZp43 +al 00E2B8 .HandlePlayer2LogicCallE4E2 +al 00E290 .HandlePlayer2LogicEntry +al 00E26C .HandlePlayer1LogicCallE4E2Alt +al 00E255 .HandlePlayer1LogicCallE5AC +al 00E24A .HandlePlayer1LogicCallE4E2 +al 00E236 .HandlePlayer1LogicLdaZp87 +al 00E235 .HandlePlayer1LogicBeq +al 00E21E .HandlePlayer1LogicLda0258 +al 00E20D .HandlePlayer1LogicInx +al 00E207 .HandlePlayer1LogicLdxZp36 +al 00E1FD .HandlePlayer2Dex +al 00E1CD .HandlePlayer2CallE1FDEntry +al 00E11A .HandlePlayer2CallE1FD +al 00E0B7 .HandlePlayer1BeqE235 +al 00E0B4 .HandlePlayer1CheckZp87 +al 00E11C .HandlePlayer2Entry +al 00E076 .HandlePlayer1Alt +al 00E06D .HandlePlayer1CallE1CD +al 00E064 .HandlePlayer2Exit +al 00E073 .HandlePlayer1CallE1FD +al 00E052 .HandlePlayer1BeqE075 +al 00E056 .HandlePlayer1LdxZp89 +al 00E075 .HandlePlayer1Entry +al 00E040 .HandlePlayer1CheckZpC0 +al 00DFDF .HandleKODexBne +al 00DFE5 .HandleKOBeqDFE4 +al 00DFDA .HandleKODex +al 00DFE4 .HandleKOCheckZp1F +al 00DFBC .HandleKOCheckZp1F_DFBC +al 00DFAE .HandleKOBeqDFB7 +al 00DFB7 .HandleKOLda0321 +al 00DF9E .HandleKOCheckZp88 +al 00DF8D .HandleKOCmp07 +al 00DF7A .HandleKOLoop +al 00DF75 .HandleKOAnd07 +al 00DF74 .HandleKOLda05EC +al 00DF53 .HandleKOEntry +al 00DF4C .UpdateRoundStateAlt +al 00DEC9 .UpdateRoundState +al 00DE1C .ProcessInputsEntry +al 00DE35 .ProcessInputsCheckZp1F +al 00DE03 .ProcessInputsExit +al 00DD96 .UpdateTimersBneDDAB +al 00DDAB .UpdateTimersCallCDE0 +al 00DD8C .UpdateTimersAnd1F +al 00DD34 .UpdateTimersBeqDD34 +al 00DD3B .UpdateTimersCmp02Alt +al 00DD33 .UpdateTimersBeqDD33Alt +al 00DD00 .UpdateTimersCmp02 +al 00DCFF .UpdateTimersBeqDD33 +al 00DCF6 .UpdateTimersEntry +al 00DBF0 .SpriteDMARTS +al 00DBDD .SpriteDMACallCDE0 +al 00DBEF .SpriteDMACallDD8C +al 00DBBF .SpriteDMACheckZp93 +al 00DBAA .SpriteDMADex +al 00DBA6 .SpriteDMALoop_DBA6 +al 00DB9E .SpriteDMALdaF940 +al 00DB8E .SpriteDMALdx0A +al 00DB7D .SpriteDMALoopEntry +al 00DB92 .SpriteDMALdy0A +al 00DB57 .SpriteDMACmp02 +al 00DB91 .SpriteDMABeqDB91 +al 00DB48 .SpriteDMACheckZp96_DB48 +al 00DAB3 .SpriteDMACheckZp96 +al 00DAA7 .CheckCollisions +al 00DA25 .TitleScreenSetMode +al 00D828 .UpdatePlayerPositionsStxZp31 +al 00D825 .UpdatePlayerPositionsEntry +al 00D80C .UpdatePlayerPositionsExit +al 00D807 .UpdatePlayerPositionsSetZp32 +al 00D7FC .UpdatePlayerPositionsCheckZp84 +al 00D7DB .UpdatePlayerPositions +al 00D447 .DrawRoundNumberADC06 +al 00D444 .DrawRoundNumberClc +al 00D436 .DrawRoundNumberCalc +al 00D463 .DrawRoundNumberCallE4E2 +al 00D45B .DrawRoundNumberCallE7A7 +al 00D411 .UpdateScoreLDY02 +al 00D408 .UpdateScoreBneD3CE +al 00D3F3 .UpdateScoreSetZp31Alt3 +al 00D3CE .UpdateScoreCallE46E +al 00D3D1 .UpdateScoreBneD40E +al 00D3BD .UpdateScoreSetZp31Alt2 +al 00D40E .UpdateScoreExit +al 00D3C3 .UpdateScoreBneD408 +al 00D3A4 .UpdateScoreCheckZp88Alt +al 00D392 .UpdateScoreLdx02 +al 00D367 .UpdateScoreSetZp31Alt +al 00D35E .UpdateScoreCpy0D +al 00D34B .UpdateScoreCallE462 +al 00D341 .UpdateScoreCallE459 +al 00D327 .UpdateScoreLdxZp89 +al 00D332 .UpdateScoreCallE2B9 +al 00D31F .UpdateScoreBeqD31F +al 00D313 .UpdateScoreLoadZp1F +al 00D304 .UpdateScoreSetZp31 +al 00D301 .UpdateScoreCheckZp88 +al 00D300 .UpdateScoreEntry +al 00D2CA .UpdatePlayersCheckZp1F +al 00D2AF .UpdatePlayersCallE4E2Alt +al 00D2AD .UpdatePlayersCallE4E2 +al 00D2C4 .UpdatePlayersCallE462 +al 00D2A7 .UpdatePlayersStxZp31Alt +al 00D2A5 .UpdatePlayersEntryAlt +al 00D2B2 .UpdatePlayersCallE5AC +al 00D2C7 .UpdatePlayersCallE462_CF +al 00D289 .UpdatePlayersCpyZp43Alt +al 00D27B .UpdatePlayersEntry +al 00D2A9 .UpdatePlayersStyZp43Alt +al 00D29E .UpdatePlayersStyZp43 +al 00D261 .UpdatePlayersStxZp31 +al 00D254 .UpdatePlayersCpyZp43 +al 00D243 .UpdatePlayersBitZp00 +al 00D213 .UpdatePlayersCheckZp00 +al 00D1EA .UpdatePPUMaskLdx01 +al 00D1E8 .UpdatePPUMaskBCS +al 00D1F9 .UpdatePPUMaskSetZp88 +al 00D1CA .UpdatePPUMaskCheckZp8B +al 00D1C4 .UpdatePPUMaskEntry +al 00D1AE .UpdatePPUMaskASL +al 00D1A4 .UpdatePPUMaskCheckZp85 +al 00D187 .UpdatePPUMaskExit +al 00D174 .UpdatePPUMask +al 00D08E .SpriteDMA +al 00D088 .SpriteDMASetZp00 +al 00D086 .SpriteDMALoop_D086 +al 00D084 .SpriteDMAEntry +al 00D07E .SetupInitialStateLoop +al 00D07A .SetupInitialStateEntry +al 00D066 .UpdateRoundTimerInitCallCE3A +al 00D05E .UpdateRoundTimerInitSetZp09 +al 00D057 .UpdateRoundTimer +al 00D050 .UpdateRoundTimerInitSetPtr +al 00D044 .DrawBackgroundLdx0 +al 00D040 .DrawBackgroundSetZpA2Alt +al 00D034 .DrawBackgroundSetZpA2 +al 00D030 .DrawBackgroundEntry +al 00D01A .UpdateRoundTimerInit +al 00D015 .UpdateRoundTimerBeq +al 00D012 .UpdateRoundTimerCallD057 +al 00CFB3 .CheckRoundEndEntry +al 00CFA1 .CheckRoundEnd +al 00CF92 .UpdateSpritePositions +al 00CF8F .ScrollBackgroundStaZp01Alt2 +al 00CF83 .ScrollBackgroundCallCF92Alt2 +al 00CF70 .ScrollBackgroundCallCF92Alt +al 00CF67 .ScrollBackgroundCmp0A_CF67 +al 00CF6B .ScrollBackgroundSbcZp01_CF6B +al 00CF5A .ScrollBackgroundAdcZp01_CF5A +al 00CF4F .ScrollBackgroundCallCF92Entry +al 00CF4E .ScrollBackgroundCallCF92 +al 00CF25 .ScrollBackgroundStaZp01Alt +al 00CF23 .ScrollBackgroundSbcZp01_CF23 +al 00CECE .ScrollBackgroundStaZp01 +al 00CEF5 .ScrollBackgroundCmp0A_CEF5 +al 00CEF1 .ScrollBackgroundAdcZp01_CEF1 +al 00CEC5 .ScrollBackgroundAnd0F +al 00CEBE .ScrollBackgroundAdc01 +al 00CEBD .ScrollBackgroundCmp6F_CEBD +al 00CEAD .ScrollBackgroundTXA_CEAD +al 00CE83 .ScrollBackgroundInx +al 00CE6C .ScrollBackgroundLoop +al 00CE55 .ScrollBackgroundSetZp21 +al 00CE43 .ScrollBackground +al 00CE3A .ScrollBackgroundRead2002 +al 00CE26 .ScrollBackgroundCmp6F_CE26 +al 00CE23 .ScrollBackgroundTXA_CE23 +al 00CE20 .ScrollBackgroundIncX +al 00CE14 .ScrollBackgroundEntry +al 00CDFE .RoundLogicSaveXY +al 00CDE0 .ProcessControllerInput +al 00CDDC .RoundLogicBplCDD6 +al 00CDD6 .RoundLogicDecZp2A +al 00CDCA .RoundLogicEntry +al 00CDC3 .ProcessControllerInputStaZp09 +al 00CDAA .ProcessControllerInputOra18 +al 00CD94 .ProcessControllerInputAnd04 +al 00CD85 .ProcessControllerInputRead2002Alt2 +al 00CD6C .ProcessControllerInputAndFB +al 00CD5D .ProcessControllerInputRead2002 +al 00CD76 .ProcessControllerInputStaZp08 +al 00CD84 .ProcessControllerInputRead2002Alt +al 00CD41 .ProcessControllerInputEntry +al 00CD38 .RoundLogicSet21 +al 00CD33 .RoundLogicBeqCD84 +al 00CD22 .RoundLogicCheckZp21 +al 00CCFD .ProcessControllerInputStore +al 00CCFB .ProcessControllerInputLoop +al 00CCF3 .UpdatePalettesZeroY +al 00CCE3 .UpdatePalettesCheckZp27 +al 00CCD0 .UpdatePlayers +al 00CCC3 .UpdateOAMCheckZp27 +al 00CCCF .UpdateOAMZeroY +al 00CCAF .UpdatePalettes +al 00CC97 .UpdateOAMCheckZp23 +al 00CCAE .UpdateOAMDecrement +al 00CC85 .UpdateOAM_CC85 +al 00CC7B .UpdateOAMClear200 +al 00CC77 .UpdateOAMExit +al 00CC6E .UpdateOAMSetPointer +al 00CC67 .UpdateOAM_CC67 +al 00CC5C .UpdateScrollCheckZpA4 +al 00CC42 .UpdateScrollCheckDispatchAlt +al 00CC3A .UpdateScrollCheckDispatch +al 00CC3E .UpdateScrollReadZpA4 +al 00CC24 .InitSpritesSet5FD +al 00CC15 .InitSpritesIncY +al 00CC29 .UpdateScrollReadDispatch +al 00CC1B .InitSpritesCpy02 +al 00CC02 .UpdateScrollCheckZp1F +al 00CBF7 .InitSpritesAlt +al 00CBDA .UpdateScrollLogic +al 00CC0B .InitSpritesExit +al 00CBE2 .InitSprites +al 00CBFB .InitSpritesBeqCBFB +al 00CBC0 .InitSpritesZero5FF +al 00CBB6 .InitSpritesSetPos +al 00CB55 .GameplayFrameCallE70C +al 00CB51 .GameplayFrameCallD012 +al 00CB4E .CheckControllerStartJmp +al 00CB4B .CheckControllerStartWait +al 00CB0F .CheckControllerStartLoop +al 00CB06 .CheckControllerStartEntry +al 00CB31 .CheckControllerStartExit +al 00CB66 .UpdateScrollEntry +al 00CB61 .TitleScreenLoopCallInitAPU +al 00CAE1 .TitleScreenCheckMode +al 00CADA .UpdateScroll +al 00CAB2 .NmiFrameUpdate4 +al 00CAB5 .NmiExit +al 00CAC2 .NmiVBlankOnly_CAC2 +al 00CA91 .NmiHandler +al 00CA76 .GameplayFrame +al 00CA73 .CallInitAPU +al 00CA69 .TitleScreenLoop +al 00CA87 .MainGameLoop +al 00CA5E .CopyConfigData +al 00CA2F .StoreConfig +al 00CA21 .ClearRAMLoop +al 00CA02 .WaitPPUReady +al 00CA00 .Reset +al 00C64E .WaitVBlankCallC1B2Zero +al 00C647 .WaitVBlankZeroE4 +al 00C644 .WaitVBlankJmpC20F +al 00C63D .WaitVBlankCallC1B2Alt2 +al 00C60B .WaitVBlankStore +al 00C5F6 .WaitVBlankDecD8 +al 00C5F5 .WaitVBlankLoop_C5F5 +al 00C637 .WaitVBlankCallC1B2Alt +al 00C605 .WaitVBlankCheckFA +al 00C622 .WaitVBlankCallC1B2 +al 00C5F9 .WaitVBlankDecD9 +al 00C5FF .WaitVBlankCheckFF +al 00C5D1 .InitGameState4 +al 00C5CA .InitGameState4CheckF2Alt +al 00C5C5 .InitGameState4DecD8 +al 00C5AB .InitGameState4CheckF9 +al 00C5A4 .InitGameState4MaskEF +al 00C590 .InitGameState4ClearEF +al 00C593 .InitGameState4MaskF3 +al 00C55A .InitGameState4Loop +al 00C542 .InitGameState4CheckF2 +al 00C52D .InitGameState3Alt +al 00C520 .InitGameState3Loop +al 00C512 .InitGameState3CheckE6 +al 00C508 .InitGameState3 +al 00C4F4 .InitSpritesSetF4 +al 00C4E6 .InitSpritesCheck10CAF +al 00C4E3 .InitSpritesCheck10C +al 00C4CA .InitSpritesCheck10BMax +al 00C4C3 .InitSpritesInc10B +al 00C4BB .InitSpritesCheck10B +al 00C4A4 .InitSpritesAlt2Entry +al 00C4A5 .InitSpritesAlt2Loop +al 00C49C .InitSpritesAlt1Loop +al 00C48A .InitGameState2Exit +al 00C478 .InitSpritesAlt1Entry +al 00C465 .InitGameState2 +al 00C44A .InitSpritesSetF2 +al 00C444 .InitSpritesCheckF2 +al 00C425 .InitSpritesAlt8 +al 00C41E .InitSpritesAlt7 +al 00C408 .InitSpritesAlt6 +al 00C40F .InitSpritesSetF3 +al 00C3E3 .InitSpritesSetE4 +al 00C3E9 .InitSpritesSetE6 +al 00C3C3 .InitSpritesCheckE6 +al 00C3B3 .InitSpritesExit_C3B3 +al 00C3FF .InitSpritesCallChain +al 00C3AD .InitSpritesAltExit +al 00C40E .InitSpritesCheckF1 +al 00C39A .InitSpritesLoop +al 00C405 .InitSpritesClearEF +al 00C384 .InitSpritesMain +al 00C37D .InitSpritesAlt2 +al 00C376 .InitSpritesAlt1 +al 00C358 .InitAPURegisters +al 00C352 .ClearControllerState +al 00C335 .InitAPU +al 00C332 .InitAPUCall +al 00C327 .InitGameStateExit +al 00C31B .InitGameState +al 00C30D .ClearRAMPageLoop +al 00C30C .ClearRAMPage +al 00C2A5 .InitGameVariables +al 00C2DE .ClearRAM +al 00C288 .WaitVBlankLoop +al 00C22C .CopySpriteTablesLoop +al 00C24D .WaitVBlank +al 00C20F .CopySpriteTables +al 00C1B2 .SetupSpriteDataLoop +al 00C1A7 .SetupSpriteData +al 00C199 .LoadBackgroundDataAlt +al 00C195 .LoadBackgroundDataLoop +al 00C19B .LoadBackgroundDataExit +al 00C18D .LoadBackgroundData +al 00C0F1 .InitAPUFrameCounter +al 00C0FC .InitPPUFinal +al 00C0E0 .InitPPULoop +al 00C0F8 .InitAPUFrameCounterExit +al 00C0CF .InitPPU +al 00C0B1 .InitControllerTablesExit +al 00C0AE .InitControllerTablesAlt +al 00C0A0 .InitControllerTablesLoop +al 00C087 .InitControllerTables +al 00C06E .UpdateControllerState +al 00C063 .InitSoundPointers +al 00C05E .SaveXY +al 00C058 .InitAPUWaveform +al 00C056 .SetAPUSweep +al 00C04E .SetAPUVolume +al 00C026 .ScaleInputIndex +al 00C003 .CheckControllerStart +al 00C000 .InitAPU_C000 diff --git a/_wip/Urban Champion (JU)/copilot/urban_baseline.cdl b/_wip/Urban Champion (JU)/copilot/urban_baseline.cdl new file mode 100644 index 0000000..0d7e1b7 Binary files /dev/null and b/_wip/Urban Champion (JU)/copilot/urban_baseline.cdl differ diff --git a/_wip/Urban Champion (JU)/copilot/urban_gameplay.cdl b/_wip/Urban Champion (JU)/copilot/urban_gameplay.cdl new file mode 100644 index 0000000..ef38660 Binary files /dev/null and b/_wip/Urban Champion (JU)/copilot/urban_gameplay.cdl differ