summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2021-06-21 13:35:00 -0500
committer cracyc <cracyc@users.noreply.github.com>2021-06-21 13:35:00 -0500
commitc5f283fcc67e6c8b12b53e2513627641c5994341 (patch)
treea3dacf52f3ed7e20bc3ff6b52e9dbae0ce944a99 /src
parent9c002bd2642a73e240d37f6c8528a22b880af590 (diff)
vis: clear curcount if count is reloaded
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/vis.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index 2c8831ec0c7..48cad1e3307 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -81,7 +81,7 @@ void vis_audio_device::dack16_w(int line, uint16_t data)
void vis_audio_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
- if((m_samples < 2) && ((m_mode & 0x08) == 0x08))
+ if(((m_samples < 2) && ((m_mode & 0x08) == 0x08)) || !m_samples)
return;
switch(m_mode & 0x88)
{
@@ -200,9 +200,11 @@ void vis_audio_device::pcm_w(offs_t offset, uint8_t data)
return;
case 0x0c:
m_count = (m_count & 0xff00) | data;
+ m_curcount = 0;
break;
case 0x0e:
m_count = (m_count & 0xff) | (data << 8);
+ m_curcount = 0;
break;
case 0x0f:
//cdrom related?