MSU coding style cleanup
This commit is contained in:
22
hooks.asm
22
hooks.asm
@@ -1449,8 +1449,8 @@ JSL.l GetMagicBatItem
|
|||||||
; MSU Music
|
; MSU Music
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $0080D7 ; <- D7 - Bank00.asm:172 (SEP #$30)
|
org $0080D7 ; <- D7 - Bank00.asm:172 (SEP #$30)
|
||||||
JML msu_main : NOP
|
JML MSUMain : NOP
|
||||||
spc_continue:
|
SPCContinue:
|
||||||
|
|
||||||
org $028B7A ; <- C220 A5A0 - Bank02.asm:2225 (REP #$20 : LDA $A0)
|
org $028B7A ; <- C220 A5A0 - Bank02.asm:2225 (REP #$20 : LDA $A0)
|
||||||
JSL SpiralStairsPreCheck
|
JSL SpiralStairsPreCheck
|
||||||
@@ -1462,30 +1462,30 @@ org $02D6E8 ; <- 9C0A01 - Bank02.asm:10811 (STZ $010A)
|
|||||||
NOP #3
|
NOP #3
|
||||||
|
|
||||||
org $08C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
|
org $08C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
|
||||||
JML pendant_fanfare : NOP
|
JML PendantFanfareWait : NOP
|
||||||
pendant_continue:
|
PendantFanfareContinue:
|
||||||
|
|
||||||
org $08C42B
|
org $08C42B
|
||||||
pendant_done:
|
PendantFanfareDone:
|
||||||
|
|
||||||
org $08C62A ; <- AD4021 D008 - ancilla_receive_item.asm:442 (LDA $2140 : BNE .waitForSilence)
|
org $08C62A ; <- AD4021 D008 - ancilla_receive_item.asm:442 (LDA $2140 : BNE .waitForSilence)
|
||||||
JML crystal_fanfare : NOP
|
JML CrystalFanfareWait : NOP
|
||||||
crystal_done:
|
CrystalFanfareDone:
|
||||||
|
|
||||||
org $08C637
|
org $08C637
|
||||||
crystal_continue:
|
CrystalFanfareContinue:
|
||||||
|
|
||||||
org $0988A0 ; <- 8D2C01 8009 - ancilla_init.asm:1179 (STA $012C : BRA .doneWithSoundEffects)
|
org $0988A0 ; <- 8D2C01 8009 - ancilla_init.asm:1179 (STA $012C : BRA .doneWithSoundEffects)
|
||||||
JML fanfare_preload : NOP
|
JML FanfarePreload : NOP
|
||||||
|
|
||||||
org $09F2A7 ; <- 8F27C27E - module_death.asm:56 (STA $7EC227)
|
org $09F2A7 ; <- 8F27C27E - module_death.asm:56 (STA $7EC227)
|
||||||
JSL.l StoreMusicOnDeath
|
JSL.l StoreMusicOnDeath
|
||||||
|
|
||||||
org $0CC100 ; <- A511 C904 - Bank0C.asm:07 (LDA $11 : CMP.b #$04)
|
org $0CC100 ; <- A511 C904 - Bank0C.asm:07 (LDA $11 : CMP.b #$04)
|
||||||
;JSL.l startup_wait
|
;JSL.l StartupWait
|
||||||
|
|
||||||
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20 : LDA.b #$22 : STA $012C)
|
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20 : LDA.b #$22 : STA $012C)
|
||||||
JSL.l ending_wait
|
JSL.l EndingMusicWait
|
||||||
|
|
||||||
; Process music commands in NMI from new location after muting is processed
|
; Process music commands in NMI from new location after muting is processed
|
||||||
org $0080DD
|
org $0080DD
|
||||||
|
|||||||
2
init.asm
2
init.asm
@@ -55,6 +55,6 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
Init_PostRAMClear:
|
Init_PostRAMClear:
|
||||||
|
|
||||||
JSL msu_init
|
JSL MSUInit
|
||||||
|
|
||||||
JML $00D463 ; The original target of the jump table that we hijacked
|
JML $00D463 ; The original target of the jump table that we hijacked
|
||||||
132
msu.asm
132
msu.asm
@@ -145,6 +145,9 @@
|
|||||||
!VAL_VOLUME_HALF = #$80
|
!VAL_VOLUME_HALF = #$80
|
||||||
!VAL_VOLUME_FULL = #$FF
|
!VAL_VOLUME_FULL = #$FF
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Extended OST/SPC fallback, decide which track to actually play
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
CheckMusicLoadRequest:
|
CheckMusicLoadRequest:
|
||||||
PHP : REP #$10 : PHA : PHX : PHY
|
PHP : REP #$10 : PHA : PHX : PHY
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
||||||
@@ -176,7 +179,7 @@ CheckMusicLoadRequest:
|
|||||||
BRA +++
|
BRA +++
|
||||||
+ : LDA !REG_MSU_PACK_CURRENT : STA !REG_MSU_PACK_REQUEST
|
+ : LDA !REG_MSU_PACK_CURRENT : STA !REG_MSU_PACK_REQUEST
|
||||||
++ : STA !REG_MSU_PACK_CURRENT
|
++ : STA !REG_MSU_PACK_CURRENT
|
||||||
JSL msu_init_check_fallback
|
JSL MSUInit_check_fallback
|
||||||
+++
|
+++
|
||||||
|
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : CMP #$08 : BEQ ++ ; Mirror SFX is not affected by NoBGM or pack $FE
|
LDA !REG_MUSIC_CONTROL_REQUEST : CMP #$08 : BEQ ++ ; Mirror SFX is not affected by NoBGM or pack $FE
|
||||||
@@ -325,7 +328,11 @@ CheckMusicLoadRequest:
|
|||||||
PLY : PLX : PLA : PLP
|
PLY : PLX : PLA : PLP
|
||||||
LDA.b #$05 : STA $012D
|
LDA.b #$05 : STA $012D
|
||||||
JML Module_PreDungeon_setAmbientSfx
|
JML Module_PreDungeon_setAmbientSfx
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Fade out music if we're changing tracks on a stair transition
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
SpiralStairsPreCheck:
|
SpiralStairsPreCheck:
|
||||||
REP #$20 ; thing we wrote over
|
REP #$20 ; thing we wrote over
|
||||||
LDA $A0
|
LDA $A0
|
||||||
@@ -351,7 +358,11 @@ SpiralStairsPreCheck:
|
|||||||
.done
|
.done
|
||||||
LDA $A0 ; thing we wrote over
|
LDA $A0 ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Change music on stair transition (ToH/GT)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
SpiralStairsPostCheck:
|
SpiralStairsPostCheck:
|
||||||
LDA $A0
|
LDA $A0
|
||||||
CMP.w #$000C : BNE +
|
CMP.w #$000C : BNE +
|
||||||
@@ -372,15 +383,23 @@ SpiralStairsPostCheck:
|
|||||||
.done
|
.done
|
||||||
LDX.b #$1C : LDA $A0 ; thing we wrote over
|
LDX.b #$1C : LDA $A0 ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Make sure expanded OST tracks load properly after death/fairy revival
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
StoreMusicOnDeath:
|
StoreMusicOnDeath:
|
||||||
STA.l $7EC227 ; thing we wrote over
|
STA.l $7EC227 ; thing we wrote over
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||||
LDA !REG_CURRENT_MSU_TRACK : STA.l $7EC227
|
LDA !REG_CURRENT_MSU_TRACK : STA.l $7EC227
|
||||||
.done
|
.done
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
msu_init:
|
;================================================================================
|
||||||
|
; Check if MSU-1 is enabled and scan for missing tracks
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
MSUInit:
|
||||||
PHP
|
PHP
|
||||||
|
|
||||||
LDA NoBGM : BNE .done
|
LDA NoBGM : BNE .done
|
||||||
@@ -444,29 +463,34 @@ msu_init:
|
|||||||
PLA : DEC
|
PLA : DEC
|
||||||
BRA .check_track
|
BRA .check_track
|
||||||
|
|
||||||
msu_main:
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Play MSU-1 audio track
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
MSUMain:
|
||||||
SEP #$20 ; set 8-BIT accumulator
|
SEP #$20 ; set 8-BIT accumulator
|
||||||
LDA $4210 ; thing we wrote over
|
LDA $4210 ; thing we wrote over
|
||||||
REP #$20 ; set 16-BIT accumulator
|
REP #$20 ; set 16-BIT accumulator
|
||||||
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 spc_continue
|
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
|
||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .nomsu
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .nomsu
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDX !REG_MUSIC_CONTROL : BEQ +
|
LDX !REG_MUSIC_CONTROL : BEQ +
|
||||||
BRL command_ff
|
BRL .command_ff
|
||||||
+
|
+
|
||||||
LDA !REG_MSU_DELAYED_COMMAND : BEQ do_fade
|
LDA !REG_MSU_DELAYED_COMMAND : BEQ .do_fade
|
||||||
|
|
||||||
msu_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 : BEQ .ready
|
||||||
JML spc_continue
|
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 : BEQ .start
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
.start
|
.start
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
@@ -486,13 +510,12 @@ msu_check_busy:
|
|||||||
+++ : STA !REG_MSU_CONTROL
|
+++ : STA !REG_MSU_CONTROL
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
STA !REG_MSU_DELAYED_COMMAND
|
STA !REG_MSU_DELAYED_COMMAND
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
do_fade:
|
.do_fade:
|
||||||
LDA !REG_CURRENT_VOLUME : CMP !REG_TARGET_VOLUME : BNE .continue
|
LDA !REG_CURRENT_VOLUME : CMP !REG_TARGET_VOLUME : BNE +
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
.continue
|
+ : BCC .increment
|
||||||
BCC .increment
|
|
||||||
.decrement
|
.decrement
|
||||||
SBC !VAL_VOLUME_DECREMENT : BCS .set
|
SBC !VAL_VOLUME_DECREMENT : BCS .set
|
||||||
.mute
|
.mute
|
||||||
@@ -505,41 +528,41 @@ do_fade:
|
|||||||
.set
|
.set
|
||||||
STA !REG_CURRENT_VOLUME
|
STA !REG_CURRENT_VOLUME
|
||||||
STA !REG_MSU_VOLUME
|
STA !REG_MSU_VOLUME
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
command_ff:
|
.command_ff:
|
||||||
CPX !VAL_COMMAND_LOAD_NEW_BANK : BNE command_f3
|
CPX !VAL_COMMAND_LOAD_NEW_BANK : BNE .command_f3
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
command_f3:
|
.command_f3:
|
||||||
CPX !VAL_COMMAND_FULL_VOLUME : BNE command_f2
|
CPX !VAL_COMMAND_FULL_VOLUME : BNE .command_f2
|
||||||
STX !REG_SPC_CONTROL
|
STX !REG_SPC_CONTROL
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
command_f2:
|
.command_f2:
|
||||||
CPX !VAL_COMMAND_FADE_HALF : BNE command_f1
|
CPX !VAL_COMMAND_FADE_HALF : BNE .command_f1
|
||||||
STX !REG_SPC_CONTROL
|
STX !REG_SPC_CONTROL
|
||||||
LDA !VAL_VOLUME_HALF
|
LDA !VAL_VOLUME_HALF
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
command_f1:
|
.command_f1:
|
||||||
CPX !VAL_COMMAND_FADE_OUT : BNE command_f0
|
CPX !VAL_COMMAND_FADE_OUT : BNE .command_f0
|
||||||
STX !REG_SPC_CONTROL
|
STX !REG_SPC_CONTROL
|
||||||
STZ !REG_TARGET_VOLUME
|
STZ !REG_TARGET_VOLUME
|
||||||
STZ !REG_CURRENT_MSU_TRACK
|
STZ !REG_CURRENT_MSU_TRACK
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
command_f0:
|
.command_f0:
|
||||||
CPX !VAL_COMMAND_STOP_PLAYBACK : !BLT load_track
|
CPX !VAL_COMMAND_STOP_PLAYBACK : !BLT .load_track
|
||||||
CPX !VAL_COMMAND_MUTE_SPC : BEQ + ; Don't allow executing the mute/umute
|
CPX !VAL_COMMAND_MUTE_SPC : BEQ + ; Don't allow executing the mute/umute
|
||||||
CPX !VAL_COMMAND_UNMUTE_SPC : BNE ++ ; commands during NMI like this
|
CPX !VAL_COMMAND_UNMUTE_SPC : BNE ++ ; commands during NMI like this
|
||||||
+ : LDA.b #$00 : STA !REG_MUSIC_CONTROL
|
+ : LDA.b #$00 : STA !REG_MUSIC_CONTROL
|
||||||
++ : JML spc_continue
|
++ : JML SPCContinue
|
||||||
|
|
||||||
load_track:
|
.load_track:
|
||||||
CPX !REG_CURRENT_MSU_TRACK : BNE +
|
CPX !REG_CURRENT_MSU_TRACK : BNE +
|
||||||
- : CPX #27 : BEQ +
|
- : CPX #27 : BEQ +
|
||||||
TXA
|
TXA
|
||||||
@@ -590,9 +613,14 @@ load_track:
|
|||||||
LDA MSUExtendedFallbackList-1,X : BRA -
|
LDA MSUExtendedFallbackList-1,X : BRA -
|
||||||
+
|
+
|
||||||
STA !REG_MUSIC_CONTROL
|
STA !REG_MUSIC_CONTROL
|
||||||
JML spc_continue
|
JML SPCContinue
|
||||||
|
|
||||||
fanfare_preload:
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Wait for the fanfare music to start, or else it can get skipped entirely
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
FanfarePreload:
|
||||||
STA !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
STA !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
||||||
PHA
|
PHA
|
||||||
JSL CheckMusicLoadRequest
|
JSL CheckMusicLoadRequest
|
||||||
@@ -600,8 +628,12 @@ fanfare_preload:
|
|||||||
PLA
|
PLA
|
||||||
- : CMP !REG_SPC_CONTROL : BNE -
|
- : CMP !REG_SPC_CONTROL : BNE -
|
||||||
JML AddReceivedItem_doneWithSoundEffects
|
JML AddReceivedItem_doneWithSoundEffects
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
pendant_fanfare:
|
;================================================================================
|
||||||
|
; Wait for pendant fanfare to finish
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
PendantFanfareWait:
|
||||||
LDA TournamentSeed : BNE .spc
|
LDA TournamentSeed : BNE .spc
|
||||||
LDA FastFanfare : BNE .done
|
LDA FastFanfare : BNE .done
|
||||||
REP #$20
|
REP #$20
|
||||||
@@ -614,15 +646,18 @@ pendant_fanfare:
|
|||||||
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||||
.continue
|
.continue
|
||||||
jml pendant_continue
|
jml PendantFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml pendant_done
|
jml PendantFanfareDone
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
crystal_fanfare:
|
; Wait for crystal fanfare to finish
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
CrystalFanfareWait:
|
||||||
LDA TournamentSeed : BNE .spc
|
LDA TournamentSeed : BNE .spc
|
||||||
LDA FastFanfare : BNE .done
|
LDA FastFanfare : BNE .done
|
||||||
REP #$20
|
REP #$20
|
||||||
@@ -635,24 +670,30 @@ crystal_fanfare:
|
|||||||
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||||
.continue
|
.continue
|
||||||
jml crystal_continue
|
jml CrystalFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml crystal_done
|
jml CrystalFanfareDone
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
startup_wait:
|
; Delay input scanning on startup/S&Q to avoid hard-lock from button mashing
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
StartupWait:
|
||||||
LDA $11 : CMP.b #$04 : BCC .done ; thing we wrote over
|
LDA $11 : CMP.b #$04 : BCC .done ; thing we wrote over
|
||||||
LDA !REG_SPC_CONTROL : BEQ .done-1
|
LDA !REG_SPC_CONTROL : BEQ .done-1
|
||||||
CMP.b #$01 : BEQ .done
|
CMP.b #$01 : BEQ .done
|
||||||
CLC
|
CLC
|
||||||
.done
|
.done
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
ending_wait:
|
; Wait for ending credits music to finish
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
EndingMusicWait:
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .done
|
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .done
|
||||||
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .done
|
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .done
|
||||||
@@ -664,3 +705,4 @@ ending_wait:
|
|||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$22
|
LDA.b #$22
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user