; 1942 (JU) 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 ; 19 refs; reads=16 writes=3; used at $8452, 845A, 8462, 846A, +15 more Zp01 = $01 ; 9 refs; reads=9 writes=0; used at $844C, 8454, 845C, 8464, +5 more Zp02 = $02 ; 18 refs; reads=11 writes=7; used at $8480, C110, C123, C127, +14 more Zp03 = $03 ; 4 refs; reads=1 writes=3; used at $C22E, C25F, C283, C2F7 Zp04 = $04 ; 6 refs; reads=6 writes=0; used at $844E, 8450, 8456, 8458, +2 more Zp05 = $05 ; 4 refs; reads=4 writes=0; used at $846C, 8474, 847C, 848C Zp07 = $07 ; 7 refs; reads=4 writes=3; used at $846E, 8476, E395, E39E Zp09 = $09 ; 6 refs; reads=3 writes=3; used at $8470, 8478, 847E Zp10 = $10 ; 2 refs; reads=2 writes=0; used at $F554, FC87 Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C115, C119, C269 Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $C11B, C11F, C26D Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $FC8B Zp40 = $40 ; 1 refs; reads=1 writes=0; used at $F136 Zp42 = $42 ; 3 refs; reads=1 writes=2; used at $C256, C27A, C300 Zp43 = $43 ; 3 refs; reads=1 writes=2; used at $C259, C27D, C2FD Zp50 = $50 ; 2 refs; reads=2 writes=0; used at $F13A, FC7F Zp60 = $60 ; 2 refs; reads=1 writes=1; used at $E39C Zp62 = $62 ; 4 refs; reads=2 writes=2; used at $C106, C2E8, C2F0 Zp63 = $63 ; 2 refs; reads=1 writes=1; used at $C030, C1AA Zp64 = $64 ; 2 refs; reads=1 writes=1; used at $C032, C1A8 Zp65 = $65 ; 2 refs; reads=1 writes=1; used at $C034, C1A6 Zp66 = $66 ; 8 refs; reads=4 writes=4; used at $C1F7, C1FD, C242, C248, +4 more Zp6B = $6B ; 3 refs; reads=0 writes=3; used at $B67D, BC99, BEAE Zp6C = $6C ; 3 refs; reads=0 writes=3; used at $B681, BC9D, BEB2 Zp6D = $6D ; 3 refs; reads=0 writes=3; used at $B673, BC92, BEA7 Zp6E = $6E ; 3 refs; reads=0 writes=3; used at $B671, BC90, BEA5 Zp6F = $6F ; 2 refs; reads=1 writes=1; used at $A174, A17E Zp70 = $70 ; 2 refs; reads=1 writes=1; used at $A17A, A184 Zp72 = $72 ; 4 refs; reads=2 writes=2; used at $A105, A113, A120 Zp73 = $73 ; 8 refs; reads=4 writes=4; used at $A1A2, A1AA, A1B0, A1BD, +2 more Zp74 = $74 ; 13 refs; reads=8 writes=5; used at $A122, A13E, A154, A159, +7 more Zp75 = $75 ; 4 refs; reads=1 writes=3; used at $9FDD, A001, A239, A322 Zp76 = $76 ; 1 refs; reads=0 writes=1; used at $9FE1 Zp77 = $77 ; 38 refs; reads=12 writes=26; used at $9FE5, A010, A0BE, A0C8, +34 more Zp78 = $78 ; 1 refs; reads=0 writes=1; used at $9FE9 Zp79 = $79 ; 3 refs; reads=2 writes=1; used at $9FEE, A393, A3A4 Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $9FF3 Zp7B = $7B ; 5 refs; reads=1 writes=4; used at $9FF7, A202, A20C, A20E Zp7C = $7C ; 1 refs; reads=0 writes=1; used at $9FFB Zp7D = $7D ; 4 refs; reads=1 writes=3; used at $A0ED, A10F, A18E Zp7E = $7E ; 4 refs; reads=1 writes=3; used at $A0F2, A10D, A190 Zp7F = $7F ; 4 refs; reads=1 writes=3; used at $A0F7, A10B, A192 Zp80 = $80 ; 6 refs; reads=2 writes=4; used at $A0FC, A109, A194, E399 Zp81 = $81 ; 11 refs; reads=7 writes=4; used at $A101, A107, A21B, A237, +6 more Zp82 = $82 ; 28 refs; reads=23 writes=5; used at $A162, A17C, A196, A1CF, +24 more Zp83 = $83 ; 12 refs; reads=5 writes=7; used at $A19C, A1E5, A1EE, A1F4, +7 more Zp84 = $84 ; 8 refs; reads=3 writes=5; used at $A198, A290, A29A, A2AD, +3 more Zp85 = $85 ; 9 refs; reads=4 writes=5; used at $818D, 8194, A875, A88E, +4 more Zp86 = $86 ; 72 refs; reads=31 writes=41; used at $809D, 80A4, 80BB, 80C1, +57 more Zp87 = $87 ; 119 refs; reads=41 writes=78; used at $803E, 8139, 81A1, 81BE, +102 more Zp88 = $88 ; 76 refs; reads=21 writes=55; used at $8031, 8140, 815F, 817A, +68 more Zp89 = $89 ; 56 refs; reads=9 writes=47; used at $802C, 83BA, A021, A760, +50 more Zp8A = $8A ; 138 refs; reads=54 writes=84; used at $8038, 812E, 8157, 8172, +132 more Zp8B = $8B ; 111 refs; reads=28 writes=83; used at $8126, 8251, 8257, 825A, +98 more Zp8C = $8C ; 26 refs; reads=13 writes=13; used at $801B, 801F, 8042, 8046, +22 more Zp8D = $8D ; 14 refs; reads=7 writes=7; used at $A91E, A922, A927, A92B, +10 more Zp8F = $8F ; 4 refs; reads=0 writes=4; used at $80AE, B68B, BCF9, BFEA Zp90 = $90 ; 5 refs; reads=1 writes=4; used at $80B3, B68D, BCFB, BFEF, +1 more Zp94 = $94 ; 4 refs; reads=1 writes=3; used at $C1B7, C1C1, C1C9, C1D4 Zp95 = $95 ; 8 refs; reads=4 writes=4; used at $C1CE, C1D1, C1DA, C1DC, +3 more Zp98 = $98 ; 10 refs; reads=9 writes=1; used at $B6C8, B731, C1E0, C1E4, +6 more Zp99 = $99 ; 2 refs; reads=0 writes=2; used at $C1E6, C1F2 Zp9A = $9A ; 1 refs; reads=1 writes=0; used at $DE8C Zp9C = $9C ; 9 refs; reads=6 writes=3; used at $C408, C45C, C4AC, C4D3, +4 more Zp9D = $9D ; 5 refs; reads=2 writes=3; used at $C40C, C51D, C521, C53C Zp9E = $9E ; 12 refs; reads=3 writes=9; used at $C41B, C426, C431, C43C, +8 more Zp9F = $9F ; 6 refs; reads=2 writes=4; used at $C41F, C42A, C435, C440, +2 more ZpA0 = $A0 ; 7 refs; reads=4 writes=3; used at $B65D, C4BD, C4E6, C53F, +1 more ZpA1 = $A1 ; 3 refs; reads=1 writes=2; used at $C4C2, C543 ZpA2 = $A2 ; 5 refs; reads=3 writes=2; used at $C4A0, C4D0, C4DA, C546 ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $C4A5, C54A ZpB0 = $B0 ; 46 refs; reads=26 writes=20; used at $A962, A970, A97E, A98E, +42 more ZpB1 = $B1 ; 15 refs; reads=6 writes=9; used at $A9E5, A9FC, AA20, AAA7, +11 more ZpB2 = $B2 ; 9 refs; reads=3 writes=6; used at $A9E1, A9F8, AA3C, AB05, +5 more ZpB3 = $B3 ; 9 refs; reads=3 writes=6; used at $A9E9, A9FE, AA59, AAE1, +5 more ZpB4 = $B4 ; 3 refs; reads=2 writes=1; used at $AAB3, DA36, DA51 ZpB5 = $B5 ; 1 refs; reads=1 writes=0; used at $AAD0 ZpB6 = $B6 ; 1 refs; reads=1 writes=0; used at $AAF4 ZpB7 = $B7 ; 1 refs; reads=1 writes=0; used at $AB11 ZpC9 = $C9 ; 4 refs; reads=1 writes=3; used at $B7EA, D889, DD4A, DD57 ZpCA = $CA ; 3 refs; reads=2 writes=1; used at $81C6, 81EE, 82B9 ZpCB = $CB ; 2 refs; reads=1 writes=1; used at $81F4, 81FF ZpCC = $CC ; 4 refs; reads=2 writes=2; used at $81FD, 8222, 8227, 8249 ZpCD = $CD ; 3 refs; reads=1 writes=2; used at $81F9, 8229, 822E ZpCE = $CE ; 1 refs; reads=0 writes=1; used at $8354 ZpCF = $CF ; 1 refs; reads=0 writes=1; used at $C055 ZpD0 = $D0 ; 4 refs; reads=2 writes=2; used at $C010, C08B, C0A4, C0AB ZpD1 = $D1 ; 4 refs; reads=2 writes=2; used at $C014, C086, C0AD, C0C0 ZpD2 = $D2 ; 4 refs; reads=2 writes=2; used at $C008, C092, C09B, C0A2 ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $C00C ZpD4 = $D4 ; 10 refs; reads=7 writes=3; used at $D97B, D98A, D99F, D9A4, +6 more ZpD5 = $D5 ; 5 refs; reads=2 writes=3; used at $D981, D9A6, D9AA, DA78, +1 more ZpD6 = $D6 ; 2 refs; reads=0 writes=2; used at $E015, E061 ZpD7 = $D7 ; 2 refs; reads=0 writes=2; used at $E019, E067 ZpD8 = $D8 ; 2 refs; reads=0 writes=2; used at $E01D, E06D ZpD9 = $D9 ; 2 refs; reads=0 writes=2; used at $E021, E071 ZpDB = $DB ; 4 refs; reads=2 writes=2; used at $D2C3, D2C5, D2CD ZpDD = $DD ; 18 refs; reads=5 writes=13; used at $8363, 8388, 838D, 83AB, +13 more ZpDE = $DE ; 20 refs; reads=6 writes=14; used at $835F, 838F, 8394, AA03, +15 more ZpDF = $DF ; 14 refs; reads=3 writes=11; used at $BCC7, BCE4, BE0B, BE22, +9 more ZpE0 = $E0 ; 14 refs; reads=3 writes=11; used at $BCCB, BCE8, BE07, BE1E, +9 more ZpE1 = $E1 ; 2 refs; reads=1 writes=1; used at $839D, 83A5 ZpE2 = $E2 ; 10 refs; reads=2 writes=8; used at $835A, 8365, BCEA, BE0F, +5 more ; Pass 3 semantic aliases (proven from the disassembly): PpuCtrlShadow = Zp8C PpuAddrHigh = Zp89 PpuAddrLow = Zp88 VramWritePtrLo = Zp8A VramWritePtrHi = Zp8B PlayerX = Zp87 PlayerY = Zp86 PlayerScore = ZpB0 ScreenPtrLo = Zp77 ScreenPtrHi = Zp78 TilePtrLo = Zp79 TilePtrHi = Zp7A SpriteIndex = Zp82 PpuMaskShadow = Zp8D