diff options
Diffstat (limited to 'src/mame/drivers/taito_b.cpp')
-rw-r--r-- | src/mame/drivers/taito_b.cpp | 302 |
1 files changed, 151 insertions, 151 deletions
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp index 54e5cfe0af4..d6a56729cac 100644 --- a/src/mame/drivers/taito_b.cpp +++ b/src/mame/drivers/taito_b.cpp @@ -239,7 +239,7 @@ WRITE16_MEMBER(taitob_state::gain_control_w) } } -INPUT_CHANGED_MEMBER(taitob_state::realpunc_sensor) +INPUT_CHANGED_MEMBER(taitob_c_state::realpunc_sensor) { m_maincpu->set_input_line(4, HOLD_LINE); } @@ -319,7 +319,7 @@ WRITE16_MEMBER(taitob_state::spacedxo_tc0220ioc_w) } } -WRITE16_MEMBER(taitob_state::realpunc_output_w) +WRITE16_MEMBER(taitob_c_state::realpunc_output_w) { /* 15 = Camera Enable? @@ -561,19 +561,19 @@ void taitob_state::sbm_map(address_map &map) map(0x900000, 0x97ffff).m(m_tc0180vcu, FUNC(tc0180vcu_device::tc0180vcu_memrw)); } -void taitob_state::realpunc_map(address_map &map) +void taitob_c_state::realpunc_map(address_map &map) { map(0x000000, 0x0fffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x110000, 0x12ffff).ram(); map(0x130000, 0x13ffff).ram(); // Check me map(0x180000, 0x18000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_wordswap_r), FUNC(tc0510nio_device::halfword_wordswap_w)); - map(0x184000, 0x184001).w(FUNC(taitob_state::realpunc_video_ctrl_w)); + map(0x184000, 0x184001).w(FUNC(taitob_c_state::realpunc_video_ctrl_w)); map(0x188000, 0x188001).nopr(); map(0x188000, 0x188000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x188002, 0x188003).nopr(); map(0x188002, 0x188002).w("tc0140syt", FUNC(tc0140syt_device::master_comm_w)); - map(0x18c000, 0x18c001).w(FUNC(taitob_state::realpunc_output_w)); + map(0x18c000, 0x18c001).w(FUNC(taitob_c_state::realpunc_output_w)); map(0x200000, 0x27ffff).m(m_tc0180vcu, FUNC(tc0180vcu_device::tc0180vcu_memrw)); map(0x280000, 0x281fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x300000, 0x300001).rw("hd63484", FUNC(hd63484_device::status16_r), FUNC(hd63484_device::address16_w)); @@ -583,7 +583,7 @@ void taitob_state::realpunc_map(address_map &map) map(0x320002, 0x320002).w("tc0140syt", FUNC(tc0140syt_device::master_comm_w)); } -void taitob_state::realpunc_hd63484_map(address_map &map) +void taitob_c_state::realpunc_hd63484_map(address_map &map) { map(0x00000, 0x7ffff).ram(); } @@ -1701,9 +1701,9 @@ static INPUT_PORTS_START( realpunc ) PORT_BIT( 0x02, IP_ACTIVE_LOW,IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW,IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW,IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW,IPT_BUTTON2 ) PORT_NAME("Pad Photosensor 1 (N)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_state,realpunc_sensor, 0) - PORT_BIT( 0x20, IP_ACTIVE_LOW,IPT_BUTTON3 ) PORT_NAME("Pad Photosensor 2 (U)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_state,realpunc_sensor, 0) - PORT_BIT( 0x40, IP_ACTIVE_LOW,IPT_BUTTON4 ) PORT_NAME("Pad Photosensor 3 (D)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_state,realpunc_sensor, 0) + PORT_BIT( 0x10, IP_ACTIVE_LOW,IPT_BUTTON2 ) PORT_NAME("Pad Photosensor 1 (N)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_c_state,realpunc_sensor, 0) + PORT_BIT( 0x20, IP_ACTIVE_LOW,IPT_BUTTON3 ) PORT_NAME("Pad Photosensor 2 (U)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_c_state,realpunc_sensor, 0) + PORT_BIT( 0x40, IP_ACTIVE_LOW,IPT_BUTTON4 ) PORT_NAME("Pad Photosensor 3 (D)") PORT_CHANGED_MEMBER(DEVICE_SELF, taitob_c_state,realpunc_sensor, 0) PORT_BIT( 0x80, IP_ACTIVE_LOW,IPT_UNKNOWN ) INPUT_PORTS_END @@ -1757,13 +1757,13 @@ MACHINE_CONFIG_START(taitob_state::rastsag2) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1815,13 +1815,13 @@ MACHINE_CONFIG_START(taitob_state::masterw) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0040ioc", TC0040IOC, 0) - MCFG_TC0040IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0040IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0040IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0040IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0040IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0040IOC_READ_7_CB(IOPORT("IN2")) + tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0)); + tc0040ioc.read_0_callback().set_ioport("DSWA"); + tc0040ioc.read_1_callback().set_ioport("DSWB"); + tc0040ioc.read_2_callback().set_ioport("IN0"); + tc0040ioc.read_3_callback().set_ioport("IN1"); + tc0040ioc.write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + tc0040ioc.read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1850,13 +1850,13 @@ MACHINE_CONFIG_START(taitob_state::masterw) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2203, 24_MHz_XTAL / 8) /* 3 MHz */ - MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_AY8910_PORT_A_WRITE_CB(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) - MCFG_SOUND_ROUTE(0, "mono", 0.25) - MCFG_SOUND_ROUTE(1, "mono", 0.25) - MCFG_SOUND_ROUTE(2, "mono", 0.25) - MCFG_SOUND_ROUTE(3, "mono", 0.80) + ym2203_device &ymsnd(YM2203(config, m_ym, 24_MHz_XTAL / 8)); /* 3 MHz */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_a_write_callback().set_membank(m_audiobank).mask(0x03); + ymsnd.add_route(0, "mono", 0.25); + ymsnd.add_route(1, "mono", 0.25); + ymsnd.add_route(2, "mono", 0.25); + ymsnd.add_route(3, "mono", 0.80); MCFG_DEVICE_ADD("ciu", PC060HA, 0) MCFG_PC060HA_MASTER_CPU("maincpu") @@ -1894,13 +1894,13 @@ MACHINE_CONFIG_START(taitob_state::ashura) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1952,13 +1952,13 @@ MACHINE_CONFIG_START(taitob_state::crimec) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2011,13 +2011,13 @@ MACHINE_CONFIG_START(taitob_state::hitice) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2047,13 +2047,13 @@ MACHINE_CONFIG_START(taitob_state::hitice) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2203, 24_MHz_XTAL / 8) /* 3 MHz */ - MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_AY8910_PORT_A_WRITE_CB(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) - MCFG_SOUND_ROUTE(0, "mono", 0.25) - MCFG_SOUND_ROUTE(1, "mono", 0.25) - MCFG_SOUND_ROUTE(2, "mono", 0.25) - MCFG_SOUND_ROUTE(3, "mono", 0.80) + ym2203_device &ymsnd(YM2203(config, m_ym, 24_MHz_XTAL / 8)); /* 3 MHz */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_a_write_callback().set_membank(m_audiobank).mask(0x03); + ymsnd.add_route(0, "mono", 0.25); + ymsnd.add_route(1, "mono", 0.25); + ymsnd.add_route(2, "mono", 0.25); + ymsnd.add_route(3, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) @@ -2075,13 +2075,13 @@ MACHINE_CONFIG_START(taitob_state::rambo3p) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2134,13 +2134,13 @@ MACHINE_CONFIG_START(taitob_state::rambo3) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2195,13 +2195,13 @@ MACHINE_CONFIG_START(taitob_state::pbobble) MCFG_DEVICE_ADD("eeprom", EEPROM_SERIAL_93C46_16BIT) - MCFG_DEVICE_ADD("tc0640fio", TC0640FIO, 0) - MCFG_TC0640FIO_READ_0_CB(IOPORT("SERVICE")) - MCFG_TC0640FIO_READ_1_CB(IOPORT("COIN")) - MCFG_TC0640FIO_READ_2_CB(IOPORT("START")) - MCFG_TC0640FIO_READ_3_CB(IOPORT("P1_P2_A")) - MCFG_TC0640FIO_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0640FIO_READ_7_CB(IOPORT("P1_P2_B")) + TC0640FIO(config, m_tc0640fio, 0); + m_tc0640fio->read_0_callback().set_ioport("SERVICE"); + m_tc0640fio->read_1_callback().set_ioport("COIN"); + m_tc0640fio->read_2_callback().set_ioport("START"); + m_tc0640fio->read_3_callback().set_ioport("P1_P2_A"); + m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); MCFG_DEVICE_ADD("mb87078", MB87078, 0) MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) @@ -2259,13 +2259,13 @@ MACHINE_CONFIG_START(taitob_state::spacedx) MCFG_DEVICE_ADD("eeprom", EEPROM_SERIAL_93C46_16BIT) - MCFG_DEVICE_ADD("tc0640fio", TC0640FIO, 0) - MCFG_TC0640FIO_READ_0_CB(IOPORT("SERVICE")) - MCFG_TC0640FIO_READ_1_CB(IOPORT("COIN")) - MCFG_TC0640FIO_READ_2_CB(IOPORT("START")) - MCFG_TC0640FIO_READ_3_CB(IOPORT("P1_P2_A")) - MCFG_TC0640FIO_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0640FIO_READ_7_CB(IOPORT("P1_P2_B")) + TC0640FIO(config, m_tc0640fio, 0); + m_tc0640fio->read_0_callback().set_ioport("SERVICE"); + m_tc0640fio->read_1_callback().set_ioport("COIN"); + m_tc0640fio->read_2_callback().set_ioport("START"); + m_tc0640fio->read_3_callback().set_ioport("P1_P2_A"); + m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); MCFG_DEVICE_ADD("mb87078", MB87078, 0) MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) @@ -2320,13 +2320,13 @@ MACHINE_CONFIG_START(taitob_state::spacedxo) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2381,13 +2381,13 @@ MACHINE_CONFIG_START(taitob_state::qzshowby) MCFG_DEVICE_ADD("eeprom", EEPROM_SERIAL_93C46_16BIT) - MCFG_DEVICE_ADD("tc0640fio", TC0640FIO, 0) - MCFG_TC0640FIO_READ_0_CB(IOPORT("SERVICE")) - MCFG_TC0640FIO_READ_1_CB(IOPORT("COIN")) - MCFG_TC0640FIO_READ_2_CB(IOPORT("START")) - MCFG_TC0640FIO_READ_3_CB(IOPORT("P1_P2_A")) - MCFG_TC0640FIO_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0640FIO_READ_7_CB(IOPORT("P1_P2_B")) + TC0640FIO(config, m_tc0640fio, 0); + m_tc0640fio->read_0_callback().set_ioport("SERVICE"); + m_tc0640fio->read_1_callback().set_ioport("COIN"); + m_tc0640fio->read_2_callback().set_ioport("START"); + m_tc0640fio->read_3_callback().set_ioport("P1_P2_A"); + m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); MCFG_DEVICE_ADD("mb87078", MB87078, 0) MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) @@ -2442,13 +2442,13 @@ MACHINE_CONFIG_START(taitob_state::viofight) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2477,13 +2477,13 @@ MACHINE_CONFIG_START(taitob_state::viofight) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2203, 24_MHz_XTAL / 8) /* 3 MHz */ - MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_AY8910_PORT_A_WRITE_CB(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) - MCFG_SOUND_ROUTE(0, "mono", 0.25) - MCFG_SOUND_ROUTE(1, "mono", 0.25) - MCFG_SOUND_ROUTE(2, "mono", 0.25) - MCFG_SOUND_ROUTE(3, "mono", 0.80) + ym2203_device &ymsnd(YM2203(config, m_ym, 24_MHz_XTAL / 8)); /* 3 MHz */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_a_write_callback().set_membank(m_audiobank).mask(0x03); + ymsnd.add_route(0, "mono", 0.25); + ymsnd.add_route(1, "mono", 0.25); + ymsnd.add_route(2, "mono", 0.25); + ymsnd.add_route(3, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 4.224_MHz_XTAL / 4, okim6295_device::PIN7_HIGH) // 1.056MHz clock frequency, but pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) @@ -2505,13 +2505,13 @@ MACHINE_CONFIG_START(taitob_state::silentd) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2563,13 +2563,13 @@ MACHINE_CONFIG_START(taitob_state::selfeena) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2630,13 +2630,13 @@ MACHINE_CONFIG_START(taitob_state::ryujin) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0) - MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0220IOC_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0220IOC_READ_2_CB(IOPORT("IN0")) - MCFG_TC0220IOC_READ_3_CB(IOPORT("IN1")) - MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2")) + TC0220IOC(config, m_tc0220ioc, 0); + m_tc0220ioc->read_0_callback().set_ioport("DSWA"); + m_tc0220ioc->read_1_callback().set_ioport("DSWB"); + m_tc0220ioc->read_2_callback().set_ioport("IN0"); + m_tc0220ioc->read_3_callback().set_ioport("IN1"); + m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0220ioc->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2695,13 +2695,13 @@ MACHINE_CONFIG_START(taitob_state::sbm) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0510nio", TC0510NIO, 0) - MCFG_TC0510NIO_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0510NIO_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0510NIO_READ_2_CB(IOPORT("JOY")) - MCFG_TC0510NIO_READ_3_CB(IOPORT("START")) - MCFG_TC0510NIO_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0510NIO_READ_7_CB(IOPORT("PHOTOSENSOR")) + TC0510NIO(config, m_tc0510nio, 0); + m_tc0510nio->read_0_callback().set_ioport("DSWA"); + m_tc0510nio->read_1_callback().set_ioport("DSWB"); + m_tc0510nio->read_2_callback().set_ioport("JOY"); + m_tc0510nio->read_3_callback().set_ioport("START"); + m_tc0510nio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); + m_tc0510nio->read_7_callback().set_ioport("PHOTOSENSOR"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2752,13 +2752,13 @@ MACHINE_CONFIG_START(taitob_c_state::realpunc) MCFG_QUANTUM_TIME(attotime::from_hz(600)) - MCFG_DEVICE_ADD("tc0510nio", TC0510NIO, 0) - MCFG_TC0510NIO_READ_0_CB(IOPORT("DSWA")) - MCFG_TC0510NIO_READ_1_CB(IOPORT("DSWB")) - MCFG_TC0510NIO_READ_2_CB(IOPORT("IN0")) - MCFG_TC0510NIO_READ_3_CB(IOPORT("IN1")) - MCFG_TC0510NIO_WRITE_4_CB(WRITE8(*this, taitob_state, player_12_coin_ctrl_w)) - MCFG_TC0510NIO_READ_7_CB(IOPORT("IN2")) + TC0510NIO(config, m_tc0510nio, 0); + m_tc0510nio->read_0_callback().set_ioport("DSWA"); + m_tc0510nio->read_1_callback().set_ioport("DSWB"); + m_tc0510nio->read_2_callback().set_ioport("IN0"); + m_tc0510nio->read_3_callback().set_ioport("IN1"); + m_tc0510nio->write_4_callback().set(FUNC(taitob_c_state::player_12_coin_ctrl_w)); + m_tc0510nio->read_7_callback().set_ioport("IN2"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2766,13 +2766,13 @@ MACHINE_CONFIG_START(taitob_c_state::realpunc) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_realpunc) + MCFG_SCREEN_UPDATE_DRIVER(taitob_c_state, screen_update_realpunc) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank)) MCFG_PALETTE_ADD("palette", 4096) MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx) - MCFG_VIDEO_START_OVERRIDE(taitob_state,realpunc) + MCFG_VIDEO_START_OVERRIDE(taitob_c_state,realpunc) MCFG_HD63484_ADD("hd63484", 0, realpunc_hd63484_map) MCFG_HD63484_AUTO_CONFIGURE_SCREEN(false) |