diff options
Diffstat (limited to 'sound/softsynth/opl')
-rw-r--r-- | sound/softsynth/opl/opl_impl.h | 8 |
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 |