summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-11-07 19:15:52 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-11-07 19:15:52 -0500
commit2e055e891b45bf8221fb6013821d850af8d83c5e (patch)
tree4c08f780e3b759c58988c9e46787cbdf112253f9
parent30b00e6dcce19a98969d78a0b27eb6f03405a857 (diff)
z80dart: Stop resetting receiver whenever WR5 changes
-rw-r--r--src/devices/machine/z80dart.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/machine/z80dart.cpp b/src/devices/machine/z80dart.cpp
index e692d658fc0..05a7aef03f3 100644
--- a/src/devices/machine/z80dart.cpp
+++ b/src/devices/machine/z80dart.cpp
@@ -920,7 +920,8 @@ void z80dart_channel::control_write(uint8_t data)
LOG("Z80DART \"%s\" Channel %c : Request to Send %u\n", owner()->tag(), 'A' + m_index, (data & WR5_RTS) ? 1 : 0);
LOG("Z80DART \"%s\" Channel %c : Data Terminal Ready %u\n", owner()->tag(), 'A' + m_index, (data & WR5_DTR) ? 1 : 0);
- if (data != prev)
+ // don't update if parameters haven't changed; in fact, don't update at all since these ones are currently unused
+ if (0 && (data & WR5_TX_WORD_LENGTH_MASK) != (prev & WR5_TX_WORD_LENGTH_MASK))
update_serial();
if (data & WR5_RTS)
@@ -1271,7 +1272,7 @@ void z80dart_channel::update_serial()
{
set_tra_rate(m_txc / clocks);
}
- receive_register_reset(); // if stop bits is changed from 0, receive register has to be reset
+ receive_register_reset(); // if stop bits is changed from 0, receive register has to be reset (FIXME: doing this without checking is stupid)
}