; Excitebike-specific zero-page aliases used during Pass 1. ; These intentionally conservative names will be refined in Passes 2 and 3. Zp00 = $00 WorkPtrLo = $01 WorkPtrHi = $02 Zp03 = $03 Zp04 = $04 Zp05 = $05 Zp06 = $06 PpuCtrlShadow = $09 PpuMaskShadow = $0A Zp0C = $0C Zp0D = $0D Zp0E = $0E Zp10 = $10 Zp11 = $11 MathOperandLo = $12 MathOperandHi = $13 MathResultLo = $14 MathResultHi = $15 Zp16 = $16 Zp17 = $17 Zp18 = $18 ControllerHeld = $1A Zp1B = $1B Zp1D = $1D Zp1E = $1E Zp1F = $1F Zp20 = $20 Zp21 = $21 Zp24 = $24 StateTimer = $25 Zp26 = $26 FrameCounter = $27 Zp28 = $28 NmiWorkComplete = $30 PpuBufferReady = $31 NmiUpdatesEnabled = $32 NmiTriggerFlag = $33 StartButtonLatch = $34 StateTransitionFlag = $35 GameActiveFlag = $38 GameMode = $39 Zp3A = $3A Zp3B = $3B PaletteUpdateMode = $3C GameState = $3D GameStateStep = $3E DemoCounter = $3F Zp40 = $40 PendingStateFlag = $43 StateSubstep = $44 PlayerCourtOrder = $46 ModeAnimTimerA = $48 ModeAnimFrameA = $49 ModeAnimTimerB = $4A ModeAnimFrameB = $4B ServingPlayer = $4C ModeAnimSubframe = $4D MessageTimer = $4E MessagePlayerIndex = $4F PointWinner = $50 PlayerPointScore = $51 Player2PointScore = $52 PlayerGameScore = $53 ScoreUpdatePhase = $57 ScoreLo = $58 ScoreHi = $59 ScoreAnimationStep = $5A CourtMessageId = $5B MatchResultType = $5C ScoreDisplayState = $5D PendingGameState = $5E Player1MotionControl = $60 Player1XSubpixel = $61 Player1XPosition = $62 Player1YSubpixel = $63 Player1YPosition = $64 Player2XSubpixel = $66 Player2XPosition = $67 Player2YSubpixel = $68 Player2YPosition = $69 BallMotionControl = $6A BallXSubpixel = $6B BallXPosition = $6C BallYSubpixel = $6D BallYPosition = $6E BallHeight = $6F BallHeightReference = $70 BallTargetOffset = $71 BallVerticalVelocityLo = $72 BallVerticalVelocityHi = $73 PlayerAnimationFlags = $78 UmpireMessageId = $79 BallStateFlags = $7A BallBounceState = $7B PlayerTargetXLo = $80 PlayerTargetXHi = $81 PlayerTargetYLo = $82 PlayerTargetYHi = $83 PlayerActionType = $84 PlayerActionParameter = $85 PlayerActionState = $86 PlayerFacingDirection = $87 PlayerXPosition = $88 PlayerYPosition = $89 PlayerPreviousX = $8A PlayerPreviousY = $8B PlayerMovementFlags = $8C BallTrajectoryFlags = $8D BallCollisionFlags = $8E BallContactState = $8F MathCarryByte = $97 MathVectorXHi = $98 MathVectorXLo = $99 MathVectorXResult = $9A MathVectorYHi = $9B MathVectorYLo = $9C ProjectedXLo = $9D ProjectedXHi = $9E ProjectedYLo = $9F ProjectedYHi = $A0 SignedAimDelta = $A4 AimMagnitude = $A5 AimDirection = $A6 ObjectDataPointerLo = $A8 ObjectDataPointerHi = $A9 ObjectDataOffset = $AA ActiveObjectIndex = $AB AnimationFrame = $B0 AnimationTimer = $B1 PoseFrameTimer = $B3 PlayerAnimationId = $B4 PoseSequenceOffset = $B5 PlayerPoseId = $B6 PlayerPoseFlags = $B7 RacketTargetX = $B8 RacketTargetY = $B9 RacketContactFlags = $BA RacketAimOffset = $BB ContactPointX = $BC ContactPointY = $BD PlayerActionDuration = $BF RallyFlags = $C0 RallyPhase = $C1 CourtSide = $C2 SignedMovementDelta = $C3 PlayerActionDelay = $C4 NetAnimationTimer = $C5 BallAnimationTimer = $C6 UmpireAnimationTimer = $C7 ObjectAnimationState = $C8 ObjectAnimationFrame = $C9 RacketContactState = $CA BallContactTimer = $CB BallContactFlags = $CC PlayerMovementSpeed = $CD ComputerActionState = $CE PreviousPlayerState = $CF SelectedGameMode = $E0 PendingAudioCue = $E6 DmcOutputLevel = $F0 AudioChannelControl = $F1 ActiveSoundEffect = $F2 SoundEffectTimer = $F3 SoundEffectPhase = $F4 Pulse2EffectTimer = $F5 PitchAdjustment = $F6 AudioSequencePtrLo = $F7 AudioSequenceIndex = $F9 AudioSequenceOffset = $FA AudioStreamPosition = $FB AudioEventPriority = $FC AudioRequestFlags1 = $FD AudioRequestFlags2 = $FE AudioRequestFlags3 = $FF ; Additional traced fields Player2MotionControl = $65 AudioSequencePtrHi = $F8