summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/es5503.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/es5503.h')
-rw-r--r--src/devices/sound/es5503.h15
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);
};