diff options
Diffstat (limited to 'src/chips/dosbox/dbopl.cpp')
-rw-r--r-- | src/chips/dosbox/dbopl.cpp | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/src/chips/dosbox/dbopl.cpp b/src/chips/dosbox/dbopl.cpp index ed55017..27b8983 100644 --- a/src/chips/dosbox/dbopl.cpp +++ b/src/chips/dosbox/dbopl.cpp @@ -1565,54 +1565,44 @@ void Handler::GenerateArr(Bit32s *out, Bitu *samples) chip.GenerateBlock3(*samples, out); } -void Handler::GenerateArr(Bit32s *out, ssize_t *samples) -{ - if(GCC_UNLIKELY(*samples > 512)) - *samples = 512; - if(!chip.opl3Active) - chip.GenerateBlock2(static_cast<Bitu>(*samples), out); - else - chip.GenerateBlock3(static_cast<Bitu>(*samples), out); -} - -void Handler::GenerateArr(Bit16s *out, ssize_t *samples) +void Handler::GenerateArr(Bit16s *out, Bitu *samples) { Bit32s out32[1024]; if(GCC_UNLIKELY(*samples > 512)) *samples = 512; memset(out32, 0, sizeof(Bit32s) * 1024); if(!chip.opl3Active) - chip.GenerateBlock2(static_cast<Bitu>(*samples), out32); + chip.GenerateBlock2(*samples, out32); else - chip.GenerateBlock3(static_cast<Bitu>(*samples), out32); - ssize_t sz = *samples * 2; - for(ssize_t i = 0; i < sz; i++) - out[i] = static_cast<Bit16s>(DBOPL_CLAMP(out32[i], static_cast<ssize_t>(INT16_MIN), static_cast<ssize_t>(INT16_MAX))); + chip.GenerateBlock3(*samples, out32); + Bitu sz = *samples * 2; + for(Bitu i = 0; i < sz; i++) + out[i] = static_cast<Bit16s>(DBOPL_CLAMP(out32[i], INT16_MIN, INT16_MAX)); } -void Handler::GenerateArrMix(Bit32s *out, ssize_t *samples) +void Handler::GenerateArrMix(Bit32s *out, Bitu *samples) { if(GCC_UNLIKELY(*samples > 512)) *samples = 512; if(!chip.opl3Active) - chip.GenerateBlock2_Mix(static_cast<Bitu>(*samples), out); + chip.GenerateBlock2_Mix(*samples, out); else - chip.GenerateBlock3_Mix(static_cast<Bitu>(*samples), out); + chip.GenerateBlock3_Mix(*samples, out); } -void Handler::GenerateArrMix(Bit16s *out, ssize_t *samples) +void Handler::GenerateArrMix(Bit16s *out, Bitu *samples) { Bit32s out32[1024]; if(GCC_UNLIKELY(*samples > 512)) *samples = 512; memset(out32, 0, sizeof(Bit32s) * 1024); if(!chip.opl3Active) - chip.GenerateBlock2(static_cast<Bitu>(*samples), out32); + chip.GenerateBlock2(*samples, out32); else - chip.GenerateBlock3(static_cast<Bitu>(*samples), out32); - ssize_t sz = *samples * 2; - for(ssize_t i = 0; i < sz; i++) - out[i] += static_cast<Bit16s>(DBOPL_CLAMP(out32[i], static_cast<ssize_t>(INT16_MIN), static_cast<ssize_t>(INT16_MAX))); + chip.GenerateBlock3(*samples, out32); + Bitu sz = *samples * 2; + for(Bitu i = 0; i < sz; i++) + out[i] += static_cast<Bit16s>(DBOPL_CLAMP(out32[i], INT16_MIN, INT16_MAX)); } void Handler::Init( Bitu rate ) { |