diff options
Diffstat (limited to 'src/devices/sound/aica.h')
-rw-r--r-- | src/devices/sound/aica.h | 19 |
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]; |