MSU-1 code cleanup
This commit is contained in:
86
msu.asm
86
msu.asm
@@ -75,37 +75,25 @@
|
|||||||
!VAL_VOLUME_FULL = #$FF
|
!VAL_VOLUME_FULL = #$FF
|
||||||
|
|
||||||
msu_main:
|
msu_main:
|
||||||
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
|
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BEQ .continue
|
||||||
CMP !VAL_MSU_ID_01
|
|
||||||
BEQ .continue
|
|
||||||
.nomsu
|
.nomsu
|
||||||
SEP #$30
|
SEP #$30
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.continue
|
.continue
|
||||||
LDA !REG_MSU_ID_23
|
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .nomsu
|
||||||
CMP !VAL_MSU_ID_23
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .nomsu
|
||||||
BNE .nomsu
|
|
||||||
LDA !REG_MSU_ID_45
|
|
||||||
CMP !VAL_MSU_ID_45
|
|
||||||
BNE .nomsu
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDX !REG_MUSIC_CONTROL
|
LDX !REG_MUSIC_CONTROL : BNE command_ff
|
||||||
BNE command_ff
|
LDA !REG_MSU_LOAD_FLAG : BEQ do_fade
|
||||||
LDA !REG_MSU_LOAD_FLAG
|
|
||||||
BEQ do_fade
|
|
||||||
|
|
||||||
msu_check_busy:
|
msu_check_busy:
|
||||||
LDA !REG_MSU_STATUS
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BEQ .ready
|
||||||
BIT !FLAG_MSU_STATUS_AUDIO_BUSY
|
|
||||||
BEQ .ready
|
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.ready
|
.ready
|
||||||
LDA !REG_MSU_STATUS
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE spc_fallback
|
||||||
BIT !FLAG_MSU_STATUS_TRACK_MISSING
|
|
||||||
BNE spc_fallback
|
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
STA !REG_CURRENT_VOLUME
|
STA !REG_CURRENT_VOLUME
|
||||||
@@ -125,23 +113,19 @@ spc_fallback:
|
|||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
do_fade:
|
do_fade:
|
||||||
LDA !REG_CURRENT_VOLUME
|
LDA !REG_CURRENT_VOLUME : CMP !REG_TARGET_VOLUME : BNE .continue
|
||||||
CMP !REG_TARGET_VOLUME
|
|
||||||
BNE .continue
|
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.continue
|
.continue
|
||||||
BCC .increment
|
BCC .increment
|
||||||
.decrement
|
.decrement
|
||||||
SBC !VAL_VOLUME_DECREMENT
|
SBC !VAL_VOLUME_DECREMENT : BCS .set
|
||||||
BCS .set
|
|
||||||
.mute
|
.mute
|
||||||
STZ !REG_CURRENT_VOLUME
|
STZ !REG_CURRENT_VOLUME
|
||||||
STZ !REG_MSU_CONTROL
|
STZ !REG_MSU_CONTROL
|
||||||
STZ !REG_CURRENT_MSU_TRACK
|
STZ !REG_CURRENT_MSU_TRACK
|
||||||
BRA .set
|
BRA .set
|
||||||
.increment
|
.increment
|
||||||
ADC !VAL_VOLUME_INCREMENT
|
ADC !VAL_VOLUME_INCREMENT : BCC .set
|
||||||
BCC .set
|
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
.set
|
.set
|
||||||
STA !REG_CURRENT_VOLUME
|
STA !REG_CURRENT_VOLUME
|
||||||
@@ -149,38 +133,32 @@ do_fade:
|
|||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
command_ff:
|
command_ff:
|
||||||
CPX !VAL_COMMAND_LOAD_NEW_BANK
|
CPX !VAL_COMMAND_LOAD_NEW_BANK : BNE command_f3
|
||||||
BNE command_f3
|
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
command_f3:
|
command_f3:
|
||||||
CPX !VAL_COMMAND_FULL_VOLUME
|
CPX !VAL_COMMAND_FULL_VOLUME : BNE command_f2
|
||||||
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 spc_continue
|
||||||
|
|
||||||
command_f2:
|
command_f2:
|
||||||
CPX !VAL_COMMAND_FADE_HALF
|
CPX !VAL_COMMAND_FADE_HALF : BNE command_f1
|
||||||
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 spc_continue
|
||||||
|
|
||||||
command_f1:
|
command_f1:
|
||||||
CPX !VAL_COMMAND_FADE_OUT
|
CPX !VAL_COMMAND_FADE_OUT : BNE load_track
|
||||||
BNE load_track
|
|
||||||
STX !REG_SPC_CONTROL
|
STX !REG_SPC_CONTROL
|
||||||
STZ !REG_TARGET_VOLUME
|
STZ !REG_TARGET_VOLUME
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
load_track:
|
load_track:
|
||||||
CPX !REG_CURRENT_MSU_TRACK
|
CPX !REG_CURRENT_MSU_TRACK : BNE .continue
|
||||||
BNE .continue
|
CPX #$1B : BEQ .continue
|
||||||
CPX #$1B
|
|
||||||
BEQ .continue
|
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.continue
|
.continue
|
||||||
STX !REG_MSU_TRACK_LO
|
STX !REG_MSU_TRACK_LO
|
||||||
@@ -193,22 +171,14 @@ load_track:
|
|||||||
|
|
||||||
|
|
||||||
ending_wait:
|
ending_wait:
|
||||||
rep #$20
|
REP #$20
|
||||||
lda !REG_MSU_ID_01
|
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .done
|
||||||
cmp !VAL_MSU_ID_01
|
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .done
|
||||||
bne .done
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done
|
||||||
lda !REG_MSU_ID_23
|
SEP #$20
|
||||||
cmp !VAL_MSU_ID_23
|
|
||||||
bne .done
|
|
||||||
lda !REG_MSU_ID_45
|
|
||||||
cmp !VAL_MSU_ID_45
|
|
||||||
bne .done
|
|
||||||
sep #$20
|
|
||||||
.wait
|
.wait
|
||||||
lda !REG_MSU_STATUS
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
||||||
bit !FLAG_MSU_STATUS_AUDIO_PLAYING
|
|
||||||
bne .wait
|
|
||||||
.done
|
.done
|
||||||
sep #$20
|
SEP #$20
|
||||||
lda #$22
|
LDA #$22
|
||||||
rtl
|
RTL
|
||||||
|
|||||||
Reference in New Issue
Block a user