summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mos6526.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mos6526.cpp')
-rw-r--r--src/devices/machine/mos6526.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/devices/machine/mos6526.cpp b/src/devices/machine/mos6526.cpp
index e1f40b109c1..55368e33e86 100644
--- a/src/devices/machine/mos6526.cpp
+++ b/src/devices/machine/mos6526.cpp
@@ -902,7 +902,10 @@ uint8_t mos6526_device::read(offs_t offset)
case ICR:
data = (m_ir1 << 7) | m_icr;
- if (machine().side_effects_disabled())
+ // Do not reset irqs unless one is effectively issued.
+ // cfr. amigaocs_flop.xml barb2paln4 that polls for Timer B status
+ // until it expires at PC=7821c and other places.
+ if (machine().side_effects_disabled() || !m_icr)
return data;
m_icr_read = true;