; 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 ; 219 refs; reads=100 writes=119; used at $8274, 8277, 8287, 82AA, +203 more Zp01 = $01 ; 135 refs; reads=55 writes=80; used at $8270, 827C, 8282, 828C, +115 more Zp02 = $02 ; 82 refs; reads=37 writes=45; used at $83BF, 83CD, 83D2, 8F25, +66 more Zp03 = $03 ; 62 refs; reads=27 writes=35; used at $83C5, 8ED0, 8F08, 8F0D, +55 more Zp04 = $04 ; 36 refs; reads=15 writes=21; used at $8FD3, AA01, AA0D, AAC6, +28 more Zp05 = $05 ; 43 refs; reads=23 writes=20; used at $8ED6, 8F39, A6EB, A6F6, +36 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 ; 44 refs; reads=22 writes=22; used at $8F1F, 8F47, AEDF, AF10, +37 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 ; 26 refs; reads=14 writes=12; used at $B3ED, B3F8, B3FA, B728, +21 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 ; 16 refs; reads=13 writes=3; used at $8734, 8966, 8E88, 8FBA, +12 more Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $8FBF Zp14 = $14 ; 7 refs; reads=6 writes=1; used at $836C, 8471, 87B1, 892D, +3 more Zp15 = $15 ; 4 refs; reads=2 writes=2; used at $88E4, 9012, 9019, 902F Zp18 = $18 ; 19 refs; reads=15 writes=4; used at $833B, 834B, 84EA, AA91, +12 more Zp19 = $19 ; 15 refs; reads=14 writes=1; used at $8341, 834D, AB92, AC15, +10 more Zp1A = $1A ; 7 refs; reads=6 writes=1; used at $834F, C58F, D018, D0A4, +2 more Zp1B = $1B ; 4 refs; reads=3 writes=1; used at $8351, A9DE, D45D 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 ; 6 refs; reads=2 writes=4; used at $8323, 8329, 837F, 84D4, +1 more Zp21 = $21 ; 21 refs; reads=9 writes=12; used at $832D, 8331, 8763, 89C6, +16 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 Zp25 = $25 ; 6 refs; reads=3 writes=3; used at $D151, D19D, D1C5, D226, +2 more Zp26 = $26 ; 4 refs; reads=2 writes=2; used at $89D7, 89DD, 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 ; 26 refs; reads=10 writes=16; used at $ACA9, AEA1, B108, B112, +22 more Zp30 = $30 ; 24 refs; reads=13 writes=11; used at $8B94, CFDD, D02F, D307, +20 more Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $D046, D06C, D138, D148 Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $8DD1, A9BF, AACC Zp34 = $34 ; 4 refs; reads=2 writes=2; used at $8C0B, 8C11, D792, D79C Zp35 = $35 ; 5 refs; reads=1 writes=4; used at $837C, 83B4, 84B8, 88BD, +1 more Zp36 = $36 ; 6 refs; reads=3 writes=3; used at $8463, 8466, 8859, 88A4, +2 more Zp37 = $37 ; 2 refs; reads=1 writes=1; used at $874B, 876D Zp38 = $38 ; 12 refs; reads=6 writes=6; used at $8992, 8998, 8AE8, 8B6F, +8 more Zp39 = $39 ; 5 refs; reads=3 writes=2; used at $8975, 899E, 89FC, 8C3E, +1 more Zp3A = $3A ; 7 refs; reads=3 writes=4; used at $86EE, 872A, D16D, D172, +3 more Zp3B = $3B ; 3 refs; reads=2 writes=1; used at $A72F, AA05, AAC0 Zp3C = $3C ; 6 refs; reads=2 writes=4; used at $A96B, D1C3, D23C, D357, +2 more Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $AB48, AC27 Zp3E = $3E ; 2 refs; reads=1 writes=1; used at $C7C1, C7C7 Zp3F = $3F ; 19 refs; reads=8 writes=11; used at $AEBE, AF66, AF7A, AFFE, +15 more Zp44 = $44 ; 10 refs; reads=4 writes=6; used at $D08C, D0AC, D1B7, D222, +6 more Zp47 = $47 ; 3 refs; reads=1 writes=2; used at $8DDE, CD07, CD13 Zp49 = $49 ; 14 refs; reads=12 writes=2; used at $8336, 84D6, 881D, 8A07, +9 more Zp4A = $4A ; 5 refs; reads=2 writes=3; used at $84D8, A9C3, A9C7, AAE7 Zp4B = $4B ; 22 refs; reads=11 writes=11; used at $8412, 897C, 8A27, 8A32, +18 more Zp4C = $4C ; 24 refs; reads=12 writes=12; used at $8980, 8A29, 8A51, 8A65, +20 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 ; 14 refs; reads=8 writes=6; used at $8396, 83A1, 83B8, 84BD, +7 more Zp52 = $52 ; 26 refs; reads=2 writes=24; used at $82EE, 8315, 83EE, 8429, +22 more Zp53 = $53 ; 15 refs; reads=14 writes=1; used at $8496, 8557, 8643, AC20, +11 more Zp54 = $54 ; 8 refs; reads=6 writes=2; used at $8459, 8487, 8489, 848D, +3 more Zp55 = $55 ; 17 refs; reads=14 writes=3; used at $8440, 8522, 8668, 86D9, +13 more Zp56 = $56 ; 4 refs; reads=2 writes=2; used at $8432, 8524, 8C52 Zp57 = $57 ; 1 refs; reads=0 writes=1; used at $8434 Zp58 = $58 ; 6 refs; reads=3 writes=3; used at $8436, 8530, 8C44, 8C46, +1 more 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 ; 11 refs; reads=7 writes=4; used at $8445, 84AC, 8882, 88B1, +5 more Zp5D = $5D ; 5 refs; reads=3 writes=2; used at $8447, 84B4, 88DB, 8929, +1 more Zp5E = $5E ; 5 refs; reads=4 writes=1; used at $8526, 8637, A979, A9F0, +1 more Zp5F = $5F ; 40 refs; reads=39 writes=1; used at $8532, 853F, 856F, 858B, +36 more Zp60 = $60 ; 4 refs; reads=2 writes=2; used at $8AD6, 8B3A, 8B80 Zp61 = $61 ; 6 refs; reads=3 writes=3; used at $8962, 8B5C, 8E92, A738, +2 more Zp62 = $62 ; 8 refs; reads=3 writes=5; used at $85BA, 8EA8, A7FA, A803, +2 more Zp63 = $63 ; 8 refs; reads=4 writes=4; used at $83DD, 8AF0, 8B76, 8E96, +4 more Zp64 = $64 ; 9 refs; reads=5 writes=4; used at $85D3, 8B65, 8E9E, A797, +5 more Zp65 = $65 ; 19 refs; reads=16 writes=3; used at $85A2, 8B58, A734, A745, +13 more Zp66 = $66 ; 5 refs; reads=3 writes=2; used at $8317, A7C2, A7C4, C08E, +1 more Zp67 = $67 ; 26 refs; reads=9 writes=17; used at $8AEE, A4CA, A4FF, A509, +22 more Zp68 = $68 ; 34 refs; reads=20 writes=14; used at $87C0, 87C9, 89CE, 89D2, +26 more Zp69 = $69 ; 56 refs; reads=46 writes=10; used at $85B3, 87BB, 87C5, 8AF5, +52 more Zp6A = $6A ; 12 refs; reads=8 writes=4; used at $8728, 8775, 87B3, 8DFC, +8 more Zp6B = $6B ; 4 refs; reads=3 writes=1; used at $8560, 8706, A77A, AAE0 Zp6C = $6C ; 9 refs; reads=5 writes=4; used at $8757, C4E5, C52A, C6FE, +5 more Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $8430 Zp6E = $6E ; 2 refs; reads=1 writes=1; used at $B214, C9FE 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 ; 3 refs; reads=1 writes=2; used at $869B, 875F, 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 Zp78 = $78 ; 3 refs; reads=2 writes=1; used at $AB51, AB65 Zp79 = $79 ; 6 refs; reads=3 writes=3; used at $8DE0, CD0B, CD0F, CD19, +2 more Zp7A = $7A ; 30 refs; reads=13 writes=17; used at $C4B6, C8B2, CD6B, CFE3, +23 more Zp7B = $7B ; 35 refs; reads=18 writes=17; used at $C147, C18F, C197, C263, +30 more Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $CFEB, D0B2, D179, D405, +1 more Zp7D = $7D ; 28 refs; reads=17 writes=11; used at $A49F, A4BC, A4F9, A57C, +20 more Zp7E = $7E ; 11 refs; reads=8 writes=3; used at $85C1, A667, A7D9, A93E, +7 more Zp7F = $7F ; 4 refs; reads=2 writes=2; used at $D3DA, D449, D44D Zp80 = $80 ; 43 refs; reads=24 writes=19; used at $83F2, A704, A996, AA2B, +39 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 ; 5 refs; reads=1 writes=4; used at $83F4, 8857, 8B7E, 8BD2, +1 more Zp87 = $87 ; 47 refs; reads=34 writes=13; used at $83FE, A69F, A990, AA97, +42 more Zp8C = $8C ; 8 refs; reads=7 writes=1; used at $8591, C890, C8DB, C922, +4 more Zp8D = $8D ; 2 refs; reads=0 writes=2; used at $8400, 8595 Zp8E = $8E ; 32 refs; reads=29 writes=3; used at $840A, A625, ACC3, AD53, +28 more Zp93 = $93 ; 11 refs; reads=11 writes=0; used at $A670, A94D, A955, C8E5, +7 more Zp94 = $94 ; 21 refs; reads=20 writes=1; used at $840E, 8B9F, A627, A673, +17 more Zp95 = $95 ; 2 refs; reads=2 writes=0; used at $AC57, 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 ; 25 refs; reads=20 writes=5; used at $83F6, AA2F, ACBA, AD4D, +20 more ZpA4 = $A4 ; 7 refs; reads=7 writes=0; used at $A66B, A942, C8A1, D492, +3 more ZpA5 = $A5 ; 1 refs; reads=0 writes=1; used at $83F8 ZpA6 = $A6 ; 2 refs; reads=2 writes=0; used at $AC52, 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 ; 40 refs; reads=24 writes=16; used at $8404, 8C85, AAA5, AC0F, +36 more ZpB5 = $B5 ; 5 refs; reads=3 writes=2; used at $8587, D1F7, D452, D4A2, +1 more ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $8406, 8589, 8BCA, 8BE8, +4 more ZpB7 = $B7 ; 55 refs; reads=16 writes=39; used at $8C7A, A623, A642, AD83, +49 more ZpBC = $BC ; 30 refs; reads=5 writes=25; used at $CFE1, CFE9, CFFB, D0B0, +24 more ZpBD = $BD ; 6 refs; reads=2 writes=4; used at $8BAF, 8BC1, 8BC5, C4FF, +1 more ZpBE = $BE ; 14 refs; reads=13 writes=1; used at $852E, 86FD, AAD8, AB05, +10 more ZpC0 = $C0 ; 60 refs; reads=41 writes=19; used at $83FA, A9A4, AA9B, ACAE, +55 more ZpC5 = $C5 ; 8 refs; reads=6 writes=2; used at $85B8, D555, D55F, D591, +4 more ZpC6 = $C6 ; 3 refs; reads=2 writes=1; used at $8B22, 8B8F, 8BEC ZpC7 = $C7 ; 27 refs; reads=14 writes=13; used at $B10C, B11F, B121, B145, +18 more ZpCE = $CE ; 39 refs; reads=23 writes=16; used at $8B69, 8C81, AAB8, ABDB, +34 more ZpD3 = $D3 ; 10 refs; reads=6 writes=4; used at $85CE, B24B, D061, D065, +6 more ZpD4 = $D4 ; 12 refs; reads=9 writes=3; used at $85E2, A81D, A81F, ABAA, +8 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 ; 61 refs; reads=35 writes=26; used at $8C7D, AAB0, AABC, AB99, +46 more ZpE4 = $E4 ; 13 refs; reads=10 writes=3; used at $85C9, B24D, D059, D42A, +9 more ZpE5 = $E5 ; 18 refs; reads=13 writes=5; used at $85DD, A81A, A823, AB97, +10 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 ; 8 refs; reads=1 writes=7; used at $86F5, 875C, 8899, 890C, +4 more ZpFC = $FC ; 23 refs; reads=5 writes=18; used at $8769, 8B9A, 8BBB, BED9, +15 more ZpFD = $FD ; 10 refs; reads=2 writes=8; used at $8864, 899C, A5B5, A849, +6 more ZpFE = $FE ; 11 refs; reads=3 writes=8; used at $8B6D, 8C04, A713, C4FD, +5 more ZpFF = $FF ; 22 refs; reads=4 writes=18; used at $B041, B06F, B17F, B1B6, +15 more ; Pass 3 semantic aliases (proven from the disassembly): PpuCtrlShadow = Zp10 VramWritePtrLo = Zp00 VramWritePtrHi = Zp01 DispatchPtrLo = Zp02 DispatchPtrHi = Zp03 PlayerIndex = Zp69 PlayerSide = ZpC5 SpriteIndex = Zp5F GameState = ZpC0 LevelIndex = Zp50 PlayerX = ZpB0 PlayerY = ZpB7 EnemyIndex = Zp87 EnemyHealth = ZpDF PpuMaskShadow = Zp86 GameMode = Zp9F LifeCount = ZpA5 SpriteScore = ZpB6 SpriteTimer = Zp80 SpriteTimer2 = Zp8D