diff options
Diffstat (limited to 'src/mame/drivers/m20.cpp')
-rw-r--r-- | src/mame/drivers/m20.cpp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp index 28d5b810d6f..a1d07ace980 100644 --- a/src/mame/drivers/m20.cpp +++ b/src/mame/drivers/m20.cpp @@ -790,31 +790,30 @@ static void keyboard(device_slot_interface &device) device.option_add("m20", M20_KEYBOARD); } -void m20_state::m20(machine_config &config) -{ +MACHINE_CONFIG_START(m20_state::m20) /* basic machine hardware */ - Z8001(config, m_maincpu, MAIN_CLOCK); - m_maincpu->set_addrmap(AS_PROGRAM, &m20_state::m20_program_mem); - m_maincpu->set_addrmap(AS_DATA, &m20_state::m20_data_mem); - m_maincpu->set_addrmap(AS_IO, &m20_state::m20_io); - m_maincpu->set_irq_acknowledge_callback(FUNC(m20_state::m20_irq_callback)); + MCFG_DEVICE_ADD("maincpu", Z8001, MAIN_CLOCK) + MCFG_DEVICE_PROGRAM_MAP(m20_program_mem) + MCFG_DEVICE_DATA_MAP(m20_data_mem) + MCFG_DEVICE_IO_MAP(m20_io) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(m20_state,m20_irq_callback) RAM(config, RAM_TAG).set_default_size("160K").set_default_value(0).set_extra_options("128K,192K,224K,256K,384K,512K"); /* 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(512, 256); - screen.set_visarea(0, 512-1, 0, 256-1); - screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ + MCFG_SCREEN_SIZE(512, 256) + MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) + MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update) PALETTE(config, m_palette, palette_device::MONOCHROME); /* Devices */ FD1797(config, m_fd1797, 1000000); m_fd1797->intrq_wr_callback().set(m_i8259, FUNC(pic8259_device::ir0_w)); - FLOPPY_CONNECTOR(config, "fd1797:0", m20_floppies, "5dd", m20_state::floppy_formats); - FLOPPY_CONNECTOR(config, "fd1797:1", m20_floppies, "5dd", m20_state::floppy_formats); + MCFG_FLOPPY_DRIVE_ADD("fd1797:0", m20_floppies, "5dd", m20_state::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fd1797:1", m20_floppies, "5dd", m20_state::floppy_formats) mc6845_device &crtc(MC6845(config, "crtc", PIXEL_CLOCK/8)); /* hand tuned to get ~50 fps */ crtc.set_screen("screen"); @@ -850,10 +849,10 @@ void m20_state::m20(machine_config &config) rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); rs232.rxd_handler().set(m_ttyi8251, FUNC(i8251_device::write_rxd)); - M20_8086(config, m_apb, m_maincpu, m_i8259, RAM_TAG); + MCFG_DEVICE_ADD("apb", M20_8086, "maincpu", m_i8259, RAM_TAG) - SOFTWARE_LIST(config, "flop_list").set_original("m20"); -} + MCFG_SOFTWARE_LIST_ADD("flop_list","m20") +MACHINE_CONFIG_END ROM_START(m20) ROM_REGION(0x2000,"maincpu", 0) |