ti99: Clear datamux latch of stale content, in case that no device responds on the bus.

This commit is contained in:
Michael Zapf 2020-03-21 15:21:11 +01:00
parent bdd2a33776
commit 735cffaa98

View File

@ -372,7 +372,7 @@ uint16_t datamux_device::read(offs_t offset)
// Reading the even address now (addr)
uint8_t hbyte = 0;
read_all(m_addr_buf, &hbyte);
LOGMASKED(LOG_ACCESS, "Read even byte from address %04x -> %02x\n", m_addr_buf, hbyte);
LOGMASKED(LOG_ACCESS, "%04x -> %02x\n", m_addr_buf, hbyte);
value = (hbyte<<8) | m_latch;
}
@ -500,9 +500,11 @@ WRITE_LINE_MEMBER( datamux_device::clock_in )
}
if (m_waitcount==2)
{
// Clear the latch (if no device responds on the bus, we assume the data lines as 0)
m_latch = 0;
// read odd byte
read_all(m_addr_buf+1, &m_latch);
LOGMASKED(LOG_ACCESS, "Read odd byte from address %04x -> %02x\n", m_addr_buf+1, m_latch);
LOGMASKED(LOG_ACCESS, "%04x -> %02x\n", m_addr_buf+1, m_latch);
// do the setaddress for the even address
setaddress_all(m_addr_buf);
}