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.cpp215
1 files changed, 103 insertions, 112 deletions
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index d4392aaf2b9..f3917a6c2a9 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -1949,37 +1949,37 @@ 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)
+ 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));
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)
+ 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);
@@ -2002,36 +2002,32 @@ 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));
m_gfxdecode->set_info(gfx_cischeat);
m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 0x8000/2);
@@ -2044,27 +2040,24 @@ 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 */
m_gfxdecode->set_info(gfx_f1gpstar);
@@ -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);
config.m_minimum_quantum = attotime::from_hz(12000);
-MACHINE_CONFIG_END
+}
-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,24 +2119,24 @@ 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)
+ 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)
+ 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);
@@ -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,14 +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)
+ m_maincpu->set_addrmap(AS_PROGRAM, &cischeat_state::armchmp2_map);
subdevice<timer_device>("scantimer")->set_callback(FUNC(cischeat_state::armchamp2_scanline));
-MACHINE_CONFIG_END
+}
/**************************************************************************
@@ -2215,11 +2206,11 @@ 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)
+ 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);
TICKET_DISPENSER(config, m_captflag_hopper, attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH );
@@ -2228,14 +2219,14 @@ MACHINE_CONFIG_START(cischeat_state::captflag)
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")
+ 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);
@@ -2255,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);
+}
/***************************************************************************