Files
disasm/Donkey Kong Jr. (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

273 lines
5.5 KiB
PHP

; Donkey Kong Jr. (JU) - application-specific zero-page/RAM symbols
; Pass 2 status:
; Semantic names are used only where access tracing gives a stable role.
; ZpXX names remain deliberately neutral where a byte is reused or unresolved.
; Shared scratch and indirect pointers
Zp00 = $00
Zp01 = $01
Zp02 = $02
Zp03 = $03
Zp04 = $04
Zp05 = $05
Zp06 = $06
Zp07 = $07
Zp08 = $08
Zp09 = $09
Zp0A = $0A
Zp0B = $0B
Zp0C = $0C
Zp0D = $0D
Zp0E = $0E
Zp0F = $0F
; PPU software shadows
PPUControlShadow = $10
PPUMaskShadow = $11
PPUScrollXShadow = $12
PPUScrollYShadow = $13
; Two controller records, selected with X = 0 or 2
ControllerRawState = $14
ControllerFilteredState = $15
Controller2RawState = $16
Controller2FilteredState = $17
; Eight-byte pseudo-random shift-register state
RandomLfsr0 = $18
RandomLfsr1 = $19
RandomLfsr2 = $1A
RandomLfsr3 = $1B
RandomLfsr4 = $1C
RandomLfsr5 = $1D
RandomLfsr6 = $1E
RandomLfsr7 = $1F
; General gameplay/audio work area
CollisionBounds0 = $20
CollisionBounds1 = $21
CollisionBounds2 = $22
CollisionBounds3 = $23
BoundingBoxFlags = $24
BoundingBoxCoord1 = $25
BoundingBoxCoord2 = $26
BoundingBoxCoord3 = $27
Zp28 = $28
Zp29 = $29
Zp2A = $2A
Zp2B = $2B
PlayerVerticalFraction = $2C
Zp2D = $2D
PlayerVerticalPosition = $2E
Zp2F = $2F
Zp30 = $30
Zp31 = $31
Zp32 = $32
Zp33 = $33
SoundTimerDivider = $34
SoundTimerArray = $35
SharedActionTimer = $36
Zp37 = $37
PlayerSpriteVisibilityTimer = $38
GameStateTimer = $39
ObjectActiveArray = $3A
Zp3B = $3B
ActionCooldown = $3C
Zp3D = $3D
CollisionLeft = $3E
CollisionTop = $3F
; State and gameplay bytes. Names are conservative pending deeper state tracing.
CollisionRight = $40
CollisionBottom = $41
CollisionMatchX = $42
CollisionMatchY = $43
CollisionMatchRight = $44
CollisionMatchBottom = $45
GameMode = $46
PendingGameMode = $47
GameModeTimer = $48
CurrentPlayerIndex = $49
StageOrScreenIndex = $4A
DifficultyOrRoundIndex = $4B
PlayerLivesOrModeCount = $4C
GameplaySubmode = $4D
TwoPlayerModeFlag = $4E
DemoInputIndex = $4F
DemoInputTimer = $50
DemoInputCode = $51
TitleScreenInitialized = $52
LevelObjectProgress = $53
PlayerInputDirection = $54
PreviousInputDirection = $55
PlayerPositionFraction = $56
ObjectPositionFraction = $57
Zp58 = $58
Zp59 = $59
Zp5A = $5A
Zp5B = $5B
Zp5C = $5C
Zp5D = $5D
Zp5E = $5E
Zp5F = $5F
Zp60 = $60
Zp61 = $61
Zp62 = $62
PlayerAuxSpritePending = $63
BonusTickDivider = $64
BonusCounter = $65
DeathAnimationActive = $66
DeathAnimationDirection = $67
PlayerCollisionResult = $68
CollidingObjectOamOffset = $69
StartButtonLatch = $6A
PlayerState = $6B
PreviousPlayerState = $6C
PlayerFacing = $6D
PreviousPlayerFacing = $6E
PlayerClimbPhase = $6F
PlayerClimbDirection = $70
PlayerMovementSubstate = $71
MovementCollisionCode = $72
PlayerCollisionAnchorLeft = $73
PlayerCollisionAnchorRight = $74
PlayerClimbOffset = $75
PlayerStateReferenceY = $76
PlayerLandingTile = $77
PlayerStatePhase = $78
PlayerStateTransitionActive = $79
PlayerVerticalSpeedInteger = $7A
PlayerFallThreshold = $7B
PlayerVerticalAcceleration = $7C
TitleInputRepeatTimer = $7D
PlayerStateCounter = $7E
PlayerVerticalVelocityFraction = $7F
Zp80 = $80
Zp81 = $81
PlayerVerticalAccelerationFraction = $82
PlayerVerticalAccelerationInteger = $83
Zp84 = $84
Zp85 = $85
PlayerGravityFraction = $86
PlayerGravityInteger = $87
Zp88 = $88
Zp89 = $89
Zp8A = $8A
Zp8B = $8B
CarriedObjectActive = $8C
CollectibleSpriteTileArray = $8D
Zp8E = $8E
Zp8F = $8F
Zp90 = $90
StageObjectDataPointer = $91
CurrentStageObjectDataPointerHi = $92
StageObjectDataLength = $93
CollectedObjectVramRecord = $94
CurrentCollectedObjectVramAddressHi = $95
Zp96 = $96
Zp97 = $97
Zp98 = $98
Zp99 = $99
CollectibleActiveArray = $9A
Zp9B = $9B
Zp9C = $9C
Zp9D = $9D
CollectedObjectCount = $9E
PreviousCollectedObjectCount = $9F
StagePrimaryObjectCount = $A0
ObjectMotionStep = $A1
StageSecondaryObjectIndex = $A2
EnemyStateArray = $A3
ZpA4 = $A4
ZpA5 = $A5
EnemyAlternateStateArray = $A6
ZpA7 = $A7
EnemyDirectionInitializedArray = $A8
EnemyRouteSelectorArray = $A9
ZpAA = $AA
ZpAB = $AB
PlatformDirectionState = $AC
PlayerPlatformContact = $AD
PlatformEdgeContact = $AE
ZpAF = $AF
StageSecondaryObjectCount = $B0
SpawnedEnemyCount = $B1
StageObjectMode = $B2
EnemySpawnPending = $B3
EnemyDirectionArray = $B4
ZpB5 = $B5
ZpB6 = $B6
ZpB7 = $B7
ZpB8 = $B8
EnemySpawnDelayArray = $B9
ZpBA = $BA
ZpBB = $BB
PreviousPlatformContact = $BC
CurrentPlatformContact = $BD
PlatformTurnaroundFlag = $BE
ZpBF = $BF
ZpC0 = $C0
ZpC1 = $C1
ZpC2 = $C2
SpecialObjectIndex = $C3
SpecialObjectX = $C4
ZpC5 = $C5
ZpC6 = $C6
ZpC7 = $C7
ZpC8 = $C8
ZpC9 = $C9
ZpCA = $CA
ZpCB = $CB
ZpCC = $CC
ZpCD = $CD
StageObjectAnimationMode = $CE
StageObjectOamOffset = $CF
BonusSpriteActive = $D0
VramMetatileBuffer = $D1
ZpD2 = $D2
ZpD3 = $D3
ZpD4 = $D4
ZpD5 = $D5
ZpD6 = $D6
ZpD7 = $D7
ZpD8 = $D8
ZpD9 = $D9
StageRopeAddressHi = $DA
StageRopeAddressLoArray = $DB
ZpDC = $DC
ZpDD = $DD
ZpDE = $DE
ZpDF = $DF
ZpE0 = $E0
ZpE1 = $E1
ZpE2 = $E2
ZpE3 = $E3
ZpE4 = $E4
ZpE5 = $E5
ZpE6 = $E6
PendingLevelObjectTask = $E7
DemoInputActive = $E8
GameplayInitializationPending = $E9
MovementFrameCounter = $EA
PauseActive = $EB
PreviousStartButtonState = $EC
TitleCursorY = $ED
PauseDebounceTimer = $EE
SelectedPlayerMode = $EF
Pulse1EffectFlags = $F0
Pulse1EffectTimer = $F1
Pulse1PitchAccumulator = $F2
AudioEffectTimer = $F3
AudioPitchAccumulator = $F4
TriangleEffectTimer = $F5
TrianglePitchAccumulator = $F6
MusicDataPointerLo = $F7
MusicDataPointerHi = $F8
MusicNoisePosition = $F9
MusicPulsePosition = $FA
AudioLfoPhase = $FB
SoundRequestFlags = $FC
SecondarySoundRequestFlags = $FD
ObjectSoundRequestFlags = $FE
GameplayEventFlags = $FF