; Xevious (U) application-specific RAM aliases - Pass 2 ; Semantic names derived from observed usage in reachable code. PPUCTRLShadow = $00 ; 24 refs; PPUCTRL mirror written each NMI PPUMASKShadow = $01 ; 23 refs; PPUMASK mirror written each NMI ScrollX = $02 ; 3 refs; horizontal scroll written to PPUSCROLL ScrollY = $03 ; 18 refs; vertical scroll written to PPUSCROLL VramPtrLo = $04 ; 53 refs; indirect pointer low byte for (Zp04),y VramCopyCount = $05 ; 14 refs; copy/page counter (init to 7 in reset) Joypad1Cur = $06 ; 4 refs; joypad 1 current state Joypad1Prev = $07 ; 5 refs; joypad 1 previous state Joypad2Cur = $08 ; 2 refs; joypad 2 current state Joypad1Press = $09 ; 6 refs; joypad 1 newly-pressed buttons Joypad2Cur2 = $0A ; 6 refs; joypad 2 current state (2nd copy) Joypad2Prev = $0B ; 3 refs; joypad 2 previous state UnusedZp0C = $0C ; 1 refs; read only at $FE73 NmiFrameFlag = $0D ; 5 refs; NMI frame flag ObjUpdateFlag = $0E ; 51 refs; object update / sprite flag (heavily used) NmiToggle = $0F ; 4 refs; NMI toggle flag (eor'd each frame) GameMode = $10 ; 10 refs; game mode (0=title,1=game,2=demo?) Zp12 = $12 ; 4 refs; reads=2 writes=2 ObjPtr = $13 ; 65 refs; object/entity pointer (heavily used) Zp14 = $14 ; 10 refs Zp15 = $15 ; 8 refs Zp16 = $16 ; 1 refs ObjectX = $18 ; 12 refs; object X coordinate ObjectY = $19 ; 9 refs; object Y coordinate Joypad1Press2 = $1A ; 10 refs; joypad press / frame counter GameSubMode = $1B ; 24 refs; game sub-mode (read 22x, written 2x) Zp1C = $1C ; 4 refs Zp1D = $1D ; 3 refs Zp1E = $1E ; 3 refs Zp20 = $20 ; 4 refs; read only FrameToggle = $22 ; 7 refs; toggle flag (r or'ed each NMI) Zp23 = $23 ; 24 refs; read 23x, written 1x Zp24 = $24 ; 18 refs; read 17x, written 1x Zp25 = $25 ; 19 refs Zp26 = $26 ; 2 refs Zp27 = $27 ; 9 refs Zp28 = $28 ; 2 refs; init to $F8 in reset Zp29 = $29 ; 5 refs Zp2A = $2A ; 36 refs; read 33x, written 3x Zp2B = $2B ; 5 refs Zp2C = $2C ; 13 refs ObjectDeltaX = $2D ; 28 refs; object delta X (read 11x, written 17x) Zp2E = $2E ; 6 refs Zp2F = $2F ; 5 refs Zp30 = $30 ; 9 refs Zp31 = $31 ; 3 refs Zp32 = $32 ; 5 refs Zp33 = $33 ; 2 refs Zp34 = $34 ; 3 refs ObjectYLo = $35 ; 27 refs; object Y coordinate low ObjectYHi = $36 ; 17 refs; object Y coordinate high ObjectXLo = $37 ; 34 refs; object X coordinate low ObjectXHi = $38 ; 37 refs; object X coordinate high Zp39 = $39 ; 11 refs Zp3A = $3A ; 2 refs Zp3B = $3B ; 24 refs ResetHi = $3C ; 10 refs; high byte from reset table Zp3D = $3D ; 6 refs Zp3E = $3E ; 6 refs Zp3F = $3F ; 6 refs Zp40 = $40 ; 3 refs Zp41 = $41 ; 4 refs Zp42 = $42 ; 4 refs; init to 4 in reset Zp43 = $43 ; 1 refs; init to $FE in reset Zp44 = $44 ; 4 refs Zp45 = $45 ; 8 refs Zp46 = $46 ; 9 refs Zp48 = $48 ; 4 refs Zp49 = $49 ; 2 refs Zp4B = $4B ; 2 refs; copied from $0110 in reset Zp4E = $4E ; 1 refs; init to 2 in reset Zp52 = $52 ; 2 refs Zp53 = $53 ; 2 refs; from reset table $FC25 Zp54 = $54 ; 1 refs; from reset table $FC26 Zp55 = $55 ; 1 refs; from reset table $FC27 Zp56 = $56 ; 1 refs; from reset table $FC28 Zp57 = $57 ; 4 refs Zp58 = $58 ; 3 refs Zp59 = $59 ; 9 refs Zp5A = $5A ; 8 refs Zp5B = $5B ; 3 refs Zp5D = $5D ; 1 refs; from reset table $FC21 Zp5E = $5E ; 6 refs; copied from $0140 in reset Zp5F = $5F ; 2 refs; from reset table $FC21 Zp60 = $60 ; 9 refs; read only (checked in NMI) Zp61 = $61 ; 10 refs Zp62 = $62 ; 3 refs ObjIndex = $63 ; 6 refs; object/index slot (from reset $0141) Zp65 = $65 ; 2 refs Zp66 = $66 ; 2 refs; from reset table $FC1D Zp69 = $69 ; 1 refs Zp6C = $6C ; 2 refs Zp6E = $6E ; 3 refs Zp77 = $77 ; 1 refs Zp7B = $7B ; 1 refs Zp7F = $7F ; 2 refs Zp80 = $80 ; 14 refs; copied from $0120 in reset Zp81 = $81 ; 3 refs Zp82 = $82 ; 1 refs Zp83 = $83 ; 1 refs Zp84 = $84 ; 1 refs Zp85 = $85 ; 1 refs Zp87 = $87 ; 4 refs Zp88 = $88 ; 10 refs Zp8A = $8A ; 1 refs Zp8B = $8B ; 1 refs Zp8C = $8C ; 2 refs Zp8D = $8D ; 6 refs Zp8E = $8E ; 4 refs Zp8F = $8F ; 10 refs Zp90 = $90 ; 8 refs Zp91 = $91 ; 5 refs Zp92 = $92 ; 5 refs Zp93 = $93 ; 1 refs Zp94 = $94 ; 2 refs Zp95 = $95 ; 3 refs Zp96 = $96 ; 2 refs Zp97 = $97 ; 1 refs Zp98 = $98 ; 3 refs Zp99 = $99 ; 15 refs Zp9A = $9A ; 4 refs; copied from $0130 in reset ZpA2 = $A2 ; 1 refs ZpA4 = $A4 ; 1 refs ZpA7 = $A7 ; 3 refs ZpA9 = $A9 ; 6 refs ZpAA = $AA ; 1 refs ZpAD = $AD ; 1 refs ZpB3 = $B3 ; 1 refs ZpC1 = $C1 ; 4 refs ZpC3 = $C3 ; 2 refs ZpC6 = $C6 ; 2 refs ZpD7 = $D7 ; 3 refs ZpD8 = $D8 ; 9 refs ZpDE = $DE ; 2 refs ZpE6 = $E6 ; 2 refs SpriteAttr = $E8 ; 5 refs; sprite attribute byte (set in NMI) ZpEA = $EA ; 2 refs ZpEB = $EB ; 1 refs NmiCounter = $ED ; 4 refs; NMI counter (inc'd each frame) ZpEE = $EE ; 2 refs; bit 7 of Zp63 (sprite flag?) ZpF0 = $F0 ; 8 refs ZpF1 = $F1 ; 1 refs ZpF2 = $F2 ; 43 refs; heavily used general-purpose ZpF3 = $F3 ; 1 refs ZpF4 = $F4 ; 3 refs ZpF5 = $F5 ; 1 refs ZpF6 = $F6 ; 4 refs ZpF7 = $F7 ; 1 refs ZpF8 = $F8 ; 2 refs ZpF9 = $F9 ; 1 refs ZpFA = $FA ; 1 refs ZpFB = $FB ; 1 refs ZpFC = $FC ; 10 refs ZpFD = $FD ; 30 refs; heavily used general-purpose ZpFE = $FE ; 15 refs; indirect jump lo (jmp ($fe) dispatch) ZpFF = $FF ; 9 refs; indirect jump hi (jmp ($fe) dispatch)