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, 130 insertions, 120 deletions
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index f3917a6c2a9..5095e5590df 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -1949,39 +1949,39 @@ WRITE_LINE_MEMBER(cischeat_state::sound_irq)
-void cischeat_state::bigrun(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::bigrun)
+
/* basic machine hardware */
- 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("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_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("cpu2", M68000, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(bigrun_map2)
+ 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("cpu3", M68000, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(bigrun_map3)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cischeat_state, irq4_line_hold)
- M68000(config, m_soundcpu, 6000000);
- m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::bigrun_sound_map);
+ MCFG_DEVICE_ADD("soundcpu", M68000, 6000000)
+ MCFG_DEVICE_PROGRAM_MAP(bigrun_sound_map)
// timing set by the YM irqhandler
-// m_soundcpu->set_periodic_int(FUNC(cischeat_state::irq4_line_hold), attotime::from_hz(16*30));
+// MCFG_DEVICE_PERIODIC_INT_DRIVER(cischeat_state, irq4_line_hold, 16*30)
- config.m_minimum_quantum = attotime::from_hz(1200);
+ MCFG_QUANTUM_TIME(attotime::from_hz(1200))
/* video hardware */
- 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);
+ 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)
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x4000/2);
m_palette->enable_shadows();
@@ -2002,34 +2002,38 @@ void cischeat_state::bigrun(machine_config &config)
ymsnd.add_route(0, "lspeaker", 0.50);
ymsnd.add_route(1, "rspeaker", 0.50);
- 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("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_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);
-}
+ 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
-void cischeat_state::cischeat(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::cischeat)
bigrun(config);
/* basic machine hardware */
- m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map);
+ MCFG_DEVICE_MODIFY("cpu1")
+ MCFG_DEVICE_PROGRAM_MAP(cischeat_map)
- m_cpu2->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map2);
+ MCFG_DEVICE_MODIFY("cpu2")
+ MCFG_DEVICE_PROGRAM_MAP(cischeat_map2)
- m_cpu3->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_map3);
+ MCFG_DEVICE_MODIFY("cpu3")
+ MCFG_DEVICE_PROGRAM_MAP(cischeat_map3)
- m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::cischeat_sound_map);
+ MCFG_DEVICE_MODIFY("soundcpu")
+ MCFG_DEVICE_PROGRAM_MAP(cischeat_sound_map)
/* video hardware */
- 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_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_gfxdecode->set_info(gfx_cischeat);
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_cischeat)
m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_tmap[0]->set_colorbase(0x1c00/2);
@@ -2040,27 +2044,30 @@ void cischeat_state::cischeat(machine_config &config)
m_tmap[2]->set_colorbase(0x6c00/2);
m_tmap[2]->set_bits_per_color_code(5);
-}
+MACHINE_CONFIG_END
-void cischeat_state::f1gpstar(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::f1gpstar)
bigrun(config);
/* basic machine hardware */
- m_cpu1->set_clock(12000000);
- m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map);
+ MCFG_DEVICE_MODIFY("cpu1")
+ MCFG_DEVICE_CLOCK(12000000)
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map)
- m_cpu2->set_clock(12000000);
- m_cpu2->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map2);
+ MCFG_DEVICE_MODIFY("cpu2")
+ MCFG_DEVICE_CLOCK(12000000)
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map2)
- m_cpu3->set_clock(12000000);
- m_cpu3->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_map3);
+ MCFG_DEVICE_MODIFY("cpu3")
+ MCFG_DEVICE_CLOCK(12000000)
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstar_map3)
- m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstar_sound_map);
+ MCFG_DEVICE_MODIFY("soundcpu")
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstar_sound_map)
/* video hardware */
- m_gfxdecode->set_info(gfx_f1gpstar);
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_f1gpstar)
m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_tmap[0]->set_colorbase(0x1e00/2);
@@ -2069,32 +2076,34 @@ void cischeat_state::f1gpstar(machine_config &config)
m_tmap[2]->set_colorbase(0x6e00/2);
- m_screen->set_screen_update(FUNC(cischeat_state::screen_update_f1gpstar));
-}
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_f1gpstar)
+MACHINE_CONFIG_END
-void cischeat_state::f1gpstr2(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::f1gpstr2)
f1gpstar(config);
/* basic machine hardware */
- m_cpu1->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_map);
+ MCFG_DEVICE_MODIFY("cpu1")
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_map)
- m_soundcpu->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_sound_map);
+ MCFG_DEVICE_MODIFY("soundcpu")
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_sound_map)
- M68000(config, m_cpu5, 10000000);
- m_cpu5->set_addrmap(AS_PROGRAM, &cischeat_state::f1gpstr2_io_map);
+ MCFG_DEVICE_ADD("cpu5", M68000, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_io_map)
- config.m_minimum_quantum = attotime::from_hz(12000);
-}
+ MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+MACHINE_CONFIG_END
-void wildplt_state::wildplt(machine_config &config)
-{
+MACHINE_CONFIG_START(wildplt_state::wildplt)
f1gpstr2(config);
- m_cpu1->set_addrmap(AS_PROGRAM, &wildplt_state::wildplt_map);
-}
+ MCFG_DEVICE_MODIFY("cpu1")
+ MCFG_DEVICE_PROGRAM_MAP(wildplt_map)
+MACHINE_CONFIG_END
/**************************************************************************
@@ -2119,26 +2128,26 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::scudhamm_scanline)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-void cischeat_state::scudhamm(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::scudhamm)
+
/* basic machine hardware */
- 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);
+ 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)
WATCHDOG_TIMER(config, m_watchdog);
/* video hardware */
- 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);
+ 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)
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_palette->enable_shadows();
@@ -2149,14 +2158,14 @@ void cischeat_state::scudhamm(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- 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("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_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);
-}
+ 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
/**************************************************************************
@@ -2174,14 +2183,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::armchamp2_scanline)
m_maincpu->set_input_line(4, HOLD_LINE);
}
-void cischeat_state::armchmp2(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::armchmp2)
scudhamm(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &cischeat_state::armchmp2_map);
- subdevice<timer_device>("scantimer")->set_callback(FUNC(cischeat_state::armchamp2_scanline));
-}
+ 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
/**************************************************************************
@@ -2206,29 +2216,29 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::captflag_scanline)
m_maincpu->set_input_line(3, HOLD_LINE);
}
-void cischeat_state::captflag(machine_config &config)
-{
+MACHINE_CONFIG_START(cischeat_state::captflag)
+
/* basic machine hardware */
- 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_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)
- TICKET_DISPENSER(config, m_captflag_hopper, attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH );
+ MCFG_TICKET_DISPENSER_ADD("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 */
- 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);
+ 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)
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
m_palette->enable_shadows();
@@ -2236,8 +2246,8 @@ void cischeat_state::captflag(machine_config &config)
MEGASYS1_TILEMAP(config, m_tmap[2], m_palette, 0x4e00/2);
// Motors
- TIMER(config, m_captflag_motor_left).configure_generic(timer_device::expired_delegate());
- TIMER(config, m_captflag_motor_right).configure_generic(timer_device::expired_delegate());
+ MCFG_TIMER_ADD_NONE("motor_left")
+ MCFG_TIMER_ADD_NONE("motor_right")
// Layout
config.set_default_layout(layout_captflag);
@@ -2246,16 +2256,16 @@ void cischeat_state::captflag(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- 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("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_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);
-}
+ 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
/***************************************************************************