diff --git a/msu.asm b/msu.asm index f004751..e239b52 100644 --- a/msu.asm +++ b/msu.asm @@ -553,6 +553,7 @@ MSUMain: LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BEQ .continue .nomsu SEP #$30 + - JML SPCContinue .continue LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .nomsu @@ -561,25 +562,23 @@ MSUMain: LDX !REG_MUSIC_CONTROL : BEQ + JMP .command_ff + - LDA !REG_MSU_DELAYED_COMMAND : BNE + : JMP .do_fade : + + LDA !REG_MSU_DELAYED_COMMAND : BEQ .do_fade .check_busy - LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BEQ .ready - JML SPCContinue + LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE - .ready - LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .start - JML SPCContinue + LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE - .start - LDA !MSU_RESUME_CONTROL : AND !FLAG_RESUME_CANCEL : BEQ + + 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 - LDA !MSU_RESUME_CONTROL : EOR !FLAG_RESUME_CANCEL : STA !MSU_RESUME_CONTROL - JML SPCContinue + BRA - + LDA !VAL_VOLUME_FULL STA !REG_TARGET_VOLUME - LDA !MSU_RESUME_CONTROL : AND !FLAG_RESUME_FADEIN : BEQ + - LDA !MSU_RESUME_CONTROL : EOR !FLAG_RESUME_FADEIN : STA !MSU_RESUME_CONTROL + LDA !MSU_RESUME_CONTROL : BIT !FLAG_RESUME_FADEIN : BEQ + + EOR !FLAG_RESUME_FADEIN : STA !MSU_RESUME_CONTROL LDA #$00 BRA ++ +