Files
disasm/Clu Clu Land (JU)/copilot/locals.inc
T
tmerritt 9aef410424 Promotes Donkey Kong Jr
Adds remaining NROM as _wip
Update gitignore to not keep object files
Adds AGENTS.md as this is an AI helped project
2026-10-16 13:46:20 -04:00

232 lines
6.6 KiB
PHP

;------------------------------------------------------------
; Shared zero-page pointer and scratch workspace
;------------------------------------------------------------
WorkPtr0Lo = $00
WorkPtr0Hi = $01
WorkPtr1Lo = $02
WorkPtr1Hi = $03
DataPtrLo = $04
DataPtrHi = $05
ListPtrLo = $06
ListPtrHi = $07
CurrentObjectPtrLo = $08
CurrentObjectPtrHi = $09
CurrentObjectIndex = $0A
AlternateObjectPtrLo = $0B
AlternateObjectPtrHi = $0C
TempDirection = $0D
TempClass = $0E
LoopCounter = $0F
;------------------------------------------------------------
; Frame and controller shift state
;------------------------------------------------------------
FrameShiftRegister0 = $10
FrameShiftRegister1 = $11
FrameShiftRegister2 = $12
FrameShiftRegister3 = $13
FrameShiftRegister4 = $14
FrameShiftRegister5 = $15
FrameShiftRegister6 = $16
FrameShiftRegister7 = $17
;------------------------------------------------------------
; Movement and collision workspace
;------------------------------------------------------------
CollisionRecordA0 = $20
CollisionRecordA1 = $21
CollisionRecordA2 = $22
CollisionRecordA3 = $23
VectorComponent0 = $24
VectorComponent1 = $25
VectorComponent2 = $26
VectorComponent3 = $27
TempField2C = $2C
TempField2E = $2E
TempField2F = $2F
TempField33 = $33
TempField34 = $34
TempField3F = $3F
;------------------------------------------------------------
; PPU shadow and rendering state
;------------------------------------------------------------
ShadowPPUCTRL = $40
ShadowPPUMASK = $41
ScrollOrRenderState0 = $42
ScrollOrRenderState1 = $43
;------------------------------------------------------------
; Controller state
;
; $44-$47 is accessed through overlapping indexed bases at
; $44 and $46. Names for individual bytes remain provisional.
;------------------------------------------------------------
ControllerButtonsBase = $44
ControllerButtonsAltBase = $46
; Implicit indexed array members:
ControllerState44 = $44
ControllerState45 = $45
ControllerState46 = $46
ControllerState47 = $47
;------------------------------------------------------------
; Startup, context, and input state
;------------------------------------------------------------
StartupPreserveFlag0 = $48
StartupPreserveFlag1 = $49
ContextIndex = $4A
ModeToggleFlag = $4B
ActiveContext = $4C
PendingStateIndex = $4D
StateTransitionFlag = $4E
InputLockFlag = $4F
;------------------------------------------------------------
; Global timers and gameplay workspace
;------------------------------------------------------------
GlobalTickDivider = $50
TimerArrayBase = $51
TimerArrayElement2 = $53
GameVar54 = $54
GameVar55 = $55
GameVar56 = $56
GameVar57 = $57
GameVar58 = $58
GameVar5A = $5A
GameVar5C = $5C
GameVar5E = $5E
GameVar5F = $5F
GameVar62 = $62
GameVar63 = $63
GameVar64 = $64
GameVar67 = $67
GameVar68 = $68
GameVar6C = $6C
GameVar70 = $70
GameVar72 = $72
;------------------------------------------------------------
; Player timers and input delays
;------------------------------------------------------------
PlayerTimerBase = $75
PlayerTimer1 = $76
PlayerTimer2 = $77
StateTimer = $78
InputRepeatDelay = $7D
;------------------------------------------------------------
; Primary match and game-state variables
;------------------------------------------------------------
MatchState80 = $80
MatchState81 = $81
CurrentStageOrPlayer = $82
StateCounter83 = $83
StateCounter84 = $84
StateCounter85 = $85
StateCounter86 = $86
PreviousContextIndex = $87
RoundOrSubstate = $88
ContextRoundSelector = $89
GameState = $8A
GameSubstate = $8B
StateFlags8C = $8C
StateControlFlag = $8D
StateCounter8E = $8E
StateCounter8F = $8F
;------------------------------------------------------------
; Player state and countdown
;------------------------------------------------------------
PlayerStateBase = $90
PlayerState1 = $91
CountdownValue = $92
CountdownDivider = $93
ObjectStateArray9F = $9F
;------------------------------------------------------------
; Additional gameplay and object state
;------------------------------------------------------------
StateVarA0 = $A0
StateVarA1 = $A1
StateVarA2 = $A2
StateVarA3 = $A3
StateVarA4 = $A4
StateVarA5 = $A5
StateVarA6 = $A6
StateVarA7 = $A7
StateVarA8 = $A8
StateVarA9 = $A9
StateVarAC = $AC
StateVarAD = $AD
StateVarAE = $AE
StateVarAF = $AF
ToggleStateB0 = $B0
StateVarB2 = $B2
;------------------------------------------------------------
; Object and behavior state
;------------------------------------------------------------
ObjectVarD0 = $D0
ObjectVarD1 = $D1
ObjectVarD2 = $D2
ObjectVarD4 = $D4
ObjectVarD5 = $D5
ObjectVarD6 = $D6
ObjectVarD7 = $D7
ObjectVarD8 = $D8
ObjectVarDA = $DA
ObjectVarE9 = $E9
ObjectVarEE = $EE
ObjectVarEF = $EF
;------------------------------------------------------------
; Audio workspace
;------------------------------------------------------------
AudioPulse1State = $F0
AudioPulse2State = $F1
AudioTriangleState = $F2
AudioNoiseState = $F3
AudioPeriodOrEnvelope = $F4
AudioSequencePtrLo = $F5
AudioSequencePtrHi = $F6
AudioSequenceCursor = $F7
AudioChannelCursor = $F8
AudioChannelIndex = $F9
AudioSequenceState = $FA
AudioRequest0 = $FB
AudioRequest1 = $FC
AudioRequest2 = $FD
AudioRequest3 = $FE
AudioRequest4 = $FF
; Verified vector-owned entry points
IRQHandler = $C196
; First-pass routine entry aliases. These emit no bytes.
; Names beyond the vectors are provisional and intentionally conservative.
CheckBoundingBoxOverlap = $F730