;======================================= ; ; MSU-1 Enhanced Audio Patch ; ZeLDA no Densetsu - Kamigami no Triforce ; Modified for VT Randomizer ; ; Author: qwertymodo ; ; Modified for use with Enemizer ;======================================= track_list: DB $00,$01,$03,$03,$03,$03,$03,$03 DB $01,$03,$01,$03,$03,$03,$03,$03 DB $03,$03,$03,$01,$03,$03,$03,$03 DB $03,$03,$03,$03,$03,$01,$03,$03 DB $03,$01,$01 msu_main: LDA $4210 LDA !REG_MSU_ID_01 CMP !VAL_MSU_ID_01 BEQ .continue .nomsu SEP #$30 JML spc_continue .continue LDA !REG_MSU_ID_23 CMP !VAL_MSU_ID_23 BNE .nomsu LDA !REG_MSU_ID_45 CMP !VAL_MSU_ID_45 BNE .nomsu SEP #$30 LDX !REG_MUSIC_CONTROL BNE command_ff do_fade: LDA !REG_CURRENT_VOLUME CMP !REG_TARGET_VOLUME BNE .continue JML spc_continue .continue BCC .increment .decrement SBC !VAL_VOLUME_DECREMENT BCS .set .mute STZ !REG_CURRENT_VOLUME STZ !REG_MSU_CONTROL STZ !REG_CURRENT_MSU_TRACK BRA .set .increment ADC !VAL_VOLUME_INCREMENT BCC .set LDA !VAL_VOLUME_FULL .set STA !REG_CURRENT_VOLUME STA !REG_MSU_VOLUME JML spc_continue command_ff: CPX !VAL_COMMAND_LOAD_NEW_BANK BNE command_f3 JML spc_continue command_f3: CPX !VAL_COMMAND_FULL_VOLUME BNE command_f2 STX !REG_SPC_CONTROL LDA !VAL_VOLUME_FULL STA !REG_TARGET_VOLUME JML spc_continue command_f2: CPX !VAL_COMMAND_FADE_HALF BNE command_f1 STX !REG_SPC_CONTROL LDA !VAL_VOLUME_HALF STA !REG_TARGET_VOLUME JML spc_continue command_f1: CPX !VAL_COMMAND_FADE_OUT BNE load_track STX !REG_SPC_CONTROL STZ !REG_TARGET_VOLUME JML spc_continue load_track: CPX !REG_CURRENT_MSU_TRACK BNE .continue CPX #$1B BEQ .continue JML spc_continue .continue STX !REG_MSU_TRACK_LO STZ !REG_MSU_TRACK_HI STZ !REG_MSU_CONTROL LDA !VAL_VOLUME_FULL STA !REG_TARGET_VOLUME STA !REG_CURRENT_VOLUME STA !REG_MSU_VOLUME msu_check_busy: LDA !REG_MSU_STATUS BIT !FLAG_MSU_STATUS_AUDIO_BUSY BNE msu_check_busy BIT !FLAG_MSU_STATUS_TRACK_MISSING BEQ msu_play spc_fallback: STZ !REG_MSU_CONTROL STZ !REG_CURRENT_MSU_TRACK STZ !REG_TARGET_VOLUME STZ !REG_CURRENT_VOLUME STZ !REG_MSU_VOLUME JML spc_continue msu_play: LDA track_list,x STA !REG_MSU_CONTROL STX !REG_CURRENT_MSU_TRACK JML spc_continue