From f58bd8a88189fdc1c77d5ea2c19d4d03aeca019f Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sun, 30 Mar 2025 06:03:56 +0300 Subject: LLE: Fixed incorrect work of deep-tremolo The deep-tremolo got been triggered by deep-vibrato bit, but true deep-tremolo flag was been ignored! --- src/chips/ym3812_lle/nuked_fmopl2.c | 5 ++--- src/chips/ymf262_lle/nuked_fmopl3.c | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/chips/ym3812_lle/nuked_fmopl2.c b/src/chips/ym3812_lle/nuked_fmopl2.c index 110020e..94ff509 100644 --- a/src/chips/ym3812_lle/nuked_fmopl2.c +++ b/src/chips/ym3812_lle/nuked_fmopl2.c @@ -1061,7 +1061,7 @@ void FMOPL2_Clock(fmopl2_t *chip) if (!chip->am) tremolo = 0; - else if (chip->reg_dv) + else if (chip->reg_da) tremolo = chip->trem_out >> 2; else tremolo = chip->trem_out >> 4; @@ -1124,8 +1124,7 @@ void FMOPL2_Clock(fmopl2_t *chip) int vib_sel1 = (chip->vib_cnt[1] & 3) == 2; int vib_sel2 = (chip->vib_cnt[1] & 1) == 1; int vib_sh0 = chip->reg_dv && chip->vib && vib_sel1; - int vib_sh1 = (chip->reg_dv && chip->vib && vib_sel2) - || (!chip->reg_dv && chip->vib && vib_sel1); + int vib_sh1 = (chip->reg_dv && chip->vib && vib_sel2) || (!chip->reg_dv && chip->vib && vib_sel1); int vib_sh2 = !chip->reg_dv && chip->vib && vib_sel2; int vib_sign = (chip->vib_cnt[1] & 4) != 0 && chip->vib; int vib_add = 0; diff --git a/src/chips/ymf262_lle/nuked_fmopl3.c b/src/chips/ymf262_lle/nuked_fmopl3.c index ceb7dc6..07fb6b9 100644 --- a/src/chips/ymf262_lle/nuked_fmopl3.c +++ b/src/chips/ymf262_lle/nuked_fmopl3.c @@ -1040,7 +1040,7 @@ void FMOPL3_Clock(fmopl3_t *chip) if (!chip->am[1]) tremolo = 0; - else if (chip->reg_dv) + else if (chip->reg_da) tremolo = chip->trem_out >> 2; else tremolo = chip->trem_out >> 4; -- cgit v1.2.3