Merge pull request #5745 from 68bit/ins8250-lost-tx-int

ins8250: fix cleared pending THRE interrupt
This commit is contained in:
R. Belmont 2019-10-17 11:00:47 -04:00 committed by GitHub
commit 2c31af3d8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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;