diff options
author | 2022-08-02 00:15:55 +0200 | |
---|---|---|
committer | 2022-08-02 00:16:14 +0200 | |
commit | 61eb90c2063c7f3f009da3ead265e31f6ef9ceac (patch) | |
tree | c5f47826600ade00f37859680bc80ec41c761565 /src/devices/cpu/tms1000/tms0270.cpp | |
parent | 1525cc1ee31eec9ae7fb68ca32fabcb5f1ee571c (diff) |
spellba: do the tms0270 ctl fix in the driver
Diffstat (limited to 'src/devices/cpu/tms1000/tms0270.cpp')
-rw-r--r-- | src/devices/cpu/tms1000/tms0270.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/devices/cpu/tms1000/tms0270.cpp b/src/devices/cpu/tms1000/tms0270.cpp index 31df0a398bd..4bc64e1e918 100644 --- a/src/devices/cpu/tms1000/tms0270.cpp +++ b/src/devices/cpu/tms1000/tms0270.cpp @@ -80,19 +80,18 @@ void tms0270_cpu_device::device_reset() // i/o handling void tms0270_cpu_device::dynamic_output() { - // R11: TMS5100 CTL port direction (0=read from TMS5100, 1=write to TMS5100) - m_ctl_dir = BIT(m_r, 11); - // R12: chip select (off=display via OPLA, on=TMS5100 via ACC/CKB) m_chipsel = BIT(m_r, 12); if (m_chipsel) { + // R11: TMS5100 CTL port direction (0=read from TMS5100, 1=write to TMS5100) + m_ctl_dir = BIT(m_r, 11); + // ACC via SEG G,B,C,D: TMS5100 CTL pins - u8 ctl_out = (m_ctl_dir) ? m_a : m_read_ctl() & 0xf; - if (m_ctl_out != ctl_out) + if (m_ctl_dir && m_ctl_out != m_a) { - m_ctl_out = ctl_out; + m_ctl_out = m_a; m_write_ctl(m_ctl_out); } |