diff options
Diffstat (limited to 'src/devices/sound/es5503.h')
-rw-r--r-- | src/devices/sound/es5503.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/devices/sound/es5503.h b/src/devices/sound/es5503.h index 0fdfcd45786..4499d58d1f3 100644 --- a/src/devices/sound/es5503.h +++ b/src/devices/sound/es5503.h @@ -5,11 +5,13 @@ #pragma once +#include "dirom.h" + // ======================> es5503_device class es5503_device : public device_t, - public device_sound_interface, - public device_rom_interface + public device_sound_interface, + public device_rom_interface<17> { public: // construction/destruction @@ -31,13 +33,14 @@ protected: virtual void device_start() override; virtual void device_clock_changed() override; virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override; // device_sound_interface overrides - virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override; + virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override; // device_rom_interface overrides - virtual void rom_bank_updated() override; + virtual void rom_bank_pre_change() override; + + TIMER_CALLBACK_MEMBER(delayed_stream_update); sound_stream *m_stream; @@ -82,6 +85,8 @@ private: emu_timer *m_timer; + std::vector<int32_t> m_mix_buffer; + void halt_osc(int onum, int type, uint32_t *accumulator, int resshift); }; |