aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_opl3.cpp
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2018-04-11 00:04:11 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2018-04-11 00:04:11 +0300
commitf9a946905207e8b5e51937513d804e80d1a55c92 (patch)
tree622873b30bb740c3061d651688653533f20e028f /src/adlmidi_opl3.cpp
parentcd09e3835c59ffdaeec9666d0ee0cddea98772bf (diff)
downloadlibADLMIDI-f9a946905207e8b5e51937513d804e80d1a55c92.tar.gz
libADLMIDI-f9a946905207e8b5e51937513d804e80d1a55c92.tar.bz2
libADLMIDI-f9a946905207e8b5e51937513d804e80d1a55c92.zip
Put Nuked OPL3 1.8 be default and fix the DJGPP build
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r--src/adlmidi_opl3.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index 7fc7f4e..3e9dcc9 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -503,12 +503,14 @@ void OPL3::ChangeVolumeRangesModel(ADLMIDI_VolumeModels volumeModel)
}
}
+#ifndef ADLMIDI_HW_OPL
void OPL3::ClearChips()
{
for(size_t i = 0; i < cardsOP2.size(); i++)
cardsOP2[i].reset(NULL);
cardsOP2.clear();
}
+#endif
void OPL3::Reset(int emulator, unsigned long PCM_RATE)
{
@@ -544,18 +546,19 @@ void OPL3::Reset(int emulator, unsigned long PCM_RATE)
};
unsigned fours = NumFourOps;
- for(size_t i = 0; i < cardsOP2.size(); ++i)
+ for(size_t i = 0; i < NumCards; ++i)
{
+#ifndef ADLMIDI_HW_OPL
switch(emulator)
{
default:
#ifndef ADLMIDI_DISABLE_NUKED_EMULATOR
- case ADLMIDI_EMU_NUKED:
- cardsOP2[i].reset(new NukedOPL3v174());
- break;
- case ADLMIDI_EMU_NUKED_8:
+ case ADLMIDI_EMU_NUKED: /* Latest Nuked OPL3 */
cardsOP2[i].reset(new NukedOPL3());
break;
+ case ADLMIDI_EMU_NUKED_174: /* Old Nuked OPL3 1.4.7 modified and optimized */
+ cardsOP2[i].reset(new NukedOPL3v174());
+ break;
#endif
#ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
case ADLMIDI_EMU_DOSBOX:
@@ -564,6 +567,7 @@ void OPL3::Reset(int emulator, unsigned long PCM_RATE)
#endif
}
cardsOP2[i]->setRate((uint32_t)PCM_RATE);
+#endif // ADLMIDI_HW_OPL
for(unsigned a = 0; a < 18; ++a) Poke(i, 0xB0 + Channels[a], 0x00);
for(unsigned a = 0; a < sizeof(data) / sizeof(*data); a += 2)