diff --git a/src/SOUND/snd_dbopl.cc b/src/SOUND/snd_dbopl.cc index cecc1c35e..cf4bc1ebe 100644 --- a/src/SOUND/snd_dbopl.cc +++ b/src/SOUND/snd_dbopl.cc @@ -88,7 +88,7 @@ void opl_write(int nr, uint16_t addr, uint8_t val) if (!(addr & 1)) { if (!opl[nr].is_opl3 || !opl3_type) - opl[nr].addr = (int)opl[nr].chip.WriteAddr(addr, val) & 0xff; + opl[nr].addr = (int)opl[nr].chip.WriteAddr(addr, val) & (opl[nr].is_opl3 ? 0x1ff : 0xff); else opl[nr].addr = (int)OPL3_WriteAddr(&opl[nr].opl3chip, addr, val) & 0x1ff; } diff --git a/src/SOUND/snd_sb.c b/src/SOUND/snd_sb.c index f6e773fe8..5e38a1437 100644 --- a/src/SOUND/snd_sb.c +++ b/src/SOUND/snd_sb.c @@ -26,6 +26,7 @@ #include "../rom.h" #include "../device.h" #include "sound.h" +#include "snd_dbopl.h" #include "snd_emu8k.h" #include "snd_mpu401.h" #include "snd_opl.h"