Files
disasm/_wip/Pinball (JU)/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

157 lines
14 KiB
PHP

; Pinball (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 ; 18 refs; reads=10 writes=8; used at $C00D, C040, C06E, C29C, +14 more
Zp01 = $01 ; 3 refs; reads=1 writes=2; used at $C039, C201, E019
Zp02 = $02 ; 5 refs; reads=2 writes=3; used at $C0D7, C145, C267, E02E, +1 more
Zp03 = $03 ; 4 refs; reads=2 writes=2; used at $C20B, C27F, C3C9
Zp04 = $04 ; 11 refs; reads=9 writes=2; used at $C042, C09B, C0F7, C150, +6 more
Zp05 = $05 ; 17 refs; reads=15 writes=2; used at $C0D3, C37F, C381, E694, +11 more
Zp06 = $06 ; 85 refs; reads=42 writes=43; used at $C025, C02E, CCDD, CE86, +80 more
Zp07 = $07 ; 51 refs; reads=32 writes=19; used at $CC0D, CC25, CCA5, CD12, +45 more
Zp08 = $08 ; 49 refs; reads=22 writes=27; used at $C027, CCC3, CCD5, CE8D, +44 more
Zp09 = $09 ; 25 refs; reads=18 writes=7; used at $CBDD, CC01, CC11, CC2B, +20 more
Zp0A = $0A ; 17 refs; reads=11 writes=6; used at $CBCF, D30A, D32B, D544, +12 more
Zp0B = $0B ; 9 refs; reads=5 writes=4; used at $CBD1, D65B, DBC1, DCD4, +4 more
Zp0C = $0C ; 12 refs; reads=7 writes=5; used at $CBD3, CC4B, CC58, D51A, +7 more
Zp0D = $0D ; 4 refs; reads=3 writes=1; used at $CBD5, DDDE, DE5E
Zp0E = $0E ; 8 refs; reads=4 writes=4; used at $D54C, D551, D63F, DDAE, +4 more
Zp0F = $0F ; 6 refs; reads=4 writes=2; used at $D61C, D67D, D68F, DDD2, +2 more
Zp10 = $10 ; 5 refs; reads=2 writes=3; used at $D521, D526, D62A, DDB2, +1 more
Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $D62C, D681
Zp12 = $12 ; 19 refs; reads=10 writes=9; used at $DBBD, DBBF, DC0F, DC11, +14 more
Zp13 = $13 ; 2 refs; reads=1 writes=1; used at $DC19, DC20
Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $DC5A, DC83
Zp15 = $15 ; 3 refs; reads=1 writes=2; used at $DE30, DE43, DE54
Zp16 = $16 ; 5 refs; reads=3 writes=2; used at $DE34, DE47, DE58, E426, +1 more
Zp17 = $17 ; 3 refs; reads=1 writes=2; used at $DE38, DE4B, DE5C
Zp18 = $18 ; 5 refs; reads=3 writes=2; used at $DE3C, DE4F, DE60, E439, +1 more
Zp19 = $19 ; 4 refs; reads=2 writes=2; used at $DE63, DE6C, DE77, DE80
Zp1A = $1A ; 4 refs; reads=2 writes=2; used at $DE67, DE70, DE7B, DE84
Zp1B = $1B ; 3 refs; reads=1 writes=2; used at $CC86, CCFE, E40E
Zp1C = $1C ; 5 refs; reads=1 writes=4; used at $C086, CBB8, CC5D, CD04
Zp1D = $1D ; 5 refs; reads=2 writes=3; used at $C0E2, CBB4, CBF8, CC70
Zp1E = $1E ; 4 refs; reads=1 writes=3; used at $C0B0, CC40, CC46
Zp1F = $1F ; 4 refs; reads=2 writes=2; used at $CC0B, CC21, CC31
Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $CC0F, CC27
Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $CC13, CC2D
Zp22 = $22 ; 4 refs; reads=2 writes=2; used at $CCF6, CD99, CD9E
Zp23 = $23 ; 4 refs; reads=1 writes=3; used at $CC7F, CCB8, CCE6, CCFA
Zp24 = $24 ; 5 refs; reads=2 writes=3; used at $CC78, CC7C, CC8B, CCB1
Zp25 = $25 ; 19 refs; reads=11 writes=8; used at $CE7C, CECF, CEE3, CEEC, +13 more
Zp26 = $26 ; 16 refs; reads=11 writes=5; used at $CC18, CF02, CF1C, CF21, +10 more
Zp27 = $27 ; 6 refs; reads=3 writes=3; used at $CEF6, CF04, CF0C, CF12, +1 more
Zp28 = $28 ; 6 refs; reads=3 writes=3; used at $CEFA, CF06, CF10, CF16, +1 more
Zp29 = $29 ; 6 refs; reads=3 writes=3; used at $CEFE, CF08, CF14, CF1A, +1 more
Zp2A = $2A ; 15 refs; reads=8 writes=7; used at $CE77, CF6F, CF8E, CF9E, +7 more
Zp2B = $2B ; 6 refs; reads=4 writes=2; used at $D032, D047, D04B, D3D1, +2 more
Zp2C = $2C ; 11 refs; reads=6 writes=5; used at $D04F, D057, D3AC, D3F4, +3 more
Zp2E = $2E ; 3 refs; reads=2 writes=1; used at $D041, D05C, D06C
Zp2F = $2F ; 1 refs; reads=1 writes=0; used at $D05E
Zp30 = $30 ; 14 refs; reads=10 writes=4; used at $D08F, D0B6, D0D0, D0E8, +10 more
Zp31 = $31 ; 6 refs; reads=3 writes=3; used at $D0AF, D106, D5B3, D6A6, +2 more
Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $D284, D296, D2BB, D2D3
Zp33 = $33 ; 8 refs; reads=5 writes=3; used at $D0EF, D15D, D16D, D182, +4 more
Zp34 = $34 ; 5 refs; reads=3 writes=2; used at $D0E6, D0EB, D1DD, D6D1, +1 more
Zp35 = $35 ; 5 refs; reads=3 writes=2; used at $D100, D159, D169, D6E0, +1 more
Zp36 = $36 ; 24 refs; reads=14 writes=10; used at $D167, D2C0, D2D8, D2DA, +16 more
Zp37 = $37 ; 6 refs; reads=4 writes=2; used at $D177, D2FB, D31C, D33C, +1 more
Zp38 = $38 ; 3 refs; reads=2 writes=1; used at $D17E, D2F0, D311
Zp39 = $39 ; 3 refs; reads=2 writes=1; used at $D18E, D2FF, D320
Zp3A = $3A ; 21 refs; reads=18 writes=3; used at $D3B6, D3E1, D3F2, D41C, +17 more
Zp3B = $3B ; 8 refs; reads=5 writes=3; used at $D3BA, D3CF, D48F, D4FD, +4 more
Zp3C = $3C ; 12 refs; reads=8 writes=4; used at $D3C6, D44F, D474, D5AF, +7 more
Zp3D = $3D ; 3 refs; reads=1 writes=2; used at $D3CA, D3DB, D5FD
Zp3E = $3E ; 13 refs; reads=6 writes=7; used at $D3D9, D3EA, D3F6, D413, +5 more
Zp3F = $3F ; 13 refs; reads=6 writes=7; used at $D3DF, D3EC, D3F9, D415, +5 more
Zp40 = $40 ; 3 refs; reads=2 writes=1; used at $D5BC, D6AC, D6F5
Zp41 = $41 ; 5 refs; reads=2 writes=3; used at $CD36, CD59, CD92
Zp42 = $42 ; 6 refs; reads=3 writes=3; used at $CD3F, CD44, CD5E, CD78, +1 more
Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $CD71, CDAC
Zp44 = $44 ; 4 refs; reads=2 writes=2; used at $CD38, CD97, CD9C
Zp48 = $48 ; 1 refs; reads=1 writes=0; used at $E005
Zp4A = $4A ; 2 refs; reads=1 writes=1; used at $CF73, CFDD
Zp6A = $6A ; 9 refs; reads=6 writes=3; used at $CE70, CEAB, CECB, CEF4, +5 more
Zp77 = $77 ; 1 refs; reads=1 writes=0; used at $CEF8
Zp7A = $7A ; 2 refs; reads=1 writes=1; used at $CFD1, D196
Zp84 = $84 ; 1 refs; reads=1 writes=0; used at $CEFC
Zp8A = $8A ; 2 refs; reads=2 writes=0; used at $D1F3, D211
Zp9A = $9A ; 2 refs; reads=2 writes=0; used at $D1F7, D209
ZpB2 = $B2 ; 2 refs; reads=1 writes=1; used at $DFF6, E01B
ZpB3 = $B3 ; 2 refs; reads=1 writes=1; used at $E003, E00B
ZpB4 = $B4 ; 6 refs; reads=5 writes=1; used at $CEB5, CF38, D39E, D3B4, +2 more
ZpB5 = $B5 ; 6 refs; reads=5 writes=1; used at $CEC1, CF55, D39A, D3B8, +2 more
ZpB6 = $B6 ; 12 refs; reads=9 writes=3; used at $C157, C3B1, E055, E05F, +7 more
ZpB7 = $B7 ; 6 refs; reads=2 writes=4; used at $C0B4, E06B, E08E, E090
ZpB8 = $B8 ; 3 refs; reads=1 writes=2; used at $C0B8, E087, E096
ZpB9 = $B9 ; 5 refs; reads=3 writes=2; used at $C362, C391, C395, C397
ZpBA = $BA ; 7 refs; reads=5 writes=2; used at $E3E6, E3EC, E3EF, E3F7, +2 more
ZpBB = $BB ; 2 refs; reads=1 writes=1; used at $E3E8
ZpBC = $BC ; 5 refs; reads=4 writes=1; used at $C3C0, CBAF, EE19, EEA2, +1 more
ZpBD = $BD ; 5 refs; reads=4 writes=1; used at $C061, C1B9, C1C5, C3BB, +1 more
ZpBE = $BE ; 20 refs; reads=16 writes=4; used at $C065, C06A, C0A9, C0FB, +14 more
ZpBF = $BF ; 41 refs; reads=37 writes=4; used at $C0EC, C10E, C121, C12F, +35 more
ZpC0 = $C0 ; 15 refs; reads=10 writes=5; used at $D509, D603, E497, E609, +7 more
ZpC1 = $C1 ; 13 refs; reads=8 writes=5; used at $E506, E64C, E664, E666, +5 more
ZpC2 = $C2 ; 11 refs; reads=6 writes=5; used at $D6AA, E617, E61F, E635, +3 more
ZpC3 = $C3 ; 10 refs; reads=5 writes=5; used at $E65A, E662, E678, E67C, +2 more
ZpC4 = $C4 ; 4 refs; reads=2 writes=2; used at $E1B0, E49C, E4A0, E5D0
ZpC5 = $C5 ; 4 refs; reads=2 writes=2; used at $E1B2, E50B, E50F, E5EF
ZpC6 = $C6 ; 6 refs; reads=3 writes=3; used at $E4A3, E512, E5B6, E5BC
ZpC7 = $C7 ; 5 refs; reads=1 writes=4; used at $C07D, D505, D57D, D5BE, +1 more
ZpC8 = $C8 ; 1 refs; reads=0 writes=1; used at $C07F
ZpCA = $CA ; 1 refs; reads=0 writes=1; used at $F11C
ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $EC80, EC8A
ZpCD = $CD ; 4 refs; reads=2 writes=2; used at $CD0B, CD2E, D1EA, D1EF
ZpCE = $CE ; 7 refs; reads=4 writes=3; used at $D239, D23B, EFD3, EFE1, +3 more
ZpCF = $CF ; 7 refs; reads=3 writes=4; used at $C088, D24C, D253, E225, +3 more
ZpD0 = $D0 ; 5 refs; reads=2 writes=3; used at $C084, F0DF, F0E7, F0EB, +1 more
ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $D288, D28C, E6A1, E70D
ZpD2 = $D2 ; 5 refs; reads=3 writes=2; used at $CBBA, CC93, CCE4, CCF0, +1 more
ZpD3 = $D3 ; 7 refs; reads=3 writes=4; used at $CDAA, EF31, EF34, EF49, +2 more
ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $F140
ZpD5 = $D5 ; 3 refs; reads=1 writes=2; used at $CE52, F41E, F428
ZpD6 = $D6 ; 2 refs; reads=1 writes=1; used at $F1E5, F1EE
ZpD7 = $D7 ; 2 refs; reads=1 writes=1; used at $F1F0, F1F9
ZpD8 = $D8 ; 3 refs; reads=2 writes=1; used at $F22E, F237
ZpDB = $DB ; 35 refs; reads=15 writes=20; used at $CD20, CD2C, CE9B, CF63, +28 more
ZpDC = $DC ; 17 refs; reads=6 writes=11; used at $CD25, CFE2, D1F9, D20B, +10 more
ZpDD = $DD ; 17 refs; reads=12 writes=5; used at $D4BB, D4E0, D4E6, E10D, +11 more
ZpDE = $DE ; 8 refs; reads=3 writes=5; used at $D4E8, D4ED, E112, E157, +2 more
ZpDF = $DF ; 15 refs; reads=8 writes=7; used at $CEA9, CEBA, CEC9, D39C, +11 more
ZpE0 = $E0 ; 14 refs; reads=5 writes=9; used at $CEBF, D4A3, D4A6, D4A9, +7 more
ZpE1 = $E1 ; 7 refs; reads=4 writes=3; used at $C2A0, D3DD, D451, D476, +3 more
ZpE2 = $E2 ; 3 refs; reads=0 writes=3; used at $C2A4, D4C6, E126
ZpE3 = $E3 ; 61 refs; reads=34 writes=27; used at $CD8B, CF50, CF5B, CF65, +48 more
ZpE4 = $E4 ; 9 refs; reads=4 writes=5; used at $CD82, CF67, CF71, E24C, +4 more
ZpE5 = $E5 ; 1 refs; reads=0 writes=1; used at $CD87
ZpE6 = $E6 ; 45 refs; reads=22 writes=23; used at $C023, C02C, C033, C2CD, +28 more
ZpE7 = $E7 ; 7 refs; reads=3 writes=4; used at $E12C, E194, E731, E733, +1 more
ZpE8 = $E8 ; 8 refs; reads=4 writes=4; used at $EC06, EC17, EC45, EFE6, +2 more
ZpE9 = $E9 ; 3 refs; reads=1 writes=2; used at $EC30, EC39
ZpEA = $EA ; 3 refs; reads=1 writes=2; used at $EC10, EC3E
ZpEB = $EB ; 9 refs; reads=3 writes=6; used at $EE59, EE6C, EEAA, EEB8, +2 more
ZpEC = $EC ; 13 refs; reads=9 writes=4; used at $E7BD, E7EE, E7F0, E7FC, +5 more
ZpED = $ED ; 25 refs; reads=17 writes=8; used at $E8D0, E8FB, E8FD, E90D, +14 more
ZpEE = $EE ; 11 refs; reads=8 writes=3; used at $E6BA, EC94, ECA3, ECA5, +4 more
ZpEF = $EF ; 5 refs; reads=2 writes=3; used at $EC9F, ECAD, ECAF, ECB5, +1 more
ZpF0 = $F0 ; 11 refs; reads=5 writes=6; used at $E21C, E69F, E6B0, E709, +3 more
ZpF1 = $F1 ; 9 refs; reads=1 writes=8; used at $FB6E, FBAC, FBE3, FC18, +5 more
ZpF2 = $F2 ; 7 refs; reads=1 writes=6; used at $FCB4, FCD1, FCE8, FD12, +3 more
ZpF3 = $F3 ; 6 refs; reads=5 writes=1; used at $FDA2, FDE7, FE32, FE48, +2 more
ZpF4 = $F4 ; 5 refs; reads=3 writes=2; used at $FDBB, FE82, FE8B, FEA0
ZpF5 = $F5 ; 4 refs; reads=2 writes=2; used at $FDC0, FE44, FE5B
ZpF6 = $F6 ; 8 refs; reads=6 writes=2; used at $C3D3, FBDD, FCE2, FD95, +3 more
ZpF7 = $F7 ; 18 refs; reads=9 writes=9; used at $FB72, FB7F, FB8C, FBB0, +12 more
ZpF8 = $F8 ; 9 refs; reads=5 writes=4; used at $FB76, FB92, FB99, FB9B, +5 more
ZpF9 = $F9 ; 9 refs; reads=3 writes=6; used at $FCB8, FCC4, FCD5, FD28, +4 more
ZpFA = $FA ; 5 refs; reads=2 writes=3; used at $FD31, FD33, FD39, FD40
ZpFB = $FB ; 4 refs; reads=3 writes=1; used at $FDB1, FE0D, FE5D, FEA2
ZpFC = $FC ; 1 refs; reads=0 writes=1; used at $FDB6
ZpFD = $FD ; 7 refs; reads=1 writes=6; used at $C0CE, C162, C37A, E707, +3 more
ZpFE = $FE ; 20 refs; reads=6 writes=14; used at $CCDB, E6B6, E7F8, E815, +11 more
ZpFF = $FF ; 27 refs; reads=7 writes=20; used at $D279, E62B, E66E, E6AE, +17 more