summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/gaelco.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/gaelco.cpp')
-rw-r--r--src/devices/sound/gaelco.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/devices/sound/gaelco.cpp b/src/devices/sound/gaelco.cpp
index 2fd45bfe6f9..62553b44413 100644
--- a/src/devices/sound/gaelco.cpp
+++ b/src/devices/sound/gaelco.cpp
@@ -281,12 +281,27 @@ void gaelco_gae1_device::device_start()
if (LOG_WAVE)
wavraw = util::wav_open("gae1_snd.wav", rate, 2);
+
+ for (int ch = 0; ch < NUM_CHANNELS; ch++)
+ {
+ save_item(NAME(m_channel[ch].active), ch);
+ save_item(NAME(m_channel[ch].loop), ch);
+ save_item(NAME(m_channel[ch].chunkNum), ch);
+ }
+
+ save_item(NAME(m_sndregs));
}
void gaelco_gae1_device::device_reset()
{
for (int ch = 0; ch < NUM_CHANNELS; ch++)
+ {
m_channel[ch].active = 0;
+ m_channel[ch].loop = 0;
+ m_channel[ch].chunkNum = 0;
+ }
+
+ std::fill(std::begin(m_sndregs), std::end(m_sndregs), 0.0);
}
void gaelco_gae1_device::device_stop()