From e514702c4b8d914ccfbce6a8dc76f48cd974bf69 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Thu, 15 Apr 2010 18:30:40 +0000 Subject: [PATCH] Add some changes from the scummvm team Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3582 --- src/hardware/dbopl.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/hardware/dbopl.cpp b/src/hardware/dbopl.cpp index df1c7548..56153353 100644 --- a/src/hardware/dbopl.cpp +++ b/src/hardware/dbopl.cpp @@ -619,6 +619,7 @@ Operator::Operator() { currentLevel = ENV_MAX; totalLevel = ENV_MAX; volume = ENV_MAX; + releaseAdd = 0; } /* @@ -1176,9 +1177,7 @@ Bit32u Chip::WriteAddr( Bit32u port, Bit8u val ) { void Chip::GenerateBlock2( Bitu total, Bit32s* output ) { while ( total > 0 ) { Bit32u samples = ForwardLFO( total ); - for ( Bitu i = 0; i < samples; i++ ) { - output[i] = 0; - } + memset(output, 0, sizeof(Bit32s) * samples); int count = 0; for( Channel* ch = chan; ch < chan + 9; ) { count++; @@ -1192,10 +1191,7 @@ void Chip::GenerateBlock2( Bitu total, Bit32s* output ) { void Chip::GenerateBlock3( Bitu total, Bit32s* output ) { while ( total > 0 ) { Bit32u samples = ForwardLFO( total ); - for ( Bitu i = 0; i < samples; i++ ) { - output[i * 2 + 0 ] = 0; - output[i * 2 + 1 ] = 0; - } + memset(output, 0, sizeof(Bit32s) * samples *2); int count = 0; for( Channel* ch = chan; ch < chan + 18; ) { count++;