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