MUSCLE (U): Fix verify_pass1.py crash (a: prefix parsing), CDL reclass overrides
Urban Champion (JU): Pass 1 complete (CDL verified), Pass 2 complete - 519 labels renamed to semantic names via pass2.py apply - 10 zero-page semantic aliases added to locals.inc - Branch table at CB70-CBAC restructured per CDL (CB70-CB90=data, CB91-CBAC=code) - E07F-E09D region fixed (misaligned decode at E08D) - BYTE-IDENTICAL at PRG level verified Tools: - cdl_reclass.py: overrides now win over CDL conflicts - nesdis.py: fixed a: prefix parsing for JSR/JMP operands; IND mode emits no a: prefix - verify_pass1.py: all 17 top-level projects pass, no crashes
This commit is contained in:
1 parent
62866563ba
commit
b7104a8f80
17 files changed
+17025
-123
No files matched your search
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+98
-98
@@ -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
|
||||
|
||||
+1
-1
@@ -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.
|
||||
|
||||
|
||||
+1
-1
@@ -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.
|
||||
|
||||
@@ -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):
|
||||
|
||||
+5
-4
@@ -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)
|
||||
|
||||
@@ -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 `<name>/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 `<name>/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`.
|
||||
@@ -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
|
||||
|
@@ -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
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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
|
||||
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user