Files
disasm/_wip/Pac-Man (U)/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

99 lines
7.8 KiB
PHP

; Pac-Man (U) 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 ; 58 refs; reads=26 writes=32; used at $C054, C0B5, C0BD, C27F, +51 more
Zp01 = $01 ; 33 refs; reads=13 writes=20; used at $C059, C05B, C283, C293, +25 more
Zp02 = $02 ; 45 refs; reads=18 writes=27; used at $C287, C2B4, C920, C93E, +39 more
Zp03 = $03 ; 18 refs; reads=6 writes=12; used at $C29A, C2A3, C925, C943, +12 more
Zp04 = $04 ; 18 refs; reads=11 writes=7; used at $D803, D8E7, D8FA, DAC2, +12 more
Zp05 = $05 ; 40 refs; reads=22 writes=18; used at $D761, D771, D773, D775, +24 more
Zp06 = $06 ; 13 refs; reads=6 writes=7; used at $D779, D791, D7A0, D7B5, +8 more
Zp07 = $07 ; 2 refs; reads=1 writes=1; used at $D78F, D793
Zp08 = $08 ; 4 refs; reads=2 writes=2; used at $D76A, D76F, D784, D789
Zp0A = $0A ; 2 refs; reads=1 writes=1; used at $D740, E47D
Zp0B = $0B ; 5 refs; reads=2 writes=3; used at $D745, E485, E4A1, E4BC
Zp0C = $0C ; 3 refs; reads=2 writes=1; used at $D74A, D75A, E472
Zp0D = $0D ; 2 refs; reads=1 writes=1; used at $D754, E474
Zp0E = $0E ; 1 refs; reads=0 writes=1; used at $E476
Zp0F = $0F ; 1 refs; reads=0 writes=1; used at $E478
Zp10 = $10 ; 4 refs; reads=0 writes=4; used at $C249, D3C3, D908, D9AF
Zp11 = $11 ; 4 refs; reads=0 writes=4; used at $C24E, D3C8, D90D, D9B4
Zp12 = $12 ; 4 refs; reads=2 writes=2; used at $E286, E28A, E294, E298
Zp13 = $13 ; 4 refs; reads=2 writes=2; used at $E28C, E290, E29A, E29E
Zp14 = $14 ; 2 refs; reads=2 writes=0; used at $E288, E296
Zp15 = $15 ; 2 refs; reads=2 writes=0; used at $E28E, E29C
Zp1A = $1A ; 5 refs; reads=5 writes=0; used at $C8AA, C9BB, D370, D723, +1 more
Zp1C = $1C ; 3 refs; reads=3 writes=0; used at $D372, D72D, D733
Zp1E = $1E ; 2 refs; reads=2 writes=0; used at $C8ED, D726
Zp1F = $1F ; 1 refs; reads=1 writes=0; used at $C8F1
Zp20 = $20 ; 1 refs; reads=1 writes=0; used at $D730
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $C90D
Zp2B = $2B ; 1 refs; reads=0 writes=1; used at $C911
Zp3F = $3F ; 3 refs; reads=2 writes=1; used at $C0A2, C22D, C244
Zp40 = $40 ; 5 refs; reads=2 writes=3; used at $C109, C1D5, C1D7, C23E, +1 more
Zp41 = $41 ; 3 refs; reads=1 writes=2; used at $C06C, C119, C225
Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C06E, C11E, C223
Zp43 = $43 ; 4 refs; reads=1 writes=3; used at $C0D9, C12A, C1E0, C23A
Zp45 = $45 ; 2 refs; reads=1 writes=1; used at $C0A6, C10B
Zp46 = $46 ; 9 refs; reads=7 writes=2; used at $C0AE, C125, C152, C1F1, +5 more
Zp47 = $47 ; 10 refs; reads=8 writes=2; used at $C0AA, C123, C154, C21F, +6 more
Zp48 = $48 ; 4 refs; reads=2 writes=2; used at $C0E0, C15E, C21B, DE3D
Zp4B = $4B ; 12 refs; reads=11 writes=1; used at $C15C, C977, C982, C9D3, +7 more
Zp4C = $4C ; 1 refs; reads=0 writes=1; used at $C227
Zp4D = $4D ; 3 refs; reads=2 writes=1; used at $C142, C150
Zp4E = $4E ; 3 refs; reads=2 writes=1; used at $C14B, C158
Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $C15A
Zp50 = $50 ; 5 refs; reads=3 writes=2; used at $D365, D378, D381, D388, +1 more
Zp51 = $51 ; 4 refs; reads=3 writes=1; used at $D36C, D383, D391, D3BC
Zp64 = $64 ; 1 refs; reads=0 writes=1; used at $C09E
Zp6C = $6C ; 2 refs; reads=1 writes=1; used at $C20E, DEF5
Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $C210
Zp6E = $6E ; 1 refs; reads=0 writes=1; used at $C212
Zp6F = $6F ; 1 refs; reads=0 writes=1; used at $C214
Zp87 = $87 ; 7 refs; reads=4 writes=3; used at $C229, C565, C567, C589, +1 more
Zp88 = $88 ; 4 refs; reads=2 writes=2; used at $C22B, C560, D397, D805
Zp89 = $89 ; 3 refs; reads=2 writes=1; used at $C8CF, C8D1
Zp8A = $8A ; 1 refs; reads=0 writes=1; used at $C8D5
Zp9F = $9F ; 1 refs; reads=1 writes=0; used at $D3B4
ZpA0 = $A0 ; 1 refs; reads=1 writes=0; used at $D3B8
ZpAF = $AF ; 1 refs; reads=1 writes=0; used at $D815
ZpB0 = $B0 ; 1 refs; reads=1 writes=0; used at $D819
ZpB1 = $B1 ; 1 refs; reads=1 writes=0; used at $D81E
ZpB2 = $B2 ; 1 refs; reads=1 writes=0; used at $D822
ZpB3 = $B3 ; 1 refs; reads=1 writes=0; used at $D7FA
ZpB4 = $B4 ; 1 refs; reads=1 writes=0; used at $D7FE
ZpB5 = $B5 ; 1 refs; reads=0 writes=1; used at $D3B6
ZpB6 = $B6 ; 1 refs; reads=0 writes=1; used at $D3BA
ZpB7 = $B7 ; 3 refs; reads=2 writes=1; used at $C9C3, C9C5
ZpB8 = $B8 ; 4 refs; reads=4 writes=0; used at $D737, D7E0, D903, D9AA
ZpB9 = $B9 ; 4 refs; reads=3 writes=1; used at $D75C, D7B9, D7CC, E492
ZpBA = $BA ; 2 refs; reads=1 writes=1; used at $D24B, D251
ZpC2 = $C2 ; 5 refs; reads=0 writes=5; used at $D7FC, D80E, D817, D820, +1 more
ZpC3 = $C3 ; 5 refs; reads=0 writes=5; used at $D800, D812, D81B, D824, +1 more
ZpCA = $CA ; 1 refs; reads=1 writes=0; used at $D80C
ZpCB = $CB ; 1 refs; reads=1 writes=0; used at $D810
ZpCD = $CD ; 2 refs; reads=1 writes=1; used at $D72B, D763
ZpCE = $CE ; 2 refs; reads=1 writes=1; used at $D735, D77B
ZpE3 = $E3 ; 3 refs; reads=1 writes=2; used at $D4C7, D4D4
ZpE4 = $E4 ; 6 refs; reads=4 writes=2; used at $D4C5, D4CB, D4CD, D4CF
ZpEF = $EF ; 2 refs; reads=2 writes=0; used at $F020, F050
ZpF0 = $F0 ; 4 refs; reads=1 writes=3; used at $EE4D, EE77, EEF4, F001
ZpF1 = $F1 ; 1 refs; reads=0 writes=1; used at $EE51
ZpF2 = $F2 ; 30 refs; reads=10 writes=20; used at $EE55, EE84, EEA3, EEC8, +26 more
ZpF3 = $F3 ; 1 refs; reads=0 writes=1; used at $EE59
ZpF4 = $F4 ; 3 refs; reads=2 writes=1; used at $EE5E, EF05, EF16
ZpF5 = $F5 ; 1 refs; reads=0 writes=1; used at $EE63
ZpF6 = $F6 ; 4 refs; reads=1 writes=3; used at $EECD, EED7, EED9
ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $EE67
ZpF8 = $F8 ; 1 refs; reads=0 writes=1; used at $EE91
ZpF9 = $F9 ; 1 refs; reads=0 writes=1; used at $EE93
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $EE95
ZpFB = $FB ; 1 refs; reads=0 writes=1; used at $EE97
ZpFC = $FC ; 6 refs; reads=4 writes=2; used at $EEEE, EEF2, EF01, EF10, +2 more
ZpFD = $FD ; 23 refs; reads=19 writes=4; used at $EE99, EEA1, EEC6, EEE1, +19 more
ZpFE = $FE ; 12 refs; reads=5 writes=7; used at $EE9F, EEB1, EEBA, EEC0, +7 more
ZpFF = $FF ; 8 refs; reads=3 writes=5; used at $EE9B, EF7B, EF85, EF98, +3 more