- Decoded the VramWrite ($E1CC) stream format: <addr hi> <addr lo> <count> <bytes>, $00 terminator - Named all 9 payload streams ($E4CC-$E7C2, no gaps/overlaps) plus VramWriteSourcePointerTable at $F000 - Split PadBitTableLives into Player1TileTable ($E4B4) and Player2TileTable ($E4C0), 12 entries each (Y=0..11) - Decoded CHR font (digits $30-$39, letters $3A-$52, space $5F; 'W' missing from the A-Z run) and recovered on-screen text including 'PRESS A TO TEST SIDE-A' / 'SIDE-B' - Documented that the 16 KiB PRG is two byte-identical 8 KiB halves; $C000 copy is dead - Documented 7 unreached subroutines inside the live code region (kept as .byte per Pass-1 policy) - Fixed a stray duplicate sentence and stale _wip paths in root OVERVIEW.md Byte-identical ROM verified.
170 lines
24 KiB
PHP
170 lines
24 KiB
PHP
; MUSCLE (U) application-specific RAM aliases - Pass 2
|
|
; Generated from every direct zero-page operand in reachable code.
|
|
; Names come from observed usage; `ZpXX` marks storage whose role is not yet
|
|
; unique enough for a behavioural name. Ref counts are reads/writes and the
|
|
; trailing list shows the first referencing addresses.
|
|
|
|
ActionCooldown = $65 ; 7 refs; reads=5 writes=2 used at $8235, 82A7, A729, A752, +3 more ; Frames to wait before the main loop resumes object updates
|
|
ActorFieldOffset = $23 ; 5 refs; reads=2 writes=3 used at $9A2E, 9A34, 9A7C, A272, +1 more ; Second per-actor offset used by the bytecode handlers
|
|
ActorIndex = $1E ; 86 refs; reads=66 writes=20 used at $83A9, 83AB, 83B9, 8496, +74 more ; Active player/actor slot (0 or 1) used as an array index
|
|
ActorPosXLo = $34 ; 4 refs; reads=0 writes=4 used at $81AF, 8253, 9A26, 9A30 ; Per-actor 16-bit X scratch, written by the bytecode handlers
|
|
ActorSlotOffset = $21 ; 32 refs; reads=27 writes=5 used at $9310, 9383, 93EC, 942C, +27 more ; ActorIndex*4; byte offset into the per-actor record arrays
|
|
ActorSlotOffsetHi = $22 ; 11 refs; reads=8 writes=3 used at $94A3, 94ED, 9513, 957D, +7 more ; High half of the per-actor record offset
|
|
ApuEnableMask = $E8 ; 4 refs; reads=2 writes=2 used at $AF2A, AF6B, B05D, B069 ; Bit mask of currently enabled APU channels
|
|
ApuRegisterOffset = $E4 ; 6 refs; reads=5 writes=1 used at $AF47, AF95, AFA0, B00F, +2 more ; Channel*4, the offset added to $4000/$4001/$4002/$4003
|
|
BytecodeHandlerPointerHi = $1D ; 26 refs; reads=8 writes=18 used at $8C1A, 8C24, 94A1, 957B, +19 more ; Hi byte of the handler address consumed by jmp ($001C)
|
|
BytecodeHandlerPointerLo = $1C ; 54 refs; reads=20 writes=34 used at $8C16, 8C29, 8C3C, 937F, +42 more ; Lo byte of the handler address consumed by jmp ($001C)
|
|
BytecodeStreamPointerHi = $1B ; 19 refs; reads=8 writes=11 used at $9AE4, 9B74, 9B78, 9B7C, +10 more ; Hi byte of the token-stream pointer
|
|
BytecodeStreamPointerLo = $1A ; 28 refs; reads=15 writes=13 used at $8C69, 8C86, 8C9B, 8C9D, +18 more ; Lo byte of the token-stream pointer, loaded from the $8CEF table
|
|
CollisionFlagBits = $15 ; 53 refs; reads=19 writes=34 used at $89E8, 8A12, 8A16, 8B48, +42 more ; Accumulator for the overlap bit flags OR-ed together by ComputePlayerOverlapBits
|
|
ControllerButtonMask = $F2 ; 7 refs; reads=6 writes=1 used at $9AAE, 9F6C, 9F7F, A283, +3 more ; Filtered button bits for this read, per player
|
|
ControllerButtonMask2 = $F3 ; 2 refs; reads=2 writes=0 used at $A2B3, A2C1 ; Filtered button bits, second player
|
|
ControllerButtons1 = $FA ; 25 refs; reads=19 writes=6 used at $8028, 8682, 87D1, 8849, +19 more ; Raw button byte for player 1 (shadows $4010/$4011 at reset)
|
|
ControllerButtons2 = $FB ; 4 refs; reads=3 writes=1 used at $802A, 8948, 8956, 896B ; Raw button byte for player 2 (shadows $4010/$4011 at reset)
|
|
ControllerButtonsPrev = $F4 ; 12 refs; reads=11 writes=1 used at $8688, 87D7, 884F, 8864, +8 more ; Previous read's button byte, for edge detection
|
|
ControllerButtonsPrev2 = $F5 ; 4 refs; reads=4 writes=0 used at $895C, 8971, A2AF, A2BD ; Previous read's button byte, second player
|
|
ControllerDPad1 = $F6 ; 26 refs; reads=19 writes=7 used at $8169, 92E8, 92EC, 9594, +22 more ; Directional bits derived from the button byte
|
|
ControllerDPad2 = $F7 ; 13 refs; reads=11 writes=2 used at $816B, 95B8, 9708, 980B, +8 more ; Directional bits derived from the button byte
|
|
ControllerFaceButtons1 = $F8 ; 8 refs; reads=1 writes=7 used at $816D, 92EE, 9A49, 9E76, +4 more ; Face-button bits derived from the button byte
|
|
ControllerFaceButtons2 = $F9 ; 1 refs; reads=0 writes=1 used at $816F ; Face-button bits derived from the button byte
|
|
DestinationPointerHi = $13 ; 48 refs; reads=20 writes=28 used at $8050, 89E0, 8A06, 8A0A, +36 more ; Hi byte of the VRAM destination pointer
|
|
DestinationPointerLo = $12 ; 66 refs; reads=25 writes=41 used at $804C, 805B, 8064, 806E, +54 more ; Lo byte of the VRAM destination pointer
|
|
FrameCounterHi = $25 ; 3 refs; reads=1 writes=2 used at $80BB, 86E1 ; High byte of the 16-bit frame counter
|
|
FrameCounterLo = $24 ; 21 refs; reads=19 writes=2 used at $80B9, 8669, 86DD, 8787, +16 more ; Low byte of the 16-bit frame counter, incremented once per NMI
|
|
PlayerActionState = $F0 ; 37 refs; reads=20 writes=17 used at $81B5, 8241, 8257, 8290, +33 more ; Per-player action/animation state byte ($80..$FF)
|
|
PlayerActionState2 = $F1 ; 8 refs; reads=5 writes=3 used at $81B7, 8259, 825F, 8278, +4 more ; Per-player second action state byte
|
|
PlayerActiveFlag = $78 ; 15 refs; reads=13 writes=2 used at $9B80, 9D97, 9E0E, A06A, +9 more ; Per-player "still alive / facing right" flag gating the overlap test
|
|
PlayerBoxOriginX = $6E ; 9 refs; reads=4 writes=5 used at $A821, A825, A850, A85E, +3 more ; Player 1 hitbox origin used by the overlap test
|
|
PlayerBoxOriginY = $70 ; 10 refs; reads=6 writes=4 used at $A807, A80B, A810, A816, +4 more ; Player 1 hitbox origin used by the overlap test
|
|
PlayerCount = $94 ; 7 refs; reads=6 writes=1 used at $8377, 83D1, 8440, 8493, +3 more ; 0 = one player, 1 = two players
|
|
PlayerFlashTimer = $8B ; 8 refs; reads=2 writes=6 used at $97E6, AD77, AD7E, AD82, +3 more ; Per-player damage-flash countdown
|
|
PlayerPaletteIndex = $2A ; 9 refs; reads=7 writes=2 used at $809A, 9306, 930A, 99E5, +5 more ; Per-player palette slot table
|
|
PlayerPaletteIndexHi = $92 ; 5 refs; reads=3 writes=2 used at $81E2, 8A2C, 8A3A, 8AC9 ; High byte of the player palette index pair
|
|
PlayerPaletteIndexLo = $91 ; 5 refs; reads=2 writes=3 used at $81E4, 8A49, 8AC1, 8AC7 ; Low byte of the player palette index pair
|
|
PlayerPosXLo1 = $3A ; 11 refs; reads=8 writes=3 used at $81E8, 9964, 9A80, 9CC1, +6 more ; Player 1 X position, low byte
|
|
PlayerPosXLo2 = $3E ; 8 refs; reads=5 writes=3 used at $81F0, 9A7E, 9CC4, A3B4, +2 more ; Player 2 X position, low byte
|
|
PlayerPosYLo1 = $3C ; 39 refs; reads=30 writes=9 used at $81EC, 959C, 95B3, 95CC, +29 more ; Player 1 Y position, low byte
|
|
PlayerPosYLo2 = $40 ; 39 refs; reads=28 writes=11 used at $81F4, 95A8, 95B0, 95C0, +25 more ; Player 2 Y position, low byte
|
|
PlayerSpriteIndex1 = $26 ; 7 refs; reads=4 writes=3 used at $809C, 818E, 819D, 8C14, +3 more ; Per-player sprite slot table, first plane
|
|
PlayerSpriteIndex2 = $27 ; 2 refs; reads=1 writes=1 used at $80A2, 8C18 ; Per-player sprite slot table, second plane
|
|
PlayerSpriteIndex3 = $28 ; 1 refs; reads=0 writes=1 used at $80A7 ; Per-player sprite slot table, third plane
|
|
PlayerSpriteIndex4 = $29 ; 1 refs; reads=0 writes=1 used at $80AA ; Per-player sprite slot table, fourth plane
|
|
PlayerTileIndex = $2B ; 1 refs; reads=0 writes=1 used at $80A5 ; Per-player tile slot table
|
|
PpuCtrlShadow = $FC ; 10 refs; reads=6 writes=4 used at $8649, 8BFA, A543, A57D, +6 more ; Shadow of the last value written to $2000
|
|
PpuMaskShadow = $FD ; 4 refs; reads=1 writes=3 used at $8650, AAD2, AAE6, ABDF ; Shadow of the last value written to $2001
|
|
PpuScrollX = $FE ; 33 refs; reads=19 writes=14 used at $80D8, 80EC, 8461, 86A0, +19 more ; Shadow of the first $2005 write
|
|
PpuScrollY = $FF ; 2 refs; reads=1 writes=1 used at $8031, ABEC ; Shadow of the second $2005 write
|
|
RoundTransitionTimer = $8D ; 5 refs; reads=3 writes=2 used at $81BB, 877C, 8780, 8AA5 ; Decremented by the round-transition state
|
|
ScreenTransitionState = $68 ; 9 refs; reads=5 writes=4 used at $A763, A781, A7AB, A831, +5 more ; 0 = idle, negative = entering, positive = leaving
|
|
ScriptArgHi = $48 ; 7 refs; reads=6 writes=1 used at $9DD8, A54A, A559, A56B, +3 more ; Per-actor bytecode argument, high byte
|
|
ScriptArgLo = $47 ; 7 refs; reads=6 writes=1 used at $9DD6, A54F, A55E, A570, +3 more ; Per-actor bytecode argument, low byte
|
|
ScriptCounterA = $43 ; 9 refs; reads=3 writes=6 used at $944C, 950E, 9699, 9AD3, +4 more ; Per-actor bytecode counter A
|
|
ScriptCounterC = $45 ; 7 refs; reads=1 writes=6 used at $9DAE, 9E43, 9E6E, A51D, +3 more ; Per-actor bytecode counter C
|
|
ScriptFlags = $41 ; 6 refs; reads=1 writes=5 used at $824F, 8AA2, 94CA, 9A3C, +2 more ; Script state byte selected by the bytecode SelectActorSlot handlers
|
|
ScriptFlagsHi = $4E ; 8 refs; reads=6 writes=2 used at $958A, 96CE, 97FC, 98BA, +4 more ; High byte; tested non-zero to gate several bytecode handlers
|
|
ScriptFlagsLo = $4D ; 4 refs; reads=1 writes=3 used at $9A3A, 9CBD, 9D4C, A406 ; Low byte of the 16-bit script flag pair
|
|
SoundChannelStep1 = $D0 ; 23 refs; reads=7 writes=16 used at $8321, 847D, 848D, 8555, +17 more ; APU channel 1 step index into its note table
|
|
SoundChannelStep2 = $D1 ; 13 refs; reads=2 writes=11 used at $82EB, 8323, 847F, 8557, +8 more ; APU channel 2 step index into its note table
|
|
SoundChannelStep3 = $D2 ; 7 refs; reads=1 writes=6 used at $8325, 8481, 8559, 858A, +2 more ; APU channel 3 step index into its note table
|
|
SoundChannelStep4 = $D3 ; 6 refs; reads=1 writes=5 used at $82F7, 8327, 855B, A4DF, +2 more ; APU channel 4 step index into its note table
|
|
SoundEnvelopeMaskHi = $ED ; 4 refs; reads=1 writes=3 used at $AF93, AFD2, AFD6 ; Computed envelope bits OR-ed into $4000, high part
|
|
SoundEnvelopeMode1 = $C4 ; 4 refs; reads=3 writes=1 used at $AF86, AFC6, AFDA, B079 ; APU channel 1 envelope/tone mode nibble
|
|
SoundEnvelopeValue1 = $CC ; 2 refs; reads=1 writes=1 used at $AF82, B04B ; APU channel 1 envelope byte read from the sequence
|
|
SoundLastCtrlWrite1 = $E0 ; 5 refs; reads=3 writes=2 used at $AF9A, B00D, B07F, B085, +1 more ; Last value written to $4000+4*channel, channel 1
|
|
SoundMuted = $E9 ; 8 refs; reads=5 writes=3 used at $80B7, 822B, 8677, 8698, +4 more ; Bit 7 set suppresses writes to $4015 (write during rendering)
|
|
SoundNoteTimer1 = $C8 ; 7 refs; reads=3 writes=4 used at $AF51, B049, B051, B054, +1 more ; APU channel 1 note duration countdown
|
|
SoundReadPointerHi = $EF ; 7 refs; reads=2 writes=5 used at $AF7C, AFAD, AFB5, AFC0, +1 more ; Hi byte of the sound sequence read cursor
|
|
SoundReadPointerLo = $EE ; 18 refs; reads=12 writes=6 used at $AF5A, AF78, AF80, AF89, +11 more ; Lo byte of the sound sequence read cursor
|
|
SoundSequencePtrHi1 = $D8 ; 11 refs; reads=2 writes=9 used at $8305, 8469, 8539, 8572, +7 more ; APU channel 1 sequence pointer, high byte
|
|
SoundSequencePtrHi2 = $D9 ; 9 refs; reads=0 writes=9 used at $82E7, 830D, 8471, 8541, +5 more ; APU channel 2 sequence pointer, high byte
|
|
SoundSequencePtrHi3 = $DA ; 4 refs; reads=0 writes=4 used at $8315, 8479, 8549, 8582 ; APU channel 3 sequence pointer, high byte
|
|
SoundSequencePtrHi4 = $DB ; 4 refs; reads=0 writes=4 used at $82F3, 831D, 8551, A4EB ; APU channel 4 sequence pointer, high byte
|
|
SoundSequencePtrLo1 = $D4 ; 11 refs; reads=2 writes=9 used at $8301, 8465, 8535, 856E, +7 more ; APU channel 1 sequence pointer, low byte
|
|
SoundSequencePtrLo2 = $D5 ; 9 refs; reads=0 writes=9 used at $82E3, 8309, 846D, 853D, +5 more ; APU channel 2 sequence pointer, low byte
|
|
SoundSequencePtrLo3 = $D6 ; 4 refs; reads=0 writes=4 used at $8311, 8475, 8545, 857E ; APU channel 3 sequence pointer, low byte
|
|
SoundSequencePtrLo4 = $D7 ; 4 refs; reads=0 writes=4 used at $82EF, 8319, 854D, A4E7 ; APU channel 4 sequence pointer, low byte
|
|
SoundSustainCounter1 = $DC ; 9 refs; reads=4 writes=5 used at $AFA7, B0A9, B0B1, B0BF, +2 more ; APU channel 1 sustain/release counter
|
|
SoundTonePeriodHi = $EB ; 7 refs; reads=3 writes=4 used at $AFF2, B000, B014, B01A, +2 more ; Computed tone period, high byte
|
|
SoundTonePeriodLo = $EA ; 5 refs; reads=2 writes=3 used at $AFED, B002, B01C, B02E ; Computed tone period, low byte
|
|
SoundVolume1 = $80 ; 4 refs; reads=1 writes=3 used at $99DD, 9F72, 9F79, AACA ; APU channel 1 volume
|
|
SoundVolume3 = $82 ; 9 refs; reads=1 writes=8 used at $81A9, 94C2, 9620, 975B, +5 more ; APU channel 3 volume
|
|
SoundVolume4 = $83 ; 1 refs; reads=0 writes=1 used at $81AB ; APU channel 4 volume
|
|
SourcePointerHi = $11 ; 48 refs; reads=9 writes=39 used at $8048, 80C9, 80F4, 8405, +41 more ; Hi byte of the compressed VRAM/attribute stream pointer
|
|
SourcePointerLo = $10 ; 131 refs; reads=42 writes=89 used at $8044, 8052, 80C5, 80F0, +123 more ; Lo byte of the compressed VRAM/attribute stream pointer
|
|
StreamBlockCountHi = $15 ; 2 refs; reads=1 writes=1 used at $ACDE, ACE2
|
|
SubModeFlag = $96 ; 3 refs; reads=1 writes=2 used at $8488, 855F, 86FA ; $FF entering a sub-mode, $01 leaving it, 0 idle
|
|
VramBlockCountLo = $14 ; 50 refs; reads=24 writes=26 used at $83B1, 89E4, 8A0C, 8A10, +40 more ; Low byte of the 16-bit block counter advanced by AdvanceCountWord
|
|
Zp00 = $00 ; 1 refs; reads=0 writes=1 used at $8173
|
|
Zp16 = $16 ; 28 refs; reads=11 writes=17 used at $89F1, 8B19, 8B20, 8B6B, +20 more
|
|
Zp17 = $17 ; 17 refs; reads=8 writes=9 used at $8C45, 8C65, 8C91, 8C9F, +11 more
|
|
Zp18 = $18 ; 61 refs; reads=23 writes=38 used at $84B7, 85AC, 89F5, 8C53, +42 more
|
|
Zp19 = $19 ; 47 refs; reads=21 writes=26 used at $84B5, 85B4, 8C70, 8CA6, +35 more
|
|
Zp1F = $1F ; 6 refs; reads=2 writes=4 used at $9BAE, 9BCD, 9BD7, 9BEF
|
|
Zp20 = $20 ; 6 refs; reads=2 writes=4 used at $9BB2, 9BC4, 9BDB, 9BEB
|
|
Zp2C = $2C ; 2 refs; reads=1 writes=1 used at $A1C7, A24E
|
|
Zp2D = $2D ; 5 refs; reads=2 writes=3 used at $8128, 8130, 815A, 8162, +1 more
|
|
Zp2F = $2F ; 4 refs; reads=2 writes=2 used at $80AE, A01F, A037
|
|
Zp30 = $30 ; 2 refs; reads=0 writes=2 used at $80B0, 850B
|
|
Zp33 = $33 ; 4 refs; reads=3 writes=1 used at $96D6, 9704, 9863
|
|
Zp37 = $37 ; 5 refs; reads=3 writes=2 used at $96D9, 9701, 9865
|
|
Zp38 = $38 ; 2 refs; reads=0 writes=2 used at $81B1, 828A
|
|
Zp3B = $3B ; 13 refs; reads=12 writes=1 used at $9599, 95C9, 96E2, 9719, +9 more
|
|
Zp3F = $3F ; 14 refs; reads=11 writes=3 used at $95A5, 95BD, 96EE, 970D, +8 more
|
|
Zp42 = $42 ; 2 refs; reads=0 writes=2 used at $8286, AA53
|
|
Zp4B = $4B ; 26 refs; reads=13 writes=13 used at $92C2, 92C8, 92D8, 92DD, +14 more
|
|
Zp4F = $4F ; 28 refs; reads=16 writes=12 used at $81A5, 8239, 823F, 83AD, +22 more
|
|
Zp50 = $50 ; 7 refs; reads=4 writes=3 used at $81A7, 8270, 8276, 8793, +2 more
|
|
Zp51 = $51 ; 9 refs; reads=1 writes=8 used at $938D, 93F9, 956C, 9607, +5 more
|
|
Zp52 = $52 ; 4 refs; reads=2 writes=2 used at $A672, A687, A695, A6ED
|
|
Zp53 = $53 ; 3 refs; reads=2 writes=1 used at $A684, A69F, A6C2
|
|
Zp54 = $54 ; 3 refs; reads=2 writes=1 used at $A681, A6A7, A6CD
|
|
Zp55 = $55 ; 5 refs; reads=2 writes=3 used at $A68B, A69B, A6BE
|
|
Zp56 = $56 ; 1 refs; reads=1 writes=0 used at $A678
|
|
Zp5A = $5A ; 13 refs; reads=7 writes=6 used at $9423, 9446, 944E, 9454, +9 more
|
|
Zp5C = $5C ; 3 refs; reads=1 writes=2 used at $94BB, 9C06
|
|
Zp5E = $5E ; 4 refs; reads=1 writes=3 used at $9A6F, 9AD0, 9C0E
|
|
Zp60 = $60 ; 6 refs; reads=2 writes=4 used at $9525, 953E, 9544, A4DA
|
|
Zp62 = $62 ; 9 refs; reads=3 writes=6 used at $952E, 954A, 961E, 978E, +5 more
|
|
Zp64 = $64 ; 4 refs; reads=3 writes=1 used at $826E, A737, A76D, A78F
|
|
Zp66 = $66 ; 2 refs; reads=1 writes=1 used at $A767, A791
|
|
Zp67 = $67 ; 2 refs; reads=1 writes=1 used at $A773, A795
|
|
Zp69 = $69 ; 6 refs; reads=2 writes=4 used at $A789, A7B2, A7C7, A7E5, +1 more
|
|
Zp6A = $6A ; 3 refs; reads=1 writes=2 used at $A78D, A7B8
|
|
Zp6B = $6B ; 8 refs; reads=5 writes=3 used at $A7CE, A7D3, A7E8, A7ED, +3 more
|
|
Zp6C = $6C ; 10 refs; reads=5 writes=5 used at $A785, A7D5, A7D9, A7E1, +5 more
|
|
Zp6D = $6D ; 2 refs; reads=1 writes=1 used at $A81A, A81F
|
|
Zp6F = $6F ; 4 refs; reads=2 writes=2 used at $A800, A805, A88A, A91B
|
|
Zp71 = $71 ; 3 refs; reads=1 writes=2 used at $A81D, A886
|
|
Zp72 = $72 ; 3 refs; reads=1 writes=2 used at $A823, A862
|
|
Zp73 = $73 ; 4 refs; reads=1 writes=3 used at $A803, A87E, A8C6
|
|
Zp74 = $74 ; 4 refs; reads=1 writes=3 used at $A809, A882, A8CC
|
|
Zp75 = $75 ; 3 refs; reads=2 writes=1 used at $A8D3, A8D6, A8DB
|
|
Zp76 = $76 ; 2 refs; reads=1 writes=1 used at $A8DD, A8E5
|
|
Zp77 = $77 ; 2 refs; reads=1 writes=1 used at $A75B, AC0F
|
|
Zp7A = $7A ; 24 refs; reads=12 writes=12 used at $9293, 92A2, 92B2, 92CD, +9 more
|
|
Zp7C = $7C ; 3 refs; reads=1 writes=2 used at $9470, 9477
|
|
Zp7E = $7E ; 2 refs; reads=1 writes=1 used at $9472, 947B
|
|
Zp84 = $84 ; 7 refs; reads=3 writes=4 used at $A347, A381, A9AB, A9CB, +2 more
|
|
Zp85 = $85 ; 9 refs; reads=6 writes=3 used at $A362, A9B4, A9B9, A9C3, +5 more
|
|
Zp86 = $86 ; 6 refs; reads=3 writes=3 used at $A368, A9BB, A9BF, A9F1, +2 more
|
|
Zp87 = $87 ; 2 refs; reads=1 writes=1 used at $A37D, AA0D
|
|
Zp88 = $88 ; 7 refs; reads=5 writes=2 used at $92F6, A1B9, A3CB, A9A4, +2 more
|
|
Zp8A = $8A ; 9 refs; reads=6 writes=3 used at $8263, 829A, 83BD, 878D, +5 more
|
|
Zp8E = $8E ; 4 refs; reads=2 writes=2 used at $8A28, 8AA9, 8AAF
|
|
Zp8F = $8F ; 4 refs; reads=2 writes=2 used at $8A58, 8AB1, 8AB7
|
|
Zp90 = $90 ; 4 refs; reads=2 writes=2 used at $8A53, 8AB9, 8ABF
|
|
Zp93 = $93 ; 2 refs; reads=1 writes=1 used at $8AE3, A6F8
|
|
Zp95 = $95 ; 5 refs; reads=2 writes=3 used at $8B29, 8B35, 8B63, 8B67
|
|
Zp97 = $97 ; 5 refs; reads=3 writes=2 used at $9BB8, 9BC0, 9BDD, 9BE4, +1 more
|
|
Zp98 = $98 ; 1 refs; reads=1 writes=0 used at $9ED7
|
|
Zp99 = $99 ; 1 refs; reads=1 writes=0 used at $9EDC
|
|
Zp9B = $9B ; 1 refs; reads=1 writes=0 used at $9EBD
|
|
Zp9C = $9C ; 1 refs; reads=1 writes=0 used at $9EC2
|
|
Zp9D = $9D ; 1 refs; reads=1 writes=0 used at $9EC7
|
|
Zp9F = $9F ; 1 refs; reads=1 writes=0 used at $9EA8
|
|
ZpA0 = $A0 ; 1 refs; reads=1 writes=0 used at $9EAD
|
|
ZpA1 = $A1 ; 1 refs; reads=1 writes=0 used at $9EB2
|
|
ZpA3 = $A3 ; 1 refs; reads=1 writes=0 used at $9E93
|
|
ZpA4 = $A4 ; 1 refs; reads=1 writes=0 used at $9E98
|
|
ZpA5 = $A5 ; 1 refs; reads=1 writes=0 used at $9E9D
|