summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
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
commit99d385880c53cca45e6955245b493da159c5d07b (patch)
treed58b55038870db3eb26e862f5065c8358d39840d /src/mame
parent0ffeb44f0f12adbb083eaac53be4e9cc8a7bef91 (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.cpp15
-rw-r--r--src/mame/machine/macadb.cpp19
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