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
195 lines
16 KiB
PHP
195 lines
16 KiB
PHP
; Tag Team Wrestling (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 ; 12 refs; reads=11 writes=1; used at $ED0F, ED11, ED16, ED18, +7 more
|
|
Zp01 = $01 ; 5 refs; reads=4 writes=1; used at $ED1F, ED23, FE88, FEDF
|
|
Zp04 = $04 ; 7 refs; reads=4 writes=3; used at $FD92, FE39, FE50, FF65, +3 more
|
|
Zp05 = $05 ; 5 refs; reads=2 writes=3; used at $E029, FD97, FE3B, FF67, +1 more
|
|
Zp06 = $06 ; 4 refs; reads=2 writes=2; used at $FF6E, FF89, FFA3, FFA5
|
|
Zp07 = $07 ; 3 refs; reads=1 writes=2; used at $FF74, FFA9, FFAB
|
|
Zp08 = $08 ; 5 refs; reads=3 writes=2; used at $FF7A, FF82, FFAD, FFB2, +1 more
|
|
Zp09 = $09 ; 3 refs; reads=1 writes=2; used at $FF7F, FFB6, FFB8
|
|
Zp0A = $0A ; 1 refs; reads=1 writes=0; used at $E02B
|
|
Zp0C = $0C ; 4 refs; reads=1 writes=3; used at $FD9E, FDC8, FDCE, FFE4
|
|
Zp0D = $0D ; 11 refs; reads=7 writes=4; used at $AA83, AA87, F045, F053, +7 more
|
|
Zp0E = $0E ; 5 refs; reads=2 writes=3; used at $FD80, FF33, FF37, FF49, +1 more
|
|
Zp0F = $0F ; 4 refs; reads=2 writes=2; used at $AA81, E02D, FD59, FF5A
|
|
Zp10 = $10 ; 3 refs; reads=1 writes=2; used at $AA7F, FD5B, FF5F
|
|
Zp11 = $11 ; 3 refs; reads=2 writes=1; used at $B198, FFE6
|
|
Zp12 = $12 ; 5 refs; reads=4 writes=1; used at $EB08, F15C, F22F, FD8B, +1 more
|
|
Zp13 = $13 ; 23 refs; reads=15 writes=8; used at $B125, B211, B217, B40B, +12 more
|
|
Zp14 = $14 ; 9 refs; reads=5 writes=4; used at $B1FF, B21B, B40F, B728, +2 more
|
|
Zp15 = $15 ; 3 refs; reads=2 writes=1; used at $AD19, AD39, FE8F
|
|
Zp16 = $16 ; 5 refs; reads=2 writes=3; used at $BEB3, BED2, EBE6, EC40, +1 more
|
|
Zp17 = $17 ; 3 refs; reads=2 writes=1; used at $C477, C4DA, FF22
|
|
Zp18 = $18 ; 20 refs; reads=18 writes=2; used at $B1E8, B8F1, BA90, BAB9, +16 more
|
|
Zp19 = $19 ; 12 refs; reads=11 writes=1; used at $BB2A, BB34, BCDD, C3F0, +8 more
|
|
Zp1A = $1A ; 126 refs; reads=93 writes=33; used at $B1EF, B1F2, B910, B937, +119 more
|
|
Zp1B = $1B ; 55 refs; reads=33 writes=22; used at $B928, B957, BAFB, BDAE, +51 more
|
|
Zp1C = $1C ; 98 refs; reads=74 writes=24; used at $BFD5, BFDB, C08A, C0DA, +89 more
|
|
Zp1D = $1D ; 79 refs; reads=70 writes=9; used at $C090, C154, C17C, C260, +74 more
|
|
Zp1E = $1E ; 97 refs; reads=54 writes=43; used at $C094, C168, C190, C26B, +93 more
|
|
Zp1F = $1F ; 18 refs; reads=11 writes=7; used at $D2A1, D2BD, D3A9, D3AD, +14 more
|
|
Zp20 = $20 ; 8 refs; reads=5 writes=3; used at $B8B8, D2A9, D2AF, D2B4, +4 more
|
|
Zp21 = $21 ; 11 refs; reads=9 writes=2; used at $C82E, C99C, CC82, CCB1, +7 more
|
|
Zp22 = $22 ; 51 refs; reads=25 writes=26; used at $B95E, B96F, BDB9, C022, +45 more
|
|
Zp23 = $23 ; 38 refs; reads=8 writes=30; used at $B963, BDBE, C027, C3C5, +29 more
|
|
Zp24 = $24 ; 28 refs; reads=12 writes=16; used at $E04D, E711, E725, E7D0, +22 more
|
|
Zp25 = $25 ; 17 refs; reads=5 writes=12; used at $E715, E729, E7D4, E7E8, +12 more
|
|
Zp28 = $28 ; 2 refs; reads=2 writes=0; used at $E033, E035
|
|
Zp32 = $32 ; 116 refs; reads=65 writes=51; used at $BADF, BAE9, BB04, BB0E, +109 more
|
|
Zp33 = $33 ; 110 refs; reads=70 writes=40; used at $BB4E, BBB1, BBBB, BCAA, +95 more
|
|
Zp34 = $34 ; 143 refs; reads=98 writes=45; used at $BB5B, BB70, BBB5, BBBF, +114 more
|
|
Zp35 = $35 ; 31 refs; reads=22 writes=9; used at $BB21, BEC4, BECA, BED0, +22 more
|
|
Zp36 = $36 ; 170 refs; reads=117 writes=53; used at $B0D7, B0E3, B117, B168, +148 more
|
|
Zp37 = $37 ; 36 refs; reads=31 writes=5; used at $B0F5, B140, BC48, BCBB, +32 more
|
|
Zp38 = $38 ; 6 refs; reads=4 writes=2; used at $BCCF, C6DA, C6E6, C7CE, +1 more
|
|
Zp39 = $39 ; 11 refs; reads=5 writes=6; used at $BB3A, BCD3, C73D, C73F, +5 more
|
|
Zp3A = $3A ; 7 refs; reads=3 writes=4; used at $BB36, BCDF, C6F9, C733, +3 more
|
|
Zp3B = $3B ; 33 refs; reads=23 writes=10; used at $B0F1, B13C, B89F, BD74, +29 more
|
|
Zp3C = $3C ; 29 refs; reads=22 writes=7; used at $BD88, C70C, C83F, C8E0, +23 more
|
|
Zp3D = $3D ; 26 refs; reads=20 writes=6; used at $C710, C84B, C8FC, C98F, +21 more
|
|
Zp3E = $3E ; 21 refs; reads=17 writes=4; used at $B0ED, B138, BA89, BAF9, +17 more
|
|
Zp3F = $3F ; 4 refs; reads=1 writes=3; used at $BB7A, D4C2, D5F9, E36C
|
|
Zp40 = $40 ; 11 refs; reads=8 writes=3; used at $BB7E, D4AF, D4F3, D52C, +6 more
|
|
Zp41 = $41 ; 46 refs; reads=38 writes=8; used at $B7C9, B7D4, BA75, BEB8, +42 more
|
|
Zp42 = $42 ; 7 refs; reads=4 writes=3; used at $C1FC, C23F, D286, D927, +3 more
|
|
Zp43 = $43 ; 7 refs; reads=5 writes=2; used at $C1D0, C1F8, D288, D8F5, +2 more
|
|
Zp44 = $44 ; 5 refs; reads=2 writes=3; used at $D28C, D8F1, D925, D938
|
|
Zp45 = $45 ; 3 refs; reads=2 writes=1; used at $AFA4, C290, EBF0
|
|
Zp46 = $46 ; 2 refs; reads=1 writes=1; used at $AFA6, EC31
|
|
Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $AFA8, EC1F
|
|
Zp4A = $4A ; 1 refs; reads=1 writes=0; used at $C298
|
|
Zp4C = $4C ; 1 refs; reads=1 writes=0; used at $E04B
|
|
Zp4F = $4F ; 2 refs; reads=0 writes=2; used at $AA4C, AFE0
|
|
Zp50 = $50 ; 5 refs; reads=3 writes=2; used at $AA52, AFE4, B8BA, E03B, +1 more
|
|
Zp55 = $55 ; 2 refs; reads=1 writes=1; used at $AFAC, EC17
|
|
Zp56 = $56 ; 2 refs; reads=1 writes=1; used at $AFAE, EC33
|
|
Zp57 = $57 ; 2 refs; reads=1 writes=1; used at $AFB0, EC21
|
|
Zp5A = $5A ; 2 refs; reads=2 writes=0; used at $E03F, E041
|
|
Zp64 = $64 ; 1 refs; reads=1 writes=0; used at $E043
|
|
Zp65 = $65 ; 7 refs; reads=4 writes=3; used at $BB76, D5CC, D5D0, D5E8, +2 more
|
|
Zp66 = $66 ; 4 refs; reads=2 writes=2; used at $BB57, BB6E, BB84, E35B
|
|
Zp67 = $67 ; 4 refs; reads=2 writes=2; used at $BB67, BB72, BB95, E35D
|
|
Zp68 = $68 ; 1 refs; reads=0 writes=1; used at $BB82
|
|
Zp69 = $69 ; 2 refs; reads=1 writes=1; used at $BD19, DC2C
|
|
Zp6A = $6A ; 2 refs; reads=1 writes=1; used at $BD17, DC2A
|
|
Zp6B = $6B ; 3 refs; reads=2 writes=1; used at $BB9D, E365, F260
|
|
Zp6C = $6C ; 3 refs; reads=2 writes=1; used at $BB9F, E367, F262
|
|
Zp6D = $6D ; 6 refs; reads=3 writes=3; used at $BBF9, BCED, BDFD, BE01, +2 more
|
|
Zp6E = $6E ; 6 refs; reads=3 writes=3; used at $BCEF, BDF9, BE37, BE3C, +1 more
|
|
Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $BCF1, BE22, BE40
|
|
Zp70 = $70 ; 10 refs; reads=5 writes=5; used at $BBFD, BC21, BCF3, C03C, +6 more
|
|
Zp71 = $71 ; 9 refs; reads=4 writes=5; used at $BCF5, C038, C07B, C080, +3 more
|
|
Zp72 = $72 ; 3 refs; reads=1 writes=2; used at $BCF7, C3EC, C40A
|
|
Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $AA24, AA56
|
|
Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $AA2A, AA5A
|
|
Zp75 = $75 ; 2 refs; reads=1 writes=1; used at $AA30, AA5E
|
|
Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $AA36, AA62
|
|
Zp77 = $77 ; 4 refs; reads=3 writes=1; used at $AA46, AAC9, ACA3, ACB7
|
|
Zp78 = $78 ; 3 refs; reads=1 writes=2; used at $AA66, B1FA, E047
|
|
Zp79 = $79 ; 5 refs; reads=1 writes=4; used at $AA68, AAF3, AC83, ADE0, +1 more
|
|
Zp7A = $7A ; 2 refs; reads=0 writes=2; used at $AA72, AD10
|
|
Zp7B = $7B ; 41 refs; reads=40 writes=1; used at $AC87, ADA3, ADA9, ADDA, +37 more
|
|
Zp7D = $7D ; 3 refs; reads=1 writes=2; used at $AA3E, F21E, F222
|
|
Zp7E = $7E ; 3 refs; reads=1 writes=2; used at $AA42, F215, F224
|
|
Zp82 = $82 ; 1 refs; reads=1 writes=0; used at $E049
|
|
Zp83 = $83 ; 16 refs; reads=11 writes=5; used at $AA4A, ADD8, ADF3, AFDE, +12 more
|
|
Zp84 = $84 ; 12 refs; reads=7 writes=5; used at $AA50, ADD3, ADF7, AFE2, +8 more
|
|
Zp85 = $85 ; 56 refs; reads=55 writes=1; used at $B0DF, BADD, BB0C, BB1F, +52 more
|
|
Zp86 = $86 ; 50 refs; reads=49 writes=1; used at $B0EB, BAE7, BB02, BB40, +46 more
|
|
Zp87 = $87 ; 16 refs; reads=12 writes=4; used at $AD9D, B2D1, B7DF, B7E5, +9 more
|
|
Zp88 = $88 ; 16 refs; reads=11 writes=5; used at $AD9F, B6CB, B730, B74C, +8 more
|
|
Zp89 = $89 ; 8 refs; reads=5 writes=3; used at $BCE1, BCE5, BDCF, BDEA, +3 more
|
|
Zp8A = $8A ; 4 refs; reads=1 writes=3; used at $ADA1, B21F, F238, F2CC
|
|
Zp8B = $8B ; 7 refs; reads=1 writes=6; used at $AFB4, B0C8, B1D4, BFA2, +3 more
|
|
Zp8C = $8C ; 8 refs; reads=3 writes=5; used at $D97C, D987, D993, D99D, +2 more
|
|
Zp8D = $8D ; 4 refs; reads=2 writes=2; used at $E938, E93D, E953
|
|
Zp8E = $8E ; 42 refs; reads=13 writes=29; used at $DA58, DB0E, DB5F, DB67, +28 more
|
|
Zp8F = $8F ; 33 refs; reads=19 writes=14; used at $D38D, D3C3, EADE, EB6A, +27 more
|
|
Zp90 = $90 ; 42 refs; reads=24 writes=18; used at $EAE0, EB4E, EB53, EB84, +36 more
|
|
Zp91 = $91 ; 25 refs; reads=2 writes=23; used at $DA5C, DA6F, DB12, DB7C, +21 more
|
|
Zp92 = $92 ; 7 refs; reads=3 writes=4; used at $DA60, DA73, DB10, DF7B, +3 more
|
|
Zp93 = $93 ; 6 refs; reads=3 writes=3; used at $C0FD, ECFA, ED04, ED06, +1 more
|
|
Zp94 = $94 ; 6 refs; reads=2 writes=4; used at $C117, C1B1, EC4F, EC7B, +2 more
|
|
Zp95 = $95 ; 53 refs; reads=29 writes=24; used at $BBBD, BBDB, BC4A, BC57, +48 more
|
|
Zp96 = $96 ; 120 refs; reads=68 writes=52; used at $BBC1, BBEA, BC0B, BC34, +100 more
|
|
Zp97 = $97 ; 48 refs; reads=22 writes=26; used at $BBB3, BBE1, BC4C, BC50, +43 more
|
|
Zp98 = $98 ; 116 refs; reads=61 writes=55; used at $BBB7, BBF0, BC0D, BC32, +96 more
|
|
Zp99 = $99 ; 3 refs; reads=1 writes=2; used at $D187, D1D1, D1F9
|
|
Zp9A = $9A ; 3 refs; reads=1 writes=2; used at $D189, D1D3, D20B
|
|
Zp9B = $9B ; 3 refs; reads=2 writes=1; used at $C7B5, CB68, E230
|
|
Zp9C = $9C ; 3 refs; reads=1 writes=2; used at $C7B7, CB44
|
|
Zp9D = $9D ; 8 refs; reads=4 writes=4; used at $C908, C90F, C924, C92E, +3 more
|
|
Zp9E = $9E ; 8 refs; reads=4 writes=4; used at $C90A, C94F, C964, C96E, +3 more
|
|
Zp9F = $9F ; 12 refs; reads=1 writes=11; used at $BC5F, C722, C854, C9AB, +8 more
|
|
ZpA0 = $A0 ; 4 refs; reads=2 writes=2; used at $B172, B193, B19E
|
|
ZpA1 = $A1 ; 7 refs; reads=5 writes=2; used at $BA7F, BD32, BF06, C208, +3 more
|
|
ZpA2 = $A2 ; 9 refs; reads=4 writes=5; used at $CEA4, CEE6, CEE8, D6BC, +5 more
|
|
ZpA3 = $A3 ; 9 refs; reads=3 writes=6; used at $BEA1, BFE1, C107, C377, +5 more
|
|
ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $BC69, E1F9
|
|
ZpA5 = $A5 ; 4 refs; reads=2 writes=2; used at $D510, D517, D757
|
|
ZpA6 = $A6 ; 3 refs; reads=2 writes=1; used at $D506, D51B
|
|
ZpA7 = $A7 ; 3 refs; reads=1 writes=2; used at $BAD2, BB3E, BCE9
|
|
ZpA8 = $A8 ; 4 refs; reads=2 writes=2; used at $8787, DA42, E334
|
|
ZpA9 = $A9 ; 2 refs; reads=1 writes=1; used at $DAF8, E2FE
|
|
ZpAA = $AA ; 5 refs; reads=3 writes=2; used at $AFB8, AFDC, B9C0, E1C1, +1 more
|
|
ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $D4F9, D522
|
|
ZpAC = $AC ; 35 refs; reads=30 writes=5; used at $AC7F, BACF, BE19, C06A, +26 more
|
|
ZpAD = $AD ; 5 refs; reads=4 writes=1; used at $E6FF, E732, E743, E750
|
|
ZpAE = $AE ; 3 refs; reads=2 writes=1; used at $E875, E890
|
|
ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $AA74, E9C8, EA64, F2CE
|
|
ZpB0 = $B0 ; 8 refs; reads=4 writes=4; used at $B0C1, B1EB, B1ED, BA93, +3 more
|
|
ZpB1 = $B1 ; 10 refs; reads=4 writes=6; used at $AA6A, AAF5, AD0C, AD15, +6 more
|
|
ZpB2 = $B2 ; 12 refs; reads=7 writes=5; used at $AA6C, AAF7, AD25, AD2B, +7 more
|
|
ZpB3 = $B3 ; 11 refs; reads=6 writes=5; used at $AA6E, AAF9, AD1F, AD37, +5 more
|
|
ZpB4 = $B4 ; 4 refs; reads=1 writes=3; used at $AA70, AAFB, DBC8, DBE5
|
|
ZpB8 = $B8 ; 2 refs; reads=1 writes=1; used at $B7C7
|
|
ZpC4 = $C4 ; 2 refs; reads=1 writes=1; used at $878B
|
|
ZpD0 = $D0 ; 9 refs; reads=4 writes=5; used at $9C22, 9DDE, 9DF6, 9DF9, +5 more
|
|
ZpD1 = $D1 ; 41 refs; reads=33 writes=8; used at $9E09, 9E12, 9E54, 9E6C, +37 more
|
|
ZpD2 = $D2 ; 14 refs; reads=6 writes=8; used at $9E0E, 9F62, 9F83, 9F87, +10 more
|
|
ZpD7 = $D7 ; 4 refs; reads=1 writes=3; used at $A11F, A129, A12E, A361
|
|
ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $A123, A366
|
|
ZpD9 = $D9 ; 4 refs; reads=2 writes=2; used at $9F25, 9F2C, A02F, A03F
|
|
ZpDA = $DA ; 4 refs; reads=2 writes=2; used at $9F2A, 9F31, 9F36, 9F3B
|
|
ZpDB = $DB ; 2 refs; reads=1 writes=1; used at $A199, A19E
|
|
ZpDC = $DC ; 4 refs; reads=2 writes=2; used at $9E14, 9E16, A144, A14B
|
|
ZpDE = $DE ; 2 refs; reads=1 writes=1; used at $A08B, A0D6
|
|
ZpDF = $DF ; 7 refs; reads=3 writes=4; used at $A09D, A0AE, A0B8, A0D4, +2 more
|
|
ZpE0 = $E0 ; 6 refs; reads=3 writes=3; used at $A0A6, A0AC, A0B3, A0E7, +1 more
|
|
ZpE1 = $E1 ; 3 refs; reads=2 writes=1; used at $9FEB, A0BD, A0EE
|
|
ZpE2 = $E2 ; 9 refs; reads=7 writes=2; used at $9F6D, 9F78, 9F8B, 9F95, +5 more
|
|
ZpE3 = $E3 ; 12 refs; reads=6 writes=6; used at $9F6B, 9F90, A003, A0FC, +8 more
|
|
ZpF0 = $F0 ; 5 refs; reads=3 writes=2; used at $8007, 801A, 8029, 802F
|
|
ZpF1 = $F1 ; 4 refs; reads=2 writes=2; used at $800C, 802D, 8035
|
|
ZpF2 = $F2 ; 2 refs; reads=1 writes=1; used at $8011, 8031
|
|
ZpF3 = $F3 ; 2 refs; reads=1 writes=1; used at $8016, 8037
|
|
ZpF4 = $F4 ; 2 refs; reads=1 writes=1; used at $8022, 803B
|
|
ZpFF = $FF ; 1 refs; reads=1 writes=0; used at $B8BC
|
|
|
|
; Pass 3 semantic aliases (proven from the disassembly):
|
|
PpuCtrlShadow = Zp0D
|
|
PpuMaskShadow = Zp0E
|
|
GameState = Zp36
|
|
PlayerState = Zp1A
|
|
PlayerX = Zp33
|
|
PlayerY = Zp34
|
|
PlayerTile = Zp32
|
|
SpriteX = Zp96
|
|
SpriteY = Zp98
|
|
WrestlerIndex = Zp85
|
|
WrestlerIndex2 = Zp86
|
|
RingPtrLo = ZpD1
|
|
RingPtrHi = ZpD2
|
|
HandlerPtrLo = ZpD7
|
|
HandlerPtrHi = ZpD8
|
|
RingEntrancePtrLo = ZpF0
|
|
RingEntrancePtrHi = ZpF1
|
|
RingEntrancePtr2Lo = ZpF2
|
|
RingEntrancePtr2Hi = ZpF3
|
|
TimerIndex = ZpDA
|