diff options
Diffstat (limited to 'src/devices/cpu/pps41/mm75op.cpp')
-rw-r--r-- | src/devices/cpu/pps41/mm75op.cpp | 28 |
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); +} |