summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fp1100.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fp1100.cpp')
-rw-r--r--src/mame/drivers/fp1100.cpp43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/mame/drivers/fp1100.cpp b/src/mame/drivers/fp1100.cpp
index a6dd5521607..cfa68976a50 100644
--- a/src/mame/drivers/fp1100.cpp
+++ b/src/mame/drivers/fp1100.cpp
@@ -638,13 +638,12 @@ void fp1100_state::init_fp1100()
membank("bankw0")->configure_entry(0, &wram[0x0000]);
}
-void fp1100_state::fp1100(machine_config &config)
-{
+MACHINE_CONFIG_START(fp1100_state::fp1100)
/* basic machine hardware */
- Z80(config, m_maincpu, MAIN_CLOCK/4);
- m_maincpu->set_addrmap(AS_PROGRAM, &fp1100_state::main_map);
- m_maincpu->set_addrmap(AS_IO, &fp1100_state::io_map);
- m_maincpu->set_vblank_int("screen", FUNC(fp1100_state::vblank_irq));
+ MCFG_DEVICE_ADD("maincpu", Z80, MAIN_CLOCK/4)
+ MCFG_DEVICE_PROGRAM_MAP(main_map)
+ MCFG_DEVICE_IO_MAP(io_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fp1100_state, vblank_irq)
upd7801_device &sub(UPD7801(config, m_subcpu, MAIN_CLOCK/4));
sub.set_addrmap(AS_PROGRAM, &fp1100_state::sub_map);
@@ -656,14 +655,14 @@ void fp1100_state::fp1100(machine_config &config)
sub.txd_func().set(FUNC(fp1100_state::cass_w));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen.set_size(640, 480);
- screen.set_visarea_full();
- screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
- PALETTE(config, m_palette).set_entries(8);
- GFXDECODE(config, "gfxdecode", m_palette, gfx_fp1100);
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE(640, 480)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+ MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
+ MCFG_PALETTE_ADD("palette", 8)
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fp1100)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -678,17 +677,15 @@ void fp1100_state::fp1100(machine_config &config)
m_crtc->set_update_row_callback(FUNC(fp1100_state::crtc_update_row), this);
/* Printer */
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(fp1100_state::centronics_busy_w));
-
- output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(latch);
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fp1100_state, centronics_busy_w))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
/* Cassette */
- CASSETTE(config, m_cass);
- m_cass->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- TIMER(config, "timer_c").configure_periodic(FUNC(fp1100_state::timer_c), attotime::from_hz(4800)); // cass write
-}
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_c", fp1100_state, timer_c, attotime::from_hz(4800)) // cass write
+MACHINE_CONFIG_END
/* ROM definition */
ROM_START( fp1100 )