- 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)
164 lines
14 KiB
PHP
164 lines
14 KiB
PHP
; Ice Climber (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 ; 126 refs; reads=62 writes=64; used at $C030, C041, C153, C18E, +116 more
|
|
Zp01 = $01 ; 72 refs; reads=30 writes=42; used at $C02C, C046, C158, C562, +60 more
|
|
Zp02 = $02 ; 39 refs; reads=15 writes=24; used at $C567, C5DF, C733, C777, +33 more
|
|
Zp03 = $03 ; 54 refs; reads=26 writes=28; used at $C5D9, C60B, C738, C73D, +48 more
|
|
Zp04 = $04 ; 33 refs; reads=9 writes=24; used at $C553, C557, C77B, C782, +27 more
|
|
Zp05 = $05 ; 20 refs; reads=9 writes=11; used at $C745, C825, C956, C98D, +14 more
|
|
Zp06 = $06 ; 22 refs; reads=12 writes=10; used at $C753, C7C8, C7CD, C7F0, +15 more
|
|
Zp07 = $07 ; 21 refs; reads=11 writes=10; used at $C74B, C759, C818, C95A, +15 more
|
|
Zp08 = $08 ; 12 refs; reads=7 writes=5; used at $C75E, C7C5, DB1D, DB3F, +7 more
|
|
Zp09 = $09 ; 21 refs; reads=10 writes=11; used at $C78E, C79D, C7FB, C7FD, +15 more
|
|
Zp0A = $0A ; 40 refs; reads=21 writes=19; used at $C7A9, C7B1, C7C3, C7D5, +33 more
|
|
Zp0B = $0B ; 31 refs; reads=17 writes=14; used at $C7AB, C7B3, C7CB, C7ED, +24 more
|
|
Zp0C = $0C ; 22 refs; reads=11 writes=11; used at $C547, C569, C572, C7AD, +15 more
|
|
Zp0D = $0D ; 18 refs; reads=7 writes=11; used at $C54B, C5C1, C5FE, C78A, +11 more
|
|
Zp0E = $0E ; 25 refs; reads=10 writes=15; used at $C54F, C5C5, C761, CEA5, +21 more
|
|
Zp0F = $0F ; 34 refs; reads=18 writes=16; used at $C5D5, C5E6, C605, C608, +27 more
|
|
Zp10 = $10 ; 8 refs; reads=6 writes=2; used at $C07B, C0BE, C144, C148, +4 more
|
|
Zp11 = $11 ; 6 refs; reads=3 writes=3; used at $C08C, C093, C0E2, C0E9, +2 more
|
|
Zp12 = $12 ; 2 refs; reads=1 writes=1; used at $C88A, CB81
|
|
Zp13 = $13 ; 19 refs; reads=12 writes=7; used at $C1A7, C1E9, C88C, CB86, +15 more
|
|
Zp14 = $14 ; 6 refs; reads=3 writes=3; used at $C620, C667, C66E, C672, +2 more
|
|
Zp15 = $15 ; 6 refs; reads=3 writes=3; used at $C0EB, C11C, C674, CB1D, +2 more
|
|
Zp16 = $16 ; 1 refs; reads=1 writes=0; used at $F047
|
|
Zp17 = $17 ; 1 refs; reads=1 writes=0; used at $CC11
|
|
Zp18 = $18 ; 6 refs; reads=5 writes=1; used at $C5B0, CAD2, CAE6, F7B5, +1 more
|
|
Zp19 = $19 ; 7 refs; reads=6 writes=1; used at $CADC, E688, F06E, F3A1, +2 more
|
|
Zp1E = $1E ; 6 refs; reads=3 writes=3; used at $D539, D757, F524, F586, +2 more
|
|
Zp1F = $1F ; 3 refs; reads=1 writes=2; used at $C56D, C5C9, C5E2
|
|
Zp20 = $20 ; 11 refs; reads=8 writes=3; used at $C259, D481, D73C, EB8E, +5 more
|
|
Zp21 = $21 ; 1 refs; reads=1 writes=0; used at $ECD9
|
|
Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $C1A9
|
|
Zp23 = $23 ; 1 refs; reads=0 writes=1; used at $C1AB
|
|
Zp24 = $24 ; 3 refs; reads=2 writes=1; used at $D8E0, D8E5, E57B
|
|
Zp25 = $25 ; 3 refs; reads=2 writes=1; used at $E573, E583
|
|
Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $CCAC, D4EE
|
|
Zp27 = $27 ; 8 refs; reads=7 writes=1; used at $CCDD, D5A9, D8A8, D8BE, +3 more
|
|
Zp28 = $28 ; 7 refs; reads=4 writes=3; used at $D5A7, D5B0, D5B8, D635, +3 more
|
|
Zp2A = $2A ; 8 refs; reads=6 writes=2; used at $D59E, D5B2, D5B4, D655, +3 more
|
|
Zp2C = $2C ; 5 refs; reads=2 writes=3; used at $C289, D7E6, D7EA, D90C
|
|
Zp2D = $2D ; 9 refs; reads=6 writes=3; used at $C26E, D218, D318, D47D, +5 more
|
|
Zp2E = $2E ; 1 refs; reads=1 writes=0; used at $D21A
|
|
Zp2F = $2F ; 4 refs; reads=1 writes=3; used at $C269, C859, D131, EBB5
|
|
Zp31 = $31 ; 4 refs; reads=1 writes=3; used at $C1CB, CB9F, CBA5
|
|
Zp32 = $32 ; 10 refs; reads=5 writes=5; used at $CBA9, CBAD, CDD7, CECE, +5 more
|
|
Zp34 = $34 ; 3 refs; reads=1 writes=2; used at $C2E8, C437, D4FC
|
|
Zp37 = $37 ; 2 refs; reads=0 writes=2; used at $C2E2, F509
|
|
Zp38 = $38 ; 1 refs; reads=0 writes=1; used at $C2E4
|
|
Zp39 = $39 ; 1 refs; reads=0 writes=1; used at $C295
|
|
Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $E0C0, E155
|
|
Zp3B = $3B ; 2 refs; reads=1 writes=1; used at $F6A4, F6D8
|
|
Zp3D = $3D ; 5 refs; reads=2 writes=3; used at $C285, D7E2, D7EE, D908, +1 more
|
|
Zp3F = $3F ; 2 refs; reads=1 writes=1; used at $D485, EBA6
|
|
Zp43 = $43 ; 3 refs; reads=2 writes=1; used at $C166, ECDD, ED04
|
|
Zp48 = $48 ; 3 refs; reads=1 writes=2; used at $F027, F043, F0C6
|
|
Zp4A = $4A ; 1 refs; reads=0 writes=1; used at $C28D
|
|
Zp4B = $4B ; 1 refs; reads=0 writes=1; used at $C291
|
|
Zp4D = $4D ; 5 refs; reads=1 writes=4; used at $C1B5, C1C7, CCED, D545, +1 more
|
|
Zp4E = $4E ; 3 refs; reads=1 writes=2; used at $C1D2, F87F, F889
|
|
Zp50 = $50 ; 7 refs; reads=6 writes=1; used at $C129, C676, E11B, EC42, +2 more
|
|
Zp51 = $51 ; 8 refs; reads=5 writes=3; used at $C0D3, C12B, C1D4, C2AD, +2 more
|
|
Zp52 = $52 ; 5 refs; reads=3 writes=2; used at $C088, C09F, C0A4, C218, +1 more
|
|
Zp53 = $53 ; 2 refs; reads=1 writes=1; used at $C0C9, C632
|
|
Zp54 = $54 ; 2 refs; reads=1 writes=1; used at $C1BD, C1C3
|
|
Zp55 = $55 ; 12 refs; reads=11 writes=1; used at $C122, C29A, C63A, C726, +8 more
|
|
Zp56 = $56 ; 8 refs; reads=7 writes=1; used at $C19D, D8FD, EA8E, F0AC, +4 more
|
|
Zp57 = $57 ; 11 refs; reads=6 writes=5; used at $C16D, C19F, C1DA, C21A, +4 more
|
|
Zp58 = $58 ; 6 refs; reads=6 writes=0; used at $C2D1, C4C2, CC0D, EB84, +2 more
|
|
Zp59 = $59 ; 9 refs; reads=8 writes=1; used at $C629, DFA5, E5B4, E719, +5 more
|
|
Zp5A = $5A ; 26 refs; reads=19 writes=7; used at $C255, C264, C39D, CD15, +22 more
|
|
Zp5B = $5B ; 3 refs; reads=3 writes=0; used at $D214, D4DC, D4E6
|
|
Zp5C = $5C ; 4 refs; reads=1 writes=3; used at $DABF, DCD6, DDF8, DE4F
|
|
Zp5F = $5F ; 19 refs; reads=15 writes=4; used at $C39F, CCF6, CD08, CD0D, +15 more
|
|
Zp60 = $60 ; 11 refs; reads=5 writes=6; used at $CD95, CD97, CDA0, CEB4, +5 more
|
|
Zp62 = $62 ; 19 refs; reads=10 writes=9; used at $C262, CDF5, CE34, CE80, +15 more
|
|
Zp64 = $64 ; 59 refs; reads=37 writes=22; used at $C24B, CD6A, CF02, CFA9, +41 more
|
|
Zp65 = $65 ; 2 refs; reads=1 writes=1; used at $C24F, D2DC
|
|
Zp66 = $66 ; 40 refs; reads=27 writes=13; used at $C272, C38D, C38F, C644, +31 more
|
|
Zp67 = $67 ; 7 refs; reads=5 writes=2; used at $D23E, D275, D27F, D282, +1 more
|
|
Zp68 = $68 ; 24 refs; reads=17 writes=7; used at $CDD0, CDE1, CDEB, CDF1, +20 more
|
|
Zp6A = $6A ; 42 refs; reads=25 writes=17; used at $C257, C266, C39B, CCA0, +38 more
|
|
Zp6B = $6B ; 4 refs; reads=4 writes=0; used at $CCA4, D224, D269, D753
|
|
Zp6C = $6C ; 11 refs; reads=6 writes=5; used at $C395, CDA2, CDA4, CDAD, +6 more
|
|
Zp6E = $6E ; 10 refs; reads=5 writes=5; used at $CDD4, CE84, CEC4, CFF9, +5 more
|
|
Zp70 = $70 ; 11 refs; reads=9 writes=2; used at $C393, CCFE, CDC4, CDCA, +7 more
|
|
Zp71 = $71 ; 1 refs; reads=0 writes=1; used at $CC13
|
|
Zp72 = $72 ; 2 refs; reads=1 writes=1; used at $D16B, D16D
|
|
Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $D151, D156
|
|
Zp78 = $78 ; 1 refs; reads=0 writes=1; used at $C1FE
|
|
Zp7A = $7A ; 2 refs; reads=1 writes=1; used at $D8FA
|
|
Zp7C = $7C ; 12 refs; reads=5 writes=7; used at $C1FA, D7F1, D7F5, E18F, +5 more
|
|
Zp7D = $7D ; 4 refs; reads=1 writes=3; used at $DAC3, DCD2, DDFC, DE53
|
|
Zp80 = $80 ; 5 refs; reads=1 writes=4; used at $D049, DAA0, DDC9, DDCF, +1 more
|
|
Zp82 = $82 ; 5 refs; reads=2 writes=3; used at $CD64, CF5D, D04D, DBC6, +1 more
|
|
Zp84 = $84 ; 10 refs; reads=6 writes=4; used at $C2DE, DACD, DAD1, DC72, +6 more
|
|
Zp85 = $85 ; 1 refs; reads=1 writes=0; used at $DC80
|
|
Zp86 = $86 ; 6 refs; reads=2 writes=4; used at $CEB0, CEEF, D027, D04B, +2 more
|
|
Zp87 = $87 ; 1 refs; reads=0 writes=1; used at $D2AF
|
|
Zp88 = $88 ; 5 refs; reads=1 writes=4; used at $CEB2, CF27, CF48, CF53, +1 more
|
|
Zp89 = $89 ; 1 refs; reads=0 writes=1; used at $D2B3
|
|
Zp8A = $8A ; 3 refs; reads=2 writes=1; used at $D827, D82C, D911
|
|
Zp8B = $8B ; 6 refs; reads=2 writes=4; used at $C281, D821, D853, D8D8
|
|
Zp8C = $8C ; 8 refs; reads=5 writes=3; used at $CCA8, D7DE, D823, D82F, +4 more
|
|
Zp8D = $8D ; 12 refs; reads=9 writes=3; used at $C2A9, CCD7, D90F, F2F3, +7 more
|
|
Zp90 = $90 ; 23 refs; reads=20 writes=3; used at $C213, C247, D208, D804, +18 more
|
|
Zp91 = $91 ; 20 refs; reads=10 writes=10; used at $D867, DE2F, EB6E, EC53, +15 more
|
|
Zp92 = $92 ; 8 refs; reads=5 writes=3; used at $E19D, E1A5, E20A, E212, +4 more
|
|
Zp94 = $94 ; 2 refs; reads=1 writes=1; used at $F0DE, F71F
|
|
Zp96 = $96 ; 1 refs; reads=1 writes=0; used at $F141
|
|
Zp99 = $99 ; 2 refs; reads=2 writes=0; used at $E196, F12B
|
|
Zp9C = $9C ; 14 refs; reads=10 writes=4; used at $DE39, EB42, EE31, EE8D, +10 more
|
|
Zp9D = $9D ; 2 refs; reads=1 writes=1; used at $E1C1, E1FC
|
|
Zp9F = $9F ; 1 refs; reads=0 writes=1; used at $F0FC
|
|
ZpA7 = $A7 ; 20 refs; reads=10 writes=10; used at $EB46, EC57, EC66, EEC9, +12 more
|
|
ZpA8 = $A8 ; 10 refs; reads=5 writes=5; used at $E1DC, E1F6, E22D, E232, +4 more
|
|
ZpAF = $AF ; 2 refs; reads=1 writes=1; used at $EC86, EC90
|
|
ZpB2 = $B2 ; 16 refs; reads=13 writes=3; used at $D86E, DB3D, DE33, DEB4, +11 more
|
|
ZpB3 = $B3 ; 4 refs; reads=2 writes=2; used at $E1D1, E1D6, EFB4
|
|
ZpBD = $BD ; 11 refs; reads=7 writes=4; used at $DE89, EB4F, EF4E, EF53, +7 more
|
|
ZpBE = $BE ; 1 refs; reads=0 writes=1; used at $E1BD
|
|
ZpC1 = $C1 ; 2 refs; reads=1 writes=1; used at $C43E
|
|
ZpC5 = $C5 ; 2 refs; reads=1 writes=1; used at $F125, F129
|
|
ZpD3 = $D3 ; 4 refs; reads=2 writes=2; used at $F737, F739, F741
|
|
ZpD4 = $D4 ; 9 refs; reads=6 writes=3; used at $DBE6, DBEF, DCC1, F743, +4 more
|
|
ZpD5 = $D5 ; 6 refs; reads=5 writes=1; used at $D520, F630, F76D, F773, +2 more
|
|
ZpD6 = $D6 ; 5 refs; reads=3 writes=2; used at $D526, DE5A, F758, F794, +1 more
|
|
ZpD7 = $D7 ; 7 refs; reads=6 writes=1; used at $D957, DBCB, DBE8, DBFD, +3 more
|
|
ZpD9 = $D9 ; 2 refs; reads=1 writes=1; used at $DE37, DE69
|
|
ZpDA = $DA ; 5 refs; reads=3 writes=2; used at $C20F, DD24, DD6A, DD9C
|
|
ZpDB = $DB ; 1 refs; reads=0 writes=1; used at $C216
|
|
ZpDC = $DC ; 7 refs; reads=4 writes=3; used at $EF9A, EFA6, EFB2, EFD8, +1 more
|
|
ZpDD = $DD ; 3 refs; reads=1 writes=2; used at $EFA4, EFAC
|
|
ZpDE = $DE ; 5 refs; reads=3 writes=2; used at $C07D, C0A6, D8F8, F147
|
|
ZpDF = $DF ; 10 refs; reads=4 writes=6; used at $E1E9, E208, E21D, E238, +2 more
|
|
ZpE0 = $E0 ; 11 refs; reads=3 writes=8; used at $C840, C84E, CEAE, D021, +6 more
|
|
ZpE2 = $E2 ; 5 refs; reads=1 writes=4; used at $C86B, CE5F, CE8D, D12D, +1 more
|
|
ZpE4 = $E4 ; 5 refs; reads=1 writes=4; used at $C871, CE63, CE91, D129, +1 more
|
|
ZpE6 = $E6 ; 22 refs; reads=14 writes=8; used at $C844, C853, C862, C866, +18 more
|
|
ZpE7 = $E7 ; 2 refs; reads=1 writes=1; used at $D28B, D290
|
|
ZpE8 = $E8 ; 8 refs; reads=4 writes=4; used at $C848, C85B, C860, C877, +4 more
|
|
ZpE9 = $E9 ; 2 refs; reads=1 writes=1; used at $D295, D29A
|
|
ZpEA = $EA ; 5 refs; reads=2 writes=3; used at $C84C, C868, C86D, C875, +1 more
|
|
ZpF0 = $F0 ; 8 refs; reads=3 writes=5; used at $F9AB, F9C8, F9ED, FA0C, +4 more
|
|
ZpF1 = $F1 ; 9 refs; reads=3 writes=6; used at $FA64, FA83, FABC, FAC6, +5 more
|
|
ZpF2 = $F2 ; 5 refs; reads=1 writes=4; used at $FB71, FB9E, FBA3, FBBB, +1 more
|
|
ZpF3 = $F3 ; 7 refs; reads=5 writes=2; used at $F93C, FC00, FC09, FC11, +3 more
|
|
ZpF4 = $F4 ; 10 refs; reads=5 writes=5; used at $F9AF, F9B1, F9CC, F9D0, +5 more
|
|
ZpF5 = $F5 ; 2 refs; reads=1 writes=1; used at $F98C, FC22
|
|
ZpF6 = $F6 ; 5 refs; reads=4 writes=1; used at $FC27, FC5A, FCD1, FCD9, +1 more
|
|
ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $FC2C
|
|
ZpF8 = $F8 ; 4 refs; reads=2 writes=2; used at $FC15, FC56, FC58
|
|
ZpF9 = $F9 ; 8 refs; reads=5 writes=3; used at $FC36, FCC4, FCCD, FCCF, +2 more
|
|
ZpFA = $FA ; 4 refs; reads=2 writes=2; used at $FC31, FCFA, FD03
|
|
ZpFB = $FB ; 10 refs; reads=2 writes=8; used at $C0F3, C173, C1CE, C2A2, +6 more
|
|
ZpFC = $FC ; 13 refs; reads=4 writes=9; used at $D443, DAB9, DDAB, DDE8, +6 more
|
|
ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $FC0D, FC64
|
|
ZpFE = $FE ; 15 refs; reads=6 writes=9; used at $D3A9, D42E, F007, F933, +6 more
|
|
ZpFF = $FF ; 15 refs; reads=5 writes=10; used at $CE5A, D43E, D460, E270, +7 more
|