summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/m20.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/m20.cpp')
-rw-r--r--src/mame/drivers/m20.cpp35
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)