summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author 0kmg <9137159+0kmg@users.noreply.github.com>2021-07-21 14:02:54 -0800
committer 0kmg <9137159+0kmg@users.noreply.github.com>2021-07-21 14:02:54 -0800
commit26005596004a804bca7caf7b7a31b0fd06a04a24 (patch)
tree98a20c0de8962e8bc1cfa5e63de6ef9e33daf513
parent4737eba161e52e7942fdfb8ca8eda85bac1739ae (diff)
bus/nes: Explicitly clear IRQs in almanfds games.
-rw-r--r--src/devices/bus/nes/kaiser.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/devices/bus/nes/kaiser.cpp b/src/devices/bus/nes/kaiser.cpp
index e70fab4c242..9606e7d84ef 100644
--- a/src/devices/bus/nes/kaiser.cpp
+++ b/src/devices/bus/nes/kaiser.cpp
@@ -616,14 +616,12 @@ void nes_ks7017_device::device_timer(emu_timer &timer, device_timer_id id, int p
{
if (m_irq_enable)
{
- if (!m_irq_count)
+ if (--m_irq_count == 0)
{
- hold_irq_line();
+ set_irq_line(ASSERT_LINE);
m_irq_enable = 0;
m_irq_status |= 0x01;
}
- else
- m_irq_count--;
}
}
}
@@ -668,6 +666,7 @@ uint8_t nes_ks7017_device::read_ex(offs_t offset)
{
int temp = m_irq_status;
m_irq_status &= ~0x01;
+ set_irq_line(CLEAR_LINE);
return temp;
}