aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/chips/dosbox/dbopl.cpp40
-rw-r--r--src/chips/dosbox/dbopl.h7
-rw-r--r--src/chips/dosbox_opl3.cpp16
3 files changed, 26 insertions, 37 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 ) {
diff --git a/src/chips/dosbox/dbopl.h b/src/chips/dosbox/dbopl.h
index 93e2610..73c0aa9 100644
--- a/src/chips/dosbox/dbopl.h
+++ b/src/chips/dosbox/dbopl.h
@@ -274,10 +274,9 @@ struct Handler {
Bit32u WriteAddr( Bit32u port, Bit8u val );
void WriteReg( Bit32u addr, Bit8u val );
void GenerateArr(Bit32s *out, Bitu *samples);
- void GenerateArr(Bit32s *out, ssize_t *samples);
- void GenerateArr(Bit16s *out, ssize_t *samples);
- void GenerateArrMix(Bit32s *out, ssize_t *samples);
- void GenerateArrMix(Bit16s *out, ssize_t *samples);
+ void GenerateArr(Bit16s *out, Bitu *samples);
+ void GenerateArrMix(Bit32s *out, Bitu *samples);
+ void GenerateArrMix(Bit16s *out, Bitu *samples);
void Init( Bitu rate );
};
diff --git a/src/chips/dosbox_opl3.cpp b/src/chips/dosbox_opl3.cpp
index e748b85..9669fa3 100644
--- a/src/chips/dosbox_opl3.cpp
+++ b/src/chips/dosbox_opl3.cpp
@@ -53,10 +53,10 @@ void DosBoxOPL3::writeReg(uint16_t addr, uint8_t data)
int DosBoxOPL3::generate(int16_t *output, size_t frames)
{
DBOPL::Handler *chip_r = reinterpret_cast<DBOPL::Handler*>(m_chip);
- ssize_t left = (ssize_t)frames;
+ Bitu left = (Bitu)frames;
while(left > 0)
{
- ssize_t frames_i = left;
+ Bitu frames_i = left;
chip_r->GenerateArr(output, &frames_i);
output += (frames_i * 2);
left -= frames_i;
@@ -67,10 +67,10 @@ int DosBoxOPL3::generate(int16_t *output, size_t frames)
int DosBoxOPL3::generateAndMix(int16_t *output, size_t frames)
{
DBOPL::Handler *chip_r = reinterpret_cast<DBOPL::Handler*>(m_chip);
- ssize_t left = (ssize_t)frames;
+ Bitu left = (Bitu)frames;
while(left > 0)
{
- ssize_t frames_i = left;
+ Bitu frames_i = left;
chip_r->GenerateArrMix(output, &frames_i);
output += (frames_i * 2);
left -= frames_i;
@@ -81,10 +81,10 @@ int DosBoxOPL3::generateAndMix(int16_t *output, size_t frames)
int DosBoxOPL3::generate32(int32_t *output, size_t frames)
{
DBOPL::Handler *chip_r = reinterpret_cast<DBOPL::Handler*>(m_chip);
- ssize_t left = (ssize_t)frames;
+ Bitu left = (Bitu)frames;
while(left > 0)
{
- ssize_t frames_i = left;
+ Bitu frames_i = left;
chip_r->GenerateArr(output, &frames_i);
output += (frames_i * 2);
left -= frames_i;
@@ -95,10 +95,10 @@ int DosBoxOPL3::generate32(int32_t *output, size_t frames)
int DosBoxOPL3::generateAndMix32(int32_t *output, size_t frames)
{
DBOPL::Handler *chip_r = reinterpret_cast<DBOPL::Handler*>(m_chip);
- ssize_t left = (ssize_t)frames;
+ Bitu left = (Bitu)frames;
while(left > 0)
{
- ssize_t frames_i = left;
+ Bitu frames_i = left;
chip_r->GenerateArrMix(output, &frames_i);
output += (frames_i * 2);
left -= frames_i;