; Magmax (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 ; 47 refs; reads=39 writes=8; used at $BC95, BEC6, BFFD, C131, +43 more Zp01 = $01 ; 5 refs; reads=2 writes=3; used at $BECE, D3E8, D3F9, D9CE Zp02 = $02 ; 5 refs; reads=2 writes=3; used at $BEFF, D3EC, D51C, D9D0 Zp03 = $03 ; 9 refs; reads=5 writes=4; used at $D05E, D06A, D076, D09C, +3 more Zp04 = $04 ; 9 refs; reads=5 writes=4; used at $D062, D064, D072, D0A1, +3 more Zp05 = $05 ; 5 refs; reads=2 writes=3; used at $D388, D3CA, D3D5, D9DD Zp06 = $06 ; 4 refs; reads=1 writes=3; used at $D38C, D3DA, D9E2 Zp07 = $07 ; 5 refs; reads=2 writes=3; used at $D38F, D3DF, D510, D9E7 Zp08 = $08 ; 4 refs; reads=1 writes=3; used at $D393, D3E4, D9EC Zp09 = $09 ; 5 refs; reads=2 writes=3; used at $D3BF, D3C3, D431, D9D6 Zp0A = $0A ; 5 refs; reads=2 writes=3; used at $D507, D50B, D540, D9D8 Zp0B = $0B ; 10 refs; reads=7 writes=3; used at $BECA, D3F7, D41F, D9D2, +6 more Zp0C = $0C ; 4 refs; reads=1 writes=3; used at $BEFB, D51A, D52E, D9D4 Zp0D = $0D ; 12 refs; reads=9 writes=3; used at $C375, CAE8, CB1F, CB3A, +8 more Zp0E = $0E ; 8 refs; reads=5 writes=3; used at $C5A4, D022, D028, D048, +3 more Zp0F = $0F ; 6 refs; reads=3 writes=3; used at $C31F, D026, D042, D055, +1 more Zp10 = $10 ; 4 refs; reads=1 writes=3; used at $E6E8, E6F1, E6FA, E730 Zp20 = $20 ; 4 refs; reads=1 writes=3; used at $E703, E715, E71E, E727 Zp26 = $26 ; 2 refs; reads=1 writes=1; used at $E4D2 Zp30 = $30 ; 2 refs; reads=2 writes=0; used at $E67B, E6E6 Zp40 = $40 ; 1 refs; reads=1 writes=0; used at $E713 Zp50 = $50 ; 6 refs; reads=5 writes=1; used at $C5CA, CF9A, CFAA, CFAC, +1 more Zp51 = $51 ; 5 refs; reads=4 writes=1; used at $CFA3, CFB6, CFB8, CFBC Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $CFA8, CFB2 Zp53 = $53 ; 2 refs; reads=1 writes=1; used at $CFB4, CFBE Zp54 = $54 ; 8 refs; reads=7 writes=1; used at $C5B7, C5CE, CA6F, CB85, +4 more Zp55 = $55 ; 1 refs; reads=0 writes=1; used at $CFBA Zp56 = $56 ; 6 refs; reads=4 writes=2; used at $C5A9, C5CC, C5D2, C5F2, +2 more Zp57 = $57 ; 3 refs; reads=1 writes=2; used at $C5A2, C5D0, C655 Zp58 = $58 ; 7 refs; reads=4 writes=3; used at $CBC5, D8E4, E66F, E671, +1 more Zp59 = $59 ; 1 refs; reads=0 writes=1; used at $CBC7 Zp5A = $5A ; 4 refs; reads=2 writes=2; used at $CBCB, D8E0, D8E8, D8F0 Zp5B = $5B ; 1 refs; reads=0 writes=1; used at $CBCD Zp5C = $5C ; 1 refs; reads=0 writes=1; used at $CBD1 Zp5D = $5D ; 1 refs; reads=0 writes=1; used at $CBD3 Zp5E = $5E ; 197 refs; reads=105 writes=92; used at $BC54, BC56, BC5E, BC60, +181 more Zp5F = $5F ; 54 refs; reads=18 writes=36; used at $BC5A, BC64, BC68, BEDA, +40 more Zp60 = $60 ; 72 refs; reads=40 writes=32; used at $BF7D, BF88, C310, C31C, +65 more Zp61 = $61 ; 37 refs; reads=18 writes=19; used at $BF82, BF8C, BF92, BF96, +31 more Zp62 = $62 ; 58 refs; reads=34 writes=24; used at $BF72, BF7B, BF80, BFB2, +50 more Zp63 = $63 ; 16 refs; reads=6 writes=10; used at $BF77, C30A, C3B0, C3C0, +10 more Zp64 = $64 ; 44 refs; reads=18 writes=26; used at $BF84, BF86, BFA3, C064, +37 more Zp65 = $65 ; 41 refs; reads=17 writes=24; used at $BF94, BFA5, BFA7, BFAB, +34 more Zp66 = $66 ; 18 refs; reads=9 writes=9; used at $C03E, C055, C3DD, C4F8, +11 more Zp67 = $67 ; 17 refs; reads=8 writes=9; used at $C03A, C05D, C155, C407, +10 more Zp68 = $68 ; 22 refs; reads=11 writes=11; used at $BF67, BF9E, C06E, C0C8, +18 more Zp69 = $69 ; 11 refs; reads=6 writes=5; used at $C3AA, C3F8, C3FA, C410, +7 more Zp6A = $6A ; 16 refs; reads=10 writes=6; used at $BCAC, BCB8, BCBC, BD61, +12 more Zp6B = $6B ; 5 refs; reads=4 writes=1; used at $BCB3, BD40, C8A7, CE58, +1 more Zp6C = $6C ; 13 refs; reads=10 writes=3; used at $BD45, C3B5, C486, CD8E, +8 more Zp6D = $6D ; 1 refs; reads=1 writes=0; used at $BD4B Zp6E = $6E ; 10 refs; reads=5 writes=5; used at $BD50, C004, C01E, C029, +6 more Zp6F = $6F ; 25 refs; reads=14 writes=11; used at $BD56, E4F5, E545, E54B, +12 more Zp70 = $70 ; 8 refs; reads=3 writes=5; used at $BD52, C09D, C0EE, CD92, +4 more Zp71 = $71 ; 1 refs; reads=1 writes=0; used at $BD47 Zp72 = $72 ; 13 refs; reads=4 writes=9; used at $BF6B, C04F, C094, C0E5, +9 more Zp73 = $73 ; 12 refs; reads=3 writes=9; used at $BFCC, C057, C0B4, C107, +8 more Zp74 = $74 ; 11 refs; reads=3 writes=8; used at $BFD3, BFE0, C048, C0B9, +7 more Zp75 = $75 ; 11 refs; reads=3 writes=8; used at $BFF8, C025, C037, C05F, +7 more Zp79 = $79 ; 18 refs; reads=17 writes=1; used at $BD5B, C592, C59E, C9BF, +13 more Zp7A = $7A ; 3 refs; reads=1 writes=2; used at $BD5F, CEAF, CFFB Zp7B = $7B ; 8 refs; reads=5 writes=3; used at $D01C, D0BC, D105, D128, +4 more Zp7C = $7C ; 14 refs; reads=10 writes=4; used at $CEFD, CF13, D018, D0B8, +9 more Zp7D = $7D ; 3 refs; reads=1 writes=2; used at $CEF4, CF24, D385 Zp7F = $7F ; 7 refs; reads=3 writes=4; used at $BEDC, BEE3, BEE5, BEEA, +2 more Zp80 = $80 ; 7 refs; reads=3 writes=4; used at $BF0D, BF14, BF16, BF1B, +2 more Zp81 = $81 ; 5 refs; reads=2 writes=3; used at $D476, D505, DB84, DBB5, +1 more Zp82 = $82 ; 3 refs; reads=1 writes=2; used at $D583, D665, E4FD Zp85 = $85 ; 4 refs; reads=2 writes=2; used at $BD87, C5C4, CA77, FB1E Zp86 = $86 ; 11 refs; reads=8 writes=3; used at $BD70, C598, CB46, CB5E, +7 more Zp87 = $87 ; 4 refs; reads=3 writes=1; used at $CB8B, CB91, CB99, E66B Zp88 = $88 ; 18 refs; reads=15 writes=3; used at $C5C7, CA0B, CA20, CD94, +14 more Zp89 = $89 ; 47 refs; reads=35 writes=12; used at $C03C, C15D, C61C, C620, +34 more Zp8A = $8A ; 55 refs; reads=41 writes=14; used at $C13E, C176, C5AB, C5DD, +44 more Zp8B = $8B ; 21 refs; reads=13 writes=8; used at $C042, C5E3, C5F8, C608, +17 more Zp8D = $8D ; 4 refs; reads=1 writes=3; used at $CB58, CB95, CBFA Zp8E = $8E ; 4 refs; reads=2 writes=2; used at $CB67, CB7C, CBF8 Zp8F = $8F ; 59 refs; reads=30 writes=29; used at $CBE7, D4BD, D59D, E16E, +39 more Zp90 = $90 ; 27 refs; reads=5 writes=22; used at $BDA4, C731, CBE3, D4B9, +23 more Zp91 = $91 ; 4 refs; reads=2 writes=2; used at $C64E, C652, C65E Zp92 = $92 ; 4 refs; reads=2 writes=2; used at $EC9C, ECA2, ECA4 Zp94 = $94 ; 12 refs; reads=1 writes=11; used at $C672, DA38, DB74, DBE3, +8 more Zp95 = $95 ; 8 refs; reads=3 writes=5; used at $E1C8, E40E, E890, E921, +4 more Zp96 = $96 ; 17 refs; reads=12 writes=5; used at $FAA8, FAE6, FAEA, FAF1, +12 more Zp97 = $97 ; 9 refs; reads=4 writes=5; used at $FAAC, FAF6, FB12, FB1A, +4 more Zp98 = $98 ; 9 refs; reads=5 writes=4; used at $C373, C37B, C383, C41B, +5 more Zp99 = $99 ; 3 refs; reads=0 writes=3; used at $BDAB, ECC5, F7F5 Zp9A = $9A ; 3 refs; reads=0 writes=3; used at $BDB0, ECCA, F7FA Zp9B = $9B ; 4 refs; reads=2 writes=2; used at $CBD7, E6CF, E6D1 Zp9C = $9C ; 4 refs; reads=1 writes=3; used at $CB2E, CB42, CE91, D3BA Zp9D = $9D ; 2 refs; reads=0 writes=2; used at $CB10, DDAE Zp9F = $9F ; 1 refs; reads=0 writes=1; used at $E4DF ZpA3 = $A3 ; 1 refs; reads=0 writes=1; used at $CAF1 ZpA5 = $A5 ; 1 refs; reads=1 writes=0; used at $CB66 ZpA7 = $A7 ; 3 refs; reads=0 writes=3; used at $CAF6, CB7A, CB83 ZpAC = $AC ; 3 refs; reads=0 writes=3; used at $CB44, D3A0, D3BC ZpBC = $BC ; 6 refs; reads=2 writes=4; used at $CF04, CF18, D2E0, D2E6, +2 more ZpBD = $BD ; 1 refs; reads=1 writes=0; used at $BDF7 ZpE0 = $E0 ; 1 refs; reads=1 writes=0; used at $DBAF ; Pass 3 semantic aliases (proven from the disassembly): PpuCtrlShadow = Zp6A PpuMaskShadow = Zp6B HandlerPtrLo = Zp99 HandlerPtrHi = Zp9A VramWritePtrLo = Zp5E VramWritePtrHi = Zp5F VramReadPtrLo = Zp62 VramReadPtrHi = Zp63 ObjectX = Zp60 ObjectY = Zp61 GameState = Zp8A LevelIndex = Zp8B PlayerIndex = Zp00 PlayerIndex2 = Zp01 PlayerY = Zp90 TimerIndex = Zp64 ObjectTimer = Zp68 SpriteX = Zp88