; Puzzle (U) [a2] 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 ; 9 refs; reads=3 writes=6; used at $D3BF, D45F, D46C, D46E, +5 more Zp01 = $01 ; 8 refs; reads=2 writes=6; used at $D3C5, D467, D472, D47A, +3 more Zp02 = $02 ; 3 refs; reads=1 writes=2; used at $D3BD, D45D, FC27 Zp03 = $03 ; 4 refs; reads=2 writes=2; used at $D3C3, D465, D478, FC2D Zp04 = $04 ; 5 refs; reads=2 writes=3; used at $D43F, D4AE, D611, DC23, +1 more Zp05 = $05 ; 9 refs; reads=3 writes=6; used at $D444, D4B6, D61F, D836, +3 more Zp08 = $08 ; 3 refs; reads=2 writes=1; used at $D518, D52F, D549 Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $D535 Zp0A = $0A ; 5 refs; reads=3 writes=2; used at $FCD8, FCE1, FCED, FD07, +1 more Zp0B = $0B ; 2 refs; reads=0 writes=2; used at $FCDD, FD0C Zp0C = $0C ; 6 refs; reads=3 writes=3; used at $F7F3, F82D, F831, F836, +2 more Zp0D = $0D ; 8 refs; reads=6 writes=2; used at $DED3, F889, F8C7, F8F5, +3 more Zp0E = $0E ; 6 refs; reads=3 writes=3; used at $D49E, D4C4, D4C6, DEB1, +1 more Zp10 = $10 ; 6 refs; reads=3 writes=3; used at $D559, DBCE, DBD3, DBD8, +2 more Zp11 = $11 ; 4 refs; reads=3 writes=1; used at $D3CE, D784, D8A6, F83D Zp12 = $12 ; 6 refs; reads=5 writes=1; used at $D438, D528, F7D7, F7EC, +2 more Zp13 = $13 ; 22 refs; reads=13 writes=9; used at $D450, D458, D487, D489, +16 more Zp14 = $14 ; 18 refs; reads=11 writes=7; used at $D452, D461, D493, D495, +12 more Zp15 = $15 ; 10 refs; reads=6 writes=4; used at $D40E, D41A, D426, D430, +6 more Zp16 = $16 ; 6 refs; reads=2 writes=4; used at $D412, D41E, D428, D432, +2 more Zp17 = $17 ; 6 refs; reads=4 writes=2; used at $F969, FA12, FA25, FA28, +2 more Zp18 = $18 ; 3 refs; reads=3 writes=0; used at $FA49, FA57, FA60 Zp19 = $19 ; 2 refs; reads=1 writes=1; used at $FA1A, FA1D Zp1A = $1A ; 4 refs; reads=2 writes=2; used at $FA2C, FA32, FA4D, FA53 Zp1B = $1B ; 3 refs; reads=1 writes=2; used at $FA2E, FA3A, FA41 Zp1C = $1C ; 3 refs; reads=1 writes=2; used at $FA4F, FA5B, FA62 Zp1D = $1D ; 5 refs; reads=1 writes=4; used at $F743, FA38, FA45, FA47, +1 more Zp1E = $1E ; 4 refs; reads=1 writes=3; used at $FA59, FA66, FA68, FA71 Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $DD56, F7BB Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $DD5B, F7BF Zp23 = $23 ; 12 refs; reads=10 writes=2; used at $DD87, DD91, DDCA, F72F, +6 more Zp24 = $24 ; 4 refs; reads=3 writes=1; used at $F8DA, F949, F962 Zp28 = $28 ; 11 refs; reads=3 writes=8; used at $D3CA, D4A0, D4CA, D504, +7 more Zp29 = $29 ; 3 refs; reads=2 writes=1; used at $DD20, DECB Zp2A = $2A ; 5 refs; reads=2 writes=3; used at $DEBF, DEC1, DEC9, F7C3 Zp2C = $2C ; 12 refs; reads=5 writes=7; used at $D3CC, D4B8, D50D, D53E, +6 more Zp2D = $2D ; 1 refs; reads=1 writes=0; used at $F909 Zp2E = $2E ; 2 refs; reads=1 writes=1; used at $D921, F8B3 Zp2F = $2F ; 2 refs; reads=1 writes=1; used at $D925, F8B5 Zp31 = $31 ; 1 refs; reads=1 writes=0; used at $F8BD Zp32 = $32 ; 1 refs; reads=1 writes=0; used at $F8BF Zp33 = $33 ; 10 refs; reads=5 writes=5; used at $DBE1, DBE5, DBFD, DC05, +3 more Zp34 = $34 ; 4 refs; reads=3 writes=1; used at $DBE3, DC07, DC8D, DCE0 Zp36 = $36 ; 4 refs; reads=3 writes=1; used at $DC35, F8AB, F8F1 Zp3C = $3C ; 5 refs; reads=2 writes=3; used at $D70F, D78C, D7AE, D7CC, +1 more Zp3D = $3D ; 4 refs; reads=1 writes=3; used at $D6FE, D790, D7B2, D7D0 Zp3E = $3E ; 2 refs; reads=1 writes=1; used at $D6CC, DCC4 Zp3F = $3F ; 4 refs; reads=1 writes=3; used at $DC38, DC70, DC98, DD0A Zp40 = $40 ; 4 refs; reads=1 writes=3; used at $D794, D7B6, D7D4, DD72 Zp41 = $41 ; 2 refs; reads=1 writes=1; used at $D6D4, DCC8 Zp42 = $42 ; 2 refs; reads=1 writes=1; used at $D608, D6CE Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $D6D0, DCC0 Zp44 = $44 ; 2 refs; reads=1 writes=1; used at $D6DB, DCE2 Zp45 = $45 ; 3 refs; reads=1 writes=2; used at $DC7A, DD7F, DD84 Zp46 = $46 ; 1 refs; reads=1 writes=0; used at $DD0C Zp47 = $47 ; 4 refs; reads=1 writes=3; used at $D798, D7BA, D7D8, DC6A Zp48 = $48 ; 2 refs; reads=1 writes=1; used at $D60C, D6CA Zp49 = $49 ; 2 refs; reads=1 writes=1; used at $D621, D6D2 Zp4A = $4A ; 7 refs; reads=4 writes=3; used at $D3DE, D3F1, D401, D674, +3 more Zp4C = $4C ; 3 refs; reads=0 writes=3; used at $D3E2, D3F5, D405 Zp4D = $4D ; 3 refs; reads=0 writes=3; used at $D3E6, D3F9, D409 Zp4E = $4E ; 11 refs; reads=10 writes=1; used at $E833, E846, E84F, E85A, +7 more Zp4F = $4F ; 1 refs; reads=0 writes=1; used at $E835 Zp50 = $50 ; 5 refs; reads=1 writes=4; used at $E85C, E874, E88C, E8A4, +1 more Zp51 = $51 ; 5 refs; reads=1 writes=4; used at $E861, E879, E891, E8A9, +1 more Zp52 = $52 ; 11 refs; reads=10 writes=1; used at $EA46, EA51, EAA8, EAAE, +7 more Zp53 = $53 ; 1 refs; reads=0 writes=1; used at $EA4D Zp54 = $54 ; 4 refs; reads=1 writes=3; used at $D6E4, D6F7, D70A, D71B Zp57 = $57 ; 3 refs; reads=1 writes=2; used at $DD17, F86E, F887 Zp5A = $5A ; 1 refs; reads=1 writes=0; used at $DD1C Zp5B = $5B ; 1 refs; reads=0 writes=1; used at $F7C7 Zp5C = $5C ; 1 refs; reads=0 writes=1; used at $F7C9 Zp5D = $5D ; 1 refs; reads=0 writes=1; used at $F7CB Zp61 = $61 ; 2 refs; reads=1 writes=1; used at $DC9E, DD0E Zp63 = $63 ; 4 refs; reads=1 writes=3; used at $D51A, D522, DC1E, DD40 Zp64 = $64 ; 5 refs; reads=3 writes=2; used at $F991, F993, F99B, F9D8 Zp65 = $65 ; 6 refs; reads=3 writes=3; used at $F99D, F99F, F9A7, F9CF, +1 more Zp66 = $66 ; 5 refs; reads=3 writes=2; used at $F9C1, F9E2, F9E4, F9EC Zp67 = $67 ; 5 refs; reads=3 writes=2; used at $F9B8, F9EE, F9F0, F9FA Zp68 = $68 ; 4 refs; reads=2 writes=2; used at $F985, F987, F98F Zp69 = $69 ; 3 refs; reads=2 writes=1; used at $DED9, DEE3, F972 Zp6A = $6A ; 4 refs; reads=2 writes=2; used at $DECF, F976, F97A Zp6B = $6B ; 1 refs; reads=0 writes=1; used at $F7D3 Zp6C = $6C ; 3 refs; reads=2 writes=1; used at $E3ED, E3F3, E3F8 Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $E3F0 Zp6E = $6E ; 1 refs; reads=0 writes=1; used at $E3F5 Zp6F = $6F ; 1 refs; reads=0 writes=1; used at $E3FA Zp75 = $75 ; 2 refs; reads=1 writes=1; used at $F7FD, F9B2 Zp83 = $83 ; 4 refs; reads=4 writes=0; used at $D8B0, D8CF, D8F8, D91B Zp84 = $84 ; 1 refs; reads=0 writes=1; used at $D92A Zp85 = $85 ; 1 refs; reads=0 writes=1; used at $D92E Zp87 = $87 ; 5 refs; reads=3 writes=2; used at $DD1E, F872, F876, F878 Zp88 = $88 ; 1 refs; reads=0 writes=1; used at $F9FE Zp8A = $8A ; 3 refs; reads=2 writes=1; used at $F735, F745 Zp8B = $8B ; 3 refs; reads=1 writes=2; used at $F740, F7FF, F96F Zp8C = $8C ; 9 refs; reads=7 writes=2; used at $DD9A, DDA1, E711, E718, +5 more Zp8D = $8D ; 11 refs; reads=7 writes=4; used at $DD8B, DD96, DDA4, DDC8, +7 more Zp91 = $91 ; 2 refs; reads=0 writes=2; used at $DD26, DD32 Zp92 = $92 ; 2 refs; reads=0 writes=2; used at $DD2A, DD36 Zp94 = $94 ; 1 refs; reads=0 writes=1; used at $F7CF ZpE0 = $E0 ; 5 refs; reads=4 writes=1; used at $DEE8, F806, F810, FA7F ZpE1 = $E1 ; 4 refs; reads=3 writes=1; used at $D5B6, D6E0, D721, D729 ZpE2 = $E2 ; 4 refs; reads=3 writes=1; used at $F817, F819, F81F ZpE3 = $E3 ; 2 refs; reads=1 writes=1; used at $D71F, F821 ZpE4 = $E4 ; 5 refs; reads=4 writes=1; used at $E6F7, E708, F82B, FC75, +1 more ZpE6 = $E6 ; 3 refs; reads=2 writes=1; used at $F89F, F8A3 ZpE7 = $E7 ; 3 refs; reads=2 writes=1; used at $D5C4, F729, F89B ZpE8 = $E8 ; 4 refs; reads=2 writes=2; used at $D584, D58A, D590 ZpEF = $EF ; 2 refs; reads=1 writes=1; used at $DED5, F88B ZpF1 = $F1 ; 2 refs; reads=2 writes=0; used at $D4D0, D4E0 ZpF2 = $F2 ; 4 refs; reads=2 writes=2; used at $D6C8, DD13, F72B, F8EA ZpF3 = $F3 ; 4 refs; reads=2 writes=2; used at $DC40, DC46, DC9B, DCA0 ZpF4 = $F4 ; 6 refs; reads=4 writes=2; used at $D5EF, D679, DCF3, DCF5 ZpF5 = $F5 ; 9 refs; reads=5 writes=4; used at $D5BA, D5F1, D5FB, D6D6, +3 more