- 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)
172 lines
15 KiB
PHP
172 lines
15 KiB
PHP
; Hogan's Alley (JU) 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 ; 49 refs; reads=25 writes=24; used at $C01A, C01E, C22C, C23D, +44 more
|
|
Zp01 = $01 ; 34 refs; reads=13 writes=21; used at $C016, C023, C228, C239, +28 more
|
|
Zp02 = $02 ; 33 refs; reads=22 writes=11; used at $C31D, C421, C427, C44D, +29 more
|
|
Zp03 = $03 ; 21 refs; reads=4 writes=17; used at $C65E, C660, C67B, C69F, +17 more
|
|
Zp04 = $04 ; 19 refs; reads=13 writes=6; used at $C42D, C469, C48E, C4A0, +14 more
|
|
Zp05 = $05 ; 17 refs; reads=9 writes=8; used at $C425, C442, C4A9, C4D3, +11 more
|
|
Zp06 = $06 ; 22 refs; reads=12 writes=10; used at $C444, C452, C5B5, C5B8, +11 more
|
|
Zp07 = $07 ; 5 refs; reads=2 writes=3; used at $C5CC, C5D0, D731, D74E, +1 more
|
|
Zp08 = $08 ; 14 refs; reads=8 writes=6; used at $C052, C2DE, C2E9, C30B, +10 more
|
|
Zp09 = $09 ; 8 refs; reads=4 writes=4; used at $C056, C75B, C75F, C768, +4 more
|
|
Zp0A = $0A ; 12 refs; reads=9 writes=3; used at $C3A9, C5BA, CF8C, D02D, +5 more
|
|
Zp0B = $0B ; 3 refs; reads=3 writes=0; used at $C3C9, C5D8, D828
|
|
Zp0C = $0C ; 2 refs; reads=1 writes=1; used at $D449, D456
|
|
Zp0F = $0F ; 2 refs; reads=1 writes=1; used at $CCDD, CCF4
|
|
Zp10 = $10 ; 19 refs; reads=12 writes=7; used at $C506, C532, C536, C53B, +15 more
|
|
Zp11 = $11 ; 14 refs; reads=10 writes=4; used at $C4ED, C502, C508, C547, +10 more
|
|
Zp12 = $12 ; 13 refs; reads=9 writes=4; used at $C551, C557, C586, CE51, +8 more
|
|
Zp13 = $13 ; 16 refs; reads=8 writes=8; used at $C510, C515, C51E, C523, +9 more
|
|
Zp14 = $14 ; 4 refs; reads=2 writes=2; used at $C351, C356, C35A, C35E
|
|
Zp15 = $15 ; 5 refs; reads=1 writes=4; used at $C354, C35C, DB6A, DB76
|
|
Zp16 = $16 ; 3 refs; reads=2 writes=1; used at $C0BF, C173, C2AF
|
|
Zp18 = $18 ; 7 refs; reads=3 writes=4; used at $CE62, CE64, CE84, D689, +3 more
|
|
Zp19 = $19 ; 17 refs; reads=9 writes=8; used at $CEAD, CEBA, CEBC, CED3, +9 more
|
|
Zp1A = $1A ; 2 refs; reads=1 writes=1; used at $D26B, D270
|
|
Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $C0FD, C272
|
|
Zp1D = $1D ; 3 refs; reads=1 writes=2; used at $C10C, C264
|
|
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $C3ED, D826
|
|
Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $C3F2, D82A
|
|
Zp20 = $20 ; 10 refs; reads=6 writes=4; used at $C07A, C07E, C0AF, C27A, +6 more
|
|
Zp21 = $21 ; 6 refs; reads=1 writes=5; used at $C2BD, C302, C41E, C486, +2 more
|
|
Zp22 = $22 ; 5 refs; reads=1 writes=4; used at $C07C, C098, C0AD, C27E, +1 more
|
|
Zp23 = $23 ; 14 refs; reads=1 writes=13; used at $C24E, C260, C7F9, CA07, +10 more
|
|
Zp24 = $24 ; 7 refs; reads=5 writes=2; used at $C043, C065, C0B8, C184, +3 more
|
|
Zp25 = $25 ; 13 refs; reads=4 writes=9; used at $C0CE, C0FB, C101, C108, +9 more
|
|
Zp26 = $26 ; 9 refs; reads=7 writes=2; used at $C069, C15E, C17D, C199, +4 more
|
|
Zp27 = $27 ; 4 refs; reads=3 writes=1; used at $C3B6, C3BE, C3D0
|
|
Zp28 = $28 ; 3 refs; reads=2 writes=1; used at $C3DB, D841
|
|
Zp29 = $29 ; 5 refs; reads=2 writes=3; used at $C031, C407, D806, D80B, +1 more
|
|
Zp2A = $2A ; 6 refs; reads=2 writes=4; used at $C0E6, C190, C26D, C339, +1 more
|
|
Zp2B = $2B ; 4 refs; reads=2 writes=2; used at $C343, C347, DB35
|
|
Zp2D = $2D ; 7 refs; reads=2 writes=5; used at $C192, C1CD, C1D5, CDEB, +3 more
|
|
Zp2F = $2F ; 4 refs; reads=3 writes=1; used at $C076, C6C0, D520
|
|
Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $D1CA
|
|
Zp3F = $3F ; 15 refs; reads=13 writes=2; used at $C3B0, C3FC, C781, C7C4, +11 more
|
|
Zp40 = $40 ; 6 refs; reads=2 writes=4; used at $CBE3, CBF0, D5EF, DC25, +1 more
|
|
Zp41 = $41 ; 23 refs; reads=6 writes=17; used at $CA2B, CA61, CA98, CB2F, +15 more
|
|
Zp42 = $42 ; 2 refs; reads=0 writes=2; used at $CB8E, DC10
|
|
Zp43 = $43 ; 3 refs; reads=0 writes=3; used at $CB90, DAD1, DC12
|
|
Zp44 = $44 ; 6 refs; reads=2 writes=4; used at $CB9E, CBA5, CBB1, CDC9, +2 more
|
|
Zp45 = $45 ; 32 refs; reads=5 writes=27; used at $C0F6, CA0C, CA5D, CA7D, +27 more
|
|
Zp46 = $46 ; 11 refs; reads=5 writes=6; used at $CDC1, CE78, D1A6, D9DC, +6 more
|
|
Zp47 = $47 ; 19 refs; reads=10 writes=9; used at $C916, C918, C937, CDC5, +13 more
|
|
Zp49 = $49 ; 1 refs; reads=1 writes=0; used at $DB60
|
|
Zp4A = $4A ; 6 refs; reads=3 writes=3; used at $C91A, DAE1, DAE8, DB66, +2 more
|
|
Zp4B = $4B ; 6 refs; reads=4 writes=2; used at $D599, D5AD, DAEA, DAF0, +2 more
|
|
Zp4C = $4C ; 6 refs; reads=4 writes=2; used at $D4E7, D52B, D59E, DB78, +2 more
|
|
Zp4D = $4D ; 4 refs; reads=3 writes=1; used at $D4B7, DB7D, DB7F, DB85
|
|
Zp4E = $4E ; 1 refs; reads=1 writes=0; used at $D525
|
|
Zp4F = $4F ; 3 refs; reads=1 writes=2; used at $DA77, DA7E, DBCD
|
|
Zp50 = $50 ; 6 refs; reads=4 writes=2; used at $D5F8, DA61, DA73, DA80, +1 more
|
|
Zp51 = $51 ; 5 refs; reads=3 writes=2; used at $C8B8, CA0E, CB28, DB9B
|
|
Zp52 = $52 ; 1 refs; reads=1 writes=0; used at $DB97
|
|
Zp53 = $53 ; 1 refs; reads=1 writes=0; used at $DBCF
|
|
Zp55 = $55 ; 1 refs; reads=1 writes=0; used at $DBCB
|
|
Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $D9DA, DBD5
|
|
Zp59 = $59 ; 5 refs; reads=3 writes=2; used at $D9FF, DA33, DA37, DBB9
|
|
Zp5A = $5A ; 19 refs; reads=12 writes=7; used at $CAA7, CAB3, CB20, CC87, +12 more
|
|
Zp5B = $5B ; 11 refs; reads=7 writes=4; used at $CB12, D419, D422, D42A, +6 more
|
|
Zp5C = $5C ; 11 refs; reads=6 writes=5; used at $CA6B, CA83, CA85, CAEA, +5 more
|
|
Zp5D = $5D ; 12 refs; reads=6 writes=6; used at $CA6F, CA7F, CADB, CAF2, +8 more
|
|
Zp5E = $5E ; 4 refs; reads=2 writes=2; used at $CA57, DA07, DA0D
|
|
Zp5F = $5F ; 7 refs; reads=3 writes=4; used at $CA8B, DA09, DA12, DA31, +1 more
|
|
Zp72 = $72 ; 5 refs; reads=2 writes=3; used at $CA51, CA63, CB16, CB1E
|
|
Zp73 = $73 ; 7 refs; reads=4 writes=3; used at $CA53, CA94, D17C, D3A4, +1 more
|
|
Zp74 = $74 ; 3 refs; reads=1 writes=2; used at $CA66, D3B5, D3BB
|
|
Zp7C = $7C ; 3 refs; reads=0 writes=3; used at $C933, CA03, D17A
|
|
Zp7D = $7D ; 4 refs; reads=1 writes=3; used at $C913, D16A, D174, D181
|
|
Zp7E = $7E ; 3 refs; reads=1 writes=2; used at $D14E, D166, D17F
|
|
Zp7F = $7F ; 2 refs; reads=1 writes=1; used at $D152, D160
|
|
Zp80 = $80 ; 7 refs; reads=5 writes=2; used at $C92C, CABC, D372, D382, +2 more
|
|
Zp81 = $81 ; 3 refs; reads=2 writes=1; used at $CBDC, CBEC, DB3C
|
|
Zp83 = $83 ; 4 refs; reads=2 writes=2; used at $CBB9, CBC5, CBD9
|
|
Zp84 = $84 ; 3 refs; reads=2 writes=1; used at $CABF, CBD7, DC29
|
|
Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $CBC7, CBD5
|
|
Zp86 = $86 ; 6 refs; reads=2 writes=4; used at $CA15, CA9C, CAC6, CACF, +1 more
|
|
Zp89 = $89 ; 2 refs; reads=1 writes=1; used at $D66D
|
|
Zp8A = $8A ; 1 refs; reads=1 writes=0; used at $DB38
|
|
Zp8B = $8B ; 3 refs; reads=2 writes=1; used at $DB2F, DB31, DC27
|
|
Zp8C = $8C ; 3 refs; reads=2 writes=1; used at $DA95, DC33
|
|
Zp90 = $90 ; 14 refs; reads=9 writes=5; used at $CF8A, CF96, CF9D, CFA4, +7 more
|
|
Zp91 = $91 ; 5 refs; reads=3 writes=2; used at $CE7A, CEDB, CF0C, D08A, +1 more
|
|
Zp92 = $92 ; 5 refs; reads=3 writes=2; used at $CE82, CEF6, CF10, D08F, +1 more
|
|
Zp93 = $93 ; 2 refs; reads=1 writes=1; used at $CECE, CEE9
|
|
Zp94 = $94 ; 8 refs; reads=4 writes=4; used at $CDAB, CDBD, CE3B, CEFE, +3 more
|
|
Zp95 = $95 ; 2 refs; reads=1 writes=1; used at $CF43, CF47
|
|
Zp96 = $96 ; 4 refs; reads=2 writes=2; used at $CF4B, CF4E, CF50
|
|
Zp97 = $97 ; 5 refs; reads=1 writes=4; used at $C7FD, CF62, CF70, CF73, +1 more
|
|
Zp98 = $98 ; 3 refs; reads=1 writes=2; used at $CF5A, CF5E, CF68
|
|
Zp99 = $99 ; 9 refs; reads=4 writes=5; used at $C15C, CA00, CF6C, D3AC, +2 more
|
|
Zp9A = $9A ; 1 refs; reads=1 writes=0; used at $CA45
|
|
Zp9D = $9D ; 1 refs; reads=1 writes=0; used at $CA49
|
|
ZpA6 = $A6 ; 3 refs; reads=2 writes=1; used at $CD55, CD5B
|
|
ZpA7 = $A7 ; 4 refs; reads=2 writes=2; used at $CC19, CC27, CC37, CC45
|
|
ZpA8 = $A8 ; 2 refs; reads=1 writes=1; used at $C903, C911
|
|
ZpA9 = $A9 ; 2 refs; reads=1 writes=1; used at $D7CB, D7D9
|
|
ZpAA = $AA ; 4 refs; reads=3 writes=1; used at $D057, D317, D3A8, D7DB
|
|
ZpAB = $AB ; 6 refs; reads=4 writes=2; used at $CD38, CD51, D7C3, D7C9, +1 more
|
|
ZpAC = $AC ; 10 refs; reads=4 writes=6; used at $D320, D343, D70F, D718, +5 more
|
|
ZpAD = $AD ; 2 refs; reads=1 writes=1; used at $D73B, D77B
|
|
ZpAE = $AE ; 4 refs; reads=2 writes=2; used at $D6EB, D6F6, D707
|
|
ZpAF = $AF ; 10 refs; reads=5 writes=5; used at $D7FA, D811, D839, D83F, +3 more
|
|
ZpB0 = $B0 ; 13 refs; reads=9 writes=4; used at $CC29, CC32, CC47, CC50, +8 more
|
|
ZpB1 = $B1 ; 7 refs; reads=5 writes=2; used at $CC11, CC13, CD12, CD68, +2 more
|
|
ZpB2 = $B2 ; 8 refs; reads=6 writes=2; used at $CC52, CC5C, CC6C, CD43, +3 more
|
|
ZpB3 = $B3 ; 7 refs; reads=6 writes=1; used at $CD06, CDE2, CE0B, CE15, +3 more
|
|
ZpB4 = $B4 ; 5 refs; reads=3 writes=2; used at $C7BD, C7CC, C7E6, CCE7, +1 more
|
|
ZpB5 = $B5 ; 4 refs; reads=3 writes=1; used at $CC96, CC9F, CCBA, CCC2
|
|
ZpB6 = $B6 ; 2 refs; reads=1 writes=1; used at $CC8E, CC94
|
|
ZpC1 = $C1 ; 10 refs; reads=5 writes=5; used at $F9A3, F9B2, F9BD, F9BF, +4 more
|
|
ZpC2 = $C2 ; 4 refs; reads=2 writes=2; used at $FBCD, FBE9, FBEB
|
|
ZpC3 = $C3 ; 5 refs; reads=2 writes=3; used at $FB53, FB68, FB6A, FB72
|
|
ZpC5 = $C5 ; 3 refs; reads=1 writes=2; used at $FB57, FB64, FB81
|
|
ZpC6 = $C6 ; 3 refs; reads=2 writes=1; used at $C219, FA4C, FAD9
|
|
ZpC7 = $C7 ; 4 refs; reads=2 writes=2; used at $FC0E, FC11, FC13
|
|
ZpC8 = $C8 ; 6 refs; reads=1 writes=5; used at $F9D5, FB0D, FB23, FB34, +2 more
|
|
ZpC9 = $C9 ; 4 refs; reads=2 writes=2; used at $FB55, FB79, FB7B
|
|
ZpCD = $CD ; 2 refs; reads=2 writes=0; used at $CDD1, CDD3
|
|
ZpD0 = $D0 ; 6 refs; reads=3 writes=3; used at $F7E0, F823, F825, F932, +1 more
|
|
ZpD1 = $D1 ; 7 refs; reads=4 writes=3; used at $F7E2, F85B, F85D, F866, +1 more
|
|
ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $F7E4, F892, F894
|
|
ZpD3 = $D3 ; 4 refs; reads=2 writes=2; used at $F7E6, F8E5, F8E7
|
|
ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $F930, F93F
|
|
ZpD8 = $D8 ; 3 refs; reads=1 writes=2; used at $F7D4, F813
|
|
ZpD9 = $D9 ; 4 refs; reads=1 writes=3; used at $F7D6, F855, F87C
|
|
ZpDA = $DA ; 3 refs; reads=1 writes=2; used at $F7D8, F882
|
|
ZpDB = $DB ; 3 refs; reads=1 writes=2; used at $F7DA, F8D5
|
|
ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $F94D
|
|
ZpDD = $DD ; 1 refs; reads=1 writes=0; used at $F87A
|
|
ZpE0 = $E0 ; 6 refs; reads=3 writes=3; used at $F92A, F92E, F939, F93B
|
|
ZpE4 = $E4 ; 4 refs; reads=1 writes=3; used at $F9DF, FCB4, FCC3
|
|
ZpE5 = $E5 ; 2 refs; reads=1 writes=1; used at $F7A8, F947
|
|
ZpE6 = $E6 ; 5 refs; reads=2 writes=3; used at $F79F, F9DD, FA1A, FA22, +1 more
|
|
ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $F7F1
|
|
ZpEA = $EA ; 2 refs; reads=1 writes=1; used at $F7F3, F875
|
|
ZpEB = $EB ; 5 refs; reads=2 writes=3; used at $FA48, FA4A, FA52, FAE8
|
|
ZpEC = $EC ; 4 refs; reads=2 writes=2; used at $FA7D, FA7F, FAEA
|
|
ZpED = $ED ; 3 refs; reads=1 writes=2; used at $FA54, FA65, FADB
|
|
ZpEE = $EE ; 4 refs; reads=2 writes=2; used at $FA94, FA96, FAEC
|
|
ZpEF = $EF ; 3 refs; reads=1 writes=2; used at $FA67, FA7A, FADD
|
|
ZpF0 = $F0 ; 6 refs; reads=4 writes=2; used at $D2AF, D2B1, F97F, F9FF, +2 more
|
|
ZpF1 = $F1 ; 4 refs; reads=2 writes=2; used at $D2D2, D2D4, F98D, FC48
|
|
ZpF2 = $F2 ; 6 refs; reads=4 writes=2; used at $D2F0, D2F2, F98F, FAFC, +2 more
|
|
ZpF3 = $F3 ; 33 refs; reads=18 writes=15; used at $F7DE, F9AA, F9B0, F9C5, +29 more
|
|
ZpF4 = $F4 ; 2 refs; reads=0 writes=2; used at $F784, F792
|
|
ZpF5 = $F5 ; 1 refs; reads=0 writes=1; used at $F788
|
|
ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $F78A, F790
|
|
ZpF7 = $F7 ; 1 refs; reads=0 writes=1; used at $F78C
|
|
ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $F7AD, F827
|
|
ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $F7B2, F80F
|
|
ZpFA = $FA ; 3 refs; reads=2 writes=1; used at $F7B7, F85F, F86A
|
|
ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $F7BC, F851
|
|
ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $F7C1, F896
|
|
ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $F7C6, F87E
|
|
ZpFE = $FE ; 2 refs; reads=1 writes=1; used at $F7CB, F8E9
|
|
ZpFF = $FF ; 2 refs; reads=1 writes=1; used at $F7D0, F8D1
|