Pass 3 _wip: semantic ZP aliases for Sqoon (U) (FrameCounter, PpuCtrlShadow, NmiFrameFlag) and Elevator Action (U) (PpuCtrlShadow, NmiSaveA/X/Y) Pass 3 Slalom (U): semantic ZP aliases (PpuCtrlShadow, PpuMaskShadow) Pass 3 Kung Fu (U): semantic ZP alias (PpuCtrlShadow) Pass 3 Othello (U): semantic ZP alias (PpuCtrlShadow) Pass 3 1942 (JU): semantic ZP alias (PpuCtrlShadow) Pass 3 Galaga (U): semantic ZP aliases (PpuCtrlShadow, PpuMaskShadow) Docs: add power-on flow + data-table inventory to READMEs of 13 promoted NROM projects Pass 3 Elevator Action (U): add NmiFrameFlag alias Pass 3 Elevator Action (U): full ZP naming (23 aliases) + 25 named data tables, 59.4% coverage Pass 1/2/3 re-trace: recover unreached code in 7 NROM projects (Sqoon 56.4%, Elevator Action 59.3%, Kung Fu 52.1%, 1942 52.1%) Pass 3 Sqoon (U): full ZP naming (22 aliases) + 17 named data tables Pass 3 Kung Fu (U): full ZP naming (21 aliases) + 13 named data tables Pass 3 Othello (U): full ZP naming (18 aliases) + 27 named data tables Pass 3 1942 (JU): full ZP naming (14 aliases) + 19 named data tables Pass 3 Galaga (U): full ZP naming (15 aliases) + 14 named data tables Pass 3 Slalom (U): full ZP naming (16 aliases) + 16 named data tables Pass 2/3: re-apply naming to Slalom (U), Othello (U), Galaga (U) after re-seed Pass 1/2/3 re-trace: recover unreached code in 6 more promoted NROM projects Pass 3 Stack-Up (JU): full ZP naming (15 aliases) + 12 named data tables Pass 3 Tag Team Wrestling (U): full ZP naming (20 aliases) + 11 named data tables Pass 3 Kung Fu (U) (a1): full ZP naming (20 aliases) + 12 named data tables Pass 3 Magmax (U): full ZP naming (18 aliases) + 6 named data tables Pass 3 Soccer (JU): full ZP naming (18 aliases) + 9 named data tables Pass 3 Ms Pac-Man (Namco) (U): full ZP naming (18 aliases) + 8 named data tables Docs: refresh coverage numbers and data-table inventories for 13 promoted NROM projects
165 lines
13 KiB
PHP
165 lines
13 KiB
PHP
; Galaga (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 ; 259 refs; reads=112 writes=147; used at $BE14, BE3D, BE40, BE42, +250 more
|
|
Zp01 = $01 ; 58 refs; reads=12 writes=46; used at $BE18, C020, C02B, C122, +45 more
|
|
Zp02 = $02 ; 68 refs; reads=24 writes=44; used at $C13E, C15A, C16B, C1BD, +61 more
|
|
Zp03 = $03 ; 29 refs; reads=8 writes=21; used at $C1AD, C1B1, C1B9, C270, +23 more
|
|
Zp04 = $04 ; 94 refs; reads=31 writes=63; used at $C140, C1D5, C268, C26A, +86 more
|
|
Zp05 = $05 ; 61 refs; reads=15 writes=46; used at $C142, C1DB, C26E, C297, +51 more
|
|
Zp06 = $06 ; 52 refs; reads=23 writes=29; used at $BE1C, C194, C2BE, C640, +41 more
|
|
Zp07 = $07 ; 28 refs; reads=19 writes=9; used at $D372, D584, D5B1, D631, +23 more
|
|
Zp08 = $08 ; 45 refs; reads=25 writes=20; used at $C1F7, C202, C208, C20F, +38 more
|
|
Zp09 = $09 ; 8 refs; reads=2 writes=6; used at $C1FD, C6A8, C6CE, D3E0, +3 more
|
|
Zp0A = $0A ; 51 refs; reads=31 writes=20; used at $C212, C21A, C509, C520, +44 more
|
|
Zp0B = $0B ; 15 refs; reads=4 writes=11; used at $C50D, C524, C536, C5DA, +11 more
|
|
Zp0C = $0C ; 36 refs; reads=17 writes=19; used at $C511, C528, C53A, C5D6, +26 more
|
|
Zp0D = $0D ; 9 refs; reads=4 writes=5; used at $C515, C53E, C6D7, D5D0, +4 more
|
|
Zp0E = $0E ; 9 refs; reads=4 writes=5; used at $C501, C8A7, D573, D741, +4 more
|
|
Zp0F = $0F ; 8 refs; reads=2 writes=6; used at $E63B, E663, E69D, E6AF, +4 more
|
|
Zp10 = $10 ; 7 refs; reads=3 writes=4; used at $C41D, C462, C6B1, D7B7, +3 more
|
|
Zp11 = $11 ; 7 refs; reads=3 writes=4; used at $C40B, C467, C6B5, D7B3, +3 more
|
|
Zp12 = $12 ; 4 refs; reads=1 writes=3; used at $C420, DE8D, DECC, E17A
|
|
Zp13 = $13 ; 4 refs; reads=1 writes=3; used at $C40E, DE92, DED1, E181
|
|
Zp14 = $14 ; 16 refs; reads=10 writes=6; used at $C426, C428, C42D, C431, +11 more
|
|
Zp15 = $15 ; 11 refs; reads=6 writes=5; used at $C414, C416, C41B, C42F, +6 more
|
|
Zp16 = $16 ; 20 refs; reads=13 writes=7; used at $C45C, C46C, DF14, DF55, +12 more
|
|
Zp17 = $17 ; 39 refs; reads=22 writes=17; used at $C444, C44C, C474, C47D, +25 more
|
|
Zp18 = $18 ; 29 refs; reads=19 writes=10; used at $DA30, DA55, DA57, DA68, +24 more
|
|
Zp1A = $1A ; 5 refs; reads=3 writes=2; used at $DA2C, DA44, E72D, E739, +1 more
|
|
Zp1B = $1B ; 3 refs; reads=1 writes=2; used at $DA34, DA5F
|
|
Zp1C = $1C ; 21 refs; reads=12 writes=9; used at $C56E, C577, C57A, C57D, +15 more
|
|
Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $C567, C570, C580, C5A1, +9 more
|
|
Zp1E = $1E ; 22 refs; reads=9 writes=13; used at $C14D, C186, C1E7, C305, +17 more
|
|
Zp1F = $1F ; 10 refs; reads=3 writes=7; used at $C308, C310, D749, D776, +4 more
|
|
Zp20 = $20 ; 40 refs; reads=6 writes=34; used at $C29E, C34D, C372, CA89, +35 more
|
|
Zp21 = $21 ; 15 refs; reads=0 writes=15; used at $CB60, CBE2, CBEB, CC1B, +11 more
|
|
Zp22 = $22 ; 3 refs; reads=0 writes=3; used at $D67F, D6E7, DB05
|
|
Zp23 = $23 ; 4 refs; reads=2 writes=2; used at $CFAD, CFB3, DB09, E1E4
|
|
Zp24 = $24 ; 1 refs; reads=0 writes=1; used at $CFAF
|
|
Zp25 = $25 ; 11 refs; reads=1 writes=10; used at $CA82, CFB7, D94B, D9A4, +6 more
|
|
Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $E1E0
|
|
Zp27 = $27 ; 5 refs; reads=1 writes=4; used at $D945, DA01, DA2A, DA46, +1 more
|
|
Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $C355, C394
|
|
Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $DB23
|
|
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $DB25
|
|
Zp2B = $2B ; 11 refs; reads=4 writes=7; used at $D8EF, D995, D9B1, D9F3, +7 more
|
|
Zp2C = $2C ; 2 refs; reads=0 writes=2; used at $D935, DAF7
|
|
Zp2D = $2D ; 2 refs; reads=0 writes=2; used at $D99F, DA4C
|
|
Zp30 = $30 ; 4 refs; reads=1 writes=3; used at $C35A, C36B, C37B, C392
|
|
Zp31 = $31 ; 1 refs; reads=1 writes=0; used at $C379
|
|
Zp37 = $37 ; 1 refs; reads=0 writes=1; used at $C384
|
|
Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $C369, C39B
|
|
Zp40 = $40 ; 6 refs; reads=3 writes=3; used at $BE27, BE2B, C073, C275, +2 more
|
|
Zp41 = $41 ; 4 refs; reads=1 writes=3; used at $C05B, C284, C28C, C2AF
|
|
Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C05F, C27A, D2B6
|
|
Zp43 = $43 ; 9 refs; reads=4 writes=5; used at $C063, C27F, CDB9, CDCC, +4 more
|
|
Zp44 = $44 ; 5 refs; reads=3 writes=2; used at $C2F1, C2FB, E245, E24B, +1 more
|
|
Zp45 = $45 ; 1 refs; reads=1 writes=0; used at $E040
|
|
Zp46 = $46 ; 8 refs; reads=7 writes=1; used at $C095, C2F7, CDC6, CDEC, +4 more
|
|
Zp47 = $47 ; 1 refs; reads=1 writes=0; used at $CFE4
|
|
Zp48 = $48 ; 20 refs; reads=18 writes=2; used at $BE39, C083, C09B, C547, +15 more
|
|
Zp49 = $49 ; 8 refs; reads=5 writes=3; used at $BE33, C087, CDE4, CDF8, +2 more
|
|
Zp4A = $4A ; 4 refs; reads=2 writes=2; used at $C077, C079, C0CD, C0D2
|
|
Zp4B = $4B ; 6 refs; reads=3 writes=3; used at $C06C, C091, C0D4, C18C, +2 more
|
|
Zp4E = $4E ; 7 refs; reads=4 writes=3; used at $C11A, C128, C1C4, C1D3, +3 more
|
|
Zp4F = $4F ; 5 refs; reads=1 writes=4; used at $C151, C16F, C18A, C1C6, +1 more
|
|
Zp50 = $50 ; 3 refs; reads=1 writes=2; used at $BE0A, C587, D2A1
|
|
Zp51 = $51 ; 4 refs; reads=2 writes=2; used at $C56A, C56C, E620
|
|
Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $C572, C574
|
|
Zp54 = $54 ; 19 refs; reads=10 writes=9; used at $CC40, CC5F, CC7A, CC9A, +13 more
|
|
Zp55 = $55 ; 8 refs; reads=4 writes=4; used at $CC72, CC8D, CC8F, CC98, +2 more
|
|
Zp56 = $56 ; 7 refs; reads=4 writes=3; used at $CC74, CCA6, CCA8, CCB3, +1 more
|
|
Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $CC84, CD01
|
|
Zp58 = $58 ; 5 refs; reads=4 writes=1; used at $CC7C, DFA5, E1F4, E2D8, +1 more
|
|
Zp59 = $59 ; 3 refs; reads=1 writes=2; used at $CC76, CCDA, CCE3
|
|
Zp5A = $5A ; 2 refs; reads=1 writes=1; used at $E78E, E799
|
|
Zp5B = $5B ; 4 refs; reads=2 writes=2; used at $C08D, C0AD, D26E, EB0E
|
|
Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $E7B6
|
|
Zp5D = $5D ; 3 refs; reads=1 writes=2; used at $CC44, CC4F, E366
|
|
Zp5F = $5F ; 4 refs; reads=2 writes=2; used at $E113, E117, E658
|
|
Zp60 = $60 ; 5 refs; reads=2 writes=3; used at $E04C, E050, E052, E05A
|
|
Zp61 = $61 ; 9 refs; reads=6 writes=3; used at $C8B9, C979, C9C7, CE15, +5 more
|
|
Zp62 = $62 ; 8 refs; reads=6 writes=2; used at $C089, C8AB, C9AC, CDBB, +4 more
|
|
Zp63 = $63 ; 4 refs; reads=2 writes=2; used at $C8E4, C9BE, C9C5
|
|
Zp64 = $64 ; 9 refs; reads=4 writes=5; used at $CAA4, CAA9, CABB, CACD, +5 more
|
|
Zp65 = $65 ; 3 refs; reads=1 writes=2; used at $CAC6, CAFD, CB18
|
|
Zp66 = $66 ; 5 refs; reads=2 writes=3; used at $CACA, CB25, CB33, CB38, +1 more
|
|
Zp68 = $68 ; 3 refs; reads=2 writes=1; used at $D575, D739, D73F
|
|
Zp69 = $69 ; 3 refs; reads=2 writes=1; used at $D563, D56C, D577
|
|
Zp6E = $6E ; 4 refs; reads=3 writes=1; used at $C317, C31C, C31E, C332
|
|
Zp6F = $6F ; 6 refs; reads=4 writes=2; used at $C320, C324, C32E, C330
|
|
Zp70 = $70 ; 12 refs; reads=6 writes=6; used at $C3E2, C3E6, CD47, D86E, +5 more
|
|
Zp71 = $71 ; 8 refs; reads=5 writes=3; used at $D8BA, D8BC, D8C8, D8D8, +2 more
|
|
Zp72 = $72 ; 4 refs; reads=2 writes=2; used at $D8DA, D8E0, D8E5
|
|
Zp73 = $73 ; 5 refs; reads=2 writes=3; used at $D867, D8A1, D8B8, E1E2
|
|
Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $D848, D8DC
|
|
Zp75 = $75 ; 1 refs; reads=0 writes=1; used at $D84D
|
|
Zp76 = $76 ; 3 refs; reads=2 writes=1; used at $D858, D941, D947
|
|
Zp77 = $77 ; 1 refs; reads=0 writes=1; used at $D85E
|
|
Zp78 = $78 ; 2 refs; reads=1 writes=1; used at $D7C7, D7D1
|
|
Zp79 = $79 ; 30 refs; reads=16 writes=14; used at $CE42, CEF0, D038, DA03, +23 more
|
|
Zp7A = $7A ; 11 refs; reads=5 writes=6; used at $D02E, D896, D96D, DCEE, +7 more
|
|
Zp7B = $7B ; 7 refs; reads=3 writes=4; used at $CE32, CE92, CF45, D030, +3 more
|
|
Zp7C = $7C ; 15 refs; reads=8 writes=7; used at $CEEA, D042, D89B, D8F7, +11 more
|
|
Zp7D = $7D ; 7 refs; reads=5 writes=2; used at $DDEC, DEE4, DFB5, E3AC, +3 more
|
|
Zp7E = $7E ; 5 refs; reads=4 writes=1; used at $DFB9, E2CE, E31B, E336, +1 more
|
|
Zp7F = $7F ; 4 refs; reads=2 writes=2; used at $CD5D, CE8B, CEA3, CF38
|
|
Zp80 = $80 ; 2 refs; reads=1 writes=1; used at $C3E4, C3E8
|
|
Zp90 = $90 ; 6 refs; reads=3 writes=3; used at $E162, E18A, E192, E1CE, +2 more
|
|
Zp91 = $91 ; 4 refs; reads=2 writes=2; used at $E17C, E19A, E19E, E7F1
|
|
Zp92 = $92 ; 4 refs; reads=2 writes=2; used at $E183, E1B4, E1B6, E7FB
|
|
Zp93 = $93 ; 3 refs; reads=1 writes=2; used at $E18E, E1A8, E1AD
|
|
Zp9B = $9B ; 2 refs; reads=1 writes=1; used at $E622
|
|
ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $E628
|
|
ZpAC = $AC ; 2 refs; reads=1 writes=1; used at $E1DE
|
|
ZpAD = $AD ; 2 refs; reads=1 writes=1; used at $E624
|
|
ZpB0 = $B0 ; 5 refs; reads=2 writes=3; used at $EB18, EB3A, EB41, EB47, +1 more
|
|
ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $EB1A
|
|
ZpB2 = $B2 ; 1 refs; reads=0 writes=1; used at $EB1C
|
|
ZpB3 = $B3 ; 1 refs; reads=0 writes=1; used at $EB1E
|
|
ZpB4 = $B4 ; 5 refs; reads=2 writes=3; used at $ECEB, ECFF, ED01, ED07
|
|
ZpB7 = $B7 ; 4 refs; reads=2 writes=2; used at $ED17, ED19, ED1F
|
|
ZpBA = $BA ; 4 refs; reads=2 writes=2; used at $ED2F, ED31, ED37
|
|
ZpBF = $BF ; 2 refs; reads=1 writes=1; used at $E626
|
|
ZpC0 = $C0 ; 5 refs; reads=1 writes=4; used at $D801, D889, D8D6, E6D9
|
|
ZpC1 = $C1 ; 2 refs; reads=0 writes=2; used at $D153, D7F7
|
|
ZpC2 = $C2 ; 2 refs; reads=0 writes=2; used at $D156, D7F9
|
|
ZpC3 = $C3 ; 1 refs; reads=0 writes=1; used at $D7FB
|
|
ZpC4 = $C4 ; 8 refs; reads=4 writes=4; used at $D0E3, D15A, D193, D1C6, +2 more
|
|
ZpC6 = $C6 ; 4 refs; reads=2 writes=2; used at $D0EB, D105, D13A, D197
|
|
ZpC7 = $C7 ; 7 refs; reads=3 writes=4; used at $D0EF, D109, D121, D15E, +3 more
|
|
ZpC8 = $C8 ; 3 refs; reads=1 writes=2; used at $CE11, CE3B
|
|
ZpC9 = $C9 ; 3 refs; reads=1 writes=2; used at $E02F, E03A
|
|
ZpCA = $CA ; 7 refs; reads=3 writes=4; used at $E230, E239, E23D, E240
|
|
ZpCB = $CB ; 2 refs; reads=1 writes=1; used at $E243, E249
|
|
ZpCC = $CC ; 2 refs; reads=1 writes=1; used at $CC6E
|
|
ZpCD = $CD ; 1 refs; reads=1 writes=0; used at $C115
|
|
ZpD9 = $D9 ; 3 refs; reads=2 writes=1; used at $D87A, D87C
|
|
ZpDC = $DC ; 1 refs; reads=1 writes=0; used at $DC58
|
|
ZpDE = $DE ; 13 refs; reads=10 writes=3; used at $C042, C94F, C959, C971, +9 more
|
|
ZpDF = $DF ; 5 refs; reads=3 writes=2; used at $C03E, CDF2, CDF6, CE4F, +1 more
|
|
ZpEC = $EC ; 10 refs; reads=5 writes=5; used at $EC61, EC63, EC65, EC67, +2 more
|
|
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $C03A
|
|
ZpFF = $FF ; 3 refs; reads=2 writes=1; used at $C014, C032, C036
|
|
|
|
; Pass 3 semantic aliases (proven from the disassembly):
|
|
PpuCtrlShadow = Zp40
|
|
PpuMaskShadow = Zp41
|
|
StarFieldPtrLo = Zp00
|
|
StarFieldPtrHi = Zp01
|
|
StarFieldCount = Zp06
|
|
PpuAddrLow = Zp04
|
|
PpuAddrHigh = Zp05
|
|
TilePtrLo = Zp08
|
|
TilePtrHi = Zp09
|
|
SpriteX = Zp16
|
|
SpriteY = Zp25
|
|
SpriteAttr = Zp2D
|
|
SpriteIndex = Zp2B
|
|
ScreenPtrLo = Zp0A
|
|
ScreenPtrHi = Zp0B
|