From a37298e7bed28752e8dcbe8e37e355fe47bf5e99 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 29 Mar 2025 23:11:07 +0300 Subject: Added support for LLE OPL2 and OPL3 emulators Kept disabled by default because they are extremely heavy for ordinary processors. --- src/adlmidi_opl3.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/adlmidi_opl3.cpp') diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index 97760cf..be84203 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -74,6 +74,16 @@ # include "chips/ymfm_opl3.h" # endif +// Nuked OPL2 LLE emulator +# ifdef ADLMIDI_ENABLE_OPL2_LLE_EMULATOR +# include "chips/ym3812_lle.h" +# endif + +// Nuked OPL3 LLE emulator +# ifdef ADLMIDI_ENABLE_OPL3_LLE_EMULATOR +# include "chips/ymf262_lle.h" +# endif + // HW OPL Serial # ifdef ADLMIDI_ENABLE_HW_SERIAL # include "chips/opl_serial_port.h" @@ -110,6 +120,14 @@ static const unsigned adl_emulatorSupport = 0 | (1u << ADLMIDI_EMU_YMFM_OPL2) | (1u << ADLMIDI_EMU_YMFM_OPL3) # endif + +# ifdef ADLMIDI_ENABLE_OPL2_LLE_EMULATOR + | (1u << ADLMIDI_EMU_NUKED_OPL2_LLE) +# endif + +# ifdef ADLMIDI_ENABLE_OPL3_LLE_EMULATOR + | (1u << ADLMIDI_EMU_NUKED_OPL3_LLE) +# endif #endif ; @@ -1891,6 +1909,16 @@ void OPL3::reset(int emulator, unsigned long PCM_RATE, void *audioTickHandler) case ADLMIDI_EMU_YMFM_OPL3: chip = new YmFmOPL3; break; +#endif +#ifdef ADLMIDI_ENABLE_OPL2_LLE_EMULATOR + case ADLMIDI_EMU_NUKED_OPL2_LLE: + chip = new Ym3812LLEOPL2; + break; +#endif +#ifdef ADLMIDI_ENABLE_OPL3_LLE_EMULATOR + case ADLMIDI_EMU_NUKED_OPL3_LLE: + chip = new Ymf262LLEOPL3; + break; #endif } #endif // ENABLE_HW_OPL_DOS -- cgit v1.2.3