summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/midwunit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/midwunit.cpp')
-rw-r--r--src/mame/machine/midwunit.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mame/machine/midwunit.cpp b/src/mame/machine/midwunit.cpp
index 4ae8a44fe86..730ca5f49f8 100644
--- a/src/mame/machine/midwunit.cpp
+++ b/src/mame/machine/midwunit.cpp
@@ -89,7 +89,7 @@ WRITE16_MEMBER(midwunit_state::midwunit_io_w)
m_dcs->reset_w(newword & 0x10);
/* bit 5 (active low) reset security chip */
- m_midway_serial_pic->reset_w(newword & 0x20);
+ if (m_midway_serial_pic) m_midway_serial_pic->reset_w(newword & 0x20);
break;
case 3:
@@ -127,8 +127,12 @@ READ16_MEMBER(midwunit_state::midwunit_io_r)
return m_ports[offset]->read();
case 4:
- return (m_midway_serial_pic->status_r(space,0) << 12) | midwunit_sound_state_r(space,0,0xffff);
+ {
+ int picret = 0;
+ if (m_midway_serial_pic) picret = m_midway_serial_pic->status_r(space, 0);
+ return (picret << 12) | midwunit_sound_state_r(space, 0, 0xffff);
+ }
default:
logerror("%08X:Unknown I/O read from %d\n", space.device().safe_pc(), offset);
break;
@@ -357,14 +361,18 @@ MACHINE_RESET_MEMBER(midwunit_state,midwunit)
READ16_MEMBER(midwunit_state::midwunit_security_r)
{
- return m_midway_serial_pic->read(space,0);
+ uint16_t picret = 0;
+ if (m_midway_serial_pic) picret = m_midway_serial_pic->read(space, 0);
+ return picret;
}
WRITE16_MEMBER(midwunit_state::midwunit_security_w)
{
if (offset == 0 && ACCESSING_BITS_0_7)
- m_midway_serial_pic->write(space, 0, data);
+ {
+ if (m_midway_serial_pic) m_midway_serial_pic->write(space, 0, data);
+ }
}