From fd7f929f9e7e1142d70716d6563503cc08de87ae Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Mon, 9 Apr 2018 10:47:34 +0000 Subject: [PATCH] Updated stereo before using it. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4093 --- src/hardware/sblaster.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hardware/sblaster.cpp b/src/hardware/sblaster.cpp index a2916fc8..49d0bfe3 100644 --- a/src/hardware/sblaster.cpp +++ b/src/hardware/sblaster.cpp @@ -659,15 +659,17 @@ static void DSP_DoDMATransfer(DMA_MODES mode,Bitu freq,bool autoinit, bool stere //Transfer full cycle again sb.dma.left = sb.dma.total; } + + sb.dma.autoinit = autoinit; + sb.dma.mode = mode; + sb.dma.stereo = stereo; //Double the reading speed for stereo mode if (sb.dma.stereo) sb.dma.mul*=2; sb.dma.rate=(sb.freq*sb.dma.mul) >> SB_SH; sb.dma.min=(sb.dma.rate*3)/1000; sb.chan->SetFreq(freq); - sb.dma.mode = mode; - sb.dma.stereo = stereo; - sb.dma.autoinit = autoinit; + PIC_RemoveEvents(END_DMA_Event); //Set to be masked, the dma call can change this again. sb.mode = MODE_DMA_MASKED;