summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/pps41/mm75op.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/pps41/mm75op.cpp')
-rw-r--r--src/devices/cpu/pps41/mm75op.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/devices/cpu/pps41/mm75op.cpp b/src/devices/cpu/pps41/mm75op.cpp
index 3f0769ebc8f..93e61af3ae9 100644
--- a/src/devices/cpu/pps41/mm75op.cpp
+++ b/src/devices/cpu/pps41/mm75op.cpp
@@ -9,14 +9,34 @@
// opcodes (differences with mm76_device)
-void mm75_device::op_ibm()
+// unsupported opcodes
+
+void mm75_device::op_ios()
{
- // IBM: does not PI5-8 pins
+ // IOS: does not have serial I/O
op_illegal();
}
-void mm75_device::op_ios()
+void mm75_device::op_i2c()
{
- // IOS: does not have serial I/O
+ // I2C: does not PI5-8 pins
+ m_a = 0;
op_illegal();
}
+
+
+// slightly different opcodes
+
+void mm75_device::op_ibm()
+{
+ // IBM: INT1 is shared with RIO8
+ mm76_device::op_ibm();
+ m_a &= ~(m_int_line[1] << 3);
+}
+
+void mm75_device::op_int1h()
+{
+ // INT1H: INT1 is shared with RIO8
+ int state = (m_read_r() & m_r_output) >> 7 & m_int_line[1];
+ m_skip = bool(state);
+}