summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/vc4000.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vc4000.cpp')
-rw-r--r--src/mame/drivers/vc4000.cpp92
1 files changed, 45 insertions, 47 deletions
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index 8dc0794b607..23278f2a022 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -526,80 +526,78 @@ static void vc4000_cart(device_slot_interface &device)
}
-MACHINE_CONFIG_START(vc4000_state::vc4000)
+void vc4000_state::vc4000(machine_config &config)
+{
/* basic machine hardware */
// MCFG_DEVICE_ADD("maincpu", S2650, 865000) /* 3550000/4, 3580000/3, 4430000/3 */
- MCFG_DEVICE_ADD("maincpu", S2650, 3546875/4)
- MCFG_DEVICE_PROGRAM_MAP(vc4000_mem)
- MCFG_S2650_SENSE_INPUT(READLINE(*this, vc4000_state, vc4000_vsync_r))
- MCFG_DEVICE_PERIODIC_INT_DRIVER(vc4000_state, vc4000_video_line, 312*53) // GOLF needs this exact value
+ S2650(config, m_maincpu, 3546875/4);
+ m_maincpu->set_addrmap(AS_PROGRAM, &vc4000_state::vc4000_mem);
+ m_maincpu->sense_handler().set(FUNC(vc4000_state::vc4000_vsync_r));
+ m_maincpu->set_periodic_int(FUNC(vc4000_state::vc4000_video_line), attotime::from_hz(312*53)); // GOLF needs this exact value
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_SIZE(226, 312)
- MCFG_SCREEN_VISIBLE_AREA(8, 184, 0, 269)
- MCFG_SCREEN_UPDATE_DRIVER(vc4000_state, screen_update_vc4000)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(50);
+ m_screen->set_size(226, 312);
+ m_screen->set_visarea(8, 184, 0, 269);
+ m_screen->set_screen_update(FUNC(vc4000_state::screen_update_vc4000));
+ m_screen->set_palette("palette");
- MCFG_PALETTE_ADD("palette", 8)
- MCFG_PALETTE_INIT_OWNER(vc4000_state, vc4000)
+ PALETTE(config, "palette", 8).set_init(FUNC(vc4000_state::palette_init_vc4000));
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("custom", VC4000_SND, 0)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+ VC4000_SND(config, m_custom, 0).add_route(ALL_OUTPUTS, "mono", 0.50);
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", vc4000_state, vc4000, "pgm,tvc", 0)
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", 0));
+ quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(vc4000_state, vc4000), this), "pgm,tvc", 0);
/* cartridge */
- MCFG_VC4000_CARTRIDGE_ADD("cartslot", vc4000_cart, nullptr)
+ VC4000_CART_SLOT(config, "cartslot", vc4000_cart, nullptr);
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "vc4000")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("vc4000");
+}
-MACHINE_CONFIG_START(vc4000_state::cx3000tc)
+void vc4000_state::cx3000tc(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "cx3000tc")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("cx3000tc");
+}
-MACHINE_CONFIG_START(vc4000_state::mpu1000)
+void vc4000_state::mpu1000(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "mpu1000")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("mpu1000");
+}
-MACHINE_CONFIG_START(vc4000_state::database)
+void vc4000_state::database(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "database")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("database");
+}
-MACHINE_CONFIG_START(vc4000_state::rwtrntcs)
+void vc4000_state::rwtrntcs(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "rwtrntcs")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("rwtrntcs");
+}
-MACHINE_CONFIG_START(vc4000_state::h21)
+void vc4000_state::h21(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_REMOVE("cartslot")
- MCFG_H21_CARTRIDGE_ADD("cartslot", vc4000_cart, nullptr)
-
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "h21")
-MACHINE_CONFIG_END
+ H21_CART_SLOT(config.replace(), "cartslot", vc4000_cart, nullptr);
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("h21");
+}
-MACHINE_CONFIG_START(vc4000_state::elektor)
+void vc4000_state::elektor(machine_config &config)
+{
vc4000(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(elektor_mem)
- MCFG_CASSETTE_ADD( "cassette" )
+ m_maincpu->set_addrmap(AS_PROGRAM, &vc4000_state::elektor_mem);
+ CASSETTE(config, "cassette");
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
-MACHINE_CONFIG_END
+}
ROM_START( vc4000 )