aboutsummaryrefslogtreecommitdiff
path: root/src/chips
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2019-07-01 05:01:55 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2019-07-01 05:01:55 +0300
commit81f905ea76f0efb6ea35331bd1fe476f14f804de (patch)
tree8146611e945a5080db9e7f6fc1805cc77565204b /src/chips
parentd02cf717c2da0344b37db1ffb864d312713f3208 (diff)
downloadlibADLMIDI-81f905ea76f0efb6ea35331bd1fe476f14f804de.tar.gz
libADLMIDI-81f905ea76f0efb6ea35331bd1fe476f14f804de.tar.bz2
libADLMIDI-81f905ea76f0efb6ea35331bd1fe476f14f804de.zip
First working of new database
// not so stable, needs a polishing, however, multibank from embedded 72'th bank (DMXOPL3) works!
Diffstat (limited to 'src/chips')
-rw-r--r--src/chips/dosbox/dbopl.h2
-rw-r--r--src/chips/dosbox_opl3.cpp5
-rw-r--r--src/chips/dosbox_opl3.h2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/chips/dosbox/dbopl.h b/src/chips/dosbox/dbopl.h
index 89d2019..b113734 100644
--- a/src/chips/dosbox/dbopl.h
+++ b/src/chips/dosbox/dbopl.h
@@ -286,5 +286,7 @@ struct Handler {
void Init( Bitu rate );
};
+// Pre-Initialize internal tables
+void InitTables(void);
} //Namespace
diff --git a/src/chips/dosbox_opl3.cpp b/src/chips/dosbox_opl3.cpp
index f192930..fa30e68 100644
--- a/src/chips/dosbox_opl3.cpp
+++ b/src/chips/dosbox_opl3.cpp
@@ -37,6 +37,11 @@ DosBoxOPL3::~DosBoxOPL3()
delete chip_r;
}
+void DosBoxOPL3::globalPreInit()
+{
+ DBOPL::InitTables();
+}
+
void DosBoxOPL3::setRate(uint32_t rate)
{
OPLChipBaseBufferedT::setRate(rate);
diff --git a/src/chips/dosbox_opl3.h b/src/chips/dosbox_opl3.h
index 765fd40..9f88b95 100644
--- a/src/chips/dosbox_opl3.h
+++ b/src/chips/dosbox_opl3.h
@@ -30,6 +30,8 @@ public:
DosBoxOPL3();
~DosBoxOPL3() override;
+ static void globalPreInit();
+
bool canRunAtPcmRate() const override { return true; }
void setRate(uint32_t rate) override;
void reset() override;