diff options
| author | 2014-01-01 11:32:52 +0000 | |
|---|---|---|
| committer | 2014-01-01 11:32:52 +0000 | |
| commit | e968792e52f5975af7cfa24977dec8efab0cc83b (patch) | |
| tree | f0e77c3f98554cea9cdd2c29fd4f728b642f1654 /src/mess/machine/mac.c | |
| parent | d794ba4dab23516951564f12372806da2c8502a8 (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.c | 5 |
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); } } |
