summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/mac.c
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2014-01-01 11:32:52 +0000
committer smf- <smf-@users.noreply.github.com>2014-01-01 11:32:52 +0000
commite968792e52f5975af7cfa24977dec8efab0cc83b (patch)
treef0e77c3f98554cea9cdd2c29fd4f728b642f1654 /src/mess/machine/mac.c
parentd794ba4dab23516951564f12372806da2c8502a8 (diff)
removed read_ca*/read_cb* as they just returned what you'd written to the chip already. [smf]
Diffstat (limited to 'src/mess/machine/mac.c')
-rw-r--r--src/mess/machine/mac.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mess/machine/mac.c b/src/mess/machine/mac.c
index e10c7617b15..f4e54fb1287 100644
--- a/src/mess/machine/mac.c
+++ b/src/mess/machine/mac.c
@@ -1844,6 +1844,7 @@ void mac_state::machine_reset()
}
else if (MAC_HAS_VIA2) // prime CB1 for ASC and slot interrupts
{
+ m_via2_ca1_hack = 1;
m_via2->write_ca1(1);
m_via2->write_cb1(1);
}
@@ -2115,14 +2116,16 @@ void mac_state::nubus_slot_interrupt(UINT8 slot, UINT32 state)
if ((m_nubus_irq_state & mask) != mask)
{
// HACK: sometimes we miss an ack (possible misbehavior in the VIA?)
- if (m_via2->read_ca1() == 0)
+ if (m_via2_ca1_hack == 0)
{
m_via2->write_ca1(1);
}
+ m_via2_ca1_hack = 0;
m_via2->write_ca1(0);
}
else
{
+ m_via2_ca1_hack = 1;
m_via2->write_ca1(1);
}
}