summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/phc25.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/phc25.cpp')
-rw-r--r--src/mame/drivers/phc25.cpp70
1 files changed, 32 insertions, 38 deletions
diff --git a/src/mame/drivers/phc25.cpp b/src/mame/drivers/phc25.cpp
index ce75201c8c5..ca346dd36c0 100644
--- a/src/mame/drivers/phc25.cpp
+++ b/src/mame/drivers/phc25.cpp
@@ -308,12 +308,11 @@ void phc25_state::video_start()
/* Machine Driver */
-void phc25_state::phc25(machine_config &config)
-{
+MACHINE_CONFIG_START(phc25_state::phc25)
/* basic machine hardware */
- Z80(config, m_maincpu, XTAL(4'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &phc25_state::phc25_mem);
- m_maincpu->set_addrmap(AS_IO, &phc25_state::phc25_io);
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(phc25_mem)
+ MCFG_DEVICE_IO_MAP(phc25_io)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -321,56 +320,51 @@ void phc25_state::phc25(machine_config &config)
psg.port_a_read_callback().set_ioport("JOY0");
psg.port_b_read_callback().set_ioport("JOY1");
psg.add_route(ALL_OUTPUTS, "mono", 1.00);
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.15);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.15);
/* devices */
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(phc25_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- m_cassette->set_interface("phc25_cass");
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_FORMATS(phc25_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("phc25_cass")
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(phc25_state::write_centronics_busy));
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, phc25_state, write_centronics_busy))
- 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_TAG)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("16K");
/* software lists */
- SOFTWARE_LIST(config, "cass_list").set_original("phc25_cass");
-}
+ MCFG_SOFTWARE_LIST_ADD("cass_list", "phc25_cass")
+MACHINE_CONFIG_END
-void phc25_state::pal(machine_config &config)
-{
+MACHINE_CONFIG_START(phc25_state::pal)
phc25(config);
/* video hardware */
- SCREEN(config, "screen", SCREEN_TYPE_RASTER);
-
- MC6847_PAL(config, m_vdg, XTAL(4'433'619));
- m_vdg->set_screen("screen");
- m_vdg->fsync_wr_callback().set(FUNC(phc25_state::irq_w));
- m_vdg->input_callback().set(FUNC(phc25_state::video_ram_r));
- m_vdg->set_get_char_rom(FUNC(phc25_state::pal_char_rom_r));
- m_vdg->set_get_fixed_mode(mc6847_pal_device::MODE_GM2 | mc6847_pal_device::MODE_GM1 | mc6847_pal_device::MODE_INTEXT);
+ MCFG_SCREEN_MC6847_PAL_ADD(SCREEN_TAG, MC6847_TAG)
+
+ MCFG_DEVICE_ADD(MC6847_TAG, MC6847_PAL, XTAL(4'433'619))
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(*this, phc25_state, irq_w))
+ MCFG_MC6847_INPUT_CALLBACK(READ8(*this, phc25_state, video_ram_r))
+ MCFG_MC6847_CHARROM_CALLBACK(phc25_state, pal_char_rom_r)
+ MCFG_MC6847_FIXED_MODE(mc6847_pal_device::MODE_GM2 | mc6847_pal_device::MODE_GM1 | mc6847_pal_device::MODE_INTEXT)
// other lines not connected
-}
+MACHINE_CONFIG_END
-void phc25_state::ntsc(machine_config &config)
-{
+MACHINE_CONFIG_START(phc25_state::ntsc)
phc25(config);
/* video hardware */
- SCREEN(config, "screen", SCREEN_TYPE_RASTER);
-
- MC6847_NTSC(config, m_vdg, XTAL(3'579'545));
- m_vdg->set_screen("screen");
- m_vdg->fsync_wr_callback().set(FUNC(phc25_state::irq_w));
- m_vdg->input_callback().set(FUNC(phc25_state::video_ram_r));
- m_vdg->set_get_char_rom(FUNC(phc25_state::ntsc_char_rom_r));
- m_vdg->set_get_fixed_mode(mc6847_ntsc_device::MODE_GM2 | mc6847_ntsc_device::MODE_GM1 | mc6847_ntsc_device::MODE_INTEXT);
+ MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, MC6847_TAG)
+
+ MCFG_DEVICE_ADD(MC6847_TAG, MC6847_NTSC, XTAL(3'579'545))
+ MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(*this, phc25_state, irq_w))
+ MCFG_MC6847_INPUT_CALLBACK(READ8(*this, phc25_state, video_ram_r))
+ MCFG_MC6847_CHARROM_CALLBACK(phc25_state, ntsc_char_rom_r)
+ MCFG_MC6847_FIXED_MODE(mc6847_ntsc_device::MODE_GM2 | mc6847_ntsc_device::MODE_GM1 | mc6847_ntsc_device::MODE_INTEXT)
// other lines not connected
-}
+MACHINE_CONFIG_END
/* ROMs */