diff options
Diffstat (limited to 'src/mame/drivers/gstriker.cpp')
-rw-r--r-- | src/mame/drivers/gstriker.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp index 86af212e71f..38874c6ea3d 100644 --- a/src/mame/drivers/gstriker.cpp +++ b/src/mame/drivers/gstriker.cpp @@ -502,14 +502,14 @@ MACHINE_CONFIG_START(gstriker_state::gstriker) MCFG_DEVICE_PROGRAM_MAP(sound_map) MCFG_DEVICE_IO_MAP(sound_io_map) - MCFG_DEVICE_ADD("io", VS9209, 0) - MCFG_VS9209_IN_PORTA_CB(IOPORT("P1")) - MCFG_VS9209_IN_PORTB_CB(IOPORT("P2")) - MCFG_VS9209_IN_PORTC_CB(IOPORT("SYSTEM")) - MCFG_VS9209_IN_PORTD_CB(IOPORT("DSW1")) - MCFG_VS9209_IN_PORTE_CB(IOPORT("DSW2")) - MCFG_VS9209_IN_PORTH_CB(READLINE("soundlatch", generic_latch_8_device, pending_r)) MCFG_DEVCB_BIT(0) - MCFG_VS9209_OUT_PORTH_CB(WRITELINE("watchdog", mb3773_device, write_line_ck)) MCFG_DEVCB_BIT(3) + vs9209_device &io(VS9209(config, "io", 0)); + io.porta_input_cb().set_ioport("P1"); + io.portb_input_cb().set_ioport("P2"); + io.portc_input_cb().set_ioport("SYSTEM"); + io.portd_input_cb().set_ioport("DSW1"); + io.porte_input_cb().set_ioport("DSW2"); + io.porth_input_cb().set(m_soundlatch, FUNC(generic_latch_8_device::pending_r)).lshift(0); + io.porth_output_cb().set("watchdog", FUNC(mb3773_device::write_line_ck)).bit(3); MCFG_DEVICE_ADD("watchdog", MB3773, 0) @@ -569,9 +569,7 @@ MACHINE_CONFIG_START(gstriker_state::twc94) MCFG_DEVICE_PROGRAM_MAP(twcup94_map) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gstriker_state, irq1_line_hold) - MCFG_DEVICE_MODIFY("io") - MCFG_VS9209_OUT_PORTH_CB(WRITE8(*this, gstriker_state, twcup94_prot_reg_w)) - MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("watchdog", mb3773_device, write_line_ck)) MCFG_DEVCB_BIT(3) + subdevice<vs9209_device>("io")->porth_output_cb().append(FUNC(gstriker_state::twcup94_prot_reg_w)); MCFG_DEVICE_REMOVE("acia") MACHINE_CONFIG_END |