Files
disasm/NROM/Kung Fu (U)/locals.inc
T
tmerritt 0a49ee6da7 Pass 2 _wip: Slalom (U), Kung Fu (U), Othello (U) label replacement complete
Pass 3 _wip: Slalom (U), Kung Fu (U), Othello (U) semantic naming complete
Pass 3 _wip: apply symbols (0 residue) for Slalom (U), Kung Fu (U), Othello (U)
Pass 2/3 _wip: 10 NROM projects (Elevator Action, 1942, Tag Team Wrestling, Galaga, Kung Fu a1, Stack-Up, Magmax, Ms Pac-Man Namco, Soccer, Sqoon)
Promote 13 _wip/NROM projects to NROM/ (Slalom, Kung Fu, Othello, Elevator Action, 1942, Tag Team Wrestling, Galaga, Kung Fu a1, Stack-Up, Magmax, Ms Pac-Man Namco, Soccer, Sqoon)
Pass 2/3 _wip: 5 CNROM games (Tiger-Heli, Paperboy, Last Starfighter, Mighty Bomb Jack, Kung-Fu Heroes)
Docs: document CDL capture + re-trace workflow in TODO.md
Adds more code for
 - Elevator Action (U)
 - Kung Fu (U)
 - Othello (U)
 - Slalom (U)
 - Sqoon (U)
2026-10-21 14:42:00 -04:00

164 lines
14 KiB
PHP

