diff --git a/src/hardware/sblaster.cpp b/src/hardware/sblaster.cpp index d5da7e52..d72066bb 100644 --- a/src/hardware/sblaster.cpp +++ b/src/hardware/sblaster.cpp @@ -699,6 +699,7 @@ static void DSP_Reset(void) { DSP_ChangeMode(MODE_NONE); DSP_FlushData(); + sb.dsp.cmd=DSP_NO_COMMAND; sb.dsp.cmd_len=0; sb.dsp.in.pos=0; sb.dsp.write_busy=0; @@ -858,12 +859,11 @@ static void DSP_DoCommand(void) { DSP_ChangeRate(1000000 / (256 - sb.dsp.in.data[0])); break; case 0x41: /* Set Output Samplerate */ + case 0x42: /* Set Input Samplerate */ + /* Note: 0x42 is handled like 0x41, needed by Fasttracker II */ DSP_SB16_ONLY; DSP_ChangeRate((sb.dsp.in.data[0] << 8) | sb.dsp.in.data[1]); break; - case 0x42: /* Set Input Samplerate */ - LOG(LOG_SB,LOG_ERROR)("DSP:Unimplemented input sample rate command"); - break; case 0x48: /* Set DMA Block Size */ DSP_SB2_ABOVE; //TODO Maybe check limit for new irq?