aboutsummaryrefslogtreecommitdiff
path: root/src/chips
diff options
context:
space:
mode:
Diffstat (limited to 'src/chips')
-rw-r--r--src/chips/dosbox_opl3.cpp4
-rw-r--r--src/chips/dosbox_opl3.h4
-rw-r--r--src/chips/nuked_opl3.cpp14
-rw-r--r--src/chips/nuked_opl3.h4
-rw-r--r--src/chips/nuked_opl3_v174.cpp14
-rw-r--r--src/chips/nuked_opl3_v174.h4
-rw-r--r--src/chips/opl_chip_base.h4
7 files changed, 26 insertions, 22 deletions
diff --git a/src/chips/dosbox_opl3.cpp b/src/chips/dosbox_opl3.cpp
index 57b1412..24c1c44 100644
--- a/src/chips/dosbox_opl3.cpp
+++ b/src/chips/dosbox_opl3.cpp
@@ -78,7 +78,7 @@ int DosBoxOPL3::generateAndMix(int16_t *output, size_t frames)
return (int)frames;
}
-int DosBoxOPL3::generate(int32_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;
@@ -92,7 +92,7 @@ int DosBoxOPL3::generate(int32_t *output, size_t frames)
return (int)frames;
}
-int DosBoxOPL3::generateAndMix(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;
diff --git a/src/chips/dosbox_opl3.h b/src/chips/dosbox_opl3.h
index 05682ae..422e2d1 100644
--- a/src/chips/dosbox_opl3.h
+++ b/src/chips/dosbox_opl3.h
@@ -17,8 +17,8 @@ public:
virtual void writeReg(uint16_t addr, uint8_t data) override;
virtual int generate(int16_t *output, size_t frames) override;
virtual int generateAndMix(int16_t *output, size_t frames) override;
- virtual int generate(int32_t *output, size_t frames) override;
- virtual int generateAndMix(int32_t *output, size_t frames) override;
+ virtual int generate32(int32_t *output, size_t frames) override;
+ virtual int generateAndMix32(int32_t *output, size_t frames) override;
virtual const char *emulatorName() override;
};
diff --git a/src/chips/nuked_opl3.cpp b/src/chips/nuked_opl3.cpp
index 16cc73b..70fc525 100644
--- a/src/chips/nuked_opl3.cpp
+++ b/src/chips/nuked_opl3.cpp
@@ -61,26 +61,28 @@ int NukedOPL3::generateAndMix(int16_t *output, size_t frames)
return (int)frames;
}
-int NukedOPL3::generate(int32_t *output, size_t frames)
+int NukedOPL3::generate32(int32_t *output, size_t frames)
{
opl3_chip *chip_r = reinterpret_cast<opl3_chip*>(m_chip);
for(size_t i = 0; i < frames; ++i) {
int16_t frame[2];
OPL3_GenerateResampled(chip_r, frame);
- output[2 * i] = frame[0];
- output[2 * i + 1] = frame[1];
+ output[0] = (int32_t)frame[0];
+ output[1] = (int32_t)frame[1];
+ output += 2;
}
return (int)frames;
}
-int NukedOPL3::generateAndMix(int32_t *output, size_t frames)
+int NukedOPL3::generateAndMix32(int32_t *output, size_t frames)
{
opl3_chip *chip_r = reinterpret_cast<opl3_chip*>(m_chip);
for(size_t i = 0; i < frames; ++i) {
int16_t frame[2];
OPL3_GenerateResampled(chip_r, frame);
- output[2 * i] += frame[0];
- output[2 * i + 1] += frame[1];
+ output[0] += (int32_t)frame[0];
+ output[1] += (int32_t)frame[1];
+ output += 2;
}
return (int)frames;
}
diff --git a/src/chips/nuked_opl3.h b/src/chips/nuked_opl3.h
index 144fb23..ceb1dfd 100644
--- a/src/chips/nuked_opl3.h
+++ b/src/chips/nuked_opl3.h
@@ -17,8 +17,8 @@ public:
virtual void writeReg(uint16_t addr, uint8_t data) override;
virtual int generate(int16_t *output, size_t frames) override;
virtual int generateAndMix(int16_t *output, size_t frames) override;
- virtual int generate(int32_t *output, size_t frames) override;
- virtual int generateAndMix(int32_t *output, size_t frames) override;
+ virtual int generate32(int32_t *output, size_t frames) override;
+ virtual int generateAndMix32(int32_t *output, size_t frames) override;
virtual const char *emulatorName() override;
};
diff --git a/src/chips/nuked_opl3_v174.cpp b/src/chips/nuked_opl3_v174.cpp
index 59f7953..0dcf925 100644
--- a/src/chips/nuked_opl3_v174.cpp
+++ b/src/chips/nuked_opl3_v174.cpp
@@ -61,26 +61,28 @@ int NukedOPL3v174::generateAndMix(int16_t *output, size_t frames)
return (int)frames;
}
-int NukedOPL3v174::generate(int32_t *output, size_t frames)
+int NukedOPL3v174::generate32(int32_t *output, size_t frames)
{
opl3_chip *chip_r = reinterpret_cast<opl3_chip*>(m_chip);
for(size_t i = 0; i < frames; ++i) {
int16_t frame[2];
OPL3v17_GenerateResampled(chip_r, frame);
- output[2 * i] = frame[0];
- output[2 * i + 1] = frame[1];
+ output[0] = (int32_t)frame[0];
+ output[1] = (int32_t)frame[1];
+ output += 2;
}
return (int)frames;
}
-int NukedOPL3v174::generateAndMix(int32_t *output, size_t frames)
+int NukedOPL3v174::generateAndMix32(int32_t *output, size_t frames)
{
opl3_chip *chip_r = reinterpret_cast<opl3_chip*>(m_chip);
for(size_t i = 0; i < frames; ++i) {
int16_t frame[2];
OPL3v17_GenerateResampled(chip_r, frame);
- output[2 * i] += frame[0];
- output[2 * i + 1] += frame[1];
+ output[0] += (int32_t)frame[0];
+ output[1] += (int32_t)frame[1];
+ output += 2;
}
return (int)frames;
}
diff --git a/src/chips/nuked_opl3_v174.h b/src/chips/nuked_opl3_v174.h
index b9a0466..acbdcca 100644
--- a/src/chips/nuked_opl3_v174.h
+++ b/src/chips/nuked_opl3_v174.h
@@ -17,8 +17,8 @@ public:
virtual void writeReg(uint16_t addr, uint8_t data) override;
virtual int generate(int16_t *output, size_t frames) override;
virtual int generateAndMix(int16_t *output, size_t frames) override;
- virtual int generate(int32_t *output, size_t frames) override;
- virtual int generateAndMix(int32_t *output, size_t frames) override;
+ virtual int generate32(int32_t *output, size_t frames) override;
+ virtual int generateAndMix32(int32_t *output, size_t frames) override;
virtual const char *emulatorName() override;
};
diff --git a/src/chips/opl_chip_base.h b/src/chips/opl_chip_base.h
index 1aaddf8..70f9375 100644
--- a/src/chips/opl_chip_base.h
+++ b/src/chips/opl_chip_base.h
@@ -19,8 +19,8 @@ public:
virtual void writeReg(uint16_t addr, uint8_t data) = 0;
virtual int generate(int16_t *output, size_t frames) = 0;
virtual int generateAndMix(int16_t *output, size_t frames) = 0;
- virtual int generate(int32_t *output, size_t frames) = 0;
- virtual int generateAndMix(int32_t *output, size_t frames) = 0;
+ virtual int generate32(int32_t *output, size_t frames) = 0;
+ virtual int generateAndMix32(int32_t *output, size_t frames) = 0;
virtual const char* emulatorName() = 0;
};