aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/softsynth/opl/opl_impl.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/softsynth/opl/opl_impl.h b/sound/softsynth/opl/opl_impl.h
index 4ea8793965..c5ef87ce3c 100644
--- a/sound/softsynth/opl/opl_impl.h
+++ b/sound/softsynth/opl/opl_impl.h
@@ -632,7 +632,11 @@ void adlib_write(Bitu idx, Bit8u val) {
int num = idx&7;
Bitu base = (idx-ARC_TVS_KSR_MUL)&0xff;
if ((num<6) && (base<22)) {
+#if defined(OPLTYPE_IS_OPL3)
Bitu modop = regbase2modop[second_set?(base+22):base];
+#else
+ Bitu modop = regbase2modop[base];
+#endif
Bitu regbase = base+second_set;
Bitu chanbase = second_set?(modop-18+ARC_SECONDSET):modop;
@@ -662,7 +666,11 @@ void adlib_write(Bitu idx, Bit8u val) {
int num = idx&7;
Bitu base = (idx-ARC_KSL_OUTLEV)&0xff;
if ((num<6) && (base<22)) {
+#if defined(OPLTYPE_IS_OPL3)
Bitu modop = regbase2modop[second_set?(base+22):base];
+#else
+ Bitu modop = regbase2modop[base];
+#endif
Bitu chanbase = second_set?(modop-18+ARC_SECONDSET):modop;
// change frequency calculations of this operator as