diff options
author | 2021-07-21 18:19:03 -0400 | |
---|---|---|
committer | 2021-07-21 18:19:03 -0400 | |
commit | d3d2710e8945e997ca5326f0adb3ea52ee30d791 (patch) | |
tree | 98a20c0de8962e8bc1cfa5e63de6ef9e33daf513 | |
parent | 4737eba161e52e7942fdfb8ca8eda85bac1739ae (diff) | |
parent | 26005596004a804bca7caf7b7a31b0fd06a04a24 (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.cpp | 7 |
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; } |