diff options
Diffstat (limited to 'src/mame/apple/msc.h')
| -rw-r--r-- | src/mame/apple/msc.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/mame/apple/msc.h b/src/mame/apple/msc.h index 8c2ce7f3de4..e6fa6fa4155 100644 --- a/src/mame/apple/msc.h +++ b/src/mame/apple/msc.h @@ -19,12 +19,33 @@ public: // Something is definitely customized with how PB1 interrupts work in the MSC's internal VIA1. // This makes CPU/PMU comms work properly and fits with what we see in the leaked System 7.1 // source tree, but I'm not sure it's the exact behavior of the real MSC. - void cb1_int_hack(int state) + void pmu_int(int state) { if (state == ASSERT_LINE) { set_int(0x10); // INT_CB1 } + else + { + clear_int(0x10); + } + } + + void write_cb1_noint(int state) + { + if (m_in_cb1 != state) + { + m_in_cb1 = state; + } + + if ((m_acr & 0x1c) == 0x1c) + { + shift_out(); + } + else if (((m_acr & 0x1c) == 0x0c) || (!(m_acr & 0x1c))) + { + shift_in(); + } } }; @@ -66,7 +87,8 @@ public: int get_pmu_req(); void pmu_ack_w(int state); - void cb1_int_hack(int state); + void pmu_int(int state); + void write_cb1(int state); protected: virtual void device_start() override ATTR_COLD; |
