summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author ajrhacker <ajrhacker@users.noreply.github.com>2021-07-21 18:19:03 -0400
committer GitHub <noreply@github.com>2021-07-21 18:19:03 -0400
commitd3d2710e8945e997ca5326f0adb3ea52ee30d791 (patch)
tree98a20c0de8962e8bc1cfa5e63de6ef9e33daf513
parent4737eba161e52e7942fdfb8ca8eda85bac1739ae (diff)
parent26005596004a804bca7caf7b7a31b0fd06a04a24 (diff)
Merge pull request #8332 from 0kmg/nes-almanfds-irq
bus/nes: Explicitly clear IRQs in almanfds (and clones).
-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;
}