summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cischeat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cischeat.cpp')
-rw-r--r--src/mame/drivers/cischeat.cpp250
1 files changed, 120 insertions, 130 deletions
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 5095e5590df..f3917a6c2a9 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -1949,39 +1949,39 @@ WRITE_LINE_MEMBER(cischeat_state::sound_irq)
-MACHINE_CONFIG_START(cischeat_state::bigrun)
-
+void cischeat_state::bigrun(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("cpu1", M68000, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(bigrun_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, bigrun_scanline, "screen", 0, 1)
+ M68000(config, m_cpu1, 10000000);
+ m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::bigrun_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(cischeat_state::bigrun_scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("cpu2", M68000, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(bigrun_map2)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cischeat_state, irq4_line_hold)
+ M68000(config, m_cpu2, 10000000);
+ m_cpu2->set_addrmap(AS_PROGRAM, &cischeat_state::bigrun_map2);
+ m_cpu2->set_vblank_int("screen", FUNC(cischeat_state::irq4_line_hold));
- MCFG_DEVICE_ADD("cpu3", M68000, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(bigrun_map3)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cischeat_state, irq4_line_hold)
+ M68000(config, m_cpu3, 10000000);
+ m_cpu3->set_addrmap(AS_PROGRAM, &cischeat_state::bigrun_map3);
+ m_cpu3->set_vblank_int("screen", FUNC(cischeat_state::irq4_line_hold));
- MCFG_DEVICE_ADD("soundcpu", M68000, 6000000)
- MCFG_DEVICE_PROGRAM_MAP(bigrun_sound_map)
+ M68000(config, m_soundcpu, 6000000);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::bigrun_sound_map);
// timing set by the YM irqhandler
-// MCFG_DEVICE_PERIODIC_INT_DRIVER(cischeat_state, irq4_line_hold, 16*30)
+// m_soundcpu->set_periodic_int(FUNC(cischeat_state::irq4_line_hold), attotime::from_hz(16*30));
- MCFG_QUANTUM_TIME(attotime::from_hz(1200))
+ config.m_minimum_quantum = attotime::from_hz(1200);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_bigrun)
- MCFG_SCREEN_PALETTE(m_palette)
-
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bigrun)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(0, 256-1, 0+16, 256-16-1);
+ m_screen->set_screen_update(FUNC(cischeat_state::screen_update_bigrun));
+ m_screen->set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_bigrun);
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x4000/2);
m_palette->enable_shadows();
@@ -2002,38 +2002,34 @@ MACHINE_CONFIG_START(cischeat_state::bigrun)
ymsnd.add_route(0, "lspeaker", 0.50);
ymsnd.add_route(1, "rspeaker", 0.50);
- MCFG_DEVICE_ADD("oki1", OKIM6295, 4000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
+ OKIM6295(config, m_oki1, 4000000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
+ m_oki1->add_route(ALL_OUTPUTS, "lspeaker", 0.25);
+ m_oki1->add_route(ALL_OUTPUTS, "rspeaker", 0.25);
- MCFG_DEVICE_ADD("oki2", OKIM6295, 4000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
-MACHINE_CONFIG_END
+ OKIM6295(config, m_oki2, 4000000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
+ m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.25);
+ m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.25);
+}
-MACHINE_CONFIG_START(cischeat_state::cischeat)
+void cischeat_state::cischeat(machine_config &config)
+{
bigrun(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("cpu1")
- MCFG_DEVICE_PROGRAM_MAP(cischeat_map)
+ m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map);
- MCFG_DEVICE_MODIFY("cpu2")
- MCFG_DEVICE_PROGRAM_MAP(cischeat_map2)
+ m_cpu2->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map2);
- MCFG_DEVICE_MODIFY("cpu3")
- MCFG_DEVICE_PROGRAM_MAP(cischeat_map3)
+ m_cpu3->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map3);
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(cischeat_sound_map)
+ m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_sound_map);
/* video hardware */
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-8-1)
- MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_cischeat)
+ m_screen->set_visarea(0, 256-1, 0+16, 256-16-8-1);
+ m_screen->set_screen_update(FUNC(cischeat_state::screen_update_cischeat));
- MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_cischeat)
+ m_gfxdecode->set_info(gfx_cischeat);
m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_tmap[0]->set_colorbase(0x1c00/2);
@@ -2044,30 +2040,27 @@ MACHINE_CONFIG_START(cischeat_state::cischeat)
m_tmap[2]->set_colorbase(0x6c00/2);
m_tmap[2]->set_bits_per_color_code(5);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(cischeat_state::f1gpstar)
+void cischeat_state::f1gpstar(machine_config &config)
+{
bigrun(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("cpu1")
- MCFG_DEVICE_CLOCK(12000000)
- MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map)
+ m_cpu1->set_clock(12000000);
+ m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map);
- MCFG_DEVICE_MODIFY("cpu2")
- MCFG_DEVICE_CLOCK(12000000)
- MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map2)
+ m_cpu2->set_clock(12000000);
+ m_cpu2->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map2);
- MCFG_DEVICE_MODIFY("cpu3")
- MCFG_DEVICE_CLOCK(12000000)
- MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map3)
+ m_cpu3->set_clock(12000000);
+ m_cpu3->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map3);
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(f1gpstar_sound_map)
+ m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_sound_map);
/* video hardware */
- MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_f1gpstar)
+ m_gfxdecode->set_info(gfx_f1gpstar);
m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_tmap[0]->set_colorbase(0x1e00/2);
@@ -2076,34 +2069,32 @@ MACHINE_CONFIG_START(cischeat_state::f1gpstar)
m_tmap[2]->set_colorbase(0x6e00/2);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_f1gpstar)
-MACHINE_CONFIG_END
+ m_screen->set_screen_update(FUNC(cischeat_state::screen_update_f1gpstar));
+}
-MACHINE_CONFIG_START(cischeat_state::f1gpstr2)
+void cischeat_state::f1gpstr2(machine_config &config)
+{
f1gpstar(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("cpu1")
- MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_map)
+ m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_map);
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_sound_map)
+ m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_sound_map);
- MCFG_DEVICE_ADD("cpu5", M68000, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_io_map)
+ M68000(config, m_cpu5, 10000000);
+ m_cpu5->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_io_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
-MACHINE_CONFIG_END
+ config.m_minimum_quantum = attotime::from_hz(12000);
+}
-MACHINE_CONFIG_START(wildplt_state::wildplt)
+void wildplt_state::wildplt(machine_config &config)
+{
f1gpstr2(config);
- MCFG_DEVICE_MODIFY("cpu1")
- MCFG_DEVICE_PROGRAM_MAP(wildplt_map)
-MACHINE_CONFIG_END
+ m_cpu1->set_addrmap(AS_PROGRAM, &wildplt_state::wildplt_map);
+}
/**************************************************************************
@@ -2128,26 +2119,26 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::scudhamm_scanline)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-MACHINE_CONFIG_START(cischeat_state::scudhamm)
-
+void cischeat_state::scudhamm(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",M68000, 12000000)
- MCFG_DEVICE_PROGRAM_MAP(scudhamm_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, scudhamm_scanline, "screen", 0, 1)
+ M68000(config, m_maincpu, 12000000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &cischeat_state::scudhamm_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(cischeat_state::scudhamm_scanline), "screen", 0, 1);
WATCHDOG_TIMER(config, m_watchdog);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(30) //TODO: wrong!
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */)
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0 +16, 256-1 -16)
- MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_scudhamm)
- MCFG_SCREEN_PALETTE(m_palette)
-
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_scudhamm)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
+ m_screen->set_refresh_hz(30); //TODO: wrong!
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */);
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16);
+ m_screen->set_screen_update(FUNC(cischeat_state::screen_update_scudhamm));
+ m_screen->set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_scudhamm);
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_palette->enable_shadows();
@@ -2158,14 +2149,14 @@ MACHINE_CONFIG_START(cischeat_state::scudhamm)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("oki1", OKIM6295, 4000000/2, okim6295_device::PIN7_HIGH) // pin 7 not verified
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
+ OKIM6295(config, m_oki1, 4000000/2, okim6295_device::PIN7_HIGH); // pin 7 not verified
+ m_oki1->add_route(ALL_OUTPUTS, "lspeaker", 0.5);
+ m_oki1->add_route(ALL_OUTPUTS, "rspeaker", 0.5);
- MCFG_DEVICE_ADD("oki2", OKIM6295, 4000000/2, okim6295_device::PIN7_HIGH) // pin 7 not verified
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
-MACHINE_CONFIG_END
+ OKIM6295(config, m_oki2, 4000000/2, okim6295_device::PIN7_HIGH); // pin 7 not verified
+ m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.5);
+ m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.5);
+}
/**************************************************************************
@@ -2183,15 +2174,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::armchamp2_scanline)
m_maincpu->set_input_line(4, HOLD_LINE);
}
-MACHINE_CONFIG_START(cischeat_state::armchmp2)
+void cischeat_state::armchmp2(machine_config &config)
+{
scudhamm(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(armchmp2_map)
- MCFG_TIMER_MODIFY("scantimer")
- MCFG_TIMER_DRIVER_CALLBACK(cischeat_state, armchamp2_scanline)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &cischeat_state::armchmp2_map);
+ subdevice<timer_device>("scantimer")->set_callback(FUNC(cischeat_state::armchamp2_scanline));
+}
/**************************************************************************
@@ -2216,29 +2206,29 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::captflag_scanline)
m_maincpu->set_input_line(3, HOLD_LINE);
}
-MACHINE_CONFIG_START(cischeat_state::captflag)
-
+void cischeat_state::captflag(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",M68000, XTAL(24'000'000) / 2) // TMP68000P-12
- MCFG_DEVICE_PROGRAM_MAP(captflag_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, captflag_scanline, "screen", 0, 1)
+ M68000(config, m_maincpu, XTAL(24'000'000) / 2); // TMP68000P-12
+ m_maincpu->set_addrmap(AS_PROGRAM, &cischeat_state::captflag_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(cischeat_state::captflag_scanline), "screen", 0, 1);
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
+ TICKET_DISPENSER(config, m_captflag_hopper, attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH );
WATCHDOG_TIMER(config, m_watchdog);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
-// MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(30) //TODO: wrong!
-// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */)
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0 +16, 256-1 -16)
- MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_scudhamm)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_scudhamm)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+// m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
+ m_screen->set_refresh_hz(30); //TODO: wrong!
+// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */);
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16);
+ m_screen->set_screen_update(FUNC(cischeat_state::screen_update_scudhamm));
+ m_screen->set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_scudhamm);
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_palette->enable_shadows();
@@ -2246,8 +2236,8 @@ MACHINE_CONFIG_START(cischeat_state::captflag)
MEGASYS1_TILEMAP(config, m_tmap[2], m_palette, 0x4e00/2);
// Motors
- MCFG_TIMER_ADD_NONE("motor_left")
- MCFG_TIMER_ADD_NONE("motor_right")
+ TIMER(config, m_captflag_motor_left).configure_generic(timer_device::expired_delegate());
+ TIMER(config, m_captflag_motor_right).configure_generic(timer_device::expired_delegate());
// Layout
config.set_default_layout(layout_captflag);
@@ -2256,16 +2246,16 @@ MACHINE_CONFIG_START(cischeat_state::captflag)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("oki1", OKIM6295, 4000000/2, okim6295_device::PIN7_HIGH) // pin 7 not verified
- MCFG_DEVICE_ADDRESS_MAP(0, captflag_oki1_map)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
+ OKIM6295(config, m_oki1, 4000000/2, okim6295_device::PIN7_HIGH); // pin 7 not verified
+ m_oki1->set_addrmap(0, &cischeat_state::captflag_oki1_map);
+ m_oki1->add_route(ALL_OUTPUTS, "lspeaker", 0.5);
+ m_oki1->add_route(ALL_OUTPUTS, "rspeaker", 0.5);
- MCFG_DEVICE_ADD("oki2", OKIM6295, 4000000/2, okim6295_device::PIN7_HIGH) // pin 7 not verified
- MCFG_DEVICE_ADDRESS_MAP(0, captflag_oki2_map)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5)
-MACHINE_CONFIG_END
+ OKIM6295(config, m_oki2, 4000000/2, okim6295_device::PIN7_HIGH); // pin 7 not verified
+ m_oki2->set_addrmap(0, &cischeat_state::captflag_oki2_map);
+ m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.5);
+ m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.5);
+}
/***************************************************************************