diff options
Diffstat (limited to 'src/chips')
-rw-r--r-- | src/chips/dosbox/dbopl.h | 2 | ||||
-rw-r--r-- | src/chips/dosbox_opl3.cpp | 5 | ||||
-rw-r--r-- | src/chips/dosbox_opl3.h | 2 |
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; |