mirror of
https://github.com/holub/mame
synced 2025-06-22 12:28:33 +03:00
thayers: Fixed keyboard scanning. [Curt Coder]
This commit is contained in:
parent
2e5d1c6cb3
commit
99b8b9cda1
@ -321,7 +321,9 @@ WRITE_LINE_MEMBER(thayers_state::kbclk_w)
|
||||
if (!m_kbclk && state) {
|
||||
m_rx_bit++;
|
||||
|
||||
if (m_rx_bit == 10) {
|
||||
switch (m_rx_bit)
|
||||
{
|
||||
case 10:
|
||||
m_rx_bit = 0;
|
||||
|
||||
m_keylatch++;
|
||||
@ -331,18 +333,20 @@ WRITE_LINE_MEMBER(thayers_state::kbclk_w)
|
||||
}
|
||||
|
||||
if (LOG) logerror("keylatch %u\n",m_keylatch);
|
||||
}
|
||||
break;
|
||||
|
||||
if (LOG) logerror("rx bit %u\n",m_rx_bit);
|
||||
case 9:
|
||||
// 1, 0, 1, Q9, P3, P2, P1, P0, 0, 1
|
||||
m_keydata = 0xa0 | (m_keylatch == 9) << 4 | m_row[m_keylatch]->read();
|
||||
|
||||
if (BIT(m_rx_bit, 3)) {
|
||||
// 1, 0, 1, Q9, P3, P2, P1, P0, 1, 1
|
||||
bool q9 = (m_keylatch == 9);
|
||||
m_keydata = 0xa0 | q9 << 4 | m_row[m_keylatch]->read();
|
||||
if (LOG) logerror("keydata %02x keylatch %u\n",m_keydata,m_keylatch);
|
||||
} else if (m_rx_bit) {
|
||||
break;
|
||||
|
||||
default:
|
||||
m_keydata <<= 1;
|
||||
|
||||
if (LOG) logerror("keydata %02x shift\n",m_keydata);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user