summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/aica.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/aica.h')
-rw-r--r--src/devices/sound/aica.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/devices/sound/aica.h b/src/devices/sound/aica.h
index 91e7be6f6d2..3c78692ee97 100644
--- a/src/devices/sound/aica.h
+++ b/src/devices/sound/aica.h
@@ -51,6 +51,7 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_clock_changed() override;
// sound stream update overrides
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override;
@@ -128,6 +129,7 @@ private:
void StartSlot(AICA_SLOT *slot);
void StopSlot(AICA_SLOT *slot,int keyoff);
void Init();
+ void ClockChange();
void UpdateSlotReg(int s,int r);
void UpdateReg(address_space &space, int reg);
void UpdateSlotRegR(int slot,int reg);
@@ -145,6 +147,7 @@ private:
void AICALFO_ComputeStep(AICA_LFO_t *LFO,uint32_t LFOF,uint32_t LFOWS,uint32_t LFOS,int ALFO);
bool m_master;
+ double m_rate;
int m_roffset; /* offset in the region */
devcb_write_line m_irq_cb;
devcb_write_line m_main_irq_cb;
@@ -165,8 +168,8 @@ private:
uint32_t m_AICARAM_LENGTH, m_RAM_MASK, m_RAM_MASK16;
sound_stream * m_stream;
- std::unique_ptr<int32_t[]> m_buffertmpl;
- std::unique_ptr<int32_t[]> m_buffertmpr;
+ std::vector<int32_t> m_buffertmpl;
+ std::vector<int32_t> m_buffertmpr;
uint32_t m_IrqTimA;
uint32_t m_IrqTimBC;