aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_opl3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r--src/adlmidi_opl3.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index 8d97442..7101319 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -43,6 +43,11 @@ static const unsigned OPLBase = 0x388;
# ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
# include "chips/dosbox_opl3.h"
# endif
+
+// Opal emulator
+# ifndef ADLMIDI_DISABLE_OPAL_EMULATOR
+# include "chips/opal_opl3.h"
+# endif
#endif
static const unsigned adl_emulatorSupport = 0
@@ -54,6 +59,10 @@ static const unsigned adl_emulatorSupport = 0
# ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
| (1u << ADLMIDI_EMU_DOSBOX)
# endif
+
+# ifndef ADLMIDI_DISABLE_OPAL_EMULATOR
+ | (1u << ADLMIDI_EMU_OPAL)
+# endif
#endif
;
@@ -767,6 +776,11 @@ void OPL3::reset(int emulator, unsigned long PCM_RATE, void *audioTickHandler)
chip = new DosBoxOPL3;
break;
#endif
+#ifndef ADLMIDI_DISABLE_OPAL_EMULATOR
+ case ADLMIDI_EMU_OPAL:
+ chip = new OpalOPL3;
+ break;
+#endif
}
m_chips[i].reset(chip);
chip->setChipId((uint32_t)i);