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
126 lines
9.6 KiB
PHP
126 lines
9.6 KiB
PHP
; 1942 (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 ; 19 refs; reads=16 writes=3; used at $8452, 845A, 8462, 846A, +15 more
|
|
Zp01 = $01 ; 9 refs; reads=9 writes=0; used at $844C, 8454, 845C, 8464, +5 more
|
|
Zp02 = $02 ; 18 refs; reads=11 writes=7; used at $8480, C110, C123, C127, +14 more
|
|
Zp03 = $03 ; 4 refs; reads=1 writes=3; used at $C22E, C25F, C283, C2F7
|
|
Zp04 = $04 ; 6 refs; reads=6 writes=0; used at $844E, 8450, 8456, 8458, +2 more
|
|
Zp05 = $05 ; 4 refs; reads=4 writes=0; used at $846C, 8474, 847C, 848C
|
|
Zp07 = $07 ; 7 refs; reads=4 writes=3; used at $846E, 8476, E395, E39E
|
|
Zp09 = $09 ; 6 refs; reads=3 writes=3; used at $8470, 8478, 847E
|
|
Zp10 = $10 ; 2 refs; reads=2 writes=0; used at $F554, FC87
|
|
Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C115, C119, C269
|
|
Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $C11B, C11F, C26D
|
|
Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $FC8B
|
|
Zp40 = $40 ; 1 refs; reads=1 writes=0; used at $F136
|
|
Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C256, C27A, C300
|
|
Zp43 = $43 ; 3 refs; reads=1 writes=2; used at $C259, C27D, C2FD
|
|
Zp50 = $50 ; 2 refs; reads=2 writes=0; used at $F13A, FC7F
|
|
Zp60 = $60 ; 2 refs; reads=1 writes=1; used at $E39C
|
|
Zp62 = $62 ; 4 refs; reads=2 writes=2; used at $C106, C2E8, C2F0
|
|
Zp63 = $63 ; 2 refs; reads=1 writes=1; used at $C030, C1AA
|
|
Zp64 = $64 ; 2 refs; reads=1 writes=1; used at $C032, C1A8
|
|
Zp65 = $65 ; 2 refs; reads=1 writes=1; used at $C034, C1A6
|
|
Zp66 = $66 ; 8 refs; reads=4 writes=4; used at $C1F7, C1FD, C242, C248, +4 more
|
|
Zp6B = $6B ; 3 refs; reads=0 writes=3; used at $B67D, BC99, BEAE
|
|
Zp6C = $6C ; 3 refs; reads=0 writes=3; used at $B681, BC9D, BEB2
|
|
Zp6D = $6D ; 3 refs; reads=0 writes=3; used at $B673, BC92, BEA7
|
|
Zp6E = $6E ; 3 refs; reads=0 writes=3; used at $B671, BC90, BEA5
|
|
Zp6F = $6F ; 2 refs; reads=1 writes=1; used at $A174, A17E
|
|
Zp70 = $70 ; 2 refs; reads=1 writes=1; used at $A17A, A184
|
|
Zp72 = $72 ; 4 refs; reads=2 writes=2; used at $A105, A113, A120
|
|
Zp73 = $73 ; 8 refs; reads=4 writes=4; used at $A1A2, A1AA, A1B0, A1BD, +2 more
|
|
Zp74 = $74 ; 13 refs; reads=8 writes=5; used at $A122, A13E, A154, A159, +7 more
|
|
Zp75 = $75 ; 4 refs; reads=1 writes=3; used at $9FDD, A001, A239, A322
|
|
Zp76 = $76 ; 1 refs; reads=0 writes=1; used at $9FE1
|
|
Zp77 = $77 ; 38 refs; reads=12 writes=26; used at $9FE5, A010, A0BE, A0C8, +34 more
|
|
Zp78 = $78 ; 1 refs; reads=0 writes=1; used at $9FE9
|
|
Zp79 = $79 ; 3 refs; reads=2 writes=1; used at $9FEE, A393, A3A4
|
|
Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $9FF3
|
|
Zp7B = $7B ; 5 refs; reads=1 writes=4; used at $9FF7, A202, A20C, A20E
|
|
Zp7C = $7C ; 1 refs; reads=0 writes=1; used at $9FFB
|
|
Zp7D = $7D ; 4 refs; reads=1 writes=3; used at $A0ED, A10F, A18E
|
|
Zp7E = $7E ; 4 refs; reads=1 writes=3; used at $A0F2, A10D, A190
|
|
Zp7F = $7F ; 4 refs; reads=1 writes=3; used at $A0F7, A10B, A192
|
|
Zp80 = $80 ; 6 refs; reads=2 writes=4; used at $A0FC, A109, A194, E399
|
|
Zp81 = $81 ; 11 refs; reads=7 writes=4; used at $A101, A107, A21B, A237, +6 more
|
|
Zp82 = $82 ; 28 refs; reads=23 writes=5; used at $A162, A17C, A196, A1CF, +24 more
|
|
Zp83 = $83 ; 12 refs; reads=5 writes=7; used at $A19C, A1E5, A1EE, A1F4, +7 more
|
|
Zp84 = $84 ; 8 refs; reads=3 writes=5; used at $A198, A290, A29A, A2AD, +3 more
|
|
Zp85 = $85 ; 9 refs; reads=4 writes=5; used at $818D, 8194, A875, A88E, +4 more
|
|
Zp86 = $86 ; 72 refs; reads=31 writes=41; used at $809D, 80A4, 80BB, 80C1, +57 more
|
|
Zp87 = $87 ; 119 refs; reads=41 writes=78; used at $803E, 8139, 81A1, 81BE, +102 more
|
|
Zp88 = $88 ; 76 refs; reads=21 writes=55; used at $8031, 8140, 815F, 817A, +68 more
|
|
Zp89 = $89 ; 56 refs; reads=9 writes=47; used at $802C, 83BA, A021, A760, +50 more
|
|
Zp8A = $8A ; 138 refs; reads=54 writes=84; used at $8038, 812E, 8157, 8172, +132 more
|
|
Zp8B = $8B ; 111 refs; reads=28 writes=83; used at $8126, 8251, 8257, 825A, +98 more
|
|
Zp8C = $8C ; 26 refs; reads=13 writes=13; used at $801B, 801F, 8042, 8046, +22 more
|
|
Zp8D = $8D ; 14 refs; reads=7 writes=7; used at $A91E, A922, A927, A92B, +10 more
|
|
Zp8F = $8F ; 4 refs; reads=0 writes=4; used at $80AE, B68B, BCF9, BFEA
|
|
Zp90 = $90 ; 5 refs; reads=1 writes=4; used at $80B3, B68D, BCFB, BFEF, +1 more
|
|
Zp94 = $94 ; 4 refs; reads=1 writes=3; used at $C1B7, C1C1, C1C9, C1D4
|
|
Zp95 = $95 ; 8 refs; reads=4 writes=4; used at $C1CE, C1D1, C1DA, C1DC, +3 more
|
|
Zp98 = $98 ; 10 refs; reads=9 writes=1; used at $B6C8, B731, C1E0, C1E4, +6 more
|
|
Zp99 = $99 ; 2 refs; reads=0 writes=2; used at $C1E6, C1F2
|
|
Zp9A = $9A ; 1 refs; reads=1 writes=0; used at $DE8C
|
|
Zp9C = $9C ; 9 refs; reads=6 writes=3; used at $C408, C45C, C4AC, C4D3, +4 more
|
|
Zp9D = $9D ; 5 refs; reads=2 writes=3; used at $C40C, C51D, C521, C53C
|
|
Zp9E = $9E ; 12 refs; reads=3 writes=9; used at $C41B, C426, C431, C43C, +8 more
|
|
Zp9F = $9F ; 6 refs; reads=2 writes=4; used at $C41F, C42A, C435, C440, +2 more
|
|
ZpA0 = $A0 ; 7 refs; reads=4 writes=3; used at $B65D, C4BD, C4E6, C53F, +1 more
|
|
ZpA1 = $A1 ; 3 refs; reads=1 writes=2; used at $C4C2, C543
|
|
ZpA2 = $A2 ; 5 refs; reads=3 writes=2; used at $C4A0, C4D0, C4DA, C546
|
|
ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $C4A5, C54A
|
|
ZpB0 = $B0 ; 46 refs; reads=26 writes=20; used at $A962, A970, A97E, A98E, +42 more
|
|
ZpB1 = $B1 ; 15 refs; reads=6 writes=9; used at $A9E5, A9FC, AA20, AAA7, +11 more
|
|
ZpB2 = $B2 ; 9 refs; reads=3 writes=6; used at $A9E1, A9F8, AA3C, AB05, +5 more
|
|
ZpB3 = $B3 ; 9 refs; reads=3 writes=6; used at $A9E9, A9FE, AA59, AAE1, +5 more
|
|
ZpB4 = $B4 ; 3 refs; reads=2 writes=1; used at $AAB3, DA36, DA51
|
|
ZpB5 = $B5 ; 1 refs; reads=1 writes=0; used at $AAD0
|
|
ZpB6 = $B6 ; 1 refs; reads=1 writes=0; used at $AAF4
|
|
ZpB7 = $B7 ; 1 refs; reads=1 writes=0; used at $AB11
|
|
ZpC9 = $C9 ; 4 refs; reads=1 writes=3; used at $B7EA, D889, DD4A, DD57
|
|
ZpCA = $CA ; 3 refs; reads=2 writes=1; used at $81C6, 81EE, 82B9
|
|
ZpCB = $CB ; 2 refs; reads=1 writes=1; used at $81F4, 81FF
|
|
ZpCC = $CC ; 4 refs; reads=2 writes=2; used at $81FD, 8222, 8227, 8249
|
|
ZpCD = $CD ; 3 refs; reads=1 writes=2; used at $81F9, 8229, 822E
|
|
ZpCE = $CE ; 1 refs; reads=0 writes=1; used at $8354
|
|
ZpCF = $CF ; 1 refs; reads=0 writes=1; used at $C055
|
|
ZpD0 = $D0 ; 4 refs; reads=2 writes=2; used at $C010, C08B, C0A4, C0AB
|
|
ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $C014, C086, C0AD, C0C0
|
|
ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $C008, C092, C09B, C0A2
|
|
ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $C00C
|
|
ZpD4 = $D4 ; 10 refs; reads=7 writes=3; used at $D97B, D98A, D99F, D9A4, +6 more
|
|
ZpD5 = $D5 ; 5 refs; reads=2 writes=3; used at $D981, D9A6, D9AA, DA78, +1 more
|
|
ZpD6 = $D6 ; 2 refs; reads=0 writes=2; used at $E015, E061
|
|
ZpD7 = $D7 ; 2 refs; reads=0 writes=2; used at $E019, E067
|
|
ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $E01D, E06D
|
|
ZpD9 = $D9 ; 2 refs; reads=0 writes=2; used at $E021, E071
|
|
ZpDB = $DB ; 4 refs; reads=2 writes=2; used at $D2C3, D2C5, D2CD
|
|
ZpDD = $DD ; 18 refs; reads=5 writes=13; used at $8363, 8388, 838D, 83AB, +13 more
|
|
ZpDE = $DE ; 20 refs; reads=6 writes=14; used at $835F, 838F, 8394, AA03, +15 more
|
|
ZpDF = $DF ; 14 refs; reads=3 writes=11; used at $BCC7, BCE4, BE0B, BE22, +9 more
|
|
ZpE0 = $E0 ; 14 refs; reads=3 writes=11; used at $BCCB, BCE8, BE07, BE1E, +9 more
|
|
ZpE1 = $E1 ; 2 refs; reads=1 writes=1; used at $839D, 83A5
|
|
ZpE2 = $E2 ; 10 refs; reads=2 writes=8; used at $835A, 8365, BCEA, BE0F, +5 more
|
|
|
|
; Pass 3 semantic aliases (proven from the disassembly):
|
|
PpuCtrlShadow = Zp8C
|
|
PpuAddrHigh = Zp89
|
|
PpuAddrLow = Zp88
|
|
VramWritePtrLo = Zp8A
|
|
VramWritePtrHi = Zp8B
|
|
PlayerX = Zp87
|
|
PlayerY = Zp86
|
|
PlayerScore = ZpB0
|
|
ScreenPtrLo = Zp77
|
|
ScreenPtrHi = Zp78
|
|
TilePtrLo = Zp79
|
|
TilePtrHi = Zp7A
|
|
SpriteIndex = Zp82
|
|
PpuMaskShadow = Zp8D
|