summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/namcos22.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/namcos22.cpp')
-rw-r--r--src/mame/drivers/namcos22.cpp164
1 files changed, 81 insertions, 83 deletions
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index c91fc4628c6..9fdb6eeeed2 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -3377,8 +3377,8 @@ static INPUT_PORTS_START( alpiner )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 ) // Decision / View Change
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY // L Selection
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_16WAY // R Selection
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state, alpine_motor_read, 0) // steps are free
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state, alpine_motor_read, 1) // steps are locked
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state, alpine_motor_read, (void *)0) // steps are free
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state, alpine_motor_read, (void *)1) // steps are locked
PORT_BIT( 0xfe00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("ADC.0")
@@ -3877,12 +3877,12 @@ void namcos22_state::machine_start()
}
// System22
-void namcos22_state::namcos22(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::namcos22)
+
/* basic machine hardware */
- M68020(config, m_maincpu, 49.152_MHz_XTAL/2); // MC68020RP25E
- m_maincpu->set_addrmap(AS_PROGRAM, &namcos22_state::namcos22_am);
- m_maincpu->set_vblank_int("screen", FUNC(namcos22_state::namcos22_interrupt));
+ MCFG_DEVICE_ADD("maincpu", M68020, 49.152_MHz_XTAL/2) // MC68020RP25E
+ MCFG_DEVICE_PROGRAM_MAP(namcos22_am)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22_interrupt)
tms32025_device& master(TMS32025(config, m_master, 40_MHz_XTAL));
master.set_addrmap(AS_PROGRAM, &namcos22_state::master_dsp_program);
@@ -3894,7 +3894,7 @@ void namcos22_state::namcos22(machine_config &config)
master.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
master.dr_in_cb().set(FUNC(namcos22_state::master_serial_io_r));
master.set_vblank_int("screen", FUNC(namcos22_state::dsp_vblank_irq));
- TIMER(config, "dsp_serial").configure_periodic(FUNC(namcos22_state::dsp_serial_pulse), attotime::from_hz(SERIAL_IO_PERIOD));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dsp_serial", namcos22_state, dsp_serial_pulse, attotime::from_hz(SERIAL_IO_PERIOD))
tms32025_device& slave(TMS32025(config, m_slave, 40_MHz_XTAL));
slave.set_addrmap(AS_PROGRAM, &namcos22_state::slave_dsp_program);
@@ -3906,141 +3906,140 @@ void namcos22_state::namcos22(machine_config &config)
slave.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
slave.dx_out_cb().set(FUNC(namcos22_state::slave_serial_io_w));
- NAMCO_C74(config, m_mcu, 49.152_MHz_XTAL/3); // C74 on the CPU board has no periodic interrupts, it runs entirely off Timer A0
- m_mcu->set_addrmap(AS_PROGRAM, &namcos22_state::mcu_s22_program);
- m_mcu->set_addrmap(AS_IO, &namcos22_state::mcu_s22_io);
+ MCFG_DEVICE_ADD("mcu", NAMCO_C74, 49.152_MHz_XTAL/3) // C74 on the CPU board has no periodic interrupts, it runs entirely off Timer A0
+ MCFG_DEVICE_PROGRAM_MAP(mcu_s22_program)
+ MCFG_DEVICE_IO_MAP(mcu_s22_io)
- NAMCO_C74(config, m_iomcu, 6.144_MHz_XTAL);
- m_iomcu->set_addrmap(AS_PROGRAM, &namcos22_state::iomcu_s22_program);
- m_iomcu->set_addrmap(AS_IO, &namcos22_state::iomcu_s22_io);
+ MCFG_DEVICE_ADD("iomcu", NAMCO_C74, 6.144_MHz_XTAL)
+ MCFG_DEVICE_PROGRAM_MAP(iomcu_s22_program)
+ MCFG_DEVICE_IO_MAP(iomcu_s22_io)
EEPROM_2864(config, "eeprom").write_time(attotime::zero);
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- //m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
- m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
- m_screen->set_screen_update(FUNC(namcos22_state::screen_update_namcos22));
- m_screen->screen_vblank().set(FUNC(namcos22_state::screen_vblank));
+ MCFG_SCREEN_ADD("screen", RASTER)
+ //MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
+ MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
+ MCFG_SCREEN_UPDATE_DRIVER(namcos22_state, screen_update_namcos22)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, namcos22_state, screen_vblank))
- PALETTE(config, m_palette).set_entries(0x8000);
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_namcos22);
+ MCFG_PALETTE_ADD("palette", 0x8000)
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_namcos22)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- C352(config, m_c352, 49.152_MHz_XTAL/2, 288);
- m_c352->add_route(0, "lspeaker", 1.00);
- m_c352->add_route(1, "rspeaker", 1.00);
-}
+ MCFG_DEVICE_ADD("c352", C352, 49.152_MHz_XTAL/2, 288)
+ MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
+ MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
+MACHINE_CONFIG_END
-void namcos22_state::cybrcomm(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::cybrcomm)
namcos22(config);
SPEAKER(config, "rear_left").rear_left();
SPEAKER(config, "rear_right").rear_right();
- m_c352->add_route(2, "rear_left", 1.00);
- m_c352->add_route(3, "rear_right", 1.00);
-}
+ MCFG_DEVICE_MODIFY("c352")
+ MCFG_SOUND_ROUTE(2, "rear_left", 1.00)
+ MCFG_SOUND_ROUTE(3, "rear_right", 1.00)
+MACHINE_CONFIG_END
// System Super22
-void namcos22_state::namcos22s(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::namcos22s)
namcos22(config);
/* basic machine hardware */
- M68EC020(config.replace(), m_maincpu, 49.152_MHz_XTAL/2); // MC68EC020FG25
- m_maincpu->set_addrmap(AS_PROGRAM, &namcos22_state::namcos22s_am);
- m_maincpu->set_vblank_int("screen", FUNC(namcos22_state::namcos22s_interrupt));
+ MCFG_DEVICE_REPLACE("maincpu", M68EC020, 49.152_MHz_XTAL/2) // MC68EC020FG25
+ MCFG_DEVICE_PROGRAM_MAP(namcos22s_am)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22s_interrupt)
- M37710S4(config.replace(), m_mcu, 49.152_MHz_XTAL/3);
- m_mcu->set_addrmap(AS_PROGRAM, &namcos22_state::mcu_program);
- m_mcu->set_addrmap(AS_IO, &namcos22_state::mcu_io);
- TIMER(config, "mcu_irq").configure_scanline(FUNC(namcos22_state::mcu_irq), "screen", 0, 240);
- config.m_minimum_quantum = attotime::from_hz(9000); // erratic inputs otherwise, probably mcu vs maincpu shareram
+ MCFG_DEVICE_REPLACE("mcu", M37710S4, 49.152_MHz_XTAL/3)
+ MCFG_DEVICE_PROGRAM_MAP(mcu_program)
+ MCFG_DEVICE_IO_MAP(mcu_io)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("mcu_irq", namcos22_state, mcu_irq, "screen", 0, 240)
+ MCFG_QUANTUM_TIME(attotime::from_hz(9000)) // erratic inputs otherwise, probably mcu vs maincpu shareram
- config.device_remove("iomcu");
+ MCFG_DEVICE_REMOVE("iomcu")
MB87078(config, m_mb87078);
m_mb87078->gain_changed().set(FUNC(namcos22_state::mb87078_gain_changed));
/* video hardware */
- m_screen->set_screen_update(FUNC(namcos22_state::screen_update_namcos22s));
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_UPDATE_DRIVER(namcos22_state, screen_update_namcos22s)
- GFXDECODE(config.replace(), m_gfxdecode, m_palette, gfx_super);
-}
+ MCFG_DEVICE_REPLACE("gfxdecode", GFXDECODE, "palette", gfx_super)
+MACHINE_CONFIG_END
-void namcos22_state::airco22b(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::airco22b)
namcos22s(config);
SPEAKER(config, "bodysonic").subwoofer();
- m_c352->add_route(2, "bodysonic", 0.50); // to subwoofer
-}
+ MCFG_DEVICE_MODIFY("c352")
+ MCFG_SOUND_ROUTE(2, "bodysonic", 0.50) // to subwoofer
+MACHINE_CONFIG_END
-void namcos22_state::alpine(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::alpine)
namcos22s(config);
- m_mcu->set_addrmap(AS_IO, &namcos22_state::alpine_io_map);
+ MCFG_DEVICE_MODIFY("mcu")
+ MCFG_DEVICE_IO_MAP(alpine_io_map)
- TIMER(config, m_motor_timer).configure_generic(FUNC(namcos22_state::alpine_steplock_callback));
-}
+ MCFG_TIMER_DRIVER_ADD("motor_timer", namcos22_state, alpine_steplock_callback)
+MACHINE_CONFIG_END
-void namcos22_state::alpinesa(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::alpinesa)
alpine(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &namcos22_state::alpinesa_am);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(alpinesa_am)
+MACHINE_CONFIG_END
-void namcos22_state::cybrcycc(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::cybrcycc)
namcos22s(config);
SPEAKER(config, "tank", 0.0, 0.0, 0.0);
- m_c352->add_route(2, "tank", 1.00);
-}
+ MCFG_DEVICE_MODIFY("c352")
+ MCFG_SOUND_ROUTE(2, "tank", 1.00)
+MACHINE_CONFIG_END
-void namcos22_state::dirtdash(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::dirtdash)
namcos22s(config);
SPEAKER(config, "road", 0.0, 0.0, 0.0);
- m_c352->add_route(3, "road", 1.00);
-}
+ MCFG_DEVICE_MODIFY("c352")
+ MCFG_SOUND_ROUTE(3, "road", 1.00)
+MACHINE_CONFIG_END
-void namcos22_state::timecris(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::timecris)
namcos22s(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &namcos22_state::timecris_am);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(timecris_am)
+MACHINE_CONFIG_END
-void namcos22_state::tokyowar(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::tokyowar)
namcos22s(config);
SPEAKER(config, "vibration").subwoofer();
SPEAKER(config, "seat").rear_center();
- m_c352->add_route(2, "vibration", 0.50); // to "bass shaker"
- m_c352->add_route(3, "seat", 1.00);
-}
+ MCFG_DEVICE_MODIFY("c352")
+ MCFG_SOUND_ROUTE(2, "vibration", 0.50) // to "bass shaker"
+ MCFG_SOUND_ROUTE(3, "seat", 1.00)
+MACHINE_CONFIG_END
-void namcos22_state::propcycl(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::propcycl)
namcos22s(config);
- TIMER(config, "pc_p_upd").configure_periodic(FUNC(namcos22_state::propcycl_pedal_update), attotime::from_msec(20));
- TIMER(config, m_pc_pedal_interrupt).configure_generic(FUNC(namcos22_state::propcycl_pedal_interrupt));
-}
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("pc_p_upd", namcos22_state, propcycl_pedal_update, attotime::from_msec(20))
+ MCFG_TIMER_DRIVER_ADD("pc_p_int", namcos22_state, propcycl_pedal_interrupt)
+MACHINE_CONFIG_END
MACHINE_START_MEMBER(namcos22_state,adillor)
{
@@ -4050,13 +4049,12 @@ MACHINE_START_MEMBER(namcos22_state,adillor)
elem = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcos22_state::adillor_trackball_interrupt),this));
}
-void namcos22_state::adillor(machine_config &config)
-{
+MACHINE_CONFIG_START(namcos22_state::adillor)
namcos22s(config);
- TIMER(config, "ar_tb_upd").configure_periodic(FUNC(namcos22_state::adillor_trackball_update), attotime::from_msec(20));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("ar_tb_upd", namcos22_state, adillor_trackball_update, attotime::from_msec(20))
MCFG_MACHINE_START_OVERRIDE(namcos22_state,adillor)
-}
+MACHINE_CONFIG_END