Merge branch 'master' into DRMain
# Conflicts: # LTTP_RND_GeneralBugfixes.asm # hooks.asm
This commit is contained in:
@@ -81,7 +81,12 @@ db #$20, #$19, #$08, #$31 ; year/month/day
|
|||||||
!REG_MSU_PACK_COUNT = $7F50AA
|
!REG_MSU_PACK_COUNT = $7F50AA
|
||||||
!REG_MSU_PACK_CURRENT = $7F50AB
|
!REG_MSU_PACK_CURRENT = $7F50AB
|
||||||
!REG_MSU_PACK_REQUEST = $7F50AC
|
!REG_MSU_PACK_REQUEST = $7F50AC
|
||||||
!REG_SPC_LOADING = $7F50AD
|
!REG_MSU_LOADED_TRACK = $7F50AD ; 2 bytes
|
||||||
|
!REG_SPC_LOADING = $7F50AF
|
||||||
|
!MSU_LOADED_TRACK = $7F5400
|
||||||
|
!MSU_RESUME_TRACK = $7F5401
|
||||||
|
!MSU_RESUME_TIME = $7F5402 ; 4 bytes
|
||||||
|
!MSU_RESUME_CONTROL = $7F5406
|
||||||
!REG_MUSIC_CONTROL = $012B
|
!REG_MUSIC_CONTROL = $012B
|
||||||
;!REG_MUSIC_CONTROL = $012C
|
;!REG_MUSIC_CONTROL = $012C
|
||||||
!REG_MUSIC_CONTROL_REQUEST = $012C
|
!REG_MUSIC_CONTROL_REQUEST = $012C
|
||||||
@@ -145,7 +150,6 @@ incsrc mantle.asm
|
|||||||
incsrc swordswap.asm
|
incsrc swordswap.asm
|
||||||
incsrc scratchpad.asm
|
incsrc scratchpad.asm
|
||||||
incsrc map.asm
|
incsrc map.asm
|
||||||
incsrc msu.asm
|
|
||||||
incsrc dialog.asm
|
incsrc dialog.asm
|
||||||
incsrc entrances.asm
|
incsrc entrances.asm
|
||||||
incsrc clock.asm
|
incsrc clock.asm
|
||||||
@@ -213,6 +217,8 @@ incsrc servicerequest.asm
|
|||||||
incsrc elder.asm
|
incsrc elder.asm
|
||||||
incsrc toast.asm
|
incsrc toast.asm
|
||||||
incsrc darkroomitems.asm
|
incsrc darkroomitems.asm
|
||||||
|
incsrc fastcredits.asm
|
||||||
|
incsrc msu.asm
|
||||||
incsrc multiworld.asm
|
incsrc multiworld.asm
|
||||||
incsrc terrorpin.asm
|
incsrc terrorpin.asm
|
||||||
warnpc $A58000
|
warnpc $A58000
|
||||||
|
|||||||
@@ -24,8 +24,7 @@ RTL
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalWhitenBg:
|
ConditionalWhitenBg:
|
||||||
LDX.b #$00
|
LDX.b #$00
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
JSR WhitenLoopReal
|
JSR WhitenLoopReal
|
||||||
RTL
|
RTL
|
||||||
@@ -55,10 +54,10 @@ WhitenLoopReal:
|
|||||||
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4
|
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4
|
||||||
LDA $10 : CMP.w #$07 : BNE +
|
LDA $10 : CMP.w #$07 : BNE +
|
||||||
LDA $048E
|
LDA $048E
|
||||||
CMP.w #$3C : BEQ ++ ; hookshot cave
|
CMP.w #$3C : BEQ ++
|
||||||
CMP.w #$9D : BEQ ++ ; gt right
|
CMP.w #$9D : BEQ ++
|
||||||
CMP.w #$9C : BEQ ++ ; gt big room
|
CMP.w #$9C : BEQ ++
|
||||||
CMP.w #$A5 : BEQ ++ ; wizzrobes 1
|
CMP.w #$A5 : BEQ ++
|
||||||
+
|
+
|
||||||
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
|
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
|
||||||
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
||||||
@@ -68,7 +67,6 @@ WhitenLoopReal:
|
|||||||
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
||||||
BRA +++
|
BRA +++
|
||||||
+++
|
+++
|
||||||
|
|
||||||
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA
|
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA
|
||||||
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC
|
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC
|
||||||
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE
|
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE
|
||||||
@@ -97,7 +95,6 @@ WhitenLoopDummy:
|
|||||||
INX #2 : CPX.b #$10 : BEQ +
|
INX #2 : CPX.b #$10 : BEQ +
|
||||||
JMP -
|
JMP -
|
||||||
+
|
+
|
||||||
|
|
||||||
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0
|
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0
|
||||||
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2
|
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2
|
||||||
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4
|
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4
|
||||||
@@ -165,7 +162,7 @@ RestoreBgEther:
|
|||||||
INX #2 : CPX.b #$10 : BNE -
|
INX #2 : CPX.b #$10 : BNE -
|
||||||
BRA ++
|
BRA ++
|
||||||
++
|
++
|
||||||
JML $02FF51
|
JML $02FF51 ; Bank0E.asm : 3936 vanilla restore routine after loop which RTLs
|
||||||
;================================================================================
|
;================================================================================
|
||||||
DDMConditionalLightning:
|
DDMConditionalLightning:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing
|
||||||
@@ -173,7 +170,7 @@ DDMConditionalLightning:
|
|||||||
BNE +
|
BNE +
|
||||||
LDA.w $0000
|
LDA.w $0000
|
||||||
LDX.b #$02
|
LDX.b #$02
|
||||||
JML $07FA7F
|
JML $07FA7F ; Bank0E.asm : 4738 vanilla loop equivalent to below beginning at LDY #$00
|
||||||
+
|
+
|
||||||
LDA.b $00 : LDX.b #$02 : LDY #$00
|
LDA.b $00 : LDX.b #$02 : LDY #$00
|
||||||
-
|
-
|
||||||
@@ -184,13 +181,10 @@ DDMConditionalLightning:
|
|||||||
LDA $F523, Y : LDA $7EC5F0, X
|
LDA $F523, Y : LDA $7EC5F0, X
|
||||||
INY #2
|
INY #2
|
||||||
INX #2 : CPX.b #$10 : BNE -
|
INX #2 : CPX.b #$10 : BNE -
|
||||||
|
JML $07FAAC ; Bank0E.asm : 4754 both branches converge here
|
||||||
JML $07FAAC
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalGTFlash:
|
ConditionalGTFlash:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20
|
|
||||||
BNE +
|
|
||||||
LDA $0000
|
LDA $0000
|
||||||
-
|
-
|
||||||
LDA $F9C1, Y : STA $7EC5D0, X
|
LDA $F9C1, Y : STA $7EC5D0, X
|
||||||
@@ -206,14 +200,12 @@ ConditionalGTFlash:
|
|||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalRedFlash:
|
ConditionalRedFlash:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
LDA.w #$1D59 : STA $7EC5DA
|
LDA.w #$1D59 : STA $7EC5DA
|
||||||
LDA.w #$25FF : STA $7EC5DC
|
LDA.w #$25FF : STA $7EC5DC
|
||||||
LDA.w #$001A
|
LDA.w #$001A
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
+
|
+
|
||||||
LDA $00
|
LDA $00
|
||||||
LDA.w #$1D59 : LDA $7EC5DA
|
LDA.w #$1D59 : LDA $7EC5DA
|
||||||
@@ -222,8 +214,7 @@ ConditionalRedFlash:
|
|||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalPedAncilla:
|
ConditionalPedAncilla:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
LDA $00 : STA $04
|
LDA $00 : STA $04
|
||||||
LDA $02 : STA $06
|
LDA $02 : STA $06
|
||||||
@@ -234,30 +225,70 @@ ConditionalPedAncilla:
|
|||||||
LDA $02 : LDA $06
|
LDA $02 : LDA $06
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalChangeGearPalette:
|
LoadElectroPalette:
|
||||||
PHY
|
REP #$20
|
||||||
|
LDA.w #$0202 : STA $0C
|
||||||
|
LDA.w #$0404 : STA $0E
|
||||||
|
LDA.w #$001B : STA $02
|
||||||
|
SEP #$10
|
||||||
|
LDX $0C : LDA $1BEBB4, X : AND.w #$00FF : ADC #$D630
|
||||||
|
REP #$10 : LDX.w #$01B2 : LDY.w #$0002
|
||||||
|
JSR ConditionalLoadGearPalette
|
||||||
|
SEP #$10
|
||||||
|
LDX $0D
|
||||||
|
LDA $1BEBC1, X : AND.w #$00FF : ADC #$D648
|
||||||
|
REP #$10 : LDX.w #$01B8 : LDY.w #$0003
|
||||||
|
JSR ConditionalLoadGearPalette
|
||||||
|
SEP #$10
|
||||||
|
LDX $0E
|
||||||
|
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC #$D308
|
||||||
|
REP #$10 : LDX.w #$01E2 : LDY.w #$000E
|
||||||
|
JSR ConditionalLoadGearPalette
|
||||||
|
SEP #$30
|
||||||
|
INC $15
|
||||||
|
RTL
|
||||||
|
;================================================================================
|
||||||
|
ConditionalLoadGearPalette:
|
||||||
STA $00
|
STA $00
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.l DisableFlashing : REP #$20 : BNE +
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
-
|
-
|
||||||
LDA [$00] : STA $7EC300, X : STA $7EC500, X
|
LDA [$00]
|
||||||
|
STA $7EC500, X
|
||||||
INC $00 : INC $00
|
INC $00 : INC $00
|
||||||
INX #2
|
INX #2
|
||||||
DEY : BPL -
|
DEY
|
||||||
BRA ++
|
BPL -
|
||||||
|
RTS
|
||||||
+
|
+
|
||||||
LDA $00
|
LDA $00
|
||||||
-
|
-
|
||||||
LDA [$00] : LDA $7EC300, X : LDA $7EC500, X
|
LDA [$00]
|
||||||
|
LDA $7EC500, X
|
||||||
INC $00 : INC $00
|
INC $00 : INC $00
|
||||||
INX #2
|
INX #2
|
||||||
DEY : BPL -
|
DEY
|
||||||
BRA ++
|
BPL -
|
||||||
++
|
RTS
|
||||||
PLY ; use what was in Y register to determine which p flags to set
|
;================================================================================
|
||||||
CPY #$000E : BNE +
|
RestoreElectroPalette:
|
||||||
SEP #$20
|
REP #$30
|
||||||
+
|
LDX.w #$01B2 : LDY.w #$0002
|
||||||
SEP #$10
|
JSR FillPaletteBufferFromAux
|
||||||
|
LDX.w #$01B8 : LDY.w #$0003
|
||||||
|
JSR FillPaletteBufferFromAux
|
||||||
|
LDX.w #$01E2 : LDY.w #$000E
|
||||||
|
JSR FillPaletteBufferFromAux
|
||||||
|
SEP #$30
|
||||||
|
INC $15
|
||||||
RTL
|
RTL
|
||||||
|
;================================================================================
|
||||||
|
FillPaletteBufferFromAux:
|
||||||
|
-
|
||||||
|
LDA $7EC300, X
|
||||||
|
STA $7EC500, X
|
||||||
|
INX #2
|
||||||
|
DEY
|
||||||
|
BPL -
|
||||||
|
RTS
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ OnDrawHud:
|
|||||||
JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter
|
JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter
|
||||||
JSL.l DrHudOverride
|
JSL.l DrHudOverride
|
||||||
JSL.l NewDrawHud
|
JSL.l NewDrawHud
|
||||||
JSL.l SwapSpriteIfNecissary
|
JSL.l SwapSpriteIfNecessary
|
||||||
JSL.l CuccoStorm
|
JSL.l CuccoStorm
|
||||||
JSL.l PollService
|
JSL.l PollService
|
||||||
JML.l ReturnFromOnDrawHud
|
JML.l ReturnFromOnDrawHud
|
||||||
|
|||||||
124
fastcredits.asm
Normal file
124
fastcredits.asm
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
;===================================================================================================
|
||||||
|
|
||||||
|
FastCreditsCutsceneTimer:
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
LDA.w #$0001 : STA.b $50
|
||||||
|
|
||||||
|
LDA.b $C8
|
||||||
|
CLC
|
||||||
|
ADC.w #$0004
|
||||||
|
AND.w #$FFFE
|
||||||
|
STA.b $C8
|
||||||
|
SEP #$20
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
.slow
|
||||||
|
INC.b $C8
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
RTL
|
||||||
|
|
||||||
|
FastCreditsScrollOW:
|
||||||
|
JSR FastCreditsCutsceneScrollY
|
||||||
|
TAY
|
||||||
|
STY.b $30
|
||||||
|
|
||||||
|
JSR FastCreditsCutsceneScrollX
|
||||||
|
TAY
|
||||||
|
STY.b $31
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
FastCreditsCutsceneScrollX:
|
||||||
|
PHX
|
||||||
|
TXA
|
||||||
|
CLC
|
||||||
|
ADC.w #$0020
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDY.b #$00
|
||||||
|
JSR FastCreditsCutsceneScroll
|
||||||
|
|
||||||
|
PLX
|
||||||
|
RTS
|
||||||
|
|
||||||
|
FastCreditsCutsceneScrollY:
|
||||||
|
LDY.b #$06
|
||||||
|
|
||||||
|
FastCreditsCutsceneScroll:
|
||||||
|
LDA.w $00E2,Y
|
||||||
|
CMP.l $0EC308,X ; compare to target
|
||||||
|
|
||||||
|
ROL.b $00 ; put carry in here
|
||||||
|
LDA.l $0EC348,X ; get movement
|
||||||
|
BPL ++ ; if positive, leave saved carry alone
|
||||||
|
INC.b $00 ; otherwise, flip it
|
||||||
|
++ ROR.b $00 ; recover carry
|
||||||
|
|
||||||
|
BCC ++ ; scroll if carry not set
|
||||||
|
LDA.w #$0000
|
||||||
|
|
||||||
|
++ BIT.b $F2-1 : BVC .slow ; check for X held
|
||||||
|
|
||||||
|
AND.w #$FFFF ; get sign of A
|
||||||
|
BPL .positive
|
||||||
|
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.positive
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.slow
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneUnderworldX:
|
||||||
|
JSR FastCreditsCutsceneScrollX
|
||||||
|
CLC
|
||||||
|
ADC.b $E2
|
||||||
|
STA.b $E2
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneUnderworldY:
|
||||||
|
JSR FastCreditsCutsceneScrollY
|
||||||
|
CLC
|
||||||
|
ADC.b $E8
|
||||||
|
STA.b $E8
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
FastTextScroll:
|
||||||
|
LDA.b $1A
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
AND.w #$0000
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.slow
|
||||||
|
AND.w #$0003
|
||||||
|
RTL
|
||||||
|
|
||||||
|
DumbFlagForMSU:
|
||||||
|
STA.l $7EF3CA
|
||||||
|
STZ.b $50
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
@@ -23,7 +23,10 @@
|
|||||||
FrameHookAction:
|
FrameHookAction:
|
||||||
JSL $0080B5 ; Module_MainRouting
|
JSL $0080B5 ; Module_MainRouting
|
||||||
JSL CheckMusicLoadRequest
|
JSL CheckMusicLoadRequest
|
||||||
PHA : PHP
|
PHP : REP #$30 : PHA
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
||||||
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
||||||
;+
|
;+
|
||||||
@@ -37,9 +40,9 @@ FrameHookAction:
|
|||||||
LDA !ITEM_FRAMES_LOW : INC : STA !ITEM_FRAMES_LOW : BNE +
|
LDA !ITEM_FRAMES_LOW : INC : STA !ITEM_FRAMES_LOW : BNE +
|
||||||
LDA !ITEM_FRAMES_HIGH : INC : STA !ITEM_FRAMES_HIGH
|
LDA !ITEM_FRAMES_HIGH : INC : STA !ITEM_FRAMES_HIGH
|
||||||
+
|
+
|
||||||
SEP #$20 ; set 8-bit accumulator ?? check this
|
;SEP #$20 ; set 8-bit accumulator ?? check this
|
||||||
++
|
++
|
||||||
PLP : PLA
|
REP #$30 : PLA : PLP
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
NMIHookAction:
|
NMIHookAction:
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ CheckGanonVulnerability:
|
|||||||
dw .light_speed
|
dw .light_speed
|
||||||
dw .crystals_and_bosses
|
dw .crystals_and_bosses
|
||||||
dw .bosses_only
|
dw .bosses_only
|
||||||
|
dw .all_dungeons_no_agahnim
|
||||||
|
|
||||||
; 00 = always vulnerable
|
; 00 = always vulnerable
|
||||||
.vulnerable
|
.vulnerable
|
||||||
@@ -61,10 +62,13 @@ CheckGanonVulnerability:
|
|||||||
|
|
||||||
; 02 = All dungeons
|
; 02 = All dungeons
|
||||||
.all_dungeons
|
.all_dungeons
|
||||||
|
LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state
|
||||||
|
|
||||||
|
; 09 = All dungeons except agahnim
|
||||||
|
.all_dungeons_no_agahnim
|
||||||
LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants
|
LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants
|
||||||
LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals
|
LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals
|
||||||
LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state
|
LDA.l $7EF2DB : AND.b #$20 : BEQ .fail ; require aga2 defeated (pyramid hole open)
|
||||||
LDA.l $7EF2DB : AND.b #$20 : CMP.b #$20 : BNE .fail ; require aga2 defeated (pyramid hole open)
|
|
||||||
BRA .success
|
BRA .success
|
||||||
|
|
||||||
; 03 = crystals and aga 2
|
; 03 = crystals and aga 2
|
||||||
|
|||||||
52
hooks.asm
52
hooks.asm
@@ -747,9 +747,6 @@ dw $0000, $0002, $0004, $0032, $0004, $0006, $0030
|
|||||||
;JSL FlipGreenPendant
|
;JSL FlipGreenPendant
|
||||||
;NOP #6
|
;NOP #6
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $08AAF9 ; -< 42AF9 - ancilla_ether_spell.asm : 46 (JSL Palette_Restore_BG_From_Flash)
|
|
||||||
JSL.l RestoreBgEther
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness)
|
org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness)
|
||||||
BRA + : NOP #2 : +
|
BRA + : NOP #2 : +
|
||||||
org $02A3FD ; <- 123FD - Bank02.asm : 6233 (LDA.b #$32 : STA $9a)
|
org $02A3FD ; <- 123FD - Bank02.asm : 6233 (LDA.b #$32 : STA $9a)
|
||||||
@@ -758,6 +755,15 @@ JSL.l ConditionalLightning
|
|||||||
org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
|
org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
|
||||||
JSL.l ConditionalWhitenBg
|
JSL.l ConditionalWhitenBg
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAE9 ; <- 042AE9 - ancilla_ether_spell.asm : 34 (JSL Palette_ElectroThemedGear)
|
||||||
|
JSL.l LoadElectroPalette
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAF5 ; <- 042AF5 - ancilla_ether_spell.asm : 45 (JSL LoadActualGearPalettes)
|
||||||
|
JSL.l RestoreElectroPalette
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAF9 ; -< 42AF9 - ancilla_ether_spell.asm : 46 (JSL Palette_Restore_BG_From_Flash)
|
||||||
|
JSL.l RestoreBgEther
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg)
|
org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg)
|
||||||
JSL.l ConditionalWhitenBg
|
JSL.l ConditionalWhitenBg
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -776,14 +782,13 @@ JSL.l ConditionalRedFlash : BRA + : NOP #13 : +
|
|||||||
org $08C2A1 ; <- 442A3 - ancilla_sword_ceremony.asm : 54 (REP #$20)
|
org $08C2A1 ; <- 442A3 - ancilla_sword_ceremony.asm : 54 (REP #$20)
|
||||||
JSL.l ConditionalPedAncilla : BRA + : NOP #4 : +
|
JSL.l ConditionalPedAncilla : BRA + : NOP #4 : +
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDB1 ; <- 17DB1 - Bank0E.asm : 3760 (JSL LoadGearPalette)
|
org $079976 ; <- 039976 - Bank07.asm : 4009 (JSL Palette_ElectroThemedGear)
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
JSL.l LoadElectroPalette
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDCB ; <- 17DCB - Bank0E.asm : 3775 (JSL LoadGearPalette)
|
org $07997C ; <- 03997C - Bank07.asm : 4015 (JSL LoadActualGearPalettes)
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
JSL.l RestoreElectroPalette
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDE6 ; <- 17DE6 - Bank0E.asm : 3789 (JSL LoadGearPalette)
|
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Ice Floor Toggle
|
; Ice Floor Toggle
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -2659,6 +2664,7 @@ CheckIfReading:
|
|||||||
LDA #$80 : TRB $3B
|
LDA #$80 : TRB $3B
|
||||||
CPX #$04
|
CPX #$04
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
org $0DB4CA : db $40, $40 ; fire bar statis
|
org $0DB4CA : db $40, $40 ; fire bar statis
|
||||||
@@ -2675,7 +2681,35 @@ Sprite_AttemptDamageToPlayerPlusRecoilLong:
|
|||||||
|
|
||||||
org $1ED1B6
|
org $1ED1B6
|
||||||
JSL NewFireBarDamage
|
JSL NewFireBarDamage
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
; Remove heart beeps from 1/2 max HP
|
||||||
|
org $0DDB60
|
||||||
|
db $00, $00
|
||||||
|
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Fast credits
|
||||||
|
|
||||||
|
org $02A096
|
||||||
|
JSL DumbFlagForMSU
|
||||||
|
|
||||||
|
org $0EC3AF
|
||||||
|
JSL FastCreditsScrollOW
|
||||||
|
JMP.w $0EC3C7
|
||||||
|
|
||||||
|
org $0EC41F
|
||||||
|
JSL FastCreditsCutsceneUnderworldY
|
||||||
|
|
||||||
|
org $0EC42C
|
||||||
|
JSL FastCreditsCutsceneUnderworldX
|
||||||
|
|
||||||
|
|
||||||
|
org $0EC488
|
||||||
|
JSL FastCreditsCutsceneTimer
|
||||||
|
|
||||||
|
org $0EE773
|
||||||
|
JSL FastTextScroll : NOP
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Terrorpin AI fix
|
; Terrorpin AI fix
|
||||||
|
|||||||
152
msu.asm
152
msu.asm
@@ -116,12 +116,15 @@
|
|||||||
|
|
||||||
!FLAG_MSU_PLAY = #$01
|
!FLAG_MSU_PLAY = #$01
|
||||||
!FLAG_MSU_REPEAT = #$02
|
!FLAG_MSU_REPEAT = #$02
|
||||||
|
!FLAG_MSU_RESUME = #$04
|
||||||
!FLAG_MSU_STATUS_TRACK_MISSING = #$08
|
!FLAG_MSU_STATUS_TRACK_MISSING = #$08
|
||||||
!FLAG_MSU_STATUS_AUDIO_PLAYING = #$10
|
!FLAG_MSU_STATUS_AUDIO_PLAYING = #$10
|
||||||
!FLAG_MSU_STATUS_AUDIO_REPEATING = #$20
|
!FLAG_MSU_STATUS_AUDIO_REPEATING = #$20
|
||||||
!FLAG_MSU_STATUS_AUDIO_BUSY = #$40
|
!FLAG_MSU_STATUS_AUDIO_BUSY = #$40
|
||||||
!FLAG_MSU_STATUS_DATA_BUSY = #$80
|
!FLAG_MSU_STATUS_DATA_BUSY = #$80
|
||||||
|
|
||||||
|
!FLAG_RESUME_CANCEL = #$01
|
||||||
|
!FLAG_RESUME_FADEIN = #$02
|
||||||
|
|
||||||
!REG_CURRENT_MSU_TRACK = $010B
|
!REG_CURRENT_MSU_TRACK = $010B
|
||||||
!REG_CURRENT_VOLUME = $0127
|
!REG_CURRENT_VOLUME = $0127
|
||||||
@@ -145,11 +148,46 @@
|
|||||||
!VAL_VOLUME_HALF = #$80
|
!VAL_VOLUME_HALF = #$80
|
||||||
!VAL_VOLUME_FULL = #$FF
|
!VAL_VOLUME_FULL = #$FF
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Check if A has an overworld track
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
IsOverworldTrack:
|
||||||
|
CMP #02 : BEQ .yes ; 2 - Hyrule Field
|
||||||
|
CMP #03 : BEQ .yes ; 3 - Time of Falling Rain
|
||||||
|
CMP #04 : BEQ .yes ; 4 - The Silly Pink Rabbit
|
||||||
|
CMP #05 : BEQ .yes ; 5 - Forest of Mystery
|
||||||
|
CMP #07 : BEQ .yes ; 7 - Kakariko Village
|
||||||
|
CMP #09 : BEQ .yes ; 9 - Dark Golden Land
|
||||||
|
CMP #15 : BEQ .yes ; 15 - Dark Woods
|
||||||
|
CMP #60 : BEQ .yes ; 60 - Light World OW (after ped pull)
|
||||||
|
CMP #61 : BEQ .yes ; 61 - Dark World OW (with all crystals)
|
||||||
|
.no
|
||||||
|
CLC : RTS
|
||||||
|
.yes
|
||||||
|
SEC : RTS
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Check if the track in A should be resumed
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
IsResumableTrack:
|
||||||
|
PHA
|
||||||
|
LDA MSUResumeType : BEQ +
|
||||||
|
PLA
|
||||||
|
JSR IsOverworldTrack
|
||||||
|
RTS
|
||||||
|
+
|
||||||
|
PLA
|
||||||
|
SEC
|
||||||
|
RTS
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Extended OST/SPC fallback, decide which track to actually play
|
; Extended OST/SPC fallback, decide which track to actually play
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
CheckMusicLoadRequest:
|
CheckMusicLoadRequest:
|
||||||
PHP : REP #$10 : PHA : PHX : PHY
|
PHP : PHB : PHD : REP #$30 : PHA : PHX : PHY
|
||||||
|
LDA #$0000 : TCD : SEP #$20 : PHA : PLB
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
||||||
CMP !REG_CURRENT_COMMAND : BNE .continue
|
CMP !REG_CURRENT_COMMAND : BNE .continue
|
||||||
CMP.b #22 : BNE .skip ; Check GT when mirroring from upstairs
|
CMP.b #22 : BNE .skip ; Check GT when mirroring from upstairs
|
||||||
@@ -159,7 +197,7 @@ CheckMusicLoadRequest:
|
|||||||
.skip
|
.skip
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST
|
||||||
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
PLY : PLX : PLA : PLP
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.continue
|
.continue
|
||||||
@@ -320,13 +358,13 @@ CheckMusicLoadRequest:
|
|||||||
|
|
||||||
.done
|
.done
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
PLY : PLX : PLA : PLP
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.sfx_indoors
|
.sfx_indoors
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
PLY : PLX : PLA : PLP
|
SEP #$20 : LDA.b #$05 : STA $012D
|
||||||
PHP : SEP #$20 : LDA.b #$05 : STA $012D : PLP
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
JML Module_PreDungeon_setAmbientSfx
|
JML Module_PreDungeon_setAmbientSfx
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -404,6 +442,12 @@ StoreMusicOnDeath:
|
|||||||
MSUInit:
|
MSUInit:
|
||||||
PHP
|
PHP
|
||||||
|
|
||||||
|
LDA #$00
|
||||||
|
STA !MSU_LOADED_TRACK
|
||||||
|
STA !MSU_RESUME_TRACK
|
||||||
|
STA !MSU_RESUME_TIME : STA !MSU_RESUME_TIME+1 : STA !MSU_RESUME_TIME+2 : STA !MSU_RESUME_TIME+3
|
||||||
|
STA !MSU_RESUME_CONTROL
|
||||||
|
|
||||||
LDA NoBGM : BNE .done
|
LDA NoBGM : BNE .done
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
@@ -467,6 +511,41 @@ MSUInit:
|
|||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Stop MSU-1 audio track and save the current position when approriate
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
MSUStopPlaying:
|
||||||
|
PHA : XBA : PHA
|
||||||
|
LDA !MSU_LOADED_TRACK
|
||||||
|
JSR IsResumableTrack : BCC +
|
||||||
|
; dont save if we already saved recently
|
||||||
|
REP #$20
|
||||||
|
LDA !MSU_RESUME_TRACK : AND #$00FF : BEQ ++
|
||||||
|
LDA !NMI_COUNTER : !SUB !MSU_RESUME_TIME : PHA
|
||||||
|
LDA !NMI_COUNTER+2 : SBC !MSU_RESUME_TIME+2 : BNE +++
|
||||||
|
PLA : CMP MSUResumeTimer : !BLT .too_early
|
||||||
|
BRA ++
|
||||||
|
+++
|
||||||
|
PLA
|
||||||
|
++
|
||||||
|
; saving
|
||||||
|
LDA !NMI_COUNTER : STA !MSU_RESUME_TIME
|
||||||
|
LDA !NMI_COUNTER+2 : STA !MSU_RESUME_TIME+2
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
|
LDA !MSU_LOADED_TRACK : STA !MSU_RESUME_TRACK
|
||||||
|
LDA #$00 : STA !MSU_LOADED_TRACK ; dont take this path if we're calling again
|
||||||
|
LDA !FLAG_MSU_RESUME : STA !REG_MSU_CONTROL ; save this track's position
|
||||||
|
PLA : XBA : PLA
|
||||||
|
RTS
|
||||||
|
.too_early
|
||||||
|
SEP #$20
|
||||||
|
+
|
||||||
|
LDA #$00 : STA !REG_MSU_CONTROL
|
||||||
|
PLA : XBA : PLA
|
||||||
|
RTS
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Play MSU-1 audio track
|
; Play MSU-1 audio track
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -477,6 +556,7 @@ MSUMain:
|
|||||||
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BEQ .continue
|
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BEQ .continue
|
||||||
.nomsu
|
.nomsu
|
||||||
SEP #$30
|
SEP #$30
|
||||||
|
-
|
||||||
JML SPCContinue
|
JML SPCContinue
|
||||||
.continue
|
.continue
|
||||||
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .nomsu
|
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .nomsu
|
||||||
@@ -488,16 +568,28 @@ MSUMain:
|
|||||||
LDA !REG_MSU_DELAYED_COMMAND : BEQ .do_fade
|
LDA !REG_MSU_DELAYED_COMMAND : BEQ .do_fade
|
||||||
|
|
||||||
.check_busy
|
.check_busy
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BEQ .ready
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE -
|
||||||
JML SPCContinue
|
|
||||||
.ready
|
.ready
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .start
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE -
|
||||||
JML SPCContinue
|
|
||||||
.start
|
.start
|
||||||
|
LDA !MSU_RESUME_CONTROL : BIT !FLAG_RESUME_CANCEL : BEQ +
|
||||||
|
EOR !FLAG_RESUME_CANCEL : STA !MSU_RESUME_CONTROL
|
||||||
|
REP #$20 : LDA !REG_MSU_LOADED_TRACK : STA !REG_MSU_TRACK : SEP #$20
|
||||||
|
BRA -
|
||||||
|
+
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
|
|
||||||
|
LDA !MSU_RESUME_CONTROL : BIT !FLAG_RESUME_FADEIN : BEQ +
|
||||||
|
EOR !FLAG_RESUME_FADEIN : STA !MSU_RESUME_CONTROL
|
||||||
|
LDA #$00
|
||||||
|
BRA ++
|
||||||
|
+
|
||||||
|
LDA !VAL_VOLUME_FULL
|
||||||
|
++
|
||||||
STA !REG_CURRENT_VOLUME
|
STA !REG_CURRENT_VOLUME
|
||||||
STA !REG_MSU_VOLUME
|
STA !REG_MSU_VOLUME
|
||||||
|
|
||||||
LDA !REG_CURRENT_MSU_TRACK : DEC : PHA
|
LDA !REG_CURRENT_MSU_TRACK : DEC : PHA
|
||||||
AND.b #$07 : TAY
|
AND.b #$07 : TAY
|
||||||
PLA : LSR #3 : TAX
|
PLA : LSR #3 : TAX
|
||||||
@@ -524,7 +616,7 @@ MSUMain:
|
|||||||
LDA !REG_TARGET_VOLUME : BRA .set
|
LDA !REG_TARGET_VOLUME : BRA .set
|
||||||
.mute
|
.mute
|
||||||
STZ !REG_CURRENT_VOLUME
|
STZ !REG_CURRENT_VOLUME
|
||||||
STZ !REG_MSU_CONTROL
|
JSR MSUStopPlaying
|
||||||
BRA .set
|
BRA .set
|
||||||
.increment
|
.increment
|
||||||
ADC !VAL_VOLUME_INCREMENT : BCS .max
|
ADC !VAL_VOLUME_INCREMENT : BCS .max
|
||||||
@@ -570,7 +662,7 @@ MSUMain:
|
|||||||
CPX !REG_CURRENT_MSU_TRACK : BNE +
|
CPX !REG_CURRENT_MSU_TRACK : BNE +
|
||||||
- : CPX #27 : BEQ +
|
- : CPX #27 : BEQ +
|
||||||
TXA
|
TXA
|
||||||
BRA .done+1
|
JMP .done+1
|
||||||
+
|
+
|
||||||
CPX !REG_CURRENT_COMMAND : BEQ -
|
CPX !REG_CURRENT_COMMAND : BEQ -
|
||||||
LDA.b #$00 : XBA
|
LDA.b #$00 : XBA
|
||||||
@@ -579,6 +671,8 @@ MSUMain:
|
|||||||
!SUB !REG_MSU_PACK_COUNT : BRA -
|
!SUB !REG_MSU_PACK_COUNT : BRA -
|
||||||
+
|
+
|
||||||
|
|
||||||
|
JSR MSUStopPlaying
|
||||||
|
|
||||||
PHX : PHA : TXA : PLX
|
PHX : PHA : TXA : PLX
|
||||||
REP #$20
|
REP #$20
|
||||||
BEQ +
|
BEQ +
|
||||||
@@ -587,10 +681,35 @@ MSUMain:
|
|||||||
DEX : BNE -
|
DEX : BNE -
|
||||||
+
|
+
|
||||||
STA !REG_MSU_TRACK
|
STA !REG_MSU_TRACK
|
||||||
|
STA !REG_MSU_LOADED_TRACK
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
STZ !REG_MSU_CONTROL
|
|
||||||
PLX
|
PLX
|
||||||
|
TXA : CMP !MSU_RESUME_TRACK : BNE + ; dont resume if too late
|
||||||
|
REP #$20
|
||||||
|
LDA !NMI_COUNTER : !SUB !MSU_RESUME_TIME : PHA
|
||||||
|
LDA !NMI_COUNTER+2 : SBC !MSU_RESUME_TIME+2 : BNE ++
|
||||||
|
PLA : CMP MSUResumeTimer : !BGE +++
|
||||||
|
SEP #$20
|
||||||
|
LDA !FLAG_RESUME_FADEIN : BRA .done_resume
|
||||||
|
++
|
||||||
|
PLA
|
||||||
|
+++
|
||||||
|
SEP #$20
|
||||||
|
LDA !FLAG_RESUME_CANCEL
|
||||||
|
.done_resume:
|
||||||
|
STA !MSU_RESUME_CONTROL
|
||||||
|
LDA #$00 : STA !MSU_RESUME_TRACK
|
||||||
|
+
|
||||||
|
CPX #07 : BNE + ; Kakariko Village
|
||||||
|
LDA $10 : CMP #$07 : BNE +
|
||||||
|
; we're in link's house -> ignore
|
||||||
|
LDA #$00
|
||||||
|
BRA ++
|
||||||
|
+
|
||||||
|
TXA
|
||||||
|
++
|
||||||
|
STA !MSU_LOADED_TRACK
|
||||||
STX !REG_CURRENT_MSU_TRACK
|
STX !REG_CURRENT_MSU_TRACK
|
||||||
LDA !REG_MSU_PACK_CURRENT : CMP #$FE : !BLT +
|
LDA !REG_MSU_PACK_CURRENT : CMP #$FE : !BLT +
|
||||||
LDA #$00 : BRA ++
|
LDA #$00 : BRA ++
|
||||||
@@ -625,12 +744,12 @@ MSUMain:
|
|||||||
; Wait for the fanfare music to start, or else it can get skipped entirely
|
; Wait for the fanfare music to start, or else it can get skipped entirely
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
FanfarePreload:
|
FanfarePreload:
|
||||||
STA !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
STA.l !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
||||||
PHA
|
PHA
|
||||||
JSL CheckMusicLoadRequest
|
JSL CheckMusicLoadRequest
|
||||||
WAI
|
WAI
|
||||||
PLA
|
PLA
|
||||||
- : CMP !REG_SPC_CONTROL : BNE -
|
- : CMP.l !REG_SPC_CONTROL : BNE -
|
||||||
JML AddReceivedItem_doneWithSoundEffects
|
JML AddReceivedItem_doneWithSoundEffects
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -653,7 +772,7 @@ PendantFanfareWait:
|
|||||||
jml PendantFanfareContinue
|
jml PendantFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA.l !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml PendantFanfareDone
|
jml PendantFanfareDone
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -677,7 +796,7 @@ CrystalFanfareWait:
|
|||||||
jml CrystalFanfareContinue
|
jml CrystalFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA.l !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml CrystalFanfareDone
|
jml CrystalFanfareDone
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -704,6 +823,7 @@ EndingMusicWait:
|
|||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
.wait
|
.wait
|
||||||
|
LDA.b $50 : BNE .done
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
||||||
.done
|
.done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ RTL
|
|||||||
!BANK_BASE = "#$29"
|
!BANK_BASE = "#$29"
|
||||||
|
|
||||||
org $BF8000
|
org $BF8000
|
||||||
SwapSpriteIfNecissary:
|
SwapSpriteIfNecessary:
|
||||||
PHP
|
PHP
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
LDA !SPRITE_SWAP : BEQ + : !ADD !BANK_BASE : CMP $BC : BEQ +
|
LDA !SPRITE_SWAP : BEQ + : !ADD !BANK_BASE : CMP $BC : BEQ +
|
||||||
|
|||||||
@@ -507,6 +507,10 @@ CreditsLineBlank:
|
|||||||
|
|
||||||
%blankline()
|
%blankline()
|
||||||
|
|
||||||
|
%bigcredits("BONTA EMOSARU")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
|
||||||
%bigcredits("SAKURATSUBASA")
|
%bigcredits("SAKURATSUBASA")
|
||||||
|
|
||||||
%blankline()
|
%blankline()
|
||||||
@@ -556,9 +560,6 @@ CreditsLineBlank:
|
|||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
|
|
||||||
;===================================================================================================
|
;===================================================================================================
|
||||||
|
|
||||||
|
|||||||
11
tables.asm
11
tables.asm
@@ -992,8 +992,14 @@ db $00 ; $00 = BGM enabled (default) $01 = BGM disabled
|
|||||||
org $30821B ; PC 0x18021B
|
org $30821B ; PC 0x18021B
|
||||||
FastFanfare:
|
FastFanfare:
|
||||||
db $00 ; $00 = Normal fanfare (default) $01 = Fast fanfare
|
db $00 ; $00 = Normal fanfare (default) $01 = Fast fanfare
|
||||||
|
org $30821C ; PC 0x18021C
|
||||||
|
MSUResumeType:
|
||||||
|
db $01 ; Type of tracks to resume #$00 = Everything - #$01 = Overworld (default)
|
||||||
|
org $30821D ; PC 0x18021D
|
||||||
|
MSUResumeTimer:
|
||||||
|
dw $0708 ; Number of frames on a different track until we no longer resume (0x708 = 1800 = ~30s)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x18021C - 0x18021F (unused)
|
; 0x18021F - 0x18021F (unused)
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; $308220 (0x180220) - $30823F (0x18023F)
|
; $308220 (0x180220) - $30823F (0x18023F)
|
||||||
; Plandomizer Author Name (ASCII) - Leave unused chars as 0
|
; Plandomizer Author Name (ASCII) - Leave unused chars as 0
|
||||||
@@ -1522,8 +1528,9 @@ dw #9999 ; Rupee Limit
|
|||||||
; $7F5100 - $7F51FF - Block Cypher Buffer
|
; $7F5100 - $7F51FF - Block Cypher Buffer
|
||||||
; $7F5200 - $7F52FF - RNG Pointer Block
|
; $7F5200 - $7F52FF - RNG Pointer Block
|
||||||
; $7F5300 - $7F53FF - Multiworld Block
|
; $7F5300 - $7F53FF - Multiworld Block
|
||||||
|
; $7F5400 - $7F540F - MSU Block
|
||||||
|
|
||||||
; $7F5400 - $7F56FF - Unused
|
; $7F5410 - $7F56FF - Unused
|
||||||
|
|
||||||
; $7F5700 - $7F57FF - Dialog Buffer
|
; $7F5700 - $7F57FF - Dialog Buffer
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user