; Kung Fu (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 ; 167 refs; reads=80 writes=87; used at $8274, 8277, 8287, 82AA, +155 more
Zp01 = $01 ; 114 refs; reads=47 writes=67; used at $8270, 827C, 8282, 828C, +96 more
Zp02 = $02 ; 78 refs; reads=36 writes=42; used at $83BF, 83CD, 83D2, 8F25, +62 more
Zp03 = $03 ; 57 refs; reads=25 writes=32; used at $83C5, 8ED0, 8F08, 8F0D, +50 more
Zp04 = $04 ; 34 refs; reads=14 writes=20; used at $8FD3, AA01, AA0D, AAC6, +26 more
Zp05 = $05 ; 35 refs; reads=17 writes=18; used at $8ED6, 8F39, A6EB, A6F6, +28 more
Zp06 = $06 ; 27 refs; reads=11 writes=16; used at $8F27, 8F4B, A5D3, A5DE, +23 more
Zp07 = $07 ; 25 refs; reads=14 writes=11; used at $8ED2, 8EEC, 8EF2, 8F0A, +20 more
Zp08 = $08 ; 9 refs; reads=4 writes=5; used at $8F0F, 8F11, 8F4D, B323, +3 more
Zp0A = $0A ; 39 refs; reads=19 writes=20; used at $8F1F, 8F47, B212, B637, +32 more
Zp0B = $0B ; 9 refs; reads=3 writes=6; used at $B699, B6C0, B6C2, BFCE, +5 more
Zp0D = $0D ; 8 refs; reads=4 writes=4; used at $C141, C14D, C152, C15E, +4 more
Zp0E = $0E ; 7 refs; reads=3 writes=4; used at $B724, B73F, B780, C15A, +3 more
Zp0F = $0F ; 24 refs; reads=13 writes=11; used at $B3ED, B3F8, B3FA, B728, +19 more
Zp10 = $10 ; 11 refs; reads=6 writes=5; used at $82D6, 82DD, 838A, 8E18, +7 more
Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $8304, 830B
Zp12 = $12 ; 14 refs; reads=12 writes=2; used at $8E88, 8FBA, A74D, A7A7, +10 more
Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $8FBF
Zp14 = $14 ; 6 refs; reads=5 writes=1; used at $836C, 8471, 87B1, 9008, +2 more
Zp15 = $15 ; 4 refs; reads=2 writes=2; used at $88E4, 9012, 9019, 902F
Zp18 = $18 ; 11 refs; reads=7 writes=4; used at $833B, 834B, 84EA, AA91, +4 more
Zp19 = $19 ; 7 refs; reads=6 writes=1; used at $8341, 834D, AB92, AC15, +2 more
Zp1A = $1A ; 4 refs; reads=3 writes=1; used at $834F, C58F, D018
Zp1B = $1B ; 3 refs; reads=2 writes=1; used at $8351, A9DE
Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $8353
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $8355
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $8357
Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $8359
Zp20 = $20 ; 5 refs; reads=1 writes=4; used at $8323, 8329, 837F, 84D4
Zp21 = $21 ; 14 refs; reads=5 writes=9; used at $832D, 8331, A4FD, A535, +9 more
Zp23 = $23 ; 4 refs; reads=3 writes=1; used at $A486, A82B, A866, A86D
Zp24 = $24 ; 2 refs; reads=1 writes=1; used at $A503, A80F
Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $C1C6, C1CB
Zp27 = $27 ; 1 refs; reads=1 writes=0; used at $9808
Zp2A = $2A ; 2 refs; reads=1 writes=1; used at $A76B, A78A
Zp2B = $2B ; 7 refs; reads=3 writes=4; used at $B1F6, B1FC, BDF1, BDFD, +3 more
Zp30 = $30 ; 7 refs; reads=4 writes=3; used at $D02F, D475, D4E7, D4EE, +3 more
Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $8DD1, A9BF, AACC
Zp34 = $34 ; 2 refs; reads=1 writes=1; used at $D792, D79C
Zp35 = $35 ; 4 refs; reads=1 writes=3; used at $837C, 83B4, 84B8, 88BD
Zp36 = $36 ; 4 refs; reads=1 writes=3; used at $8463, 8859, 88A4, B262
Zp38 = $38 ; 1 refs; reads=0 writes=1; used at $A70A
Zp39 = $39 ; 1 refs; reads=0 writes=1; used at $8DD5
Zp3B = $3B ; 3 refs; reads=2 writes=1; used at $A72F, AA05, AAC0
Zp3C = $3C ; 1 refs; reads=0 writes=1; used at $D428
Zp3D = $3D ; 1 refs; reads=0 writes=1; used at $AC27
Zp3E = $3E ; 2 refs; reads=1 writes=1; used at $C7C1, C7C7
Zp3F = $3F ; 7 refs; reads=3 writes=4; used at $B2AA, BEE8, BEF8, BF5A, +3 more
Zp44 = $44 ; 2 refs; reads=0 writes=2; used at $D599, D5BA
Zp47 = $47 ; 3 refs; reads=1 writes=2; used at $8DDE, CD07, CD13
Zp49 = $49 ; 6 refs; reads=4 writes=2; used at $8336, 84D6, 881D, 8A07, +1 more
Zp4A = $4A ; 5 refs; reads=2 writes=3; used at $84D8, A9C3, A9C7, AAE7
Zp4B = $4B ; 19 refs; reads=10 writes=9; used at $8A27, 8A32, 8A46, B332, +15 more
Zp4C = $4C ; 21 refs; reads=11 writes=10; used at $8A29, 8A51, 8A65, B51C, +17 more
Zp4D = $4D ; 5 refs; reads=3 writes=2; used at $8A2B, 8A70, 8A84, BA54, +1 more
Zp4E = $4E ; 8 refs; reads=4 writes=4; used at $8A05, 8A2E, 8A4A, 8A4D, +4 more
Zp4F = $4F ; 5 refs; reads=2 writes=3; used at $83C7, 83C9, 8720, 88C3
Zp50 = $50 ; 4 refs; reads=2 writes=2; used at $8300, 8392, 871D, 88C1
Zp51 = $51 ; 11 refs; reads=7 writes=4; used at $8396, 83A1, 83B8, 84BD, +5 more
Zp52 = $52 ; 13 refs; reads=2 writes=11; used at $82EE, 8315, 8429, 8578, +9 more
Zp53 = $53 ; 11 refs; reads=10 writes=1; used at $8496, AC20, BFE4, C3C2, +7 more
Zp54 = $54 ; 8 refs; reads=6 writes=2; used at $8459, 8487, 8489, 848D, +3 more
Zp55 = $55 ; 10 refs; reads=8 writes=2; used at $8440, 87AD, 886C, 8880, +6 more
Zp56 = $56 ; 1 refs; reads=0 writes=1; used at $8432
Zp57 = $57 ; 1 refs; reads=0 writes=1; used at $8434
Zp58 = $58 ; 2 refs; reads=1 writes=1; used at $8436, 8530
Zp59 = $59 ; 1 refs; reads=0 writes=1; used at $8438
Zp5A = $5A ; 2 refs; reads=1 writes=1; used at $8613, BA3A
Zp5B = $5B ; 2 refs; reads=1 writes=1; used at $8619, BA40
Zp5C = $5C ; 9 refs; reads=5 writes=4; used at $8445, 84AC, 8882, 88B1, +3 more
Zp5D = $5D ; 3 refs; reads=1 writes=2; used at $8447, 84B4, 88DB
Zp5E = $5E ; 1 refs; reads=1 writes=0; used at $A9F0
Zp5F = $5F ; 27 refs; reads=26 writes=1; used at $8532, 853F, 858B, 85F2, +23 more
Zp61 = $61 ; 4 refs; reads=3 writes=1; used at $8E92, A738, BACB, BAD9
Zp62 = $62 ; 8 refs; reads=3 writes=5; used at $85BA, 8EA8, A7FA, A803, +2 more
Zp63 = $63 ; 6 refs; reads=4 writes=2; used at $83DD, 8E96, A753, A75F, +2 more
Zp64 = $64 ; 8 refs; reads=4 writes=4; used at $85D3, 8E9E, A797, A7EC, +4 more
Zp65 = $65 ; 17 refs; reads=14 writes=3; used at $85A2, A734, A745, A7A3, +11 more
Zp66 = $66 ; 5 refs; reads=3 writes=2; used at $8317, A7C2, A7C4, C08E, +1 more
Zp67 = $67 ; 21 refs; reads=7 writes=14; used at $A4CA, A4FF, A509, A696, +17 more
Zp68 = $68 ; 26 refs; reads=16 writes=10; used at $87C0, 87C9, A4CD, A515, +18 more
Zp69 = $69 ; 46 refs; reads=38 writes=8; used at $85B3, 87BB, 87C5, A482, +42 more
Zp6A = $6A ; 10 refs; reads=8 writes=2; used at $87B3, 8DFC, A4C0, A4DE, +6 more
Zp6B = $6B ; 3 refs; reads=2 writes=1; used at $8560, A77A, AAE0
Zp6C = $6C ; 6 refs; reads=5 writes=1; used at $C4E5, C52A, C6FE, C72F, +2 more
Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $8430
Zp6E = $6E ; 1 refs; reads=0 writes=1; used at $B214
Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $83D9, 83E1, 88CB
Zp70 = $70 ; 3 refs; reads=2 writes=1; used at $8848, 8E61, 8E65
Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $8E3D
Zp72 = $72 ; 2 refs; reads=1 writes=1; used at $A507, A813
Zp73 = $73 ; 2 refs; reads=1 writes=1; used at $A719, A732
Zp74 = $74 ; 7 refs; reads=4 writes=3; used at $85D8, A71F, A72A, A9BD, +1 more
Zp75 = $75 ; 5 refs; reads=3 writes=2; used at $A9CA, A9FB, A9FE, AACE
Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $A9E4, AAC4
Zp77 = $77 ; 2 refs; reads=1 writes=1; used at $A9EC, AA03
Zp79 = $79 ; 6 refs; reads=3 writes=3; used at $8DE0, CD0B, CD0F, CD19, +2 more
Zp7A = $7A ; 7 refs; reads=4 writes=3; used at $C4B6, C8B2, CD6B, CFF6, +3 more
Zp7B = $7B ; 13 refs; reads=9 writes=4; used at $C147, C18F, C197, C263, +8 more
Zp7D = $7D ; 5 refs; reads=4 writes=1; used at $A49F, A4BC, A4F9, A57C, +1 more
Zp7E = $7E ; 8 refs; reads=6 writes=2; used at $85C1, A667, A7D9, ACEC, +4 more
Zp80 = $80 ; 24 refs; reads=17 writes=7; used at $A704, A996, AA2B, AAA1, +20 more
Zp82 = $82 ; 2 refs; reads=1 writes=1; used at $FFFA
Zp85 = $85 ; 4 refs; reads=3 writes=1; used at $85BE, BE0A, C88C, D487
Zp86 = $86 ; 2 refs; reads=1 writes=1; used at $8857, C505
Zp87 = $87 ; 38 refs; reads=33 writes=5; used at $A69F, A990, AA97, AB01, +34 more
Zp8C = $8C ; 8 refs; reads=7 writes=1; used at $8591, C890, C8DB, C922, +4 more
Zp8D = $8D ; 1 refs; reads=0 writes=1; used at $8595
Zp8E = $8E ; 28 refs; reads=26 writes=2; used at $A625, AD53, AE0F, AE19, +24 more
Zp93 = $93 ; 7 refs; reads=7 writes=0; used at $A670, C8E5, C8EC, CD75, +3 more
Zp94 = $94 ; 17 refs; reads=17 writes=0; used at $A627, A673, AE09, AE13, +13 more
Zp95 = $95 ; 1 refs; reads=1 writes=0; used at $BA94
Zp99 = $99 ; 2 refs; reads=2 writes=0; used at $B998, CB5B
Zp9C = $9C ; 1 refs; reads=1 writes=0; used at $B91C
Zp9F = $9F ; 21 refs; reads=17 writes=4; used at $AA2F, AD4D, AE01, B1E3, +16 more
ZpA4 = $A4 ; 6 refs; reads=6 writes=0; used at $A66B, C8A1, D492, D6BB, +2 more
ZpA6 = $A6 ; 1 refs; reads=1 writes=0; used at $BA90
ZpAA = $AA ; 2 refs; reads=2 writes=0; used at $B978, CB50
ZpAD = $AD ; 1 refs; reads=1 writes=0; used at $B8FF
ZpB0 = $B0 ; 21 refs; reads=17 writes=4; used at $AAA5, AC0F, ADC7, B313, +17 more
ZpB5 = $B5 ; 2 refs; reads=1 writes=1; used at $8587, D4A2
ZpB6 = $B6 ; 4 refs; reads=1 writes=3; used at $8589, A8CE, C521, C526
ZpB7 = $B7 ; 33 refs; reads=13 writes=20; used at $A623, A642, AD83, AE47, +27 more
ZpBC = $BC ; 3 refs; reads=1 writes=2; used at $CFFB, D490, D5CB
ZpBD = $BD ; 3 refs; reads=1 writes=2; used at $C4FF, C53F
ZpBE = $BE ; 8 refs; reads=7 writes=1; used at $852E, AAD8, AB05, AC11, +4 more
ZpC0 = $C0 ; 35 refs; reads=25 writes=10; used at $A9A4, AA9B, AD4B, AD78, +30 more
ZpC5 = $C5 ; 4 refs; reads=3 writes=1; used at $85B8, D555, D55F, D591
ZpC7 = $C7 ; 4 refs; reads=3 writes=1; used at $B2A0, B344, B4E0, C43A
ZpCE = $CE ; 18 refs; reads=10 writes=8; used at $AAB8, ABDB, AD3E, ADBF, +14 more
ZpD3 = $D3 ; 5 refs; reads=3 writes=2; used at $85CE, B24B, D42E, D583, +1 more
ZpD4 = $D4 ; 11 refs; reads=8 writes=3; used at $85E2, A81D, A81F, ABAA, +7 more
ZpD5 = $D5 ; 1 refs; reads=0 writes=1; used at $85FD
ZpD9 = $D9 ; 3 refs; reads=1 writes=2; used at $B7BA, B7BC, B7F2
ZpDC = $DC ; 1 refs; reads=0 writes=1; used at $B8C1
ZpDF = $DF ; 38 refs; reads=21 writes=17; used at $AAB0, AABC, AB99, ABB1, +25 more
ZpE4 = $E4 ; 8 refs; reads=6 writes=2; used at $85C9, B24D, D42A, D548, +4 more
ZpE5 = $E5 ; 15 refs; reads=10 writes=5; used at $85DD, A81A, A823, AB97, +7 more
ZpE6 = $E6 ; 1 refs; reads=0 writes=1; used at $8602
ZpEA = $EA ; 5 refs; reads=2 writes=3; used at $B7B7, B7C0, B7F4
ZpED = $ED ; 1 refs; reads=0 writes=1; used at $B8C3
ZpF0 = $F0 ; 8 refs; reads=4 writes=4; used at $FB6A, FBA3, FBAA, FBAC, +2 more
ZpF1 = $F1 ; 3 refs; reads=1 writes=2; used at $F8E2, F8F4, F902
ZpF2 = $F2 ; 6 refs; reads=3 writes=3; used at $F92A, F948, F95F, F96D, +2 more
ZpF3 = $F3 ; 2 refs; reads=1 writes=1; used at $FB4B, FBBC
ZpF4 = $F4 ; 5 refs; reads=3 writes=2; used at $FB8B, FC21, FC2A, FC2C
ZpF5 = $F5 ; 10 refs; reads=8 writes=2; used at $FB40, FB49, FB56, FBB6, +6 more
ZpF6 = $F6 ; 8 refs; reads=4 writes=4; used at $F889, F89C, F8A8, F8B3, +3 more
ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $FB77, FCE2
ZpF8 = $F8 ; 8 refs; reads=5 writes=3; used at $FB86, FC68, FC71, FC73, +2 more
ZpF9 = $F9 ; 7 refs; reads=6 writes=1; used at $FB7C, FBAE, FBDA, FC2E, +3 more
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $FB81
ZpFB = $FB ; 5 refs; reads=1 writes=4; used at $8899, 890C, C73E, F84F, +1 more
ZpFC = $FC ; 18 refs; reads=5 writes=13; used at $BED9, C304, C3AC, C3C0, +10 more
ZpFD = $FD ; 9 refs; reads=2 writes=7; used at $8864, A5B5, A849, C2A4, +5 more
ZpFE = $FE ; 9 refs; reads=3 writes=6; used at $A713, C4FD, CCFD, F849, +3 more
ZpFF = $FF ; 15 refs; reads=4 writes=11; used at $C30D, C316, C31F, C39E, +8 more