summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/tvc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tvc.cpp')
-rw-r--r--src/mame/drivers/tvc.cpp72
1 files changed, 38 insertions, 34 deletions
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index 87ceb62c42f..d089d76a57d 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -768,17 +768,17 @@ void tvc_exp(device_slot_interface &device)
MACHINE_CONFIG_START(tvc_state::tvc)
/* basic machine hardware */
- Z80(config, m_maincpu, 3125000);
- m_maincpu->set_addrmap(AS_PROGRAM, &tvc_state::tvc_mem);
- m_maincpu->set_addrmap(AS_IO, &tvc_state::tvc_io);
+ MCFG_DEVICE_ADD("maincpu",Z80, 3125000)
+ MCFG_DEVICE_PROGRAM_MAP(tvc_mem)
+ MCFG_DEVICE_IO_MAP(tvc_io)
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(50);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen.set_size(512, 240);
- screen.set_visarea(0, 512 - 1, 0, 240 - 1);
- screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE(512, 240)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512 - 1, 0, 240 - 1)
+ MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
PALETTE(config, m_palette, FUNC(tvc_state::tvc_palette), 16);
@@ -798,42 +798,46 @@ MACHINE_CONFIG_START(tvc_state::tvc)
m_sound->sndint_wr_callback().set(FUNC(tvc_state::int_ff_set));
m_sound->add_route(ALL_OUTPUTS, "mono", 0.75);
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->ack_handler().set(FUNC(tvc_state::centronics_ack));
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, tvc_state, centronics_ack))
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
/* cartridge */
- GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "tvc_cart", "bin,rom,crt");
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "tvc_cart")
+ MCFG_GENERIC_EXTENSIONS("bin,rom,crt")
/* expansion interface */
- TVCEXP_SLOT(config, m_expansions[0], tvc_exp , nullptr);
- m_expansions[0]->out_irq_callback().set_inputline(m_maincpu, 0);
- m_expansions[0]->out_nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
- TVCEXP_SLOT(config, m_expansions[1], tvc_exp , nullptr);
- m_expansions[1]->out_irq_callback().set_inputline(m_maincpu, 0);
- m_expansions[1]->out_nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
- TVCEXP_SLOT(config, m_expansions[2], tvc_exp , nullptr);
- m_expansions[2]->out_irq_callback().set_inputline(m_maincpu, 0);
- m_expansions[2]->out_nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
- TVCEXP_SLOT(config, m_expansions[3], tvc_exp , nullptr);
- m_expansions[3]->out_irq_callback().set_inputline(m_maincpu, 0);
- m_expansions[3]->out_nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
+ MCFG_DEVICE_ADD("exp1", TVCEXP_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(tvc_exp , nullptr, false)
+ MCFG_TVCEXP_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
+ MCFG_TVCEXP_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
+ MCFG_DEVICE_ADD("exp2", TVCEXP_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(tvc_exp , nullptr, false)
+ MCFG_TVCEXP_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
+ MCFG_TVCEXP_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
+ MCFG_DEVICE_ADD("exp3", TVCEXP_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(tvc_exp , nullptr, false)
+ MCFG_TVCEXP_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
+ MCFG_TVCEXP_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
+ MCFG_DEVICE_ADD("exp4", TVCEXP_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(tvc_exp , nullptr, false)
+ MCFG_TVCEXP_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
+ MCFG_TVCEXP_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
/* cassette */
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(tvc64_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED);
- m_cassette->set_interface("tvc_cass");
+ MCFG_CASSETTE_ADD( "cassette" )
+ MCFG_CASSETTE_FORMATS(tvc64_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED)
+ MCFG_CASSETTE_INTERFACE("tvc_cass")
/* quickload */
- MCFG_QUICKLOAD_ADD("quickload", tvc_state, tvc64, "cas", attotime::from_seconds(6))
+ MCFG_QUICKLOAD_ADD("quickload", tvc_state, tvc64, "cas", 6)
/* Software lists */
- SOFTWARE_LIST(config, "cart_list").set_original("tvc_cart");
- SOFTWARE_LIST(config, "cass_list").set_original("tvc_cass");
- SOFTWARE_LIST(config, "flop_list").set_original("tvc_flop");
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "tvc_cart")
+ MCFG_SOFTWARE_LIST_ADD("cass_list", "tvc_cass")
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "tvc_flop")
MACHINE_CONFIG_END
/* ROM definition */