summaryrefslogtreecommitdiffstats
path: root/src/mame/includes/tigeroad.h
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-01-17 03:52:08 +1100
committer Vas Crabb <vas@vastheman.com>2017-01-17 03:52:08 +1100
commita3e60b3f3d85fe10f52ae21d865e96079bd323c0 (patch)
treeffaddd309c7690147a50ba65d4d62053b4d9f9d1 /src/mame/includes/tigeroad.h
parent408a8fceb44684f221214e74ab7c86983405a7b5 (diff)
pushman: better understanding of how CPU reads MCU data/status
bballs: simplify protection MCU simulation using pushman hookup as a guide (nw) bballs appears to use a simpler single-word arrangement for messages from CPU to MCU, perhaps so it can use a 28-pin MCU (pushman MCU receives the command byte on port D, which the 28-pin parts lack)
Diffstat (limited to 'src/mame/includes/tigeroad.h')
-rw-r--r--src/mame/includes/tigeroad.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/mame/includes/tigeroad.h b/src/mame/includes/tigeroad.h
index 51341e89a31..a969b7f6949 100644
--- a/src/mame/includes/tigeroad.h
+++ b/src/mame/includes/tigeroad.h
@@ -72,6 +72,7 @@ public:
pushman_state(const machine_config &mconfig, device_type type, const char *tag)
: tigeroad_state(mconfig, type, tag)
, m_mcu(*this, "mcu")
+ , m_host_semaphore(false)
, m_mcu_semaphore(false)
, m_host_latch(0xffff)
, m_mcu_latch(0xffff)
@@ -81,10 +82,8 @@ public:
m_has_coinlock = false;
}
- DECLARE_READ16_MEMBER(mcu_data_r);
- DECLARE_READ16_MEMBER(mcu_ack_r);
- DECLARE_WRITE16_MEMBER(mcu_data_w);
- DECLARE_WRITE16_MEMBER(mcu_cmd_w);
+ DECLARE_READ16_MEMBER(mcu_comm_r);
+ DECLARE_WRITE16_MEMBER(mcu_comm_w);
DECLARE_WRITE8_MEMBER(mcu_pa_w);
DECLARE_WRITE8_MEMBER(mcu_pb_w);
@@ -95,7 +94,7 @@ protected:
required_device<m68705u_device> m_mcu;
- bool m_mcu_semaphore;
+ bool m_host_semaphore, m_mcu_semaphore;
u16 m_host_latch, m_mcu_latch;
u16 m_mcu_output;
u8 m_mcu_latch_ctl;
@@ -107,9 +106,8 @@ class bballs_state : public tigeroad_state
public:
bballs_state(const machine_config &mconfig, device_type type, const char *tag)
: tigeroad_state(mconfig, type, tag)
- , m_shared_ram{ 0, 0, 0, 0, 0, 0, 0, 0 }
- , m_latch(0xffff)
- , m_new_latch(0)
+ , m_mcu_semaphore(false)
+ , m_mcu_latch(0xffff)
{
m_has_coinlock = false;
}
@@ -118,12 +116,10 @@ public:
DECLARE_WRITE16_MEMBER(bballs_68705_w);
DECLARE_MACHINE_RESET(bballs);
- DECLARE_DRIVER_INIT(bballs);
protected:
virtual void machine_start() override;
- u8 m_shared_ram[8];
- u16 m_latch;
- u16 m_new_latch;
+ bool m_mcu_semaphore;
+ u16 m_mcu_latch;
};