diff options
author | 2017-01-17 03:52:08 +1100 | |
---|---|---|
committer | 2017-01-17 03:52:08 +1100 | |
commit | a3e60b3f3d85fe10f52ae21d865e96079bd323c0 (patch) | |
tree | ffaddd309c7690147a50ba65d4d62053b4d9f9d1 /src/mame/includes/tigeroad.h | |
parent | 408a8fceb44684f221214e74ab7c86983405a7b5 (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.h | 20 |
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; }; |