summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/psion_asic5.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/psion_asic5.cpp')
-rw-r--r--src/devices/machine/psion_asic5.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/machine/psion_asic5.cpp b/src/devices/machine/psion_asic5.cpp
index 4dfa2c17bb8..34863197265 100644
--- a/src/devices/machine/psion_asic5.cpp
+++ b/src/devices/machine/psion_asic5.cpp
@@ -110,7 +110,7 @@ void psion_asic5_device::device_reset()
m_int_mask = 0x00;
m_int_status = 0x02; // UART transmitter empty
m_control = 0x00;
- m_bdr = 0xffff;
+ m_bdr = -1;
receive_register_reset();
transmit_register_reset();
@@ -133,6 +133,8 @@ void psion_asic5_device::rcv_callback()
void psion_asic5_device::rcv_complete()
{
+ receive_register_extract();
+
if (is_receive_framing_error() || is_receive_parity_error())
m_int_status |= 0x04;
@@ -389,7 +391,6 @@ uint8_t psion_asic5_device::data_r()
break;
case 0x09: // UART Receive register
- receive_register_extract();
data = get_received_char();
LOG("%s data_r: UART Receive register %02x\n", machine().describe_context(), data);
m_int_status &= ~0x01;