Files
disasm/_wip/Donkey Kong Jr. Math (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

193 lines
17 KiB
PHP

; Donkey Kong Jr. Math (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 ; 111 refs; reads=34 writes=77; used at $C435, C439, C49F, C4AA, +105 more
Zp01 = $01 ; 88 refs; reads=22 writes=66; used at $C431, C43E, C4A3, C4C4, +79 more
Zp02 = $02 ; 69 refs; reads=19 writes=50; used at $C7FA, C820, C849, C9D2, +65 more
Zp03 = $03 ; 37 refs; reads=8 writes=29; used at $C6F2, C7FF, D374, D480, +33 more
Zp04 = $04 ; 21 refs; reads=4 writes=17; used at $C6EE, C804, D6B4, D752, +17 more
Zp05 = $05 ; 20 refs; reads=9 writes=11; used at $D51F, D53A, D6DF, D6F0, +15 more
Zp06 = $06 ; 16 refs; reads=9 writes=7; used at $D6E2, D704, D73B, D779, +11 more
Zp07 = $07 ; 12 refs; reads=6 writes=6; used at $D6E5, D6FC, D70A, D738, +6 more
Zp08 = $08 ; 12 refs; reads=6 writes=6; used at $C70F, C76C, D2B5, D34C, +7 more
Zp09 = $09 ; 17 refs; reads=8 writes=9; used at $CC36, D2A1, D2B0, D6EB, +13 more
Zp0A = $0A ; 26 refs; reads=15 writes=11; used at $D045, D05F, D79F, D7B1, +19 more
Zp0B = $0B ; 9 refs; reads=3 writes=6; used at $D7A7, D7C9, DC91, DCBF, +5 more
Zp0C = $0C ; 5 refs; reads=3 writes=2; used at $D7F4, D81E, D828, DC5A, +1 more
Zp0D = $0D ; 15 refs; reads=8 writes=7; used at $D394, D5BB, D5D3, D5D7, +10 more
Zp0E = $0E ; 2 refs; reads=1 writes=1; used at $C9BE, C9F2
Zp0F = $0F ; 22 refs; reads=12 writes=10; used at $D06E, D078, D564, D576, +18 more
Zp10 = $10 ; 14 refs; reads=8 writes=6; used at $C46E, C4AD, C547, C556, +10 more
Zp11 = $11 ; 7 refs; reads=4 writes=3; used at $C4E1, C71F, C726, C9E2, +3 more
Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $F522, F526
Zp15 = $15 ; 14 refs; reads=12 writes=2; used at $C5A3, C5A9, C872, C911, +10 more
Zp17 = $17 ; 2 refs; reads=2 writes=0; used at $CA41, CA7B
Zp18 = $18 ; 11 refs; reads=9 writes=2; used at $C60E, DD0C, DDB2, DE3F, +6 more
Zp19 = $19 ; 5 refs; reads=3 writes=2; used at $C612, DE43, F4D8, F4E4
Zp1A = $1A ; 3 refs; reads=2 writes=1; used at $DE47, F4E6
Zp1B = $1B ; 3 refs; reads=2 writes=1; used at $E190, F4E8
Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $F4EA
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $F4EC
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $F4EE
Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $F4F0
Zp22 = $22 ; 2 refs; reads=1 writes=1; used at $E2C1, E2D6
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $E2C6, E2DB
Zp24 = $24 ; 5 refs; reads=3 writes=2; used at $C5EB, F348, F36F, F3A3, +1 more
Zp25 = $25 ; 7 refs; reads=4 writes=3; used at $F363, F36C, F38A, F393, +3 more
Zp26 = $26 ; 8 refs; reads=4 writes=4; used at $E34B, F358, F361, F37F, +4 more
Zp27 = $27 ; 8 refs; reads=4 writes=4; used at $E34D, F34D, F356, F374, +4 more
Zp28 = $28 ; 1 refs; reads=0 writes=1; used at $DA98
Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $DA9A
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $DAB0
Zp2C = $2C ; 1 refs; reads=0 writes=1; used at $DA9C
Zp2D = $2D ; 1 refs; reads=0 writes=1; used at $DA9E
Zp30 = $30 ; 3 refs; reads=1 writes=2; used at $F48F, F495
Zp31 = $31 ; 5 refs; reads=3 writes=2; used at $E990, E996, F499, F49D
Zp32 = $32 ; 2 refs; reads=0 writes=2; used at $C8F7, D3FD
Zp33 = $33 ; 5 refs; reads=2 writes=3; used at $D212, E314, E32A, E71A, +1 more
Zp34 = $34 ; 2 refs; reads=1 writes=1; used at $EA48, EA4E
Zp35 = $35 ; 2 refs; reads=1 writes=1; used at $E359, E35F
Zp36 = $36 ; 2 refs; reads=1 writes=1; used at $F01C, F022
Zp37 = $37 ; 8 refs; reads=3 writes=5; used at $DECD, DED3, DF07, DF19, +4 more
Zp39 = $39 ; 25 refs; reads=8 writes=17; used at $C640, C651, C659, C66B, +16 more
Zp3C = $3C ; 4 refs; reads=1 writes=3; used at $C5A0, C5B3, C5C5, C79D
Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $D4E5, D4FA
Zp41 = $41 ; 3 refs; reads=2 writes=1; used at $DDAC, DDE1, DE2A
Zp48 = $48 ; 7 refs; reads=1 writes=6; used at $C44F, C4F2, C61E, C676, +3 more
Zp49 = $49 ; 5 refs; reads=2 writes=3; used at $C44B, C4EE, C616, C8E2, +1 more
Zp4A = $4A ; 35 refs; reads=32 writes=3; used at $C634, C69D, C6AB, C6D1, +29 more
Zp4B = $4B ; 4 refs; reads=1 writes=3; used at $C4F6, CBD4, D1B3, E134
Zp4C = $4C ; 16 refs; reads=12 writes=4; used at $C595, C5B9, C63A, C6D9, +12 more
Zp4D = $4D ; 6 refs; reads=4 writes=2; used at $E40D, E604, E6E7, E79C, +1 more
Zp4E = $4E ; 6 refs; reads=2 writes=4; used at $C8FD, C9A1, E275, E296, +1 more
Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $E277
Zp50 = $50 ; 5 refs; reads=2 writes=3; used at $D1F8, E823, E87F, E885, +1 more
Zp51 = $51 ; 31 refs; reads=21 writes=10; used at $C8AF, C8D1, C955, C96F, +27 more
Zp52 = $52 ; 1 refs; reads=0 writes=1; used at $C8B1
Zp53 = $53 ; 6 refs; reads=4 writes=2; used at $C8D3, C971, CA64, D110, +2 more
Zp55 = $55 ; 11 refs; reads=5 writes=6; used at $CBE0, CEC6, CECB, CEE4, +7 more
Zp57 = $57 ; 7 refs; reads=2 writes=5; used at $C75D, CAFB, CB14, CB21, +2 more
Zp58 = $58 ; 1 refs; reads=0 writes=1; used at $C75F
Zp59 = $59 ; 9 refs; reads=5 writes=4; used at $C763, CAFF, CB23, CB91, +4 more
Zp5A = $5A ; 1 refs; reads=0 writes=1; used at $C765
Zp5B = $5B ; 3 refs; reads=1 writes=2; used at $CA86, CA96, D255
Zp5F = $5F ; 37 refs; reads=18 writes=19; used at $C737, C822, C84B, C889, +33 more
Zp60 = $60 ; 2 refs; reads=1 writes=1; used at $C739, D838
Zp61 = $61 ; 3 refs; reads=2 writes=1; used at $CBD9, CBF6, CC44
Zp63 = $63 ; 26 refs; reads=13 writes=13; used at $C741, CC21, CC86, CD8E, +22 more
Zp64 = $64 ; 1 refs; reads=0 writes=1; used at $C745
Zp65 = $65 ; 1 refs; reads=0 writes=1; used at $CF18
Zp67 = $67 ; 3 refs; reads=1 writes=2; used at $CC0A, CEA5, CEAD
Zp69 = $69 ; 3 refs; reads=1 writes=2; used at $CC08, CF02, CF12
Zp6B = $6B ; 13 refs; reads=7 writes=6; used at $CC12, CC3A, CC8C, CD63, +9 more
Zp6D = $6D ; 3 refs; reads=1 writes=2; used at $D14C, D593, D5B9
Zp6E = $6E ; 3 refs; reads=1 writes=2; used at $D151, D595, D5CD
Zp6F = $6F ; 4 refs; reads=2 writes=2; used at $CC04, CEAF, CEFA, CF14
Zp71 = $71 ; 5 refs; reads=2 writes=3; used at $CC32, CC59, D12E, D133, +1 more
Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $CCFD, CE23
Zp75 = $75 ; 5 refs; reads=3 writes=2; used at $CBE2, CEC0, CEDE, CF97, +1 more
Zp76 = $76 ; 3 refs; reads=1 writes=2; used at $CC14, CCF9, CD06
Zp78 = $78 ; 3 refs; reads=1 writes=2; used at $C749, CE69, D25C
Zp79 = $79 ; 7 refs; reads=1 writes=6; used at $C759, C799, CB2E, CB81, +3 more
Zp7A = $7A ; 3 refs; reads=1 writes=2; used at $C753, D0E4, D26C
Zp7B = $7B ; 1 refs; reads=0 writes=1; used at $C755
Zp7C = $7C ; 3 refs; reads=2 writes=1; used at $D664, D69A
Zp7D = $7D ; 5 refs; reads=2 writes=3; used at $D670, D680, D685, D68E, +1 more
Zp80 = $80 ; 4 refs; reads=2 writes=2; used at $D66C, D674, D678, D690
Zp81 = $81 ; 4 refs; reads=2 writes=2; used at $D668, D67A, D67E, D696
Zp84 = $84 ; 2 refs; reads=1 writes=1; used at $C74D, D683
Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $C73B, D689
Zp86 = $86 ; 1 refs; reads=0 writes=1; used at $C74F
Zp87 = $87 ; 1 refs; reads=0 writes=1; used at $C73D
Zp88 = $88 ; 15 refs; reads=8 writes=7; used at $CC68, D03F, D074, D07E, +11 more
Zp89 = $89 ; 8 refs; reads=6 writes=2; used at $D5FB, D604, D611, D896, +4 more
Zp8A = $8A ; 14 refs; reads=8 writes=6; used at $D042, D071, D07B, D081, +10 more
Zp8B = $8B ; 15 refs; reads=8 writes=7; used at $D05D, D06A, D06C, D08B, +6 more
Zp8C = $8C ; 12 refs; reads=11 writes=1; used at $CE1E, CE29, D591, D5B7, +8 more
Zp8D = $8D ; 9 refs; reads=8 writes=1; used at $CCEA, CF5A, D242, D95F, +5 more
Zp8E = $8E ; 2 refs; reads=1 writes=1; used at $D9EB, DA32
Zp8F = $8F ; 5 refs; reads=4 writes=1; used at $D898, D96C, D987, D9F0, +1 more
Zp90 = $90 ; 5 refs; reads=2 writes=3; used at $ECDE, ECED, ECF4, ED04
Zp91 = $91 ; 5 refs; reads=2 writes=3; used at $E279, E27E, E291, E2A3
Zp92 = $92 ; 1 refs; reads=0 writes=1; used at $E27B
Zp93 = $93 ; 6 refs; reads=1 writes=5; used at $CD3B, E4E8, E53D, E548, +2 more
Zp94 = $94 ; 6 refs; reads=2 writes=4; used at $C5B1, C5C7, C5DC, C624, +1 more
Zp95 = $95 ; 2 refs; reads=1 writes=1; used at $D418
Zp97 = $97 ; 1 refs; reads=0 writes=1; used at $C5E0
Zp98 = $98 ; 24 refs; reads=13 writes=11; used at $E6D7, E7CA, EA7C, EAA7, +16 more
Zp99 = $99 ; 3 refs; reads=2 writes=1; used at $CD1B, CF80
ZpA0 = $A0 ; 27 refs; reads=8 writes=19; used at $D4A8, D4BE, D4C5, D4CA, +18 more
ZpA1 = $A1 ; 16 refs; reads=2 writes=14; used at $D4A0, D4B9, DBC9, DC50, +11 more
ZpA2 = $A2 ; 14 refs; reads=6 writes=8; used at $EA2F, EA33, EA79, EB01, +10 more
ZpA3 = $A3 ; 6 refs; reads=4 writes=2; used at $D1DB, E7AA, EF4A, EFEA, +1 more
ZpA4 = $A4 ; 6 refs; reads=4 writes=2; used at $D1DF, E7BC, EF74, EFEC, +1 more
ZpA5 = $A5 ; 8 refs; reads=6 writes=2; used at $D1E3, E59C, EAA1, EEE3, +3 more
ZpA7 = $A7 ; 11 refs; reads=6 writes=5; used at $D1DD, E51A, E51E, E613, +4 more
ZpA8 = $A8 ; 10 refs; reads=5 writes=5; used at $D1E1, E523, E52C, E61E, +3 more
ZpA9 = $A9 ; 14 refs; reads=9 writes=5; used at $D1E5, E508, E531, E535, +7 more
ZpAA = $AA ; 6 refs; reads=3 writes=3; used at $E4D1, E576, EF4E, EFF2
ZpAB = $AB ; 6 refs; reads=3 writes=3; used at $E4D8, E590, EF78, EFF4
ZpAC = $AC ; 6 refs; reads=3 writes=3; used at $E4DF, E5B3, EEE7, EF03
ZpAD = $AD ; 10 refs; reads=3 writes=7; used at $E4AF, E4BA, E4C9, E4EC, +4 more
ZpAE = $AE ; 4 refs; reads=1 writes=3; used at $C574, C59C, C620, C8FF
ZpAF = $AF ; 14 refs; reads=12 writes=2; used at $C94F, CACC, D2E9, D3F9, +10 more
ZpB0 = $B0 ; 9 refs; reads=7 writes=2; used at $D1FA, E444, E450, E46D, +5 more
ZpB1 = $B1 ; 7 refs; reads=3 writes=4; used at $E3D8, E3EE, E400, E49D, +3 more
ZpB3 = $B3 ; 2 refs; reads=1 writes=1; used at $EFC2, EFCD
ZpB4 = $B4 ; 5 refs; reads=3 writes=2; used at $D1E7, D1EB, E610, E6D5
ZpB5 = $B5 ; 1 refs; reads=0 writes=1; used at $E6E0
ZpB6 = $B6 ; 3 refs; reads=1 writes=2; used at $C7E2, D3CD, D3D2
ZpB7 = $B7 ; 3 refs; reads=1 writes=2; used at $C7DE, D3D6, D3DA
ZpBA = $BA ; 2 refs; reads=1 writes=1; used at $E282, E2AF
ZpBC = $BC ; 8 refs; reads=2 writes=6; used at $E303, E657, EB0F, EFBA, +4 more
ZpBD = $BD ; 12 refs; reads=8 writes=4; used at $E40B, E474, E4FB, E50F, +5 more
ZpBE = $BE ; 8 refs; reads=3 writes=5; used at $CD37, D1D5, E3C6, E4B6, +4 more
ZpBF = $BF ; 8 refs; reads=4 writes=4; used at $D1CB, E2DE, E5F8, E68B, +4 more
ZpC0 = $C0 ; 4 refs; reads=2 writes=2; used at $C678, C8A3, CA9F, CAB1
ZpC2 = $C2 ; 2 refs; reads=1 writes=1; used at $C7EA, D362
ZpC3 = $C3 ; 5 refs; reads=3 writes=2; used at $C7E6, D366, D3DE, D3E3, +1 more
ZpCF = $CF ; 25 refs; reads=16 writes=9; used at $E6D9, F003, F012, F02A, +15 more
ZpD1 = $D1 ; 2 refs; reads=0 writes=2; used at $D3AE, D3C3
ZpD2 = $D2 ; 2 refs; reads=0 writes=2; used at $D404, D422
ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $D40A
ZpD4 = $D4 ; 1 refs; reads=0 writes=1; used at $D3C7
ZpD5 = $D5 ; 4 refs; reads=0 writes=4; used at $D410, D428, D432, D43A
ZpD6 = $D6 ; 2 refs; reads=0 writes=2; used at $D414, D43E
ZpD7 = $D7 ; 2 refs; reads=0 writes=2; used at $D3CB, D3F5
ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $D406, D424
ZpD9 = $D9 ; 1 refs; reads=0 writes=1; used at $D40C
ZpDA = $DA ; 1 refs; reads=0 writes=1; used at $C7EE
ZpDB = $DB ; 7 refs; reads=3 writes=4; used at $CB71, E559, E6D1, E715, +3 more
ZpDC = $DC ; 4 refs; reads=3 writes=1; used at $CD6C, CD90, CD99, CDAE
ZpDD = $DD ; 3 refs; reads=1 writes=2; used at $C863, DC6C, DCC8
ZpDF = $DF ; 6 refs; reads=2 writes=4; used at $CBAC, D450, D4E9, DC5E, +2 more
ZpE0 = $E0 ; 1 refs; reads=0 writes=1; used at $CBAE
ZpE3 = $E3 ; 3 refs; reads=2 writes=1; used at $D503, DB06, DC72
ZpE5 = $E5 ; 4 refs; reads=2 writes=2; used at $C8A7, D544, DFEE, E124
ZpE6 = $E6 ; 2 refs; reads=1 writes=1; used at $C8A9, E126
ZpE7 = $E7 ; 3 refs; reads=1 writes=2; used at $D35A, D416
ZpE8 = $E8 ; 3 refs; reads=1 writes=2; used at $C622, E26B, E271
ZpEA = $EA ; 43 refs; reads=36 writes=7; used at $E2B4, E2CC, E344, E48A, +39 more
ZpEB = $EB ; 7 refs; reads=4 writes=3; used at $C87B, C901, C926, C9B2, +3 more
ZpEC = $EC ; 39 refs; reads=24 writes=15; used at $C7B0, C7D4, C919, C933, +35 more
ZpED = $ED ; 4 refs; reads=2 writes=2; used at $C447, C586, C5DA, C5F0
ZpEE = $EE ; 12 refs; reads=7 writes=5; used at $C87F, C886, C903, C92A, +5 more
ZpEF = $EF ; 6 refs; reads=4 writes=2; used at $C5BD, C5F9, DEF3, DF6E, +2 more
ZpF0 = $F0 ; 7 refs; reads=1 writes=6; used at $FACF, FB6B, FB74, FB8C, +3 more
ZpF1 = $F1 ; 26 refs; reads=14 writes=12; used at $FACD, FB78, FB83, FB90, +14 more
ZpF2 = $F2 ; 3 refs; reads=1 writes=2; used at $FBBD, FBCF, FBD5
ZpF3 = $F3 ; 12 refs; reads=7 writes=5; used at $FA95, FCAE, FCB0, FCD9, +5 more
ZpF4 = $F4 ; 11 refs; reads=6 writes=5; used at $FA97, FCAC, FCC6, FCE0, +6 more
ZpF7 = $F7 ; 4 refs; reads=3 writes=1; used at $FDD9, FE12, FE4A, FE89
ZpF8 = $F8 ; 1 refs; reads=0 writes=1; used at $FDDE
ZpF9 = $F9 ; 7 refs; reads=4 writes=3; used at $FD6B, FDE3, FE31, FE55, +2 more
ZpFA = $FA ; 6 refs; reads=3 writes=3; used at $FBDC, FDE8, FE07, FE10, +1 more
ZpFB = $FB ; 3 refs; reads=2 writes=1; used at $FA6C, FA92, FC8D
ZpFC = $FC ; 11 refs; reads=3 writes=8; used at $C638, C7B7, C7C1, C91B, +7 more
ZpFD = $FD ; 11 refs; reads=1 writes=10; used at $C568, C644, C6B3, C9FE, +7 more
ZpFE = $FE ; 10 refs; reads=4 writes=6; used at $D1AF, D41C, FA68, FD10, +3 more
ZpFF = $FF ; 33 refs; reads=9 writes=24; used at $CC40, CC51, CE47, CE56, +21 more