Files
disasm/_wip/Lode Runner (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

153 lines
13 KiB
PHP

; Lode Runner (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 ; 4 refs; reads=0 writes=4; used at $C014, C01B, C29A, C2A2
Zp01 = $01 ; 4 refs; reads=1 writes=3; used at $C016, C020, C29E
Zp02 = $02 ; 5 refs; reads=3 writes=2; used at $C188, C216, C2B6, C2C6, +1 more
Zp03 = $03 ; 4 refs; reads=2 writes=2; used at $C0A4, C28F, C292, E67E
Zp04 = $04 ; 18 refs; reads=10 writes=8; used at $C17E, C227, C5B4, C9B8, +12 more
Zp05 = $05 ; 3 refs; reads=1 writes=2; used at $C183, C229, C9BA
Zp06 = $06 ; 32 refs; reads=30 writes=2; used at $C0B0, C0C2, C1DA, C1F9, +28 more
Zp07 = $07 ; 2 refs; reads=1 writes=1; used at $C20A, CFB9
Zp08 = $08 ; 6 refs; reads=3 writes=3; used at $C191, C1A7, C1BC, C22F, +2 more
Zp09 = $09 ; 3 refs; reads=2 writes=1; used at $C193, C1A2, CABB
Zp0A = $0A ; 7 refs; reads=4 writes=3; used at $C18E, C1A9, CAAC, CAB3, +1 more
Zp0B = $0B ; 3 refs; reads=2 writes=1; used at $C198, C1AE, CACF
Zp0C = $0C ; 4 refs; reads=2 writes=2; used at $C1BE, CAD7, CADE, CAE2
Zp0D = $0D ; 2 refs; reads=1 writes=1; used at $C1BA, CAE6
Zp0E = $0E ; 4 refs; reads=2 writes=2; used at $C1CA, CAFA, CB03
Zp0F = $0F ; 4 refs; reads=2 writes=2; used at $C1CC, CA81, CB00
Zp10 = $10 ; 7 refs; reads=3 writes=4; used at $C034, C03A, C22B, C2BE, +3 more
Zp11 = $11 ; 4 refs; reads=1 writes=3; used at $C03C, C22D, C2C0, D060
Zp12 = $12 ; 34 refs; reads=18 writes=16; used at $CAA0, CAB9, CAD9, CAEE, +28 more
Zp13 = $13 ; 33 refs; reads=14 writes=19; used at $CAA5, CAAE, CAD2, CAEA, +27 more
Zp14 = $14 ; 4 refs; reads=2 writes=2; used at $D0BA, D0C4, E7E6, E7EC
Zp16 = $16 ; 2 refs; reads=1 writes=1; used at $CAEC, CAF4
Zp18 = $18 ; 12 refs; reads=4 writes=8; used at $D100, D1C4, D1EA, D1F8, +8 more
Zp19 = $19 ; 9 refs; reads=2 writes=7; used at $D10E, D1B5, D1D1, D204, +5 more
Zp1A = $1A ; 20 refs; reads=8 writes=12; used at $D11E, D19B, D19D, D1A2, +10 more
Zp1B = $1B ; 8 refs; reads=2 writes=6; used at $D118, D1BF, D1E5, DC9E, +4 more
Zp1C = $1C ; 2 refs; reads=0 writes=2; used at $D099, D0F7
Zp1D = $1D ; 4 refs; reads=2 writes=2; used at $CCD1, CCD3, CCDB
Zp1E = $1E ; 7 refs; reads=4 writes=3; used at $D1AD, D1C9, D1F4, D210, +2 more
Zp20 = $20 ; 42 refs; reads=38 writes=4; used at $C894, C927, C9EE, CA43, +36 more
Zp21 = $21 ; 46 refs; reads=41 writes=5; used at $C47C, C898, C92B, CA47, +39 more
Zp22 = $22 ; 17 refs; reads=10 writes=7; used at $C92F, CCED, CD0E, CD27, +9 more
Zp23 = $23 ; 25 refs; reads=16 writes=9; used at $C480, C931, CBCB, CBD1, +16 more
Zp24 = $24 ; 17 refs; reads=9 writes=8; used at $C935, CC75, CCC2, CEC2, +11 more
Zp25 = $25 ; 5 refs; reads=1 writes=4; used at $CD09, CD6F, CEC0, CF53, +1 more
Zp26 = $26 ; 55 refs; reads=18 writes=37; used at $C744, C75E, C76A, C781, +51 more
Zp27 = $27 ; 7 refs; reads=0 writes=7; used at $C827, CBE5, CDEA, CE4B, +3 more
Zp28 = $28 ; 61 refs; reads=48 writes=13; used at $C80D, C822, C8F0, C939, +57 more
Zp29 = $29 ; 4 refs; reads=0 writes=4; used at $C82C, D2F7, DCB9, E76A
Zp2A = $2A ; 4 refs; reads=2 writes=2; used at $C986, C996, C9A5, C9AA
Zp2B = $2B ; 3 refs; reads=1 writes=2; used at $C98A, C9AC, C9B0
Zp32 = $32 ; 21 refs; reads=17 writes=4; used at $CA45, CA69, D13A, D44C, +17 more
Zp33 = $33 ; 20 refs; reads=15 writes=5; used at $CA49, CA6D, D140, D448, +15 more
Zp34 = $34 ; 11 refs; reads=5 writes=6; used at $CA41, CA5F, D440, DB86, +6 more
Zp35 = $35 ; 7 refs; reads=4 writes=3; used at $CA73, D444, DBD3, DBFC, +3 more
Zp36 = $36 ; 19 refs; reads=12 writes=7; used at $D4D0, D4D6, D4D8, D567, +12 more
Zp37 = $37 ; 12 refs; reads=6 writes=6; used at $CA63, D450, D5E5, DB27, +6 more
Zp38 = $38 ; 13 refs; reads=8 writes=5; used at $CA65, D452, D4FF, D505, +8 more
Zp39 = $39 ; 38 refs; reads=19 writes=19; used at $C8A8, CA33, CA3B, CA4D, +30 more
Zp3A = $3A ; 5 refs; reads=2 writes=3; used at $C8B0, D970, D97F, D984, +1 more
Zp3B = $3B ; 5 refs; reads=4 writes=1; used at $DAA6, DAAC, DAC6, DAEC, +1 more
Zp52 = $52 ; 4 refs; reads=2 writes=2; used at $D122, D144, D14D
Zp53 = $53 ; 13 refs; reads=7 writes=6; used at $C3AA, C5D4, D312, D314, +7 more
Zp55 = $55 ; 12 refs; reads=11 writes=1; used at $D7C2, D7C9, D7E3, D855, +8 more
Zp56 = $56 ; 19 refs; reads=18 writes=1; used at $D7C4, D7DA, D7ED, D7FE, +15 more
Zp57 = $57 ; 11 refs; reads=8 writes=3; used at $D7E5, D7EB, D7F2, D807, +5 more
Zp58 = $58 ; 8 refs; reads=1 writes=7; used at $D84F, D865, D897, D8BC, +4 more
Zp59 = $59 ; 13 refs; reads=6 writes=7; used at $D853, D88F, D893, D8B4, +9 more
Zp5A = $5A ; 17 refs; reads=13 writes=4; used at $D868, D877, D883, D88A, +10 more
Zp5B = $5B ; 17 refs; reads=13 writes=4; used at $D8C4, D8D3, D8DF, D8E6, +10 more
Zp5C = $5C ; 6 refs; reads=2 writes=4; used at $D9D0, DA04, DA17, DA60, +2 more
Zp5D = $5D ; 13 refs; reads=11 writes=2; used at $D99E, D9A3, D9AD, D9C5, +9 more
Zp5E = $5E ; 20 refs; reads=16 writes=4; used at $D999, D99C, D9AB, D9C0, +14 more
Zp5F = $5F ; 2 refs; reads=1 writes=1; used at $C469, D56D
Zp60 = $60 ; 1 refs; reads=0 writes=1; used at $C458
Zp61 = $61 ; 1 refs; reads=0 writes=1; used at $C45D
Zp62 = $62 ; 1 refs; reads=0 writes=1; used at $C462
Zp63 = $63 ; 4 refs; reads=2 writes=2; used at $D4AF, D4B1, D4BC
Zp64 = $64 ; 4 refs; reads=2 writes=2; used at $D4A0, D4A2, D4AA
Zp72 = $72 ; 3 refs; reads=2 writes=1; used at $C088, C08A
Zp73 = $73 ; 3 refs; reads=2 writes=1; used at $CA67, D01F, D159
Zp74 = $74 ; 3 refs; reads=2 writes=1; used at $CA6B, D01B, D15F
Zp75 = $75 ; 4 refs; reads=3 writes=1; used at $CA5A, D168, DF4D, E084
Zp79 = $79 ; 1 refs; reads=0 writes=1; used at $CB3E
Zp85 = $85 ; 63 refs; reads=29 writes=34; used at $C727, C7D4, C7DC, C7E9, +50 more
Zp86 = $86 ; 83 refs; reads=41 writes=42; used at $C723, C729, C7C1, C7C3, +63 more
Zp88 = $88 ; 3 refs; reads=2 writes=1; used at $D323, D361, D40D
Zp8D = $8D ; 14 refs; reads=12 writes=2; used at $C449, C8A6, C8FC, C902, +9 more
Zp92 = $92 ; 1 refs; reads=0 writes=1; used at $C8AE
Zp93 = $93 ; 18 refs; reads=10 writes=8; used at $C475, C486, C8A4, C8F6, +7 more
Zp94 = $94 ; 3 refs; reads=1 writes=2; used at $CBAC, CFF8
Zp95 = $95 ; 4 refs; reads=1 writes=3; used at $C717, C860, C871, C87D
Zp96 = $96 ; 2 refs; reads=1 writes=1; used at $C53F
Zp97 = $97 ; 9 refs; reads=4 writes=5; used at $C403, C40F, C446, C464, +4 more
Zp98 = $98 ; 12 refs; reads=8 writes=4; used at $C420, C541, C543, C549, +5 more
Zp9A = $9A ; 11 refs; reads=7 writes=4; used at $C471, C494, C49B, C8C7, +4 more
Zp9B = $9B ; 4 refs; reads=2 writes=2; used at $CC06, CC25, CC64, CC81
Zp9C = $9C ; 7 refs; reads=1 writes=6; used at $C8AA, CBAE, CE92, CF14, +3 more
Zp9E = $9E ; 4 refs; reads=3 writes=1; used at $C057, C059, C07B
Zp9F = $9F ; 3 refs; reads=2 writes=1; used at $C05F, C061
ZpA0 = $A0 ; 16 refs; reads=11 writes=5; used at $C8AC, CE96, CED0, CEDF, +10 more
ZpA3 = $A3 ; 5 refs; reads=3 writes=2; used at $C8A2, C8DA, C8E0, CB42
ZpA4 = $A4 ; 1 refs; reads=0 writes=1; used at $CC7F
ZpA6 = $A6 ; 17 refs; reads=9 writes=8; used at $C4FD, C4FF, C507, C516, +10 more
ZpA7 = $A7 ; 16 refs; reads=12 writes=4; used at $C3A8, C3CF, C3D1, C3D9, +11 more
ZpAF = $AF ; 7 refs; reads=2 writes=5; used at $C839, C846, C850, C855, +2 more
ZpB0 = $B0 ; 4 refs; reads=2 writes=2; used at $C71B, C866, C87F
ZpB1 = $B1 ; 3 refs; reads=1 writes=2; used at $C71F, C883
ZpB2 = $B2 ; 2 refs; reads=1 writes=1; used at $C862, C877
ZpB3 = $B3 ; 9 refs; reads=5 writes=4; used at $C75C, C779, C77F, C793, +4 more
ZpB7 = $B7 ; 9 refs; reads=3 writes=6; used at $C0D1, C125, C225, C433, +5 more
ZpB8 = $B8 ; 5 refs; reads=1 writes=4; used at $C0DC, C11B, C235, CB2B, +1 more
ZpB9 = $B9 ; 6 refs; reads=2 writes=4; used at $C0D8, C0DA, C0E2, C231, +1 more
ZpBA = $BA ; 3 refs; reads=2 writes=1; used at $C0E8, C0ED, E22E
ZpBB = $BB ; 1 refs; reads=0 writes=1; used at $E230
ZpBC = $BC ; 5 refs; reads=4 writes=1; used at $C0EA, C10D, C119, C12D, +1 more
ZpBD = $BD ; 1 refs; reads=0 writes=1; used at $C0EF
ZpBE = $BE ; 8 refs; reads=3 writes=5; used at $C0E4, C115, C11F, CB27, +3 more
ZpBF = $BF ; 7 refs; reads=3 writes=4; used at $C0F7, C0FB, C10B, C113, +2 more
ZpC0 = $C0 ; 4 refs; reads=2 writes=2; used at $C100, C15B, C172, C174
ZpC1 = $C1 ; 3 refs; reads=1 writes=2; used at $C713, C7F7
ZpC2 = $C2 ; 5 refs; reads=3 writes=2; used at $CB44, CB46, CB71, CB7F
ZpC3 = $C3 ; 7 refs; reads=4 writes=3; used at $C59A, C59C, C5EF, C63D, +3 more
ZpC4 = $C4 ; 5 refs; reads=3 writes=2; used at $C89C, CFFC, E0A1, E0BC
ZpC5 = $C5 ; 6 refs; reads=4 writes=2; used at $C89E, D395, D397, E0AA, +1 more
ZpC6 = $C6 ; 8 refs; reads=5 writes=3; used at $C442, C8A0, D16D, E064, +4 more
ZpC7 = $C7 ; 6 refs; reads=4 writes=2; used at $E693, E6B0, E6CD, E6EB, +2 more
ZpC8 = $C8 ; 6 refs; reads=2 writes=4; used at $E687, E69C, E6A8, E6B7, +2 more
ZpC9 = $C9 ; 6 refs; reads=1 writes=5; used at $C21F, CB2F, D025, E235, +2 more
ZpCA = $CA ; 8 refs; reads=4 writes=4; used at $C21D, D028, E281, E287, +3 more
ZpCB = $CB ; 4 refs; reads=2 writes=2; used at $E275, E277, E27F
ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $C145, C151
ZpCD = $CD ; 2 refs; reads=0 writes=2; used at $C221, CB31
ZpCE = $CE ; 5 refs; reads=3 writes=2; used at $C5D8, CFCA, CFD1, CFD8
ZpCF = $CF ; 3 refs; reads=1 writes=2; used at $C5DC, CFDC
ZpD0 = $D0 ; 10 refs; reads=6 writes=4; used at $C405, C411, C419, C4B0, +6 more
ZpD1 = $D1 ; 7 refs; reads=3 writes=4; used at $C5E5, CFBF, CFC5, CFCC, +1 more
ZpD2 = $D2 ; 2 refs; reads=1 writes=1; used at $CFC3, CFD3
ZpD3 = $D3 ; 3 refs; reads=1 writes=2; used at $C3C1, C3E3
ZpD4 = $D4 ; 3 refs; reads=1 writes=2; used at $C3C3, C3E7
ZpD5 = $D5 ; 3 refs; reads=1 writes=2; used at $C3C7, C3EB
ZpD6 = $D6 ; 4 refs; reads=2 writes=2; used at $C3B4, C5AA, C5AC
ZpD7 = $D7 ; 2 refs; reads=1 writes=1; used at $C9FF, CA11
ZpD8 = $D8 ; 4 refs; reads=2 writes=2; used at $D27E, D280, D288
ZpD9 = $D9 ; 4 refs; reads=2 writes=2; used at $D2B1, D2B3, D2BB
ZpDA = $DA ; 4 refs; reads=2 writes=2; used at $D2D0, D2D2, D2DA
ZpDB = $DB ; 8 refs; reads=1 writes=7; used at $C0AC, C4C5, C4CE, C572, +4 more
ZpDC = $DC ; 16 refs; reads=10 writes=6; used at $C444, CB38, CB40, CB8C, +8 more
ZpDD = $DD ; 7 refs; reads=3 writes=4; used at $E869, E87C, E8B4, E8C1, +2 more
ZpDE = $DE ; 7 refs; reads=4 writes=3; used at $E86D, E880, E8B9, E8C5, +2 more
ZpDF = $DF ; 9 refs; reads=4 writes=5; used at $E870, E8A3, E8BF, E931, +3 more
ZpE0 = $E0 ; 9 refs; reads=4 writes=5; used at $E874, E8A5, E8C3, E935, +3 more
ZpE2 = $E2 ; 6 refs; reads=2 writes=4; used at $E902, E904, E9A0, E9A9
ZpE3 = $E3 ; 3 refs; reads=1 writes=2; used at $E9A2, E9B2
ZpE4 = $E4 ; 6 refs; reads=4 writes=2; used at $E689, E7CD, E7CF, E7E3, +1 more
ZpE5 = $E5 ; 6 refs; reads=3 writes=3; used at $C027, C49F, C4F0, C511