Implement initial SRAM table

Data in initialsramtable.asm gets copied to SRAM on save file init
Frontend will be responsible for setting this, requires frontend changes
Changed some label names to disambiguate WRAM and SRAM labels
Deleted open mode
This commit is contained in:
cassidoxa
2022-02-03 20:25:32 -05:00
parent c048589c02
commit 3e2362b7ca
22 changed files with 306 additions and 186 deletions

View File

@@ -2,17 +2,18 @@
; Spawn Zelda (or not)
;--------------------------------------------------------------------------------
SpawnZelda:
LDA.l FollowerIndicator : CMP #$08 : BEQ + ; don't spawn if dwarf is present
CMP #$07 : BEQ + ; don't spawn if frog is present
CMP #$0C : BEQ + ; don't spawn if purple chest is present
LDA.l FollowerIndicator : CMP.b #$08 : BEQ + ; don't spawn if dwarf is present
CMP.b #$07 : BEQ + ; don't spawn if frog is present
CMP.b #$0C : BEQ + ; don't spawn if purple chest is present
CLC
+ RTL
;--------------------------------------------------------------------------------
EndRainState:
LDA ProgressIndicator : CMP.b #$02 : !BGE + ; skip if past escape already
LDA.b #$00 : STA !INFINITE_ARROWS : STA !INFINITE_BOMBS : STA !INFINITE_MAGIC
LDA.b #$02 : STA ProgressIndicator ; end rain state
JSL MaybeSetPostAgaWorldState
LDA.l InitProgressIndicator : BIT.b #$80 : BNE + ; check for instant post-aga
LDA.b #$02 : STA.l ProgressIndicator
RTL
+
LDA.b #$03 : STA.l ProgressIndicator
LDA.l InitLumberjackOW : STA.l OverworldEventDataWRAM+$02
RTL
;--------------------------------------------------------------------------------