diff options
Diffstat (limited to 'src/mame/drivers/firebeat.c')
| -rw-r--r-- | src/mame/drivers/firebeat.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c index 1f8f3c04459..4db31758e89 100644 --- a/src/mame/drivers/firebeat.c +++ b/src/mame/drivers/firebeat.c @@ -256,12 +256,13 @@ public: void gcu_exec_display_list(bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, UINT32 address); UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip); UINT32 GCU_r(int chip, UINT32 offset, UINT32 mem_mask); - void GCU_w(int chip, UINT32 offset, UINT32 data, UINT32 mem_mask); - void set_ibutton(UINT8 *data); - int ibutton_w(UINT8 data); - void init_lights(write32_delegate out1, write32_delegate out2, write32_delegate out3); - void init_firebeat(); - void init_keyboard(); + void GCU_w(int chip, UINT32 offset, UINT32 data, UINT32 mem_mask);
+ void set_ibutton(UINT8 *data);
+ int ibutton_w(UINT8 data);
+ DECLARE_WRITE8_MEMBER(security_w);
+ void init_lights(write32_delegate out1, write32_delegate out2, write32_delegate out3);
+ void init_firebeat();
+ void init_keyboard();
DECLARE_WRITE_LINE_MEMBER(sound_irq_callback); DECLARE_WRITE_LINE_MEMBER(midi_uart_ch0_irq_callback); DECLARE_WRITE_LINE_MEMBER(midi_uart_ch1_irq_callback); @@ -1946,18 +1947,17 @@ int firebeat_state::ibutton_w(UINT8 data) } } - return r; -} - -static void security_w(device_t *device, UINT8 data) -{ - firebeat_state *state = device->machine().driver_data<firebeat_state>(); - int r = state->ibutton_w(data); - if (r >= 0) - state->m_maincpu->ppc4xx_spu_receive_byte(r); -} - -/*****************************************************************************/ + return r;
+}
+
+WRITE8_MEMBER(firebeat_state::security_w)
+{
+ int r = ibutton_w(data);
+ if (r >= 0)
+ m_maincpu->ppc4xx_spu_receive_byte(r);
+}
+
+/*****************************************************************************/
void firebeat_state::init_lights(write32_delegate out1, write32_delegate out2, write32_delegate out3) { @@ -1979,13 +1979,13 @@ void firebeat_state::init_firebeat() m_extend_board_irq_enable = 0x3f; m_extend_board_irq_active = 0x00; - - m_cur_cab_data = cab_data; - - m_maincpu->ppc4xx_spu_set_tx_handler(security_w); - - set_ibutton(rom); - +
+ m_cur_cab_data = cab_data;
+
+ m_maincpu->ppc4xx_spu_set_tx_handler(write8_delegate(FUNC(firebeat_state::security_w), this));
+
+ set_ibutton(rom);
+
init_lights(write32_delegate(), write32_delegate(), write32_delegate()); } |
