diff options
author | arbee <rb6502@users.noreply.github.com> | 2017-04-19 23:35:09 -0400 |
---|---|---|
committer | arbee <rb6502@users.noreply.github.com> | 2017-04-19 23:35:09 -0400 |
commit | 99d385880c53cca45e6955245b493da159c5d07b (patch) | |
tree | d58b55038870db3eb26e862f5065c8358d39840d /src/mame | |
parent | 0ffeb44f0f12adbb083eaac53be4e9cc8a7bef91 (diff) |
Revert most of previous fix, instead change VIA6522 to work better. (nw)
Diffstat (limited to 'src/mame')
-rw-r--r-- | src/mame/machine/mac.cpp | 15 | ||||
-rw-r--r-- | src/mame/machine/macadb.cpp | 19 |
2 files changed, 11 insertions, 23 deletions
diff --git a/src/mame/machine/mac.cpp b/src/mame/machine/mac.cpp index 8e3bc092fa3..43cac6789cf 100644 --- a/src/mame/machine/mac.cpp +++ b/src/mame/machine/mac.cpp @@ -1238,17 +1238,10 @@ WRITE_LINE_MEMBER(mac_state::mac_adb_via_out_cb2) } else { - if (m_adb_timer_ticks > 1) - { - if (state) - { - m_adb_command |= 1; - } - else - { - m_adb_command &= ~1; - } - } + if (state) + m_adb_command |= 1; + else + m_adb_command &= ~1; } } diff --git a/src/mame/machine/macadb.cpp b/src/mame/machine/macadb.cpp index 49bc23b8762..e661c29ed29 100644 --- a/src/mame/machine/macadb.cpp +++ b/src/mame/machine/macadb.cpp @@ -283,7 +283,7 @@ void mac_state::adb_talk() addr = (m_adb_command>>4); reg = (m_adb_command & 3); - //printf("Mac sent %x (cmd %d addr %d reg %d mr %d kr %d)\n", m_adb_command, (m_adb_command>>2)&3, addr, reg, m_adb_mouseaddr, m_adb_keybaddr); +// printf("Mac sent %x (cmd %d addr %d reg %d mr %d kr %d)\n", mac->m_adb_command, (mac->m_adb_command>>2)&3, addr, reg, m_adb_mouseaddr, m_adb_keybaddr); if (m_adb_waiting_cmd) { @@ -637,21 +637,16 @@ TIMER_CALLBACK_MEMBER(mac_state::mac_adb_tick) } else { - // for input to Mac, the VIA reads on the *other* clock edge, so update this here if (!m_adb_direction) { m_via1->write_cb2((m_adb_send & 0x80)>>7); - if (m_adb_timer_ticks != 9) - { - m_adb_send <<= 1; - } + m_adb_send <<= 1; } - // do one clock transition on CB1 to advance the VIA shifter m_adb_extclock ^= 1; m_via1->write_cb1(m_adb_extclock); - if ((m_adb_direction) && (m_adb_timer_ticks > 1)) + if (m_adb_direction) { m_adb_command <<= 1; } @@ -668,7 +663,7 @@ TIMER_CALLBACK_MEMBER(mac_state::mac_adb_tick) { adb_talk(); if((m_adb_last_talk == 2) && m_adb_datasize) { - m_adb_timer_ticks = 9; + m_adb_timer_ticks = 8; m_adb_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100))); } } @@ -689,7 +684,7 @@ void mac_state::mac_adb_newaction(int state) #endif m_adb_state = state; - m_adb_timer_ticks = 9; + m_adb_timer_ticks = 8; switch (state) { @@ -1126,7 +1121,7 @@ void mac_state::adb_vblank() m_adb_waiting_cmd = 1; this->adb_talk(); - m_adb_timer_ticks = 9; + m_adb_timer_ticks = 8; this->m_adb_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100))); } #if 0 @@ -1163,7 +1158,7 @@ void mac_state::adb_vblank() m_adb_waiting_cmd = 1; this->adb_talk(); - m_adb_timer_ticks = 9; + m_adb_timer_ticks = 8; this->m_adb_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100))); } #if 0 |