summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/ins8250.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/ins8250.cpp')
-rw-r--r--src/devices/machine/ins8250.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/devices/machine/ins8250.cpp b/src/devices/machine/ins8250.cpp
index d586816c511..ec5d8e041d7 100644
--- a/src/devices/machine/ins8250.cpp
+++ b/src/devices/machine/ins8250.cpp
@@ -434,8 +434,11 @@ u8 ins8250_uart_device::ins8250_r(offs_t offset)
data = m_regs.iir;
/* The documentation says that reading this register will
clear the int if this is the source of the int */
- if (!machine().side_effects_disabled() && (m_regs.ier & COM_INT_PENDING_TRANSMITTER_HOLDING_REGISTER_EMPTY))
- clear_int(COM_INT_PENDING_TRANSMITTER_HOLDING_REGISTER_EMPTY);
+ if (!machine().side_effects_disabled())
+ {
+ if (m_regs.iir == 0x02)
+ clear_int(COM_INT_PENDING_TRANSMITTER_HOLDING_REGISTER_EMPTY);
+ }
break;
case 3:
data = m_regs.lcr;