From 8a0a939a3281a31fc17327d24f0a4c0975a1b9fa Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Tue, 10 Apr 2018 02:15:03 +0300 Subject: [Experimental] Added support for emulation core switching in real time! Due to clunky playback on updated Nuked OPL3 emulator v 1.8, I kept the Nuked OPL3 1.7.4 work in parallel and be a separated switchable emulator. --- src/chips/dosbox_opl3.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/chips/dosbox_opl3.h (limited to 'src/chips/dosbox_opl3.h') diff --git a/src/chips/dosbox_opl3.h b/src/chips/dosbox_opl3.h new file mode 100644 index 0000000..46c20fa --- /dev/null +++ b/src/chips/dosbox_opl3.h @@ -0,0 +1,23 @@ +#ifndef DOSBOX_OPL3_H +#define DOSBOX_OPL3_H + +#include "opl_chip_base.h" + +class DosBoxOPL3 final : public OPLChipBase +{ + void *m_chip; +public: + DosBoxOPL3(); + DosBoxOPL3(const DosBoxOPL3 &c); + virtual ~DosBoxOPL3() override; + + virtual void setRate(uint32_t rate) override; + virtual void reset() override; + virtual void reset(uint32_t rate) override; + virtual void writeReg(uint16_t addr, uint8_t data) override; + virtual int generate(int16_t *output, size_t frames) override; + virtual int generateAndMix(int16_t *output, size_t frames) override; + virtual const char *emulatorName() override; +}; + +#endif // DOSBOX_OPL3_H -- cgit v1.2.3