diff options
Diffstat (limited to 'src/mame/drivers/vc4000.cpp')
-rw-r--r-- | src/mame/drivers/vc4000.cpp | 92 |
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 ) |