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
138 lines
10 KiB
PHP
138 lines
10 KiB
PHP
; Elevator Action (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 ; 11 refs; reads=8 writes=3; used at $8057, 8266, 8283, 828E, +7 more
|
|
Zp02 = $02 ; 17 refs; reads=10 writes=7; used at $8156, 8169, 816D, 822E, +13 more
|
|
Zp03 = $03 ; 4 refs; reads=1 writes=3; used at $825D, 8290, 82B3, 8323
|
|
Zp16 = $16 ; 21 refs; reads=11 writes=10; used at $B510, B512, B514, B516, +7 more
|
|
Zp38 = $38 ; 3 refs; reads=1 writes=2; used at $815B, 815F, 829A
|
|
Zp39 = $39 ; 3 refs; reads=1 writes=2; used at $8161, 8165, 829E
|
|
Zp59 = $59 ; 3 refs; reads=3 writes=0; used at $F63C, F640, F64A
|
|
Zp5A = $5A ; 4 refs; reads=4 writes=0; used at $F63E, F642, F644, F648
|
|
Zp5B = $5B ; 1 refs; reads=1 writes=0; used at $F646
|
|
Zp60 = $60 ; 3 refs; reads=2 writes=1; used at $B58F, B593
|
|
Zp61 = $61 ; 1 refs; reads=1 writes=0; used at $B58D
|
|
Zp6E = $6E ; 7 refs; reads=5 writes=2; used at $814C, 8311, 831C, F608, +2 more
|
|
Zp6F = $6F ; 91 refs; reads=33 writes=58; used at $8298, 85B3, 85B9, 8620, +82 more
|
|
Zp70 = $70 ; 109 refs; reads=36 writes=73; used at $829C, 84B2, 84BA, 8521, +95 more
|
|
Zp71 = $71 ; 128 refs; reads=49 writes=79; used at $8240, 824A, 8250, 8256, +120 more
|
|
Zp72 = $72 ; 94 refs; reads=28 writes=66; used at $8244, 8503, 8507, 8510, +84 more
|
|
Zp73 = $73 ; 374 refs; reads=133 writes=241; used at $802F, 8031, 8336, 8343, +347 more
|
|
Zp74 = $74 ; 296 refs; reads=73 writes=223; used at $802B, 8036, 8038, 8348, +267 more
|
|
Zp75 = $75 ; 11 refs; reads=7 writes=4; used at $8226, 822C, 8271, 8277, +7 more
|
|
Zp76 = $76 ; 10 refs; reads=7 writes=3; used at $84C0, 84F3, 8583, 858F, +5 more
|
|
Zp77 = $77 ; 5 refs; reads=2 writes=3; used at $84C4, 85E0, 85E4, 85FF
|
|
Zp78 = $78 ; 12 refs; reads=4 writes=8; used at $84C8, 84D3, 857C, 8585, +8 more
|
|
Zp79 = $79 ; 4 refs; reads=2 writes=2; used at $84CC, 84D7, 85CA, 85CE
|
|
Zp7A = $7A ; 4 refs; reads=2 writes=2; used at $8543, 8596, 8602
|
|
Zp7B = $7B ; 3 refs; reads=1 writes=2; used at $8548, 8606
|
|
Zp7C = $7C ; 5 refs; reads=3 writes=2; used at $856A, 8580, 858A, 8609
|
|
Zp7D = $7D ; 3 refs; reads=1 writes=2; used at $856F, 860D
|
|
Zp7E = $7E ; 14 refs; reads=4 writes=10; used at $978E, 9790, 9794, 9796, +6 more
|
|
Zp7F = $7F ; 1 refs; reads=0 writes=1; used at $9C5D
|
|
Zp80 = $80 ; 3 refs; reads=1 writes=2; used at $80F5, 812A, 9C61
|
|
Zp81 = $81 ; 5 refs; reads=1 writes=4; used at $80E7, 80F3, 8123, 9E9F
|
|
Zp82 = $82 ; 12 refs; reads=5 writes=7; used at $80B8, 80D0, 8105, 811A, +8 more
|
|
Zp83 = $83 ; 10 refs; reads=3 writes=7; used at $80BE, 80E0, 80E2, 80E5, +5 more
|
|
Zp85 = $85 ; 8 refs; reads=4 writes=4; used at $80B2, 80D6, F779, F787, +3 more
|
|
Zp86 = $86 ; 8 refs; reads=4 writes=4; used at $F816, F81E, F824, F831, +2 more
|
|
Zp87 = $87 ; 13 refs; reads=8 writes=5; used at $F796, F7B2, F7C8, F7CD, +7 more
|
|
Zp88 = $88 ; 16 refs; reads=8 writes=8; used at $806A, 808E, 8095, 8136, +12 more
|
|
Zp89 = $89 ; 2 refs; reads=1 writes=1; used at $8063, 813B
|
|
Zp8E = $8E ; 3 refs; reads=1 writes=2; used at $812C, 9EB2, BDD2
|
|
Zp8F = $8F ; 15 refs; reads=9 writes=6; used at $8131, 9EB4, A490, A499, +11 more
|
|
Zp94 = $94 ; 4 refs; reads=1 writes=3; used at $81E7, 81F1, 81F8, 8203
|
|
Zp95 = $95 ; 8 refs; reads=4 writes=4; used at $81FD, 8200, 8209, 820B, +3 more
|
|
Zp96 = $96 ; 15 refs; reads=13 writes=2; used at $820F, 8213, 9D95, 9DC7, +11 more
|
|
Zp97 = $97 ; 2 refs; reads=0 writes=2; used at $8215, 8221
|
|
Zp98 = $98 ; 1 refs; reads=1 writes=0; used at $BFFA
|
|
Zp9A = $9A ; 2 refs; reads=1 writes=1; used at $8081, 81DA
|
|
Zp9B = $9B ; 2 refs; reads=1 writes=1; used at $8083, 81D8
|
|
Zp9C = $9C ; 2 refs; reads=1 writes=1; used at $8085, 81D6
|
|
Zp9D = $9D ; 2 refs; reads=1 writes=1; used at $8141, 8178
|
|
Zp9E = $9E ; 4 refs; reads=3 writes=1; used at $8180, 8182, 8188
|
|
Zp9F = $9F ; 10 refs; reads=5 writes=5; used at $C1E2, C264, C372, C39A, +6 more
|
|
ZpA0 = $A0 ; 10 refs; reads=4 writes=6; used at $C1E0, C262, C378, CED3, +6 more
|
|
ZpA1 = $A1 ; 41 refs; reads=23 writes=18; used at $A8FC, A93D, A947, A95B, +37 more
|
|
ZpA2 = $A2 ; 32 refs; reads=16 writes=16; used at $A904, A945, A94B, A960, +28 more
|
|
ZpA3 = $A3 ; 19 refs; reads=11 writes=8; used at $A914, A94F, A954, A975, +12 more
|
|
ZpA4 = $A4 ; 6 refs; reads=1 writes=5; used at $C396, CEAC, CEE3, CFEE, +1 more
|
|
ZpA5 = $A5 ; 2 refs; reads=1 writes=1; used at $BB30, EF6E
|
|
ZpA6 = $A6 ; 1 refs; reads=0 writes=1; used at $BB34
|
|
ZpA7 = $A7 ; 4 refs; reads=1 writes=3; used at $F650, F674, F89D, F986
|
|
ZpA8 = $A8 ; 1 refs; reads=0 writes=1; used at $F654
|
|
ZpA9 = $A9 ; 38 refs; reads=12 writes=26; used at $F658, F683, F732, F73C, +34 more
|
|
ZpAA = $AA ; 1 refs; reads=0 writes=1; used at $F65C
|
|
ZpAB = $AB ; 3 refs; reads=2 writes=1; used at $F661, FA24, FA35
|
|
ZpAC = $AC ; 1 refs; reads=0 writes=1; used at $F666
|
|
ZpAD = $AD ; 5 refs; reads=1 writes=4; used at $F66A, F876, F880, F882
|
|
ZpAE = $AE ; 1 refs; reads=0 writes=1; used at $F66E
|
|
ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $F761, F783, F802
|
|
ZpB0 = $B0 ; 4 refs; reads=1 writes=3; used at $F766, F781, F804
|
|
ZpB1 = $B1 ; 4 refs; reads=1 writes=3; used at $F76B, F77F, F806
|
|
ZpB2 = $B2 ; 4 refs; reads=1 writes=3; used at $F770, F77D, F808
|
|
ZpB3 = $B3 ; 12 refs; reads=8 writes=4; used at $F775, F77B, F88F, F89B, +7 more
|
|
ZpB4 = $B4 ; 28 refs; reads=23 writes=5; used at $F7D6, F7F0, F80A, F843, +24 more
|
|
ZpB5 = $B5 ; 12 refs; reads=5 writes=7; used at $F810, F859, F862, F868, +7 more
|
|
ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $F80C, F8F4, F8FE, F911, +3 more
|
|
ZpB7 = $B7 ; 67 refs; reads=31 writes=36; used at $845E, 8488, 9A60, 9B11, +63 more
|
|
ZpB8 = $B8 ; 2 refs; reads=0 writes=2; used at $9E80, 9F4A
|
|
ZpB9 = $B9 ; 2 refs; reads=0 writes=2; used at $9D7C, A10B
|
|
ZpBA = $BA ; 2 refs; reads=0 writes=2; used at $9E82, 9F4C
|
|
ZpBB = $BB ; 2 refs; reads=0 writes=2; used at $9D7E, A175
|
|
ZpBC = $BC ; 2 refs; reads=0 writes=2; used at $9E84, 9F4E
|
|
ZpBD = $BD ; 7 refs; reads=1 writes=6; used at $9D80, A1DF, C00E, C01E, +3 more
|
|
ZpBE = $BE ; 50 refs; reads=28 writes=22; used at $9E86, 9F50, A5A9, A5AF, +46 more
|
|
ZpBF = $BF ; 5 refs; reads=0 writes=5; used at $9D67, 9DAC, 9E88, E380, +1 more
|
|
ZpC3 = $C3 ; 4 refs; reads=0 writes=4; used at $BF00, BF74, C137, C149
|
|
ZpC8 = $C8 ; 79 refs; reads=60 writes=19; used at $847B, 84A5, 97FE, 9854, +72 more
|
|
ZpC9 = $C9 ; 1 refs; reads=0 writes=1; used at $9F62
|
|
ZpCB = $CB ; 1 refs; reads=0 writes=1; used at $9F66
|
|
ZpCD = $CD ; 1 refs; reads=0 writes=1; used at $9F6A
|
|
ZpCE = $CE ; 3 refs; reads=0 writes=3; used at $C02B, D4A7, D5CA
|
|
ZpCF = $CF ; 37 refs; reads=23 writes=14; used at $9F6E, BECA, BEDF, BEEA, +28 more
|
|
ZpD0 = $D0 ; 2 refs; reads=0 writes=2; used at $9DB8, E391
|
|
ZpD4 = $D4 ; 6 refs; reads=2 writes=4; used at $BF04, BF1C, BF1E, D8D1
|
|
ZpD9 = $D9 ; 18 refs; reads=10 writes=8; used at $9801, 9803, 9A51, 9A53, +14 more
|
|
ZpE0 = $E0 ; 10 refs; reads=1 writes=9; used at $D7BB, D7D1, D915, DAAD, +6 more
|
|
ZpE5 = $E5 ; 44 refs; reads=37 writes=7; used at $9807, 980C, 9848, 9897, +36 more
|
|
ZpEB = $EB ; 2 refs; reads=0 writes=2; used at $C022, D4A3
|
|
ZpEC = $EC ; 21 refs; reads=16 writes=5; used at $BEB7, C052, C0D6, C8AA, +17 more
|
|
ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $81C0, 81C5
|
|
ZpF7 = $F7 ; 12 refs; reads=10 writes=2; used at $81C7, 81CB, BE76, D5D3, +8 more
|
|
ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $C09B, E359
|
|
ZpF9 = $F9 ; 3 refs; reads=1 writes=2; used at $DE0D, DE13, DE34
|
|
ZpFA = $FA ; 10 refs; reads=1 writes=9; used at $8087, 830C, 8451, 8458, +6 more
|
|
ZpFB = $FB ; 5 refs; reads=3 writes=2; used at $C83A, C9ED, C9F3, CF7F
|
|
ZpFC = $FC ; 2 refs; reads=1 writes=1; used at $9E32, 9E4F
|
|
ZpFD = $FD ; 5 refs; reads=2 writes=3; used at $BFC4, BFD7, BFE1, BFE6
|
|
ZpFE = $FE ; 4 refs; reads=2 writes=2; used at $BFD0, BFDB, BFE4, BFE8
|
|
ZpFF = $FF ; 2 refs; reads=2 writes=0; used at $F638, F64C
|
|
|
|
; Pass 3 semantic aliases (proven from the disassembly):
|
|
PpuCtrlShadow = Zp88
|
|
NmiSaveA = Zp9A
|
|
NmiSaveX = Zp9B
|
|
NmiSaveY = Zp9C
|
|
NmiFrameFlag = ZpFA
|
|
VramWritePtrLo = Zp73
|
|
VramWritePtrHi = Zp74
|
|
OamShadowPtrLo = Zp71
|
|
OamShadowPtrHi = Zp72
|
|
PlayerSpriteX = Zp6F
|
|
PlayerSpriteY = Zp70
|
|
SpriteIndex = ZpB7
|
|
SpriteYPosition= ZpC8
|
|
ElevatorSpeed = Zp00
|
|
ElevatorStateFlags = Zp02
|
|
ElevatorStateBackup = Zp03
|
|
ElevatorSpriteY = Zp38
|
|
ElevatorSpriteX = Zp39
|
|
GameState = ZpA9
|
|
TimerIndex = ZpB4
|
|
HandlerPtrLo = ZpB5
|
|
HandlerPtrHi = ZpB6
|