From 67b8c40e253a5bd60681590c8d454596ec21d490 Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Thu, 5 Sep 2024 18:15:02 +0100 Subject: [PATCH] psion_asic5.cpp: Extract serial data when received, and removed imperfect comms flags. --- src/devices/bus/psion/sibo/3link.h | 2 -- src/devices/machine/psion_asic5.cpp | 3 ++- src/devices/machine/psion_asic5.h | 2 -- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/devices/bus/psion/sibo/3link.h b/src/devices/bus/psion/sibo/3link.h index fba517b98b8..c17acca8d1d 100644 --- a/src/devices/bus/psion/sibo/3link.h +++ b/src/devices/bus/psion/sibo/3link.h @@ -27,8 +27,6 @@ public: // construction/destruction psion_3link_serial_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - static constexpr feature_type imperfect_features() { return feature::COMMS; } - protected: // device_t overrides virtual void device_start() override; diff --git a/src/devices/machine/psion_asic5.cpp b/src/devices/machine/psion_asic5.cpp index 4dfa2c17bb8..49a11a621fe 100644 --- a/src/devices/machine/psion_asic5.cpp +++ b/src/devices/machine/psion_asic5.cpp @@ -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; diff --git a/src/devices/machine/psion_asic5.h b/src/devices/machine/psion_asic5.h index 3d6a17011dc..07462d2f28d 100644 --- a/src/devices/machine/psion_asic5.h +++ b/src/devices/machine/psion_asic5.h @@ -31,8 +31,6 @@ public: psion_asic5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); - static constexpr feature_type imperfect_features() { return feature::COMMS; } - void set_mode(pc6_state mode) { m_mode = mode; } auto readpa_handler() { return m_in_a_handler.bind(); }