Files
disasm/_wip/Popeye (JU) (PRG 0)/copilot/locals.inc
T
tmerritt 2ae09f78ce Pass 1 complete for all 14 WIP projects; Pinball (JU) Pass 2 complete; tools fixed
- Pass 1 complete for all 14 WIP projects:
  - Donkey Kong (JU): 76.3% code
  - Donkey Kong Jr. Math (U): 81.9% code
  - Duck Hunt (JUE): 37.5% code
  - Hogan's Alley (JU): 41.8% code (needs CDL reclass for E970-E9C9 branch table)
  - Ice Climber (JE/U): 74.7% code
  - Lode Runner (U): 52.6% code
  - Millipede (U): 74.6% code
  - Pac-Man (Tengen) (U): 19.5% code
  - Pac-Man (U): 19.6% code
  - Pinball (JU): 59.5% code
  - Popeye (JU) PRG 0/1: 72.3% code
  - Raid on Bungeling Bay (U): 64.6% code
  - Raid on Bungeling Bay (U) [a2]: 64.3% code

- Pinball (JU) Pass 2 complete: 4,734 instructions, 196 semantic labels, 150 zero-page aliases, BYTE-IDENTICAL

- Tools fixed:
  - cdl_reclass.py: Fixed override logic to always win over CDL conflicts
  - nesdis.py: Fixed a: prefix parsing for JSR/JMP operands; fixed IND mode emission

- Root OVERVIEW.md updated with all Pass 1 completion statuses
- Pinball (JU) and Urban Champion (JU) project OVERVIEW.md updated

