Skip to content

Commit 53c1835

Browse files
committed
Added Nuked OPL2 Lite chip emulator
It's an OPL2 emulator based on the Nuked OPL3 https://github.com/nukeykt/Nuked-OPL2-Lite
1 parent 8c921f6 commit 53c1835

File tree

13 files changed

+1573
-1
lines changed

13 files changed

+1573
-1
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,10 @@ function(handle_options targetLib)
358358
${libADLMIDI_SOURCE_DIR}/src/chips/nuked_opl3_v174.h
359359
${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl3_174.c
360360
${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl3_174.h
361+
${libADLMIDI_SOURCE_DIR}/src/chips/nuked_opl2.cpp # OPL2 Lite
362+
${libADLMIDI_SOURCE_DIR}/src/chips/nuked_opl2.h
363+
${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl2.c
364+
${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl2.h
361365
)
362366
else()
363367
target_compile_definitions(${targetLib} PUBLIC ADLMIDI_DISABLE_NUKED_EMULATOR)

include/adlmidi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,8 @@ enum ADL_Emulator
734734
ADLMIDI_EMU_NUKED_OPL2_LLE,
735735
/*! Nuked OPL3 LLE*/
736736
ADLMIDI_EMU_NUKED_OPL3_LLE,
737+
/*! Nuked OPL2 Lite */
738+
ADLMIDI_EMU_NUKED_OPL2_LITE,
737739
/*! Count instrument on the level */
738740
ADLMIDI_EMU_end
739741
};

src/adlmidi_opl3.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
# ifndef ADLMIDI_DISABLE_NUKED_EMULATOR
5050
# include "chips/nuked_opl3.h"
5151
# include "chips/nuked_opl3_v174.h"
52+
# include "chips/nuked_opl2.h"
5253
# endif
5354

5455
// DosBox 0.74 OPL3 emulator, Well-accurate and fast
@@ -101,7 +102,7 @@
101102
static const unsigned adl_emulatorSupport = 0
102103
#ifndef ENABLE_HW_OPL_DOS
103104
# ifndef ADLMIDI_DISABLE_NUKED_EMULATOR
104-
| (1u << ADLMIDI_EMU_NUKED) | (1u << ADLMIDI_EMU_NUKED_174)
105+
| (1u << ADLMIDI_EMU_NUKED) | (1u << ADLMIDI_EMU_NUKED_174) | (1u << ADLMIDI_EMU_NUKED_OPL2_LITE)
105106
# endif
106107

107108
# ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
@@ -1128,6 +1129,9 @@ void OPL3::reset(int emulator, unsigned long PCM_RATE, void *audioTickHandler)
11281129
case ADLMIDI_EMU_NUKED_174: /* Old Nuked OPL3 1.4.7 modified and optimized */
11291130
chip = new NukedOPL3v174;
11301131
break;
1132+
case ADLMIDI_EMU_NUKED_OPL2_LITE: /* Nuked OPL2 Lite */
1133+
chip = new NukedOPL2;
1134+
break;
11311135
#endif
11321136
#ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
11331137
case ADLMIDI_EMU_DOSBOX:

src/chips/chipset.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ set(CHIPS_SOURCES
77
"${CMAKE_CURRENT_LIST_DIR}/java_opl3.h"
88
"${CMAKE_CURRENT_LIST_DIR}/mame_opl2.h"
99
"${CMAKE_CURRENT_LIST_DIR}/mame_opl2.cpp"
10+
"${CMAKE_CURRENT_LIST_DIR}/nuked_opl2.cpp"
11+
"${CMAKE_CURRENT_LIST_DIR}/nuked_opl2.h"
1012
"${CMAKE_CURRENT_LIST_DIR}/nuked_opl3.cpp"
1113
"${CMAKE_CURRENT_LIST_DIR}/nuked_opl3.h"
1214
"${CMAKE_CURRENT_LIST_DIR}/opal_opl3.cpp"
@@ -16,6 +18,8 @@ set(CHIPS_SOURCES
1618
"${CMAKE_CURRENT_LIST_DIR}/esfmu/esfm.c"
1719
"${CMAKE_CURRENT_LIST_DIR}/esfmu/esfm.h"
1820
"${CMAKE_CURRENT_LIST_DIR}/esfmu/esfm_registers.c"
21+
"${CMAKE_CURRENT_LIST_DIR}/nuked/nukedopl2.c"
22+
"${CMAKE_CURRENT_LIST_DIR}/nuked/nukedopl2.h"
1923
"${CMAKE_CURRENT_LIST_DIR}/nuked/nukedopl3.c"
2024
"${CMAKE_CURRENT_LIST_DIR}/nuked/nukedopl3.h"
2125
"${CMAKE_CURRENT_LIST_DIR}/mame/opl.h"

src/chips/chipset.pri

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ SOURCES+= \
1111
$$PWD/opal/opal.c \
1212
$$PWD/nuked/nukedopl3.c \
1313
$$PWD/dosbox/dbopl.cpp \
14+
$$PWD/nuked_opl2.cpp \
15+
$$PWD/nuked/nukedopl2.c \
1416
$$PWD/nuked_opl3_v174.cpp \
1517
$$PWD/nuked/nukedopl3_174.c \
1618
$$PWD/ymf262_lle.cpp \
@@ -28,12 +30,14 @@ HEADERS+= \
2830
$$PWD/java_opl3.h \
2931
$$PWD/mame_opl2.h \
3032
$$PWD/mame/opl.h \
33+
$$PWD/nuked_opl2.h \
3134
$$PWD/nuked_opl3.h \
3235
$$PWD/opal_opl3.h \
3336
$$PWD/opal/opal.h \
3437
$$PWD/opl_chip_base.h \
3538
$$PWD/esfmu/esfm.h \
3639
$$PWD/java/JavaOPL3.hpp \
40+
$$PWD/nuked/nukedopl2.h \
3741
$$PWD/nuked/nukedopl3.h \
3842
$$PWD/dosbox/dbopl.h \
3943
$$PWD/nuked_opl3_v174.h \

0 commit comments

Comments
 (0)