diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-04-11 00:04:11 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-04-11 00:04:11 +0300 |
commit | f9a946905207e8b5e51937513d804e80d1a55c92 (patch) | |
tree | 622873b30bb740c3061d651688653533f20e028f /src/adlmidi_opl3.cpp | |
parent | cd09e3835c59ffdaeec9666d0ee0cddea98772bf (diff) | |
download | libADLMIDI-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.cpp | 14 |
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) |