From 85a4fef116d0c65da2a686b876c413772ea1933f Mon Sep 17 00:00:00 2001 From: folkert van heusden Date: Fri, 10 May 2024 13:42:06 +0200 Subject: [PATCH] TX/RX status ready was not set for serial line --- dc11.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dc11.cpp b/dc11.cpp index 46bcd02..26ce16d 100644 --- a/dc11.cpp +++ b/dc11.cpp @@ -458,7 +458,7 @@ uint16_t dc11::read_word(const uint16_t addr) registers[line_nr * 4 + 0] &= ~1; // DTR: bit 0 [RCSR] registers[line_nr * 4 + 0] &= ~4; // CD : bit 2 - if (pfds[line_nr + dc11_n_lines].fd != INVALID_SOCKET) { + if (pfds[line_nr + dc11_n_lines].fd != INVALID_SOCKET || line_nr == serial_line) { registers[line_nr * 4 + 0] |= 1; registers[line_nr * 4 + 0] |= 4; } @@ -494,7 +494,7 @@ uint16_t dc11::read_word(const uint16_t addr) registers[line_nr * 4 + 2] &= ~2; // CTS: bit 1 [TSCR] registers[line_nr * 4 + 2] &= ~128; // READY: bit 7 - if (pfds[line_nr + dc11_n_lines].fd != INVALID_SOCKET) { + if (pfds[line_nr + dc11_n_lines].fd != INVALID_SOCKET || line_nr == serial_line) { registers[line_nr * 4 + 2] |= 2; registers[line_nr * 4 + 2] |= 128; }