Merged in DR v1.4.1.6
This commit is contained in:
117
init.asm
117
init.asm
@@ -5,59 +5,59 @@
|
||||
; called and it only gets called once ever during RESET.
|
||||
;--------------------------------------------------------------------------------
|
||||
Init_Primary:
|
||||
LDA #$00
|
||||
|
||||
LDX #$00 ; initalize our ram
|
||||
LDA.b #$00
|
||||
LDX.b #$14
|
||||
-
|
||||
STA $7EC025, X
|
||||
STA $7EC035, X
|
||||
STA $7F5000, X
|
||||
INX
|
||||
CPX #$10 : !BLT -
|
||||
LDA.l RomNameSRAM, X : CMP.w $FFC0, X : BNE .clear
|
||||
DEX
|
||||
BPL -
|
||||
REP #$30
|
||||
LDX.w #$00D9 ; initalize our ram
|
||||
-
|
||||
STA.l $7EC025, X
|
||||
DEX #2
|
||||
BPL -
|
||||
LDA.w #$0000
|
||||
LDX.w #$2FFE
|
||||
-
|
||||
STA.l $7F5000, X
|
||||
DEX #2
|
||||
BPL -
|
||||
|
||||
LDX #$10 ; initalize more ram
|
||||
-
|
||||
STA $7F5000, X
|
||||
INX
|
||||
CPX #$FF : !BLT -
|
||||
|
||||
LDX #$00
|
||||
-
|
||||
LDA RomNameSRAM, X : CMP $00FFC0, X : BNE .clear
|
||||
INX
|
||||
CPX #$15 : !BLT -
|
||||
BRA .done
|
||||
.clear
|
||||
REP #$30 ; set 16-bit accumulator & index registers
|
||||
REP #$30
|
||||
LDA.w #$0000
|
||||
LDX.w #$1FFE
|
||||
-
|
||||
STA $700000, X
|
||||
INX
|
||||
CPX #$2000 : !BLT -
|
||||
SEP #$30 ; set 8-bit accumulator & index registers
|
||||
LDX #$00
|
||||
STA.l CartridgeSRAM, X
|
||||
STA.l SaveBackupSRAM, X
|
||||
DEX #2
|
||||
BPL -
|
||||
LDA.w RomVersion+$00 : STA.l RomVersionSRAM+$00
|
||||
LDA.w RomVersion+$02 : STA.l RomVersionSRAM+$02
|
||||
SEP #$30
|
||||
LDX.b #$14
|
||||
-
|
||||
LDA $00FFC0, X : STA RomNameSRAM, X
|
||||
INX
|
||||
CPX #$15 : !BLT -
|
||||
LDX #$00
|
||||
-
|
||||
LDA RomVersion, X : STA RomVersionSRAM, X
|
||||
INX
|
||||
CPX #$04 : !BLT -
|
||||
LDA.w $FFC0, X : STA.l RomNameSRAM, X
|
||||
DEX
|
||||
BPL -
|
||||
.done
|
||||
|
||||
REP #$20
|
||||
LDA.l OneMindTimer : STA.l !ONEMIND_TIMER
|
||||
SEP #$20
|
||||
LDA.l OneMindTimerInit : STA.l OneMindTimerRAM
|
||||
SEP #$30
|
||||
|
||||
LDA.b #$01 : STA $420D ; enable fastrom access on upper banks
|
||||
STA.l !ONEMIND_ID
|
||||
LDA.l RomSpeed : STA.w MEMSEL ; enable fastrom access on upper banks
|
||||
LDA.b #$01 : STA.l OneMindId
|
||||
|
||||
LDA.b #$10 : STA $BC ; set default player sprite bank
|
||||
|
||||
LDA.b #$81 : STA $4200 ; thing we wrote over, turn on NMI & gamepad
|
||||
RTL
|
||||
LDA.b #$10 : STA.b PlayerSpriteBank ; set default player sprite bank
|
||||
LDA.b #$81 : STA.w NMITIMEN ; thing we wrote over, turn on NMI & gamepad
|
||||
LDA.b #(ReturnFromInit>>16)|$80 : PHA : PLB
|
||||
|
||||
JML ReturnFromInit
|
||||
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
; Init_PostRAMClear
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -68,6 +68,37 @@ Init_PostRAMClear:
|
||||
|
||||
JSL MSUInit
|
||||
JSL InitRNGPointerTable
|
||||
JSL InitCompassTotalsRAM
|
||||
JSL DecompressAllItemGraphics
|
||||
JSR InitDungeonCounts
|
||||
|
||||
JML $00D463 ; The original target of the jump table that we hijacked
|
||||
JML Tagalong_LoadGfx ; The original target of the jump table that we hijacked
|
||||
|
||||
;===================================================================================================
|
||||
InitDungeonCounts:
|
||||
PHB
|
||||
LDX.b #$1E
|
||||
REP #$20
|
||||
-
|
||||
LDA.l CompassTotalsROM, X : STA.l CompassTotalsWRAM, X
|
||||
DEX #2
|
||||
BPL -
|
||||
SEP #$20
|
||||
LDX.b #$0F
|
||||
-
|
||||
LDA.l ChestKeys, X : STA.l MapTotalsWRAM, X
|
||||
DEX
|
||||
BPL -
|
||||
|
||||
LDA.b #$7E
|
||||
PHA : PLB
|
||||
REP #$30
|
||||
LDA.l TotalItemCount
|
||||
JSL HUDHex4Digit_Long
|
||||
SEP #$20
|
||||
LDA.b Scrap04 : TAX : STX.w TotalItemCountTiles+$00
|
||||
LDA.b Scrap05 : TAX : STX.w TotalItemCountTiles+$02
|
||||
LDA.b Scrap06 : TAX : STX.w TotalItemCountTiles+$04
|
||||
LDA.b Scrap07 : TAX : STX.w TotalItemCountTiles+$06
|
||||
SEP #$10
|
||||
PLB
|
||||
RTS
|
||||
|
||||
Reference in New Issue
Block a user