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
173 lines
13 KiB
PHP
173 lines
13 KiB
PHP
; Sqoon (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 ; 5 refs; reads=0 writes=5; used at $82E5, 82EB, 8306, 8D46, +1 more
|
|
Zp01 = $01 ; 7 refs; reads=2 writes=5; used at $82E7, 82FE, 830B, 8D4A, +1 more
|
|
Zp02 = $02 ; 4 refs; reads=2 writes=2; used at $82BD, 8312, 8D32, 8D5E
|
|
Zp03 = $03 ; 6 refs; reads=2 writes=4; used at $80E6, 8230, 824C, 85BB, +1 more
|
|
Zp04 = $04 ; 6 refs; reads=1 writes=5; used at $845B, 8722, 8754, 8BAA, +2 more
|
|
Zp05 = $05 ; 9 refs; reads=8 writes=1; used at $8D13, 8E4E, 90E9, 93B4, +5 more
|
|
Zp06 = $06 ; 6 refs; reads=1 writes=5; used at $840D, 8489, 84E6, 851A, +1 more
|
|
Zp07 = $07 ; 6 refs; reads=1 writes=5; used at $8411, 848B, 84E8, 851C, +1 more
|
|
Zp08 = $08 ; 1 refs; reads=0 writes=1; used at $83B6
|
|
Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $83BB
|
|
Zp0A = $0A ; 12 refs; reads=3 writes=9; used at $8071, 819B, 81D2, 8427, +8 more
|
|
Zp0B = $0B ; 8 refs; reads=3 writes=5; used at $807F, 81D4, 8429, 84C8, +4 more
|
|
Zp0C = $0C ; 10 refs; reads=3 writes=7; used at $8076, 81A0, 81D6, 863F, +4 more
|
|
Zp0D = $0D ; 3 refs; reads=1 writes=2; used at $8083, 81D8, 8E09
|
|
Zp10 = $10 ; 8 refs; reads=3 writes=5; used at $8482, 86B8, 86BD, 86C3, +3 more
|
|
Zp11 = $11 ; 10 refs; reads=3 writes=7; used at $847E, 86AA, 86AE, 86B6, +5 more
|
|
Zp12 = $12 ; 13 refs; reads=4 writes=9; used at $8462, 84DB, 8649, 86DA, +9 more
|
|
Zp13 = $13 ; 8 refs; reads=0 writes=8; used at $8466, 84DF, 864E, 8738, +4 more
|
|
Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $8258, 8264, 86D5, 86F1
|
|
Zp15 = $15 ; 10 refs; reads=6 writes=4; used at $8253, 825F, 86C1, 86CB, +3 more
|
|
Zp18 = $18 ; 12 refs; reads=7 writes=5; used at $826E, 8292, 8298, 86E7, +4 more
|
|
Zp19 = $19 ; 135 refs; reads=31 writes=104; used at $823A, 85C6, 8682, 872E, +131 more
|
|
Zp1A = $1A ; 143 refs; reads=6 writes=137; used at $85D3, 8668, 875C, 8782, +135 more
|
|
Zp1B = $1B ; 89 refs; reads=0 writes=89; used at $85CA, 85D7, 8678, 8726, +85 more
|
|
Zp1C = $1C ; 122 refs; reads=25 writes=97; used at $8225, 85C2, 85DC, 85E1, +118 more
|
|
Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $8023, 8027, 807B, 8081, +10 more
|
|
Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $81A7
|
|
Zp1F = $1F ; 13 refs; reads=11 writes=2; used at $810B, 8148, 814D, 8153, +8 more
|
|
Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $810D, 814F
|
|
Zp21 = $21 ; 12 refs; reads=10 writes=2; used at $80AB, 8155, 8404, 8490, +8 more
|
|
Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $8151
|
|
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $8142, 8145
|
|
Zp24 = $24 ; 3 refs; reads=1 writes=2; used at $8569, 856D, 8BB1
|
|
Zp2C = $2C ; 1 refs; reads=1 writes=0; used at $87C7
|
|
Zp2F = $2F ; 16 refs; reads=8 writes=8; used at $8567, 856B, 857A, 8581, +7 more
|
|
Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $853C, 8CE6, 8E97
|
|
Zp36 = $36 ; 2 refs; reads=2 writes=0; used at $8863, 8875
|
|
Zp37 = $37 ; 3 refs; reads=1 writes=2; used at $8850, 8852, 8B7A
|
|
Zp38 = $38 ; 3 refs; reads=1 writes=2; used at $8856, 8858, 8B7C
|
|
Zp39 = $39 ; 3 refs; reads=1 writes=2; used at $885C, 885E, 8B7E
|
|
Zp3A = $3A ; 6 refs; reads=2 writes=4; used at $87F7, 8806, 880C, 884E, +2 more
|
|
Zp3B = $3B ; 3 refs; reads=1 writes=2; used at $8854, 8B82, 901F
|
|
Zp40 = $40 ; 1 refs; reads=0 writes=1; used at $87C3
|
|
Zp41 = $41 ; 1 refs; reads=0 writes=1; used at $87BF
|
|
Zp42 = $42 ; 4 refs; reads=2 writes=2; used at $8865, 8877, 8880, 8882
|
|
Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $82D9, 82F5
|
|
Zp46 = $46 ; 64 refs; reads=30 writes=34; used at $80CB, 80DC, 8442, 87D4, +55 more
|
|
Zp47 = $47 ; 22 refs; reads=2 writes=20; used at $80CF, 80D8, 8446, 893C, +17 more
|
|
Zp48 = $48 ; 17 refs; reads=5 writes=12; used at $844A, 8834, 8843, 8940, +11 more
|
|
Zp49 = $49 ; 12 refs; reads=4 writes=8; used at $844E, 8828, 8944, 8BD6, +8 more
|
|
Zp4A = $4A ; 85 refs; reads=36 writes=49; used at $829D, 82A1, 83A5, 83B4, +80 more
|
|
Zp4B = $4B ; 46 refs; reads=14 writes=32; used at $82A3, 82A7, 83A9, 8A0A, +42 more
|
|
Zp4C = $4C ; 15 refs; reads=5 writes=10; used at $882A, 93E5, 9B1C, 9EA6, +10 more
|
|
Zp4D = $4D ; 34 refs; reads=10 writes=24; used at $829F, 82AA, 87DD, 883B, +30 more
|
|
Zp4E = $4E ; 15 refs; reads=7 writes=8; used at $82A5, 82AE, 98C8, A337, +11 more
|
|
Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $B33C
|
|
Zp50 = $50 ; 6 refs; reads=3 writes=3; used at $80B6, 80BD, 83AB, 841C, +1 more
|
|
Zp51 = $51 ; 6 refs; reads=3 writes=3; used at $83BD, 8420, 848D, 849B
|
|
Zp52 = $52 ; 9 refs; reads=4 writes=5; used at $8BD8, 8BED, 8C02, 8C17, +1 more
|
|
Zp54 = $54 ; 41 refs; reads=40 writes=1; used at $801E, 80D1, 8160, 8237, +36 more
|
|
Zp55 = $55 ; 30 refs; reads=21 writes=9; used at $8050, 80B1, 8103, 8329, +25 more
|
|
Zp56 = $56 ; 4 refs; reads=1 writes=3; used at $B98C, DCB3, DCBA, DCC8
|
|
Zp59 = $59 ; 2 refs; reads=0 writes=2; used at $8033, B7BC
|
|
Zp5B = $5B ; 4 refs; reads=1 writes=3; used at $92A7, 92AF, 92B5, 92BB
|
|
Zp5C = $5C ; 3 refs; reads=0 writes=3; used at $B44A, B7CE, B7D4
|
|
Zp5D = $5D ; 2 refs; reads=0 writes=2; used at $8035, B7BE
|
|
Zp5E = $5E ; 3 refs; reads=0 writes=3; used at $8DE1, 8DF3, 8DFD
|
|
Zp5F = $5F ; 3 refs; reads=0 writes=3; used at $8DE5, 8DEF, 8DF9
|
|
Zp61 = $61 ; 2 refs; reads=0 writes=2; used at $8037, B7C0
|
|
Zp62 = $62 ; 2 refs; reads=0 writes=2; used at $866C, 88CE
|
|
Zp63 = $63 ; 2 refs; reads=0 writes=2; used at $8670, 88D2
|
|
Zp64 = $64 ; 2 refs; reads=0 writes=2; used at $8674, 88D6
|
|
Zp65 = $65 ; 9 refs; reads=4 writes=5; used at $8031, 84CF, 8E99, B436, +5 more
|
|
Zp66 = $66 ; 6 refs; reads=2 writes=4; used at $84D3, 860E, 8616, 8619, +1 more
|
|
Zp67 = $67 ; 3 refs; reads=0 writes=3; used at $84D7, 9061, B403
|
|
Zp69 = $69 ; 2 refs; reads=0 writes=2; used at $8039, B7C4
|
|
Zp6A = $6A ; 1 refs; reads=0 writes=1; used at $B3FF
|
|
Zp6B = $6B ; 2 refs; reads=0 writes=2; used at $9063, B405
|
|
Zp6D = $6D ; 2 refs; reads=0 writes=2; used at $803B, B7C6
|
|
Zp6F = $6F ; 4 refs; reads=0 writes=4; used at $B438, B78A, B798, B7A2
|
|
Zp70 = $70 ; 4 refs; reads=0 writes=4; used at $B43A, B78E, B79C, B7A6
|
|
Zp71 = $71 ; 2 refs; reads=0 writes=2; used at $803D, B7C8
|
|
Zp73 = $73 ; 5 refs; reads=0 writes=5; used at $B43C, B786, B794, B7AE, +1 more
|
|
Zp74 = $74 ; 2 refs; reads=0 writes=2; used at $B43E, B7D8
|
|
Zp75 = $75 ; 2 refs; reads=0 writes=2; used at $803F, B7CA
|
|
Zp76 = $76 ; 17 refs; reads=0 writes=17; used at $8C90, 9100, 9121, 913B, +13 more
|
|
Zp77 = $77 ; 12 refs; reads=0 writes=12; used at $8C8C, 9102, 9193, 91AC, +8 more
|
|
Zp79 = $79 ; 8 refs; reads=4 writes=4; used at $88BE, 8C2B, 8C6B, A170, +4 more
|
|
Zp7A = $7A ; 5 refs; reads=1 writes=4; used at $88C2, 8C36, 8C71, A17A, +1 more
|
|
Zp7B = $7B ; 9 refs; reads=4 writes=5; used at $8B84, 9019, 902B, DC35, +5 more
|
|
Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $8B86, 901D, 902D, DC3B, +5 more
|
|
Zp7D = $7D ; 6 refs; reads=2 writes=4; used at $80C5, 815B, 821E, 8548, +2 more
|
|
Zp7E = $7E ; 4 refs; reads=2 writes=2; used at $8A38, 8AAD, 8E3D, 8E47
|
|
Zp8D = $8D ; 9 refs; reads=3 writes=6; used at $8A6F, 8AA4, E126, E12A, +5 more
|
|
Zp8F = $8F ; 10 refs; reads=6 writes=4; used at $E0DF, E2CF, E3D1, E406, +5 more
|
|
Zp90 = $90 ; 6 refs; reads=2 writes=4; used at $E0E4, E3D5, E4A4, E4B2
|
|
Zp91 = $91 ; 1 refs; reads=0 writes=1; used at $E0F3
|
|
Zp92 = $92 ; 1 refs; reads=0 writes=1; used at $E0F8
|
|
Zp93 = $93 ; 2 refs; reads=0 writes=2; used at $E107, E3D9
|
|
Zp94 = $94 ; 2 refs; reads=0 writes=2; used at $E10C, E3DD
|
|
Zp95 = $95 ; 1 refs; reads=0 writes=1; used at $E11B
|
|
Zp96 = $96 ; 1 refs; reads=0 writes=1; used at $E120
|
|
Zp9A = $9A ; 20 refs; reads=4 writes=16; used at $800F, 809E, 83D9, 83EC, +16 more
|
|
Zp9B = $9B ; 6 refs; reads=1 writes=5; used at $88BA, 8B93, 8E28, B5E3, +1 more
|
|
ZpA0 = $A0 ; 30 refs; reads=17 writes=13; used at $88A8, 8C26, B60A, B60C, +26 more
|
|
ZpA1 = $A1 ; 18 refs; reads=5 writes=13; used at $88AC, 8C31, B610, B612, +14 more
|
|
ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $B6AC, B757
|
|
ZpA3 = $A3 ; 2 refs; reads=1 writes=1; used at $B6B0, B75B
|
|
ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $B6B2, B75F
|
|
ZpA5 = $A5 ; 12 refs; reads=5 writes=7; used at $88B0, 8B8D, 8E1A, B607, +8 more
|
|
ZpA6 = $A6 ; 11 refs; reads=3 writes=8; used at $88B2, 8BA4, 8E20, B62C, +7 more
|
|
ZpA7 = $A7 ; 8 refs; reads=2 writes=6; used at $88B4, 8BA6, 8E22, B8BE, +3 more
|
|
ZpA8 = $A8 ; 9 refs; reads=4 writes=5; used at $8B97, 8E1C, B61E, B8B9, +5 more
|
|
ZpA9 = $A9 ; 9 refs; reads=4 writes=5; used at $8B9B, 8E2C, B619, B8B4, +5 more
|
|
ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $E08B, E08F
|
|
ZpAC = $AC ; 9 refs; reads=5 writes=4; used at $83F0, 9034, 9068, 90DB, +5 more
|
|
ZpAD = $AD ; 4 refs; reads=2 writes=2; used at $E0C1, E351, E361
|
|
ZpAE = $AE ; 4 refs; reads=1 writes=3; used at $E0E8, E256, E3E1
|
|
ZpAF = $AF ; 1 refs; reads=0 writes=1; used at $E0FC
|
|
ZpB0 = $B0 ; 2 refs; reads=0 writes=2; used at $E110, E3E3
|
|
ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $E124
|
|
ZpB2 = $B2 ; 12 refs; reads=4 writes=8; used at $E25F, E264, E26E, E288, +8 more
|
|
ZpB6 = $B6 ; 10 refs; reads=5 writes=5; used at $E25A, E270, E280, E297, +2 more
|
|
ZpBA = $BA ; 3 refs; reads=1 writes=2; used at $E274, E27C
|
|
ZpBE = $BE ; 1 refs; reads=1 writes=0; used at $E2C1
|
|
ZpC2 = $C2 ; 2 refs; reads=1 writes=1; used at $E31D, E464
|
|
ZpC6 = $C6 ; 1 refs; reads=1 writes=0; used at $E313
|
|
ZpCA = $CA ; 2 refs; reads=2 writes=0; used at $E2A6, E2AA
|
|
ZpCE = $CE ; 2 refs; reads=2 writes=0; used at $E266, E26C
|
|
ZpD2 = $D2 ; 1 refs; reads=1 writes=0; used at $E2A2
|
|
ZpD6 = $D6 ; 1 refs; reads=1 writes=0; used at $E262
|
|
ZpDA = $DA ; 1 refs; reads=1 writes=0; used at $E272
|
|
ZpDE = $DE ; 1 refs; reads=1 writes=0; used at $E28B
|
|
ZpE2 = $E2 ; 3 refs; reads=3 writes=0; used at $E468, E47C, E48C
|
|
ZpE6 = $E6 ; 8 refs; reads=5 writes=3; used at $E46C, E46E, E474, E47A, +3 more
|
|
ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $8D42, 8D69
|
|
ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $8D3D, 8D64
|
|
ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $8D38, 8D60
|
|
ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $8D34, 8D5C
|
|
ZpFB = $FB ; 12 refs; reads=10 writes=2; used at $8B65, 9895, 98D3, B649, +8 more
|
|
ZpFC = $FC ; 22 refs; reads=17 writes=5; used at $888A, 8B15, 8B5B, 8C1C, +18 more
|
|
ZpFE = $FE ; 7 refs; reads=3 writes=4; used at $8003, 800D, 8015, 801C, +1 more
|
|
ZpFF = $FF ; 4 refs; reads=2 writes=2; used at $82C3, 8316, 8D36, 8D62
|
|
|
|
; Pass 3 semantic aliases (proven from the disassembly):
|
|
PpuCtrlShadow = Zp1D
|
|
FrameCounter = Zp54
|
|
NmiFrameFlag = ZpFE
|
|
PlayerXLow = Zp1A
|
|
PlayerXHigh = Zp19
|
|
PlayerYLow = Zp1B
|
|
PlayerYHigh = Zp1C
|
|
DispatchPtrLo = Zp4A
|
|
DispatchPtrHi = Zp4B
|
|
ScrollX = Zp4D
|
|
ScrollY = Zp4E
|
|
VramWritePtrLo = Zp46
|
|
VramWritePtrHi = Zp47
|
|
SpriteX = ZpA0
|
|
SpriteY = ZpA1
|
|
SpriteTile = Zp79
|
|
SpriteAttr = Zp7A
|
|
LevelIndex = ZpFC
|
|
GameState = Zp9A
|
|
PlayerIndex = Zp08
|
|
PlayerIndex2 = Zp09
|