aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2025-03-30 06:03:56 +0300
committerWohlstand <admin@wohlnet.ru>2025-03-30 06:03:56 +0300
commitf58bd8a88189fdc1c77d5ea2c19d4d03aeca019f (patch)
treebc343a54749d322294fd98a2b910e8a67be1213e /src
parent736233206ba15cb0e0ca8f4fcedb91ff4a193f21 (diff)
downloadlibADLMIDI-f58bd8a88189fdc1c77d5ea2c19d4d03aeca019f.tar.gz
libADLMIDI-f58bd8a88189fdc1c77d5ea2c19d4d03aeca019f.tar.bz2
libADLMIDI-f58bd8a88189fdc1c77d5ea2c19d4d03aeca019f.zip
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!
Diffstat (limited to 'src')
-rw-r--r--src/chips/ym3812_lle/nuked_fmopl2.c5
-rw-r--r--src/chips/ymf262_lle/nuked_fmopl3.c2
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;