Files
disasm/NROM/Elevator Action (U)/locals.inc
T
tmerritt 6740550ac0 CDL re-trace: 1942 (JU) 46.6%, Galaga (U) 32.3% (Pass 2/3 complete)
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
2026-10-21 16:43:54 -04:00

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