trunk/src/emu/machine/ins8250.c
| r23466 | r23467 | |
| 617 | 617 | { |
| 618 | 618 | memset(&m_rfifo, '\0', sizeof(m_rfifo)); |
| 619 | 619 | m_rhead = m_rtail = m_rnum = 0; |
| 620 | clear_int(COM_INT_PENDING_CHAR_TIMEOUT | COM_INT_PENDING_RECEIVED_DATA_AVAILABLE); |
| 621 | m_timeout->adjust(attotime::never); |
| 620 | 622 | } |
| 621 | 623 | if(data & 4) |
| 622 | 624 | { |
| 623 | 625 | memset(&m_tfifo, '\0', sizeof(m_tfifo)); |
| 624 | 626 | m_thead = m_ttail = 0; |
| 627 | m_regs.lsr |= 0x20; |
| 628 | trigger_int(COM_INT_PENDING_TRANSMITTER_HOLDING_REGISTER_EMPTY); |
| 625 | 629 | } |
| 626 | 630 | m_rintlvl = bytes_per_int[(data>>6)&3]; |
| 627 | 631 | m_regs.iir |= 0xc0; |
| 628 | 632 | m_regs.fcr = data & 0xc9; |
| 629 | | m_regs.lsr |= 0x20; |
| 630 | | trigger_int(COM_INT_PENDING_TRANSMITTER_HOLDING_REGISTER_EMPTY); |
| 631 | 633 | } |