From 10d9e724d903a2ca229f0b31a08b928cb4127a33 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Tue, 7 Sep 2004 10:59:19 +0000 Subject: [PATCH] Fix dsp command 0xd4 continue dma transfer Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1944 --- src/hardware/sblaster.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hardware/sblaster.cpp b/src/hardware/sblaster.cpp index 0c316a12..8c43655d 100644 --- a/src/hardware/sblaster.cpp +++ b/src/hardware/sblaster.cpp @@ -690,7 +690,10 @@ static void DSP_DoCommand(void) { DSP_SetSpeaker(false); break; case 0xd4: /* Continue DMA */ - sb.dma.chan->Register_Callback(DSP_DMA_CallBack); + if (sb.mode==MODE_DMA_PAUSE) { + sb.mode=MODE_DMA_MASKED; + sb.dma.chan->Register_Callback(DSP_DMA_CallBack); + } break; case 0xda: /* Exit Autoinitialize 8-bit */ /* Set mode to single transfer so it ends with current block */