diff options
author | Wohlstand <admin@wohlnet.ru> | 2025-03-27 18:26:39 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2025-03-27 18:26:39 +0300 |
commit | 7dfbb005312fecaeb0bfa08175678ec1f4143165 (patch) | |
tree | d5d8c64cf035e97883ce9bb09618bab216bbc4c1 /src | |
parent | fda87042c28a70d7893da05219fdbe4fd9c1350d (diff) | |
download | libADLMIDI-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.cpp | 8 | ||||
-rw-r--r-- | src/chips/ymfm_opl2.cpp | 2 |
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]; } |