- 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)
196 lines
17 KiB
PHP
196 lines
17 KiB
PHP
; Millipede (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 ; 178 refs; reads=68 writes=110; used at $C74C, C74F, C87B, C8AC, +168 more
|
|
Zp01 = $01 ; 147 refs; reads=47 writes=100; used at $C748, C754, C87D, C8AE, +133 more
|
|
Zp02 = $02 ; 80 refs; reads=28 writes=52; used at $C9FC, CA0F, CA28, CB06, +74 more
|
|
Zp03 = $03 ; 67 refs; reads=17 writes=50; used at $CA00, CA13, CA2C, CB0A, +60 more
|
|
Zp04 = $04 ; 35 refs; reads=12 writes=23; used at $CF4A, CF58, DCC9, DCD7, +30 more
|
|
Zp05 = $05 ; 35 refs; reads=13 writes=22; used at $CF4F, D4C4, D738, D7AD, +31 more
|
|
Zp06 = $06 ; 26 refs; reads=10 writes=16; used at $D4C9, D73D, D7B1, D818, +21 more
|
|
Zp07 = $07 ; 11 refs; reads=6 writes=5; used at $DB97, DB9D, DD02, DD08, +6 more
|
|
Zp08 = $08 ; 5 refs; reads=3 writes=2; used at $DC2F, DC78, EDBE, EDD7, +1 more
|
|
Zp09 = $09 ; 3 refs; reads=1 writes=2; used at $EE2A, EE2C, EE33
|
|
Zp0A = $0A ; 52 refs; reads=24 writes=28; used at $CC83, CC8B, D144, D160, +40 more
|
|
Zp0B = $0B ; 12 refs; reads=7 writes=5; used at $DD87, DD92, DD97, DDA3, +7 more
|
|
Zp0C = $0C ; 12 refs; reads=8 writes=4; used at $D11D, D179, DDA9, DDB8, +8 more
|
|
Zp0D = $0D ; 15 refs; reads=11 writes=4; used at $D123, D17D, D96E, D98D, +10 more
|
|
Zp0E = $0E ; 4 refs; reads=2 writes=2; used at $ED30, ED36, ED47, ED4D
|
|
Zp0F = $0F ; 23 refs; reads=8 writes=15; used at $D12D, D14A, D166, D16D, +19 more
|
|
Zp10 = $10 ; 15 refs; reads=8 writes=7; used at $C75B, C762, C7C1, C7C5, +11 more
|
|
Zp11 = $11 ; 5 refs; reads=2 writes=3; used at $C7FF, CA54, CA59, D0C1, +1 more
|
|
Zp12 = $12 ; 2 refs; reads=1 writes=1; used at $C7D8, F14C
|
|
Zp13 = $13 ; 2 refs; reads=1 writes=1; used at $C7DD, F151
|
|
Zp14 = $14 ; 5 refs; reads=4 writes=1; used at $CD74, F0D0, F0D5, F0F2, +1 more
|
|
Zp15 = $15 ; 5 refs; reads=3 writes=2; used at $D0A1, D0A7, D0AE, F0F8, +1 more
|
|
Zp18 = $18 ; 25 refs; reads=23 writes=2; used at $CB27, D119, D121, DD35, +20 more
|
|
Zp19 = $19 ; 10 refs; reads=8 writes=2; used at $CB2B, D11F, E22F, E34F, +5 more
|
|
Zp1A = $1A ; 5 refs; reads=4 writes=1; used at $D11B, E939, EB53, F0AF
|
|
Zp1B = $1B ; 3 refs; reads=2 writes=1; used at $ED12, F0B1
|
|
Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $F0B3
|
|
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $F0B5
|
|
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $F0B7
|
|
Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $F0B9
|
|
Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $C9B7, D3C2
|
|
Zp22 = $22 ; 2 refs; reads=1 writes=1; used at $C9BC, D3C7
|
|
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $C9C1, D3CC
|
|
Zp24 = $24 ; 5 refs; reads=3 writes=2; used at $C94C, F181, F1A8, F1DC, +1 more
|
|
Zp25 = $25 ; 8 refs; reads=4 writes=4; used at $C94E, F19C, F1A5, F1C3, +4 more
|
|
Zp26 = $26 ; 8 refs; reads=4 writes=4; used at $C950, F191, F19A, F1B8, +4 more
|
|
Zp27 = $27 ; 8 refs; reads=4 writes=4; used at $C952, F186, F18F, F1AD, +4 more
|
|
Zp28 = $28 ; 1 refs; reads=0 writes=1; used at $C954
|
|
Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $C956
|
|
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $C958
|
|
Zp2B = $2B ; 1 refs; reads=0 writes=1; used at $C95A
|
|
Zp2C = $2C ; 1 refs; reads=0 writes=1; used at $C95C
|
|
Zp2D = $2D ; 1 refs; reads=0 writes=1; used at $C95E
|
|
Zp2E = $2E ; 1 refs; reads=0 writes=1; used at $C960
|
|
Zp2F = $2F ; 2 refs; reads=0 writes=2; used at $C962, C9DF
|
|
Zp30 = $30 ; 1 refs; reads=0 writes=1; used at $C964
|
|
Zp31 = $31 ; 1 refs; reads=0 writes=1; used at $C966
|
|
Zp32 = $32 ; 1 refs; reads=0 writes=1; used at $C968
|
|
Zp33 = $33 ; 2 refs; reads=0 writes=2; used at $C96A, C9E1
|
|
Zp34 = $34 ; 3 refs; reads=1 writes=2; used at $F087, F08D
|
|
Zp35 = $35 ; 3 refs; reads=2 writes=1; used at $F091, F095
|
|
Zp36 = $36 ; 2 refs; reads=1 writes=1; used at $D303, D31D
|
|
Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $D44B, D4C2
|
|
Zp3C = $3C ; 2 refs; reads=1 writes=1; used at $DED0, DED6
|
|
Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $D272, D287
|
|
Zp3E = $3E ; 1 refs; reads=1 writes=0; used at $CE8D
|
|
Zp3F = $3F ; 2 refs; reads=1 writes=1; used at $CC9D, CCA3
|
|
Zp40 = $40 ; 4 refs; reads=1 writes=3; used at $CC32, E2F7, E30D, E348
|
|
Zp41 = $41 ; 1 refs; reads=0 writes=1; used at $CC34
|
|
Zp42 = $42 ; 1 refs; reads=0 writes=1; used at $CC36
|
|
Zp43 = $43 ; 22 refs; reads=21 writes=1; used at $C81F, C825, D518, D523, +18 more
|
|
Zp46 = $46 ; 4 refs; reads=1 writes=3; used at $C8D9, C8EB, C8ED, C931
|
|
Zp49 = $49 ; 5 refs; reads=1 writes=4; used at $C9AD, CA4E, CAC3, CEEF, +1 more
|
|
Zp4A = $4A ; 5 refs; reads=4 writes=1; used at $CC7E, DF3B, E874, E9DD, +1 more
|
|
Zp4B = $4B ; 2 refs; reads=1 writes=1; used at $E28D, E293
|
|
Zp4E = $4E ; 3 refs; reads=1 writes=2; used at $CC40, E0FB, E229
|
|
Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $CC42
|
|
Zp50 = $50 ; 3 refs; reads=1 writes=2; used at $CC48, E979, E97F
|
|
Zp51 = $51 ; 3 refs; reads=1 writes=2; used at $CC5C, EB46, EB4C
|
|
Zp52 = $52 ; 3 refs; reads=1 writes=2; used at $CC62, ED05, ED0B
|
|
Zp53 = $53 ; 4 refs; reads=1 writes=3; used at $CC4E, E6BB, E716, E81B
|
|
Zp54 = $54 ; 5 refs; reads=1 writes=4; used at $CC54, E71A, E741, E789, +1 more
|
|
Zp56 = $56 ; 7 refs; reads=1 writes=6; used at $EE64, EE6D, EE7F, EE88, +3 more
|
|
Zp57 = $57 ; 1 refs; reads=1 writes=0; used at $EEB7
|
|
Zp58 = $58 ; 1 refs; reads=1 writes=0; used at $EEB1
|
|
Zp59 = $59 ; 1 refs; reads=1 writes=0; used at $EEC8
|
|
Zp5A = $5A ; 2 refs; reads=2 writes=0; used at $EEA2, EEB3
|
|
Zp5B = $5B ; 2 refs; reads=2 writes=0; used at $EEB9, EECA
|
|
Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $EEA8
|
|
Zp5D = $5D ; 1 refs; reads=1 writes=0; used at $EEBF
|
|
Zp60 = $60 ; 10 refs; reads=3 writes=7; used at $C827, C977, CADC, CBFC, +6 more
|
|
Zp61 = $61 ; 13 refs; reads=9 writes=4; used at $C92B, C92D, C933, C935, +6 more
|
|
Zp63 = $63 ; 11 refs; reads=9 writes=2; used at $C97F, C989, CAA9, CAD0, +7 more
|
|
Zp64 = $64 ; 45 refs; reads=38 writes=7; used at $C996, C9C5, C9CC, CA5B, +41 more
|
|
Zp65 = $65 ; 10 refs; reads=6 writes=4; used at $CC76, CCE7, D7E9, DD7A, +4 more
|
|
Zp66 = $66 ; 10 refs; reads=7 writes=3; used at $C970, CCDF, CE4C, CEC0, +4 more
|
|
Zp67 = $67 ; 1 refs; reads=0 writes=1; used at $C98D
|
|
Zp68 = $68 ; 4 refs; reads=2 writes=2; used at $C9E3, CDA6, D0FE, D111
|
|
Zp69 = $69 ; 1 refs; reads=0 writes=1; used at $C9E5
|
|
Zp6A = $6A ; 7 refs; reads=4 writes=3; used at $D00D, D015, D01D, E973, +1 more
|
|
Zp6B = $6B ; 1 refs; reads=0 writes=1; used at $C9D3
|
|
Zp6C = $6C ; 14 refs; reads=12 writes=2; used at $CB79, CBC0, CD78, CD9E, +10 more
|
|
Zp6D = $6D ; 5 refs; reads=3 writes=2; used at $CEF4, CEF6, D027, D3DB
|
|
Zp6E = $6E ; 1 refs; reads=0 writes=1; used at $D3DD
|
|
Zp70 = $70 ; 5 refs; reads=2 writes=3; used at $C865, C8C4, C914, C96E, +1 more
|
|
Zp71 = $71 ; 10 refs; reads=3 writes=7; used at $CD81, D615, D7F2, D8D7, +6 more
|
|
Zp72 = $72 ; 9 refs; reads=1 writes=8; used at $C97B, CA5D, CA96, CAC9, +5 more
|
|
Zp74 = $74 ; 9 refs; reads=8 writes=1; used at $CD76, D3A5, DA9C, DAB0, +5 more
|
|
Zp75 = $75 ; 16 refs; reads=14 writes=2; used at $CB72, CF08, DD33, E279, +12 more
|
|
Zp76 = $76 ; 5 refs; reads=1 writes=4; used at $CBFE, CF2B, D43E, D9B7, +1 more
|
|
Zp77 = $77 ; 7 refs; reads=1 writes=6; used at $C838, CD07, CF27, CF89, +3 more
|
|
Zp78 = $78 ; 34 refs; reads=17 writes=17; used at $CCC4, CCCA, D127, D1E2, +21 more
|
|
Zp79 = $79 ; 25 refs; reads=13 writes=12; used at $CC02, CCB5, CCBB, CCC2, +17 more
|
|
Zp7A = $7A ; 10 refs; reads=4 writes=6; used at $D587, D592, D59A, D5A5, +6 more
|
|
Zp7B = $7B ; 19 refs; reads=5 writes=14; used at $D264, D270, D3AB, D61D, +15 more
|
|
Zp7C = $7C ; 7 refs; reads=4 writes=3; used at $D98F, D994, E184, E1C0, +3 more
|
|
Zp7D = $7D ; 6 refs; reads=3 writes=3; used at $CB92, E141, E150, E17B, +2 more
|
|
Zp7E = $7E ; 1 refs; reads=0 writes=1; used at $CB96
|
|
Zp7F = $7F ; 2 refs; reads=1 writes=1; used at $CCD4, CEA2
|
|
Zp80 = $80 ; 5 refs; reads=4 writes=1; used at $CB4E, E892, E8CF, E911, +1 more
|
|
Zp81 = $81 ; 5 refs; reads=4 writes=1; used at $CB40, E9FB, EA73, EAAB, +1 more
|
|
Zp82 = $82 ; 3 refs; reads=2 writes=1; used at $CB46, EA54, EAA7
|
|
Zp83 = $83 ; 5 refs; reads=4 writes=1; used at $CB42, EB9D, EC18, ECC2, +1 more
|
|
Zp84 = $84 ; 3 refs; reads=2 writes=1; used at $CB48, EBF9, ECBB
|
|
Zp85 = $85 ; 6 refs; reads=5 writes=1; used at $E7C1, E7D4, E81D, E821, +2 more
|
|
Zp86 = $86 ; 10 refs; reads=7 writes=3; used at $D7FD, D812, D825, E7C5, +6 more
|
|
Zp87 = $87 ; 6 refs; reads=4 writes=2; used at $D801, D816, D827, E7F1, +2 more
|
|
Zp88 = $88 ; 5 refs; reads=4 writes=1; used at $E6E4, E6F7, E71C, E720, +1 more
|
|
Zp89 = $89 ; 9 refs; reads=6 writes=3; used at $D83C, D851, D868, E6E8, +5 more
|
|
Zp8A = $8A ; 5 refs; reads=3 writes=2; used at $D840, D855, D86A, E72F, +1 more
|
|
Zp8B = $8B ; 2 refs; reads=1 writes=1; used at $CB3E, E13B
|
|
Zp8C = $8C ; 3 refs; reads=2 writes=1; used at $CB44, E171, E1CF
|
|
Zp8D = $8D ; 17 refs; reads=10 writes=7; used at $DA8C, DA8E, E8F4, E96C, +13 more
|
|
Zp8E = $8E ; 11 refs; reads=9 writes=2; used at $D514, D874, DECC, DEE1, +7 more
|
|
Zp8F = $8F ; 5 refs; reads=2 writes=3; used at $CCAE, D4A3, D5C9, D82F, +1 more
|
|
Zp90 = $90 ; 49 refs; reads=35 writes=14; used at $D52F, D542, D56E, D572, +45 more
|
|
Zp98 = $98 ; 9 refs; reads=6 writes=3; used at $D7B7, DB21, DB29, DBDD, +5 more
|
|
ZpA0 = $A0 ; 18 refs; reads=10 writes=8; used at $D784, DB2B, DB35, DB4C, +14 more
|
|
ZpA8 = $A8 ; 4 refs; reads=2 writes=2; used at $CCF3, CCF5, CCFD
|
|
ZpA9 = $A9 ; 5 refs; reads=4 writes=1; used at $CB3A, D53E, DFF8, E002, +1 more
|
|
ZpAA = $AA ; 6 refs; reads=4 writes=2; used at $CC7A, D51F, D57F, D747, +2 more
|
|
ZpAB = $AB ; 6 refs; reads=2 writes=4; used at $E6C4, E724, E733, E78E, +2 more
|
|
ZpAC = $AC ; 2 refs; reads=1 writes=1; used at $D485, D4BE
|
|
ZpAE = $AE ; 8 refs; reads=4 writes=4; used at $CF2F, D3F1, D3F7, D3F9, +3 more
|
|
ZpAF = $AF ; 8 refs; reads=4 writes=4; used at $D103, D10F, D1D9, D1DB, +2 more
|
|
ZpB0 = $B0 ; 12 refs; reads=8 writes=4; used at $D125, D1C0, D1CD, D1CF, +6 more
|
|
ZpB1 = $B1 ; 7 refs; reads=1 writes=6; used at $DF3F, E8A4, E8C9, EA17, +3 more
|
|
ZpB2 = $B2 ; 3 refs; reads=2 writes=1; used at $E3DE, E3E0
|
|
ZpB3 = $B3 ; 3 refs; reads=2 writes=1; used at $E115, E117
|
|
ZpB4 = $B4 ; 3 refs; reads=2 writes=1; used at $E8FC, E8FE
|
|
ZpB5 = $B5 ; 3 refs; reads=2 writes=1; used at $EACC, EACE
|
|
ZpB6 = $B6 ; 3 refs; reads=2 writes=1; used at $EC5A, EC5C
|
|
ZpB7 = $B7 ; 3 refs; reads=2 writes=1; used at $E852, E854
|
|
ZpB8 = $B8 ; 4 refs; reads=2 writes=2; used at $CB4A, EB18, EB1C, EB26
|
|
ZpC0 = $C0 ; 8 refs; reads=6 writes=2; used at $E29A, E337, E340, E35E, +4 more
|
|
ZpC1 = $C1 ; 1 refs; reads=0 writes=1; used at $CB8E
|
|
ZpC3 = $C3 ; 8 refs; reads=5 writes=3; used at $CB80, E2C1, E2CA, E34D, +4 more
|
|
ZpC4 = $C4 ; 1 refs; reads=0 writes=1; used at $CB82
|
|
ZpC5 = $C5 ; 1 refs; reads=0 writes=1; used at $CB84
|
|
ZpC6 = $C6 ; 4 refs; reads=2 writes=2; used at $CB88, E333, E353, E36C
|
|
ZpC8 = $C8 ; 1 refs; reads=0 writes=1; used at $CB8A
|
|
ZpC9 = $C9 ; 5 refs; reads=3 writes=2; used at $E2BB, E2EC, E2F0, E362, +1 more
|
|
ZpCC = $CC ; 5 refs; reads=2 writes=3; used at $E4E0, E4E2, E4F5, E500
|
|
ZpCE = $CE ; 11 refs; reads=8 writes=3; used at $D5C5, D61B, D75C, D77B, +7 more
|
|
ZpD0 = $D0 ; 8 refs; reads=6 writes=2; used at $D6C3, D6CF, D6D4, D6D6, +4 more
|
|
ZpD1 = $D1 ; 3 refs; reads=2 writes=1; used at $D6C9, E582, E5BB
|
|
ZpD2 = $D2 ; 3 refs; reads=2 writes=1; used at $D6CD, E586, E5BF
|
|
ZpD5 = $D5 ; 3 refs; reads=1 writes=2; used at $E502, E56B, E571
|
|
ZpD7 = $D7 ; 13 refs; reads=10 writes=3; used at $C84C, CD03, CD9A, D319, +8 more
|
|
ZpD8 = $D8 ; 3 refs; reads=2 writes=1; used at $E427, E42B, E4B0
|
|
ZpD9 = $D9 ; 19 refs; reads=14 writes=5; used at $D535, D53B, D540, D768, +15 more
|
|
ZpE1 = $E1 ; 12 refs; reads=1 writes=11; used at $E4F1, E513, E51A, E525, +8 more
|
|
ZpE3 = $E3 ; 3 refs; reads=1 writes=2; used at $CBB1, E1CA, E23B
|
|
ZpE4 = $E4 ; 1 refs; reads=0 writes=1; used at $CBB5
|
|
ZpE5 = $E5 ; 8 refs; reads=5 writes=3; used at $CC3C, D95E, DF26, E0E4, +4 more
|
|
ZpE6 = $E6 ; 1 refs; reads=1 writes=0; used at $E26F
|
|
ZpE7 = $E7 ; 5 refs; reads=3 writes=2; used at $CC4A, D838, DF2D, E6B9, +1 more
|
|
ZpE8 = $E8 ; 5 refs; reads=3 writes=2; used at $CC50, D7F9, DF34, E77F, +1 more
|
|
ZpE9 = $E9 ; 8 refs; reads=4 writes=4; used at $CC44, CCEB, D9C7, DEF7, +4 more
|
|
ZpEA = $EA ; 8 refs; reads=4 writes=4; used at $CC5E, CCED, DA54, DF00, +4 more
|
|
ZpEB = $EB ; 8 refs; reads=4 writes=4; used at $CC56, CCEF, DA07, DF09, +4 more
|
|
ZpEC = $EC ; 3 refs; reads=1 writes=2; used at $DBC7, DD2E, DD7E
|
|
ZpED = $ED ; 2 refs; reads=1 writes=1; used at $CE91, CE9D
|
|
ZpF0 = $F0 ; 5 refs; reads=1 writes=4; used at $F989, FA1F, FA71, FAB5, +1 more
|
|
ZpF1 = $F1 ; 10 refs; reads=1 writes=9; used at $FA32, FB4B, FB7F, FBB3, +6 more
|
|
ZpF2 = $F2 ; 5 refs; reads=2 writes=3; used at $FA34, FD40, FD4A, FE05
|
|
ZpF3 = $F3 ; 9 refs; reads=5 writes=4; used at $FA23, FA42, FA6C, FA75, +3 more
|
|
ZpF4 = $F4 ; 11 refs; reads=6 writes=5; used at $FA27, FA4A, FA51, FA57, +7 more
|
|
ZpF5 = $F5 ; 20 refs; reads=9 writes=11; used at $FB4F, FB5C, FB87, FB90, +12 more
|
|
ZpF6 = $F6 ; 13 refs; reads=6 writes=7; used at $FB53, FB5A, FB6F, FB83, +7 more
|
|
ZpF7 = $F7 ; 5 refs; reads=4 writes=1; used at $FD5C, FDA3, FDB1, FDFA, +1 more
|
|
ZpF8 = $F8 ; 1 refs; reads=0 writes=1; used at $FD61
|
|
ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $FCFF, FD12
|
|
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $FD03
|
|
ZpFB = $FB ; 9 refs; reads=5 writes=4; used at $FD6C, FD86, FD9F, FDA1, +3 more
|
|
ZpFC = $FC ; 9 refs; reads=5 writes=4; used at $CCD9, DFC5, DFC7, E0EA, +5 more
|
|
ZpFD = $FD ; 6 refs; reads=1 writes=5; used at $C8E7, C9E9, D0BA, D2FB, +2 more
|
|
ZpFE = $FE ; 45 refs; reads=21 writes=24; used at $CA3F, CCDB, D864, E6CF, +31 more
|
|
ZpFF = $FF ; 25 refs; reads=3 writes=22; used at $CCAA, D3B7, D71A, D7ED, +19 more
|