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.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/devices/sound/aica.h b/src/devices/sound/aica.h
index 0f2c33d4355..afca6b17387 100644
--- a/src/devices/sound/aica.h
+++ b/src/devices/sound/aica.h
@@ -34,17 +34,18 @@ public:
protected:
// device-level overrides
- virtual void device_start() override;
+ virtual void device_start() override ATTR_COLD;
virtual void device_post_load() 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;
+ virtual void sound_stream_update(sound_stream &stream) override;
// device_memory_interface configuration
virtual space_config_vector memory_space_config() const override;
address_space_config m_data_config;
+
private:
enum AICA_STATE {AICA_ATTACK,AICA_DECAY1,AICA_DECAY2,AICA_RELEASE};
@@ -123,8 +124,9 @@ private:
void UpdateRegR(int reg);
void w16(u32 addr,u16 val);
u16 r16(u32 addr);
- inline s32 UpdateSlot(AICA_SLOT *slot);
- void DoMasterSamples(int nsamples);
+ [[maybe_unused]] void TimersAddTicks(int ticks);
+ s32 UpdateSlot(AICA_SLOT *slot);
+ void DoMasterSamples(sound_stream &stream);
void exec_dma();
@@ -147,8 +149,8 @@ private:
u16 m_EFSPAN[0x48];
AICA_SLOT m_Slots[64];
- address_space *m_data;
- memory_access_cache<1, 0, ENDIANNESS_LITTLE> *m_cache;
+ memory_access<23, 1, 0, ENDIANNESS_LITTLE>::cache m_cache;
+ memory_access<23, 1, 0, ENDIANNESS_LITTLE>::specific m_data;
sound_stream * m_stream;
u32 m_IrqTimA;
@@ -184,11 +186,6 @@ private:
AICADSP m_DSP;
- stream_sample_t *m_bufferl;
- stream_sample_t *m_bufferr;
- stream_sample_t *m_exts0;
- stream_sample_t *m_exts1;
-
s32 m_EG_TABLE[0x400];
int m_PLFO_TRI[256],m_PLFO_SQR[256],m_PLFO_SAW[256],m_PLFO_NOI[256];
int m_ALFO_TRI[256],m_ALFO_SQR[256],m_ALFO_SAW[256],m_ALFO_NOI[256];