Standardizes build process and adds OVERVIEW.md for each

This commit is contained in:
tmerritt committed 2026-10-15 18:50:41 -04:00
1 parent 25423d3828
commit a29b03b00b
135 files changed
+26562 -420

No files matched your search

+168 -169
View File
@@ -1,230 +1,229 @@
; Balloon Fight application-specific RAM and forward references.
; Spawn-dispatch state
DispatchPointerLo = $25
DispatchPointerHi = $26
SpawnCommandPointerLo = $23
SpawnCommandPointerHi = $24
SpawnParameter = $14
SpawnPixelPosition = $15
; Eight-entry effect-object pool ($00-$07)
EffectObjectState = $055D
EffectObjectPosX = $0567
EffectObjectPosY = $057B
; Twenty-entry gameplay-object pool ($00-$13)
GameplayObjectPosX = $0490
GameplayObjectPosY = $04A4
GameplayObjectVelocityY = $04E0
GameplayObjectVelocityX = $04F4
GameplayObjectParameter = $0508
GameplayObjectPosXHi = $051C
GameplayObjectState = $0530
; NMI/PPU state
PpuControlShadow = $00
PpuMaskShadow = $01
NmiCompletedFlag = $02
CurrentRecord = $0003
Temp12 = $12
RecordIndex = $12
CurrentRoundObjectTile = $12
CollisionDeltaX = $12
MotionDeltaLo = $12
ReverseRecordIndex = $13
CollisionDeltaY = $13
MotionDeltaHi = $13
SpawnParameter = $14
SpawnPixelPosition = $15
RenderingDisabledFlag = $16
PpuScrollX = $17
PpuControlBase = $18
FrameCounter = $19
RandomState = $1B
RecordPtrLo = $1D
RecordPtrHi = $1E
DestinationPtrLo = $1F
DestinationPtrHi = $20
PpuSourcePtrLo = $21
PpuSourcePtrHi = $22
SpawnCommandPointerLo = $23
BoundsLeftPtrLo = $23
SpawnCommandPointerHi = $24
BoundsLeftPtrHi = $24
DispatchPointerLo = $25
BoundsRightPtrLo = $25
DispatchPointerHi = $26
BoundsRightPtrHi = $26
BoundsTopPtrLo = $27
BoundsTopPtrHi = $28
BoundsBottomPtrLo = $29
BoundsBottomPtrHi = $2A
RoundIndex = $3C
CurrentObjectIndex = $3E
SequencePlayerIndex = $3E
PlayerCountMinusOne = $40
PlayerActiveFlags = $41
SelectedRecordIndex = $43
SequenceStep = $46
SequenceValueLo = $47
SequenceValueHi = $48
SelectedRecordIndexCopy = $49
ScaledRecordValue = $4A
PpuDestinationHi = $50
PpuBufferReadOffset = $52
PpuBufferWriteOffset = $53
PpuCommandAddressHi = $54
PpuCommandAddressLo = $55
PpuCommandLength = $56
Temp12 = $12
; Temporary forward references outside the decoded block
MainInitialization = $F1D4
UpdatePpuTransferSources = $D60D
BuildFrameOam = $D798
WaitForFrame = $F465
InitializeOrQueueObject = $D6DE
SortOrInitializeRecords = $C579
InitializeAudio = $F4A5
UpdateGameplayObjects = $E691
UpdateSpecialObjectSystem = $C6F9
ReflectObjectYVelocity = $CA4F
GetRandomValue = $F1B3
RoundHudCommandAddressHi = $57
HudCommandAddressHi = $57
PpuCommandData0 = $57
; Sorted five-byte record table helpers
RecordIndex = $12
ReverseRecordIndex = $13
RecordPtrLo = $1D
RecordPtrHi = $1E
DestinationPtrLo = $1F
DestinationPtrHi = $20
SelectedRecordIndex = $43
SelectedRecordIndexCopy = $49
ScaledRecordValue = $4A
RoundSeedValue = $0559
SortedRecordTable = $0700
CurrentRecord = $0003
RoundHudCommandAddressLo = $58
HudCommandAddressLo = $58
PpuCommandData1 = $58
; Temporary forward references used by the decoded record helpers
UpdateRoundSeedSource = $D0E2
DivideOrScaleRecordValue = $D77C
RoundHudCommandLength = $59
HudCommandLength = $59
PpuCommandData2 = $59
RoundHudTile = $5A
HudCommandTile0 = $5A
HudCommandTile1 = $5B
HudCommandTile2 = $5C
PpuBufferHead = $5D
SequencePointerLo = $68
SequencePointerHi = $69
; Carrier/rescue sequence state
PlayerLifecycleState = $7F
CarrierDisplayMode = $87
PlayerSlotState = $88
CarrierPhase = $89
PlayerPosX = $91
Player0PosX = $92
CarrierTargetX = $99
PlayerPosY = $9A
Player0PosY = $9B
CarrierPosY = $A2
RoundSpawnRandomLimit = $A3
SelectedSpawnIndex = $A4
SelectedSpawnIndexCopy = $A5
RoundSpawnBaseX = $B2
RoundSpawnBaseY = $B5
RoundSpawnDelay = $B8
SpawnSelector = $BA
PlayerCollisionDisable = $BD
SequenceState = $BE
BonusEffectCounter = $CB
GameplayObjectCollisionFlags = $CC
BoundsCandidateIndex = $CD
SoundRequestFlags0 = $F0
SoundRequestFlags1 = $F1
SoundRequestFlags2 = $F2
SoundRequestFlags3 = $F3
OamBuffer = $0200
ParticleOamBase = $0250
OamEntryE0Y = $02E0
OamEntryE4Y = $02E4
OamEntryE8Y = $02E8
PlayerHorizontalImpulse = $041B
PlayerVerticalImpulse = $042D
PlayerVariantTable = $0448
CarrierSavedValue = $0450
PlayerAnimationState = $0451
PlayerStateTimer = $045A
CarrierSequenceActive = $0489
CarrierMode = $048A
CarrierTargetPlayer = $048B
CarrierDropPending = $048C
CarrierSequenceTimer = $048D
CarrierSavedValue = $0450
PlayerVariantTable = $0448
PlayerAnimationState = $0451
; Forward references used by the carrier display/update code
BuildObjectMetasprite = $E3A4
; Round initialization state
RoundIndex = $3C
CurrentObjectIndex = $3E
RoundSpawnDelay = $B8
SpawnSelector = $BA
SoundRequestFlags3 = $F3
GameplayObjectAuxState = $0544
OamEntryE0Y = $02E0
OamEntryE4Y = $02E4
OamEntryE8Y = $02E8
; Forward references used by round initialization
SpawnRoundObjects = $C77A
; Round spawner and HUD state
RoundSpawnRandomLimit = $A3
SelectedSpawnIndex = $A4
SelectedSpawnIndexCopy = $A5
RoundHudTile = $5A
; Three-byte HUD command staged at $57-$59 before buffer append
RoundHudCommandAddressHi = $57
RoundHudCommandAddressLo = $58
RoundHudCommandLength = $59
SoundRequestFlags0 = $F0
SoundRequestFlags1 = $F1
GameplayObjectPosX = $0490
GameplayObjectPosY = $04A4
GameplayObjectVelocityFracY = $04B8
GameplayObjectVelocityIntY = $04CC
GameplayObjectVelocityY = $04E0
GameplayObjectVelocityX = $04F4
; Temporary forward references for round spawn parameter tables
GameplayObjectParameter = $0508
GameplayObjectPosXHi = $051C
GameplayObjectState = $0530
GameplayObjectAuxState = $0544
; Round-object renderer state
CurrentRoundObjectTile = $12
RoundSpawnBaseX = $B2
RoundSpawnBaseY = $B5
OamBuffer = $0200
ParticleSequenceIndex = $0558
RoundSeedValue = $0559
ParticleSequenceValue = $0559
ParticleScrollDelta = $055A
SequenceDataLo = $055B
SequenceDataHi = $055C
; Forward tables and routines used by the round-object renderer
EffectObjectState = $055D
ParticleState = $055D
; Table-driven gameplay-object boundary tests
BoundsLeftPtrLo = $23
BoundsLeftPtrHi = $24
BoundsRightPtrLo = $25
BoundsRightPtrHi = $26
BoundsTopPtrLo = $27
BoundsTopPtrHi = $28
BoundsBottomPtrLo = $29
BoundsBottomPtrHi = $2A
GameplayObjectCollisionFlags = $CC
BoundsCandidateIndex = $CD
EffectObjectPosX = $0567
ParticlePosX = $0567
; Forward routine at the next decoded boundary
ParticlePosXFrac = $0571
; Gameplay-object/player interaction state
CollisionDeltaX = $12
CollisionDeltaY = $13
PlayerCollisionDisable = $BD
PlayerStateTimer = $045A
PlayerHorizontalImpulse = $041B
PlayerVerticalImpulse = $042D
EffectObjectPosY = $057B
ParticlePosY = $057B
ParticlePosYFrac = $0585
ParticleVelocityXHi = $058F
ParticleVelocityXLo = $0599
ParticleVelocityYLo = $05B7
ParticleVelocityYHi = $05C1
ParticleSpawnRemaining = $05CB
ParticleSpawnCountdown = $05CC
PlayerParticleHitCount = $05CD
PlayerParticleHitCount2 = $05CE
; Bonus-object subsystem
BonusEffectCounter = $CB
ActiveBonusObjectIndex = $05D1
BonusObjectPosX = $05D2
BonusObjectPosY = $05DC
BonusHudAddressLo = $05E6
BonusHudAddressHi = $05F0
BonusObjectPhase = $05FA
BonusObjectTimer = $0604
BonusObjectPhaseTimer = $060E
; Bonus HUD command staged at $57-$5C
HudCommandAddressHi = $57
HudCommandAddressLo = $58
HudCommandLength = $59
HudCommandTile0 = $5A
HudCommandTile1 = $5B
HudCommandTile2 = $5C
SortedRecordTable = $0700
; Forward references used by interaction and bonus-object code
AbsoluteDifference = $F08E
UpdateSignedMotionAccumulator = $F1A6
GetRandomValue = $F1B3
MainInitialization = $F1D4
WaitForFrame = $F465
InitializeAudio = $F4A5
SortOrInitializeRecords = $C579
SpawnRoundObjects = $C77A
UpdateRoundSeedSource = $D0E2
UpdatePpuTransferSources = $D60D
InitializeOrQueueObject = $D6DE
BuildFrameOam = $D798
DivideOrScaleRecordValue = $D77C
BuildObjectMetasprite = $E3A4
UpdateGameplayObjects = $E691
ApplyBonusEffect = $E983
AdjustPlayerHorizontalState = $EBB2
AdjustPlayerVerticalState = $EBBB
; Ten-slot particle/effect subsystem
RandomState = $1B
MotionDeltaLo = $12
MotionDeltaHi = $13
ParticleScrollDelta = $055A
ParticleState = $055D
ParticlePosX = $0567
ParticlePosXFrac = $0571
ParticlePosY = $057B
ParticlePosYFrac = $0585
ParticleVelocityXHi = $058F
ParticleVelocityXLo = $0599
ParticleVelocityYLo = $05B7
ParticleVelocityYHi = $05C1
ParticleSpawnRemaining = $05CB
ParticleSpawnCountdown = $05CC
ParticleOamBase = $0250
; Forward references used by the particle subsystem
UpdateSignedMotionAccumulator = $F1A6
; Particle result/sequence state
ParticleSequenceIndex = $0558
ParticleSequenceValue = $0559
SequenceDataLo = $055B
SequenceDataHi = $055C
PlayerParticleHitCount = $05CD
PlayerParticleHitCount2 = $05CE
SequencePlayerIndex = $3E
SequenceStep = $46
SequenceValueLo = $47
SequenceValueHi = $48
SequencePointerLo = $68
SequencePointerHi = $69
SequenceState = $BE
; Forward parameter tables for the next sequence-data block
; Shared player-count and PPU staging aliases used by the particle sequence
PlayerCountMinusOne = $40
PlayerActiveFlags = $41
PpuCommandData0 = $57
PpuCommandData1 = $58
PpuCommandData2 = $59
PpuBufferHead = $5D
ReflectObjectYVelocity = $CA4F
UpdateSpecialObjectSystem = $C6F9