; Sqoon (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 ; 5 refs; reads=0 writes=5; used at $82E5, 82EB, 8306, 8D46, +1 more Zp01 = $01 ; 7 refs; reads=2 writes=5; used at $82E7, 82FE, 830B, 8D4A, +1 more Zp02 = $02 ; 4 refs; reads=2 writes=2; used at $82BD, 8312, 8D32, 8D5E Zp03 = $03 ; 6 refs; reads=2 writes=4; used at $80E6, 8230, 824C, 85BB, +1 more Zp04 = $04 ; 6 refs; reads=1 writes=5; used at $845B, 8722, 8754, 8BAA, +2 more Zp05 = $05 ; 9 refs; reads=8 writes=1; used at $8D13, 8E4E, 90E9, 93B4, +5 more Zp06 = $06 ; 6 refs; reads=1 writes=5; used at $840D, 8489, 84E6, 851A, +1 more Zp07 = $07 ; 6 refs; reads=1 writes=5; used at $8411, 848B, 84E8, 851C, +1 more Zp08 = $08 ; 1 refs; reads=0 writes=1; used at $83B6 Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $83BB Zp0A = $0A ; 12 refs; reads=3 writes=9; used at $8071, 819B, 81D2, 8427, +8 more Zp0B = $0B ; 8 refs; reads=3 writes=5; used at $807F, 81D4, 8429, 84C8, +4 more Zp0C = $0C ; 10 refs; reads=3 writes=7; used at $8076, 81A0, 81D6, 863F, +4 more Zp0D = $0D ; 3 refs; reads=1 writes=2; used at $8083, 81D8, 8E09 Zp10 = $10 ; 8 refs; reads=3 writes=5; used at $8482, 86B8, 86BD, 86C3, +3 more Zp11 = $11 ; 10 refs; reads=3 writes=7; used at $847E, 86AA, 86AE, 86B6, +5 more Zp12 = $12 ; 13 refs; reads=4 writes=9; used at $8462, 84DB, 8649, 86DA, +9 more Zp13 = $13 ; 8 refs; reads=0 writes=8; used at $8466, 84DF, 864E, 8738, +4 more Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $8258, 8264, 86D5, 86F1 Zp15 = $15 ; 10 refs; reads=6 writes=4; used at $8253, 825F, 86C1, 86CB, +3 more Zp18 = $18 ; 12 refs; reads=7 writes=5; used at $826E, 8292, 8298, 86E7, +4 more Zp19 = $19 ; 135 refs; reads=31 writes=104; used at $823A, 85C6, 8682, 872E, +131 more Zp1A = $1A ; 143 refs; reads=6 writes=137; used at $85D3, 8668, 875C, 8782, +135 more Zp1B = $1B ; 89 refs; reads=0 writes=89; used at $85CA, 85D7, 8678, 8726, +85 more Zp1C = $1C ; 122 refs; reads=25 writes=97; used at $8225, 85C2, 85DC, 85E1, +118 more Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $8023, 8027, 807B, 8081, +10 more Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $81A7 Zp1F = $1F ; 13 refs; reads=11 writes=2; used at $810B, 8148, 814D, 8153, +8 more Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $810D, 814F Zp21 = $21 ; 12 refs; reads=10 writes=2; used at $80AB, 8155, 8404, 8490, +8 more Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $8151 Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $8142, 8145 Zp24 = $24 ; 3 refs; reads=1 writes=2; used at $8569, 856D, 8BB1 Zp2C = $2C ; 1 refs; reads=1 writes=0; used at $87C7 Zp2F = $2F ; 16 refs; reads=8 writes=8; used at $8567, 856B, 857A, 8581, +7 more Zp32 = $32 ; 4 refs; reads=2 writes=2; used at $853C, 8CE6, 8E97 Zp36 = $36 ; 2 refs; reads=2 writes=0; used at $8863, 8875 Zp37 = $37 ; 3 refs; reads=1 writes=2; used at $8850, 8852, 8B7A Zp38 = $38 ; 3 refs; reads=1 writes=2; used at $8856, 8858, 8B7C Zp39 = $39 ; 3 refs; reads=1 writes=2; used at $885C, 885E, 8B7E Zp3A = $3A ; 6 refs; reads=2 writes=4; used at $87F7, 8806, 880C, 884E, +2 more Zp3B = $3B ; 3 refs; reads=1 writes=2; used at $8854, 8B82, 901F Zp40 = $40 ; 1 refs; reads=0 writes=1; used at $87C3 Zp41 = $41 ; 1 refs; reads=0 writes=1; used at $87BF Zp42 = $42 ; 4 refs; reads=2 writes=2; used at $8865, 8877, 8880, 8882 Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $82D9, 82F5 Zp46 = $46 ; 64 refs; reads=30 writes=34; used at $80CB, 80DC, 8442, 87D4, +55 more Zp47 = $47 ; 22 refs; reads=2 writes=20; used at $80CF, 80D8, 8446, 893C, +17 more Zp48 = $48 ; 17 refs; reads=5 writes=12; used at $844A, 8834, 8843, 8940, +11 more Zp49 = $49 ; 12 refs; reads=4 writes=8; used at $844E, 8828, 8944, 8BD6, +8 more Zp4A = $4A ; 85 refs; reads=36 writes=49; used at $829D, 82A1, 83A5, 83B4, +80 more Zp4B = $4B ; 46 refs; reads=14 writes=32; used at $82A3, 82A7, 83A9, 8A0A, +42 more Zp4C = $4C ; 15 refs; reads=5 writes=10; used at $882A, 93E5, 9B1C, 9EA6, +10 more Zp4D = $4D ; 34 refs; reads=10 writes=24; used at $829F, 82AA, 87DD, 883B, +30 more Zp4E = $4E ; 15 refs; reads=7 writes=8; used at $82A5, 82AE, 98C8, A337, +11 more Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $B33C Zp50 = $50 ; 6 refs; reads=3 writes=3; used at $80B6, 80BD, 83AB, 841C, +1 more Zp51 = $51 ; 6 refs; reads=3 writes=3; used at $83BD, 8420, 848D, 849B Zp52 = $52 ; 9 refs; reads=4 writes=5; used at $8BD8, 8BED, 8C02, 8C17, +1 more Zp54 = $54 ; 41 refs; reads=40 writes=1; used at $801E, 80D1, 8160, 8237, +36 more Zp55 = $55 ; 30 refs; reads=21 writes=9; used at $8050, 80B1, 8103, 8329, +25 more Zp56 = $56 ; 4 refs; reads=1 writes=3; used at $B98C, DCB3, DCBA, DCC8 Zp59 = $59 ; 2 refs; reads=0 writes=2; used at $8033, B7BC Zp5B = $5B ; 4 refs; reads=1 writes=3; used at $92A7, 92AF, 92B5, 92BB Zp5C = $5C ; 3 refs; reads=0 writes=3; used at $B44A, B7CE, B7D4 Zp5D = $5D ; 2 refs; reads=0 writes=2; used at $8035, B7BE Zp5E = $5E ; 3 refs; reads=0 writes=3; used at $8DE1, 8DF3, 8DFD Zp5F = $5F ; 3 refs; reads=0 writes=3; used at $8DE5, 8DEF, 8DF9 Zp61 = $61 ; 2 refs; reads=0 writes=2; used at $8037, B7C0 Zp62 = $62 ; 2 refs; reads=0 writes=2; used at $866C, 88CE Zp63 = $63 ; 2 refs; reads=0 writes=2; used at $8670, 88D2 Zp64 = $64 ; 2 refs; reads=0 writes=2; used at $8674, 88D6 Zp65 = $65 ; 9 refs; reads=4 writes=5; used at $8031, 84CF, 8E99, B436, +5 more Zp66 = $66 ; 6 refs; reads=2 writes=4; used at $84D3, 860E, 8616, 8619, +1 more Zp67 = $67 ; 3 refs; reads=0 writes=3; used at $84D7, 9061, B403 Zp69 = $69 ; 2 refs; reads=0 writes=2; used at $8039, B7C4 Zp6A = $6A ; 1 refs; reads=0 writes=1; used at $B3FF Zp6B = $6B ; 2 refs; reads=0 writes=2; used at $9063, B405 Zp6D = $6D ; 2 refs; reads=0 writes=2; used at $803B, B7C6 Zp6F = $6F ; 4 refs; reads=0 writes=4; used at $B438, B78A, B798, B7A2 Zp70 = $70 ; 4 refs; reads=0 writes=4; used at $B43A, B78E, B79C, B7A6 Zp71 = $71 ; 2 refs; reads=0 writes=2; used at $803D, B7C8 Zp73 = $73 ; 5 refs; reads=0 writes=5; used at $B43C, B786, B794, B7AE, +1 more Zp74 = $74 ; 2 refs; reads=0 writes=2; used at $B43E, B7D8 Zp75 = $75 ; 2 refs; reads=0 writes=2; used at $803F, B7CA Zp76 = $76 ; 17 refs; reads=0 writes=17; used at $8C90, 9100, 9121, 913B, +13 more Zp77 = $77 ; 12 refs; reads=0 writes=12; used at $8C8C, 9102, 9193, 91AC, +8 more Zp79 = $79 ; 8 refs; reads=4 writes=4; used at $88BE, 8C2B, 8C6B, A170, +4 more Zp7A = $7A ; 5 refs; reads=1 writes=4; used at $88C2, 8C36, 8C71, A17A, +1 more Zp7B = $7B ; 9 refs; reads=4 writes=5; used at $8B84, 9019, 902B, DC35, +5 more Zp7C = $7C ; 9 refs; reads=4 writes=5; used at $8B86, 901D, 902D, DC3B, +5 more Zp7D = $7D ; 6 refs; reads=2 writes=4; used at $80C5, 815B, 821E, 8548, +2 more Zp7E = $7E ; 4 refs; reads=2 writes=2; used at $8A38, 8AAD, 8E3D, 8E47 Zp8D = $8D ; 9 refs; reads=3 writes=6; used at $8A6F, 8AA4, E126, E12A, +5 more Zp8F = $8F ; 10 refs; reads=6 writes=4; used at $E0DF, E2CF, E3D1, E406, +5 more Zp90 = $90 ; 6 refs; reads=2 writes=4; used at $E0E4, E3D5, E4A4, E4B2 Zp91 = $91 ; 1 refs; reads=0 writes=1; used at $E0F3 Zp92 = $92 ; 1 refs; reads=0 writes=1; used at $E0F8 Zp93 = $93 ; 2 refs; reads=0 writes=2; used at $E107, E3D9 Zp94 = $94 ; 2 refs; reads=0 writes=2; used at $E10C, E3DD Zp95 = $95 ; 1 refs; reads=0 writes=1; used at $E11B Zp96 = $96 ; 1 refs; reads=0 writes=1; used at $E120 Zp9A = $9A ; 20 refs; reads=4 writes=16; used at $800F, 809E, 83D9, 83EC, +16 more Zp9B = $9B ; 6 refs; reads=1 writes=5; used at $88BA, 8B93, 8E28, B5E3, +1 more ZpA0 = $A0 ; 30 refs; reads=17 writes=13; used at $88A8, 8C26, B60A, B60C, +26 more ZpA1 = $A1 ; 18 refs; reads=5 writes=13; used at $88AC, 8C31, B610, B612, +14 more ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $B6AC, B757 ZpA3 = $A3 ; 2 refs; reads=1 writes=1; used at $B6B0, B75B ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $B6B2, B75F ZpA5 = $A5 ; 12 refs; reads=5 writes=7; used at $88B0, 8B8D, 8E1A, B607, +8 more ZpA6 = $A6 ; 11 refs; reads=3 writes=8; used at $88B2, 8BA4, 8E20, B62C, +7 more ZpA7 = $A7 ; 8 refs; reads=2 writes=6; used at $88B4, 8BA6, 8E22, B8BE, +3 more ZpA8 = $A8 ; 9 refs; reads=4 writes=5; used at $8B97, 8E1C, B61E, B8B9, +5 more ZpA9 = $A9 ; 9 refs; reads=4 writes=5; used at $8B9B, 8E2C, B619, B8B4, +5 more ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $E08B, E08F ZpAC = $AC ; 9 refs; reads=5 writes=4; used at $83F0, 9034, 9068, 90DB, +5 more ZpAD = $AD ; 4 refs; reads=2 writes=2; used at $E0C1, E351, E361 ZpAE = $AE ; 4 refs; reads=1 writes=3; used at $E0E8, E256, E3E1 ZpAF = $AF ; 1 refs; reads=0 writes=1; used at $E0FC ZpB0 = $B0 ; 2 refs; reads=0 writes=2; used at $E110, E3E3 ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $E124 ZpB2 = $B2 ; 12 refs; reads=4 writes=8; used at $E25F, E264, E26E, E288, +8 more ZpB6 = $B6 ; 10 refs; reads=5 writes=5; used at $E25A, E270, E280, E297, +2 more ZpBA = $BA ; 3 refs; reads=1 writes=2; used at $E274, E27C ZpBE = $BE ; 1 refs; reads=1 writes=0; used at $E2C1 ZpC2 = $C2 ; 2 refs; reads=1 writes=1; used at $E31D, E464 ZpC6 = $C6 ; 1 refs; reads=1 writes=0; used at $E313 ZpCA = $CA ; 2 refs; reads=2 writes=0; used at $E2A6, E2AA ZpCE = $CE ; 2 refs; reads=2 writes=0; used at $E266, E26C ZpD2 = $D2 ; 1 refs; reads=1 writes=0; used at $E2A2 ZpD6 = $D6 ; 1 refs; reads=1 writes=0; used at $E262 ZpDA = $DA ; 1 refs; reads=1 writes=0; used at $E272 ZpDE = $DE ; 1 refs; reads=1 writes=0; used at $E28B ZpE2 = $E2 ; 3 refs; reads=3 writes=0; used at $E468, E47C, E48C ZpE6 = $E6 ; 8 refs; reads=5 writes=3; used at $E46C, E46E, E474, E47A, +3 more ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $8D42, 8D69 ZpF8 = $F8 ; 2 refs; reads=1 writes=1; used at $8D3D, 8D64 ZpF9 = $F9 ; 2 refs; reads=1 writes=1; used at $8D38, 8D60 ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $8D34, 8D5C ZpFB = $FB ; 12 refs; reads=10 writes=2; used at $8B65, 9895, 98D3, B649, +8 more ZpFC = $FC ; 22 refs; reads=17 writes=5; used at $888A, 8B15, 8B5B, 8C1C, +18 more ZpFE = $FE ; 7 refs; reads=3 writes=4; used at $8003, 800D, 8015, 801C, +1 more ZpFF = $FF ; 4 refs; reads=2 writes=2; used at $82C3, 8316, 8D36, 8D62 ; Pass 3 semantic aliases (proven from the disassembly): PpuCtrlShadow = Zp1D FrameCounter = Zp54 NmiFrameFlag = ZpFE PlayerXLow = Zp1A PlayerXHigh = Zp19 PlayerYLow = Zp1B PlayerYHigh = Zp1C DispatchPtrLo = Zp4A DispatchPtrHi = Zp4B ScrollX = Zp4D ScrollY = Zp4E VramWritePtrLo = Zp46 VramWritePtrHi = Zp47 SpriteX = ZpA0 SpriteY = ZpA1 SpriteTile = Zp79 SpriteAttr = Zp7A LevelIndex = ZpFC GameState = Zp9A PlayerIndex = Zp08 PlayerIndex2 = Zp09