All 17 top-level projects pass verify_pass1.py; 13/14 WIP projects build (Hogan's Alley needs CDL reclass for E970-E9C9 branch table)
2026-10-18 20:52:49 -04:00

204 lines
18 KiB
PHP

; Popeye (JU) (PRG 0) 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 ; 122 refs; reads=44 writes=78; used at $C660, C663, C773, C882, +114 more
Zp01 = $01 ; 99 refs; reads=22 writes=77; used at $C65C, C668, C777, C88E, +89 more
Zp02 = $02 ; 101 refs; reads=27 writes=74; used at $C893, CD47, CE39, CEF9, +96 more
Zp03 = $03 ; 49 refs; reads=9 writes=40; used at $CE3D, CF1A, D076, D0D2, +45 more
Zp04 = $04 ; 37 refs; reads=7 writes=30; used at $CE41, D0D6, D0EB, D81B, +32 more
Zp05 = $05 ; 23 refs; reads=8 writes=15; used at $CE78, CF50, D004, D3C6, +18 more
Zp06 = $06 ; 23 refs; reads=12 writes=11; used at $CE83, D3CE, D400, D48B, +18 more
Zp07 = $07 ; 8 refs; reads=4 writes=4; used at $E73F, E8F8, E906, EA20, +3 more
Zp08 = $08 ; 9 refs; reads=6 writes=3; used at $E2E5, E2F5, E315, E333, +5 more
Zp09 = $09 ; 4 refs; reads=1 writes=3; used at $E2EC, EA03, EA05, EA0C
Zp0A = $0A ; 23 refs; reads=8 writes=15; used at $D58B, D5FD, D771, D7B0, +18 more
Zp0B = $0B ; 40 refs; reads=22 writes=18; used at $D603, D62A, D8E5, D8F9, +33 more
Zp0C = $0C ; 8 refs; reads=4 writes=4; used at $D573, D591, D5EB, D607, +4 more
Zp0D = $0D ; 4 refs; reads=2 writes=2; used at $E337, E3D8, E3FA, E404
Zp0E = $0E ; 3 refs; reads=1 writes=2; used at $E2B0, E313, E389
Zp0F = $0F ; 18 refs; reads=10 writes=8; used at $CE6C, CE97, CEA3, E0A4, +13 more
Zp10 = $10 ; 11 refs; reads=5 writes=6; used at $C677, C67E, C6DC, C701, +7 more
Zp11 = $11 ; 7 refs; reads=3 writes=4; used at $C70A, C8B1, C8BB, CCC3, +3 more
Zp12 = $12 ; 3 refs; reads=1 writes=2; used at $C6E3, DDC3, EF0E
Zp13 = $13 ; 3 refs; reads=1 writes=2; used at $C6E8, DDCA, EF13
Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $EEB4, EEB8
Zp15 = $15 ; 8 refs; reads=6 writes=2; used at $C7D0, CB90, CC85, CCA5, +4 more
Zp16 = $16 ; 1 refs; reads=0 writes=1; used at $FFF0
Zp18 = $18 ; 11 refs; reads=8 writes=3; used at $C8F3, CBA7, D1CD, D228, +6 more
Zp19 = $19 ; 4 refs; reads=2 writes=2; used at $C8EF, EE7A, EE86
Zp1A = $1A ; 3 refs; reads=1 writes=2; used at $C7A6, CB4E, CB5A
Zp1B = $1B ; 5 refs; reads=2 writes=3; used at $CB56, CB69, CB6D, CB77
Zp1C = $1C ; 4 refs; reads=2 writes=2; used at $CB54, CB72, CB79
Zp1D = $1D ; 17 refs; reads=14 writes=3; used at $C7A8, C7C9, C803, C84B, +13 more
Zp1E = $1E ; 6 refs; reads=3 writes=3; used at $C7B7, C805, CB5C, CB5E, +1 more
Zp1F = $1F ; 4 refs; reads=1 writes=3; used at $C7D2, CCAD, CCB3, CCE1
Zp20 = $20 ; 1 refs; reads=0 writes=1; used at $F061
Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $C86D, CDB2, F065
Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C872, CDB7, F069
Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $C877, CDBC, F06D
Zp24 = $24 ; 8 refs; reads=6 writes=2; used at $C807, EF43, EF6A, EF9E, +4 more
Zp25 = $25 ; 10 refs; reads=6 writes=4; used at $C809, EF5E, EF67, EF85, +6 more
Zp26 = $26 ; 10 refs; reads=6 writes=4; used at $C80B, EF53, EF5C, EF7A, +6 more
Zp27 = $27 ; 10 refs; reads=6 writes=4; used at $C80D, EF48, EF51, EF6F, +6 more
Zp28 = $28 ; 1 refs; reads=0 writes=1; used at $C80F
Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $C811
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $C813
Zp2B = $2B ; 1 refs; reads=0 writes=1; used at $C815
Zp2C = $2C ; 3 refs; reads=1 writes=2; used at $C79A, CBC6, CBD1
Zp2D = $2D ; 2 refs; reads=1 writes=1; used at $C79C, CC73
Zp2E = $2E ; 4 refs; reads=2 writes=2; used at $C79E, C9E1, CAB3, E7D7
Zp2F = $2F ; 1 refs; reads=0 writes=1; used at $C7A0
Zp30 = $30 ; 6 refs; reads=1 writes=5; used at $C732, C7A2, C82A, C9EF, +2 more
Zp31 = $31 ; 4 refs; reads=1 writes=3; used at $C73C, C7A4, CB01, CB28
Zp32 = $32 ; 4 refs; reads=1 writes=3; used at $C7AA, C9D6, CACF, CAF8
Zp33 = $33 ; 1 refs; reads=0 writes=1; used at $C7AC
Zp34 = $34 ; 3 refs; reads=1 writes=2; used at $EE60, EE66
Zp35 = $35 ; 6 refs; reads=3 writes=3; used at $D1C2, D1C8, DE3B, EE6A, +1 more
Zp36 = $36 ; 4 refs; reads=2 writes=2; used at $CD07, CD16, D21D, D223
Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $D23A, D240
Zp39 = $39 ; 2 refs; reads=1 writes=1; used at $D280, D286
Zp3A = $3A ; 3 refs; reads=1 writes=2; used at $E069, E072, E7F9
Zp3B = $3B ; 4 refs; reads=1 writes=3; used at $D14B, D35E, DB15, E44E
Zp3C = $3C ; 2 refs; reads=1 writes=1; used at $D308, D30E
Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $E48E, E4A5
Zp3E = $3E ; 5 refs; reads=3 writes=2; used at $CC33, CC39, D3D7, E1BA, +1 more
Zp3F = $3F ; 2 refs; reads=1 writes=1; used at $D521, E6ED
Zp40 = $40 ; 3 refs; reads=2 writes=1; used at $D494, E4BA, E4DE
Zp41 = $41 ; 4 refs; reads=2 writes=2; used at $D5B5, D5BB, E694, E69A
Zp42 = $42 ; 2 refs; reads=1 writes=1; used at $E6F2, E6FF
Zp43 = $43 ; 9 refs; reads=8 writes=1; used at $C72A, C730, D2EE, D7A8, +5 more
Zp44 = $44 ; 2 refs; reads=1 writes=1; used at $DAAB, DAC8
Zp45 = $45 ; 2 refs; reads=1 writes=1; used at $E200, E206
Zp46 = $46 ; 4 refs; reads=1 writes=3; used at $C7B0, C7C1, C7C3, C7E3
Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $CE53, CE9B
Zp49 = $49 ; 6 refs; reads=1 writes=5; used at $C863, C8AB, C97A, CAF1, +2 more
Zp4A = $4A ; 5 refs; reads=3 writes=2; used at $CDEE, CDFD, CE09, CE21, +1 more
Zp4C = $4C ; 5 refs; reads=3 writes=2; used at $CEE4, D066, DF33, E60B, +1 more
Zp4D = $4D ; 3 refs; reads=2 writes=1; used at $E410, E41D, E440
Zp4F = $4F ; 2 refs; reads=0 writes=2; used at $CC50, CD5E
Zp56 = $56 ; 5 refs; reads=1 writes=4; used at $EA7E, EA87, EA99, EA9F, +1 more
Zp57 = $57 ; 1 refs; reads=1 writes=0; used at $EABB
Zp58 = $58 ; 1 refs; reads=1 writes=0; used at $EAB5
Zp59 = $59 ; 1 refs; reads=1 writes=0; used at $EACC
Zp5A = $5A ; 2 refs; reads=2 writes=0; used at $EAA6, EAB7
Zp5B = $5B ; 2 refs; reads=2 writes=0; used at $EABD, EACE
Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $EAAC
Zp5D = $5D ; 1 refs; reads=1 writes=0; used at $EAC3
Zp5E = $5E ; 10 refs; reads=8 writes=2; used at $CF5C, D00C, EA2F, EA4E, +5 more
Zp60 = $60 ; 4 refs; reads=1 writes=3; used at $C671, C746, C826, CDE7
Zp61 = $61 ; 11 refs; reads=9 writes=2; used at $C781, C7EA, C7EC, C7F4, +6 more
Zp62 = $62 ; 5 refs; reads=1 writes=4; used at $C7DE, C7E5, C7FE, C847, +1 more
Zp63 = $63 ; 8 refs; reads=1 writes=7; used at $C675, C74A, C828, C9F4, +4 more
Zp64 = $64 ; 51 refs; reads=50 writes=1; used at $C93E, C954, C981, C9B1, +47 more
Zp65 = $65 ; 12 refs; reads=11 writes=1; used at $C941, CA05, CA0F, CAE0, +8 more
Zp66 = $66 ; 9 refs; reads=7 writes=2; used at $C830, C83A, C8DE, C963, +5 more
Zp67 = $67 ; 26 refs; reads=23 writes=3; used at $C849, C8E5, C929, C9A9, +22 more
Zp68 = $68 ; 4 refs; reads=2 writes=2; used at $C857, CAFA, CBF4
Zp69 = $69 ; 1 refs; reads=0 writes=1; used at $C859
Zp6A = $6A ; 10 refs; reads=6 writes=4; used at $C817, C8E7, C9AB, CB05, +5 more
Zp6C = $6C ; 10 refs; reads=7 writes=3; used at $C81F, CB14, CBD3, CBDB, +4 more
Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $C83E
Zp6E = $6E ; 16 refs; reads=9 writes=7; used at $C819, C8E9, CADC, CAE4, +9 more
Zp6F = $6F ; 8 refs; reads=5 writes=3; used at $C8ED, D0BC, DADC, DAEA, +4 more
Zp70 = $70 ; 3 refs; reads=1 writes=2; used at $C90C, E69C, E6AD
Zp71 = $71 ; 5 refs; reads=3 writes=2; used at $C76A, C793, C81D, C8A2, +1 more
Zp72 = $72 ; 10 refs; reads=5 writes=5; used at $D141, D358, D4A4, D4A6, +6 more
Zp73 = $73 ; 5 refs; reads=2 writes=3; used at $CB9A, D143, D35A, D695, +1 more
Zp74 = $74 ; 5 refs; reads=1 writes=4; used at $C82C, C8BD, C94C, C97E, +1 more
Zp75 = $75 ; 10 refs; reads=6 writes=4; used at $C9A7, C9AF, C9BD, C9C4, +5 more
Zp76 = $76 ; 8 refs; reads=4 writes=4; used at $CC1E, CDEA, CDF2, CE11, +4 more
Zp77 = $77 ; 3 refs; reads=1 writes=2; used at $CE14, DB4A, DFD3
Zp78 = $78 ; 9 refs; reads=4 writes=5; used at $C948, D109, D331, D339, +2 more
Zp79 = $79 ; 2 refs; reads=1 writes=1; used at $CC29, E452
Zp7A = $7A ; 11 refs; reads=10 writes=1; used at $CB92, CD92, CD9A, D751, +7 more
Zp7B = $7B ; 13 refs; reads=12 writes=1; used at $C939, D102, D1C0, D21B, +9 more
Zp7C = $7C ; 19 refs; reads=14 writes=5; used at $C918, CF64, CF83, CFB4, +15 more
Zp7D = $7D ; 45 refs; reads=30 writes=15; used at $C908, CD8C, CDA1, CDA5, +41 more
Zp7E = $7E ; 7 refs; reads=4 writes=3; used at $D765, D773, D7F4, D7FC, +2 more
Zp7F = $7F ; 18 refs; reads=11 writes=7; used at $D839, D863, D883, D88A, +11 more
Zp80 = $80 ; 4 refs; reads=2 writes=2; used at $D821, D836, E79D
Zp81 = $81 ; 9 refs; reads=7 writes=2; used at $D857, D896, D8C4, D93E, +5 more
Zp82 = $82 ; 23 refs; reads=16 writes=7; used at $CA25, D176, D292, D2B5, +19 more
Zp83 = $83 ; 32 refs; reads=20 writes=12; used at $CA29, D477, D486, D49B, +21 more
Zp84 = $84 ; 9 refs; reads=5 writes=4; used at $D781, D788, D79B, D7A2, +5 more
Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $DAAF, DACA
Zp86 = $86 ; 3 refs; reads=1 writes=2; used at $D236, D26F, D27B
Zp87 = $87 ; 1 refs; reads=0 writes=1; used at $C910
Zp88 = $88 ; 3 refs; reads=1 writes=2; used at $D8C2, D940, D9E5
Zp8A = $8A ; 1 refs; reads=0 writes=1; used at $C912
Zp8B = $8B ; 2 refs; reads=1 writes=1; used at $CC22, DB3C
Zp8D = $8D ; 3 refs; reads=1 writes=2; used at $D799, D79E, E7AA
Zp8E = $8E ; 5 refs; reads=2 writes=3; used at $D6F1, D702, D710, D729, +1 more
Zp8F = $8F ; 6 refs; reads=4 writes=2; used at $D963, D965, D99A, D9A3, +1 more
Zp90 = $90 ; 4 refs; reads=2 writes=2; used at $D875, D877, EC87
Zp91 = $91 ; 4 refs; reads=3 writes=1; used at $DA2A, DA58, DA9A, ECC0
Zp92 = $92 ; 15 refs; reads=12 writes=3; used at $CEEA, D014, D01F, D03F, +11 more
Zp93 = $93 ; 33 refs; reads=22 writes=11; used at $C9FE, CABE, CFF9, D12A, +29 more
Zp94 = $94 ; 20 refs; reads=8 writes=12; used at $CE2A, CFF4, D03A, D045, +16 more
Zp97 = $97 ; 53 refs; reads=36 writes=17; used at $CA32, CF22, D02C, D17A, +43 more
Zp98 = $98 ; 33 refs; reads=21 writes=12; used at $CA2E, D032, D2C4, DBB0, +23 more
Zp99 = $99 ; 3 refs; reads=1 writes=2; used at $DC23, DC28, E7CF
Zp9A = $9A ; 5 refs; reads=3 writes=2; used at $DC10, DC17, DC25, DC2C, +1 more
Zp9C = $9C ; 27 refs; reads=17 writes=10; used at $DC61, DC6D, DC7A, DCB6, +17 more
Zp9D = $9D ; 8 refs; reads=5 writes=3; used at $DBF9, DC00, DC0A, DC4A, +3 more
Zp9E = $9E ; 11 refs; reads=6 writes=5; used at $DDEE, DE22, DE24, DE26, +3 more
Zp9F = $9F ; 3 refs; reads=1 writes=2; used at $DCBF, DCC5, DCEC
ZpA0 = $A0 ; 5 refs; reads=2 writes=3; used at $DED3, DEDA, DEF6, DF0F
ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $DC5D, DC69, E7C9
ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $DFBB
ZpA5 = $A5 ; 3 refs; reads=2 writes=1; used at $DFF8, E02D
ZpA6 = $A6 ; 3 refs; reads=1 writes=2; used at $DBC5, DBD6, E7CB
ZpA7 = $A7 ; 5 refs; reads=2 writes=3; used at $DCEF, EBEB, EC33, EC38, +1 more
ZpA8 = $A8 ; 7 refs; reads=4 writes=3; used at $C91C, DD6B, DD6D, DD77, +2 more
ZpA9 = $A9 ; 10 refs; reads=7 writes=3; used at $C90A, E0A6, E0FD, E12B, +6 more
ZpAA = $AA ; 14 refs; reads=8 writes=6; used at $CA0A, E056, E0B4, E17B, +6 more
ZpAB = $AB ; 7 refs; reads=4 writes=3; used at $E076, E07D, E146, E14D, +2 more
ZpAC = $AC ; 3 refs; reads=1 writes=2; used at $E065, E07A, E7F3
ZpAD = $AD ; 5 refs; reads=2 writes=3; used at $C914, E153, E164, E171, +1 more
ZpAE = $AE ; 4 refs; reads=2 writes=2; used at $E14F, E158, E15D, E7FD
ZpAF = $AF ; 17 refs; reads=10 writes=7; used at $CA4B, CA7E, D04E, D4B2, +11 more
ZpB0 = $B0 ; 14 refs; reads=7 writes=7; used at $CA4F, CA86, D052, DF73, +8 more
ZpB1 = $B1 ; 4 refs; reads=2 writes=2; used at $D465, D47F, E4B6, E4D1
ZpB2 = $B2 ; 4 refs; reads=2 writes=2; used at $CA44, E4CA, E4CC, E872
ZpB3 = $B3 ; 5 refs; reads=2 writes=3; used at $D496, E4DA, E66D, E675, +1 more
ZpB4 = $B4 ; 4 refs; reads=2 writes=2; used at $CF5A, D4C3, DA01, E5F7
ZpB5 = $B5 ; 2 refs; reads=1 writes=1; used at $E45A, E48C
ZpB6 = $B6 ; 5 refs; reads=1 writes=4; used at $D0CC, D447, DAC1, E060, +1 more
ZpB7 = $B7 ; 5 refs; reads=3 writes=2; used at $D42D, E046, E105
ZpB8 = $B8 ; 3 refs; reads=2 writes=1; used at $E0FB, E2DD, E2E8
ZpC0 = $C0 ; 7 refs; reads=4 writes=3; used at $E0FF, E101, E350, E397, +3 more
ZpC8 = $C8 ; 2 refs; reads=1 writes=1; used at $E327, E32C
ZpD0 = $D0 ; 11 refs; reads=5 writes=6; used at $E2D1, E395, E3B0, E3B4, +4 more
ZpD8 = $D8 ; 7 refs; reads=4 writes=3; used at $E2CF, E368, E38D, E393, +2 more
ZpE0 = $E0 ; 18 refs; reads=16 writes=2; used at $CBA1, D0C4, D11C, D15C, +14 more
ZpE1 = $E1 ; 10 refs; reads=8 writes=2; used at $CD98, D0A7, D379, D469, +6 more
ZpE2 = $E2 ; 6 refs; reads=3 writes=3; used at $D0C8, DE17, DE1B, DE1E, +2 more
ZpE7 = $E7 ; 16 refs; reads=9 writes=7; used at $C946, CAAB, D107, D2DC, +10 more
ZpE8 = $E8 ; 13 refs; reads=5 writes=8; used at $CA82, CAA7, D0F2, D4CA, +9 more
ZpE9 = $E9 ; 3 refs; reads=1 writes=2; used at $D0F4, E74B, E750
ZpEA = $EA ; 4 refs; reads=2 writes=2; used at $D0F6, E709, E70E
ZpEB = $EB ; 1 refs; reads=0 writes=1; used at $D0F8
ZpEC = $EC ; 6 refs; reads=2 writes=4; used at $D0FA, E568, E592, E5AF, +1 more
ZpED = $ED ; 1 refs; reads=0 writes=1; used at $D0FC
ZpEE = $EE ; 1 refs; reads=0 writes=1; used at $D0FE
ZpEF = $EF ; 1 refs; reads=0 writes=1; used at $D100
ZpF0 = $F0 ; 11 refs; reads=2 writes=9; used at $F99B, F9B1, F9D1, F9DF, +7 more
ZpF1 = $F1 ; 27 refs; reads=10 writes=17; used at $F868, F876, F878, F8CC, +17 more
ZpF2 = $F2 ; 1 refs; reads=0 writes=1; used at $F8D0
ZpF3 = $F3 ; 8 refs; reads=3 writes=5; used at $FAB4, FAC2, FAC8, FB2D, +2 more
ZpF4 = $F4 ; 10 refs; reads=5 writes=5; used at $FAB7, FADB, FADD, FB1A, +5 more
ZpF5 = $F5 ; 11 refs; reads=6 writes=5; used at $FB7D, FB8E, FB90, FBA2, +4 more
ZpF6 = $F6 ; 4 refs; reads=1 writes=3; used at $FB63, FB6B, FB73, FC39
ZpF7 = $F7 ; 8 refs; reads=6 writes=2; used at $FB81, FB92, FBA6, FBE8, +4 more
ZpF8 = $F8 ; 2 refs; reads=0 writes=2; used at $FB85, FBED
ZpF9 = $F9 ; 10 refs; reads=5 writes=5; used at $F891, F898, FAF4, FBF2, +4 more
ZpFA = $FA ; 9 refs; reads=5 writes=4; used at $F8A1, FBF7, FC13, FC27, +3 more
ZpFB = $FB ; 10 refs; reads=1 writes=9; used at $CBD7, CCBC, D06A, D147, +6 more
ZpFC = $FC ; 11 refs; reads=5 writes=6; used at $CB0F, CBB1, D170, D3F0, +7 more
ZpFD = $FD ; 7 refs; reads=1 writes=6; used at $C7BD, C9DC, C9EB, CB2F, +3 more
ZpFE = $FE ; 12 refs; reads=4 writes=8; used at $DB4E, DEC9, DFCB, E5E0, +5 more
ZpFF = $FF ; 37 refs; reads=14 writes=23; used at $D12E, D3DB, D4AA, D508, +25 more