diff options
-rw-r--r-- | .travis.yml | 2 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | banks.ini | 4 | ||||
-rw-r--r-- | fm_banks/tmb_files/rott.tmb (renamed from fm_banks/tmb_files/lee.tmb) | bin | 3328 -> 3328 bytes | |||
-rw-r--r-- | fm_banks/wopl_files/Apogee-IMF-90.wopl | bin | 16983 -> 16983 bytes | |||
-rw-r--r-- | src/adlmidi_opl3.cpp | 5 | ||||
-rw-r--r-- | src/chips/dosbox/dbopl.cpp | 9 |
7 files changed, 15 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml index 3dc4494..01af559 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ matrix: - libvlc-dev - libvlccore-dev - os: osx - osx_image: xcode9.4 + osx_image: xcode10.2 compiler: clang++ addons: homebrew: @@ -26,6 +26,7 @@ Library is based on the ADLMIDI, a MIDI player for Linux and Windows with OPL3 e * DJGPP GCC 7.2 cross compiler from Linux to MS-DOS 32-bit * OpenBSD * Haiku +* Emscripten # Key features * OPL3 emulation with four-operator mode support @@ -522,9 +522,9 @@ file = "fm_banks/tmb_files/bloodtmb.tmb" prefix = "apgblood" [bank-70] -name = "TMB (Lee)" +name = "TMB (Rise of the Triad)" format = TMB -file = "fm_banks/tmb_files/lee.tmb" +file = "fm_banks/tmb_files/rott.tmb" prefix = "apglee" [bank-71] diff --git a/fm_banks/tmb_files/lee.tmb b/fm_banks/tmb_files/rott.tmb Binary files differindex b260d00..b260d00 100644 --- a/fm_banks/tmb_files/lee.tmb +++ b/fm_banks/tmb_files/rott.tmb diff --git a/fm_banks/wopl_files/Apogee-IMF-90.wopl b/fm_banks/wopl_files/Apogee-IMF-90.wopl Binary files differindex 89b8c77..2df6f97 100644 --- a/fm_banks/wopl_files/Apogee-IMF-90.wopl +++ b/fm_banks/wopl_files/Apogee-IMF-90.wopl diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index a7bffc3..0df9d4d 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -29,7 +29,10 @@ #ifdef ADLMIDI_HW_OPL static const unsigned OPLBase = 0x388; #else -# if defined(ADLMIDI_DISABLE_NUKED_EMULATOR) && defined(ADLMIDI_DISABLE_DOSBOX_EMULATOR) +# if defined(ADLMIDI_DISABLE_NUKED_EMULATOR) && \ + defined(ADLMIDI_DISABLE_DOSBOX_EMULATOR) && \ + defined(ADLMIDI_DISABLE_OPAL_EMULATOR) && \ + defined(ADLMIDI_DISABLE_JAVA_EMULATOR) # error "No emulators enabled. You must enable at least one emulator to use this library!" # endif diff --git a/src/chips/dosbox/dbopl.cpp b/src/chips/dosbox/dbopl.cpp index d1ab82f..5b4bf53 100644 --- a/src/chips/dosbox/dbopl.cpp +++ b/src/chips/dosbox/dbopl.cpp @@ -1507,11 +1507,15 @@ void Chip::Setup( Bit32u rate ) { } } -static bool doneTables = false; +static volatile bool doneTables = false; +static Mutex mutexTables; + void InitTables( void ) { if ( doneTables ) return; - doneTables = true; + MutexHolder lock( mutexTables ); + if ( doneTables ) + return; #if ( DBOPL_WAVE == WAVE_HANDLER ) || ( DBOPL_WAVE == WAVE_TABLELOG ) //Exponential volume table, same as the real adlib for ( int i = 0; i < 256; i++ ) { @@ -1661,6 +1665,7 @@ void InitTables( void ) { } } #endif + doneTables = true; } Bit32u Handler::WriteAddr( Bit32u port, Bit8u val ) { |