aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2025-03-27 18:26:39 +0300
committerWohlstand <admin@wohlnet.ru>2025-03-27 18:26:39 +0300
commit7dfbb005312fecaeb0bfa08175678ec1f4143165 (patch)
treed5d8c64cf035e97883ce9bb09618bab216bbc4c1 /src
parentfda87042c28a70d7893da05219fdbe4fd9c1350d (diff)
downloadlibADLMIDI-7dfbb005312fecaeb0bfa08175678ec1f4143165.tar.gz
libADLMIDI-7dfbb005312fecaeb0bfa08175678ec1f4143165.tar.bz2
libADLMIDI-7dfbb005312fecaeb0bfa08175678ec1f4143165.zip
Chips: Don't divide OPL2 output by 2
Diffstat (limited to 'src')
-rw-r--r--src/chips/mame/mame_fmopl.cpp8
-rw-r--r--src/chips/ymfm_opl2.cpp2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/chips/mame/mame_fmopl.cpp b/src/chips/mame/mame_fmopl.cpp
index c1dbada..58fafea 100644
--- a/src/chips/mame/mame_fmopl.cpp
+++ b/src/chips/mame/mame_fmopl.cpp
@@ -1775,7 +1775,7 @@ static bool CalcVoice (FM_WorkTable *wt, FM_OPL *OPL, int voice, short *buffer,
advance_lfo(wt, OPL);
wt->output = 0;
- short sample = OPL_CALC_CH_S(wt, CH) / 2;
+ short sample = OPL_CALC_CH_S(wt, CH);
if (!OPL->IsStereo)
{
@@ -1835,14 +1835,14 @@ static bool CalcRhythm (FM_WorkTable *wt, FM_OPL *OPL, short *buffer, int length
if (!OPL->IsStereo)
{
- buffer[i] += wt->output / 2;
+ buffer[i] += wt->output;
}
else
{
// [RH] Always use center panning for rhythm.
// The MIDI player doesn't use the rhythm section anyway.
- buffer[i*2] += (wt->output / 2) * CENTER_PANNING_POWER;
- buffer[i*2+1] += (wt->output / 2) * CENTER_PANNING_POWER;
+ buffer[i*2] += wt->output * CENTER_PANNING_POWER;
+ buffer[i*2+1] += wt->output * CENTER_PANNING_POWER;
}
advance(wt, OPL, 6, 8);
diff --git a/src/chips/ymfm_opl2.cpp b/src/chips/ymfm_opl2.cpp
index 5e8ea32..beb6c16 100644
--- a/src/chips/ymfm_opl2.cpp
+++ b/src/chips/ymfm_opl2.cpp
@@ -99,7 +99,7 @@ void YmFmOPL2::nativeGenerate(int16_t *frame)
}
chip_r->generate(&frames_i);
- frame[0] = static_cast<int16_t>(ymfm::clamp(frames_i.data[0] / 2, -32768, 32767));
+ frame[0] = static_cast<int16_t>(ymfm::clamp(frames_i.data[0], -32768, 32767));
frame[1] = frame[0];
}