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, 18 insertions, 17 deletions
diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp
index a1d07ace980..28d5b810d6f 100644
--- a/src/mame/drivers/m20.cpp
+++ b/src/mame/drivers/m20.cpp
@@ -790,30 +790,31 @@ static void keyboard(device_slot_interface &device)
device.option_add("m20", M20_KEYBOARD);
}
-MACHINE_CONFIG_START(m20_state::m20)
+void m20_state::m20(machine_config &config)
+{
/* basic machine hardware */
- 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)
+ 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));
RAM(config, RAM_TAG).set_default_size("160K").set_default_value(0).set_extra_options("128K,192K,224K,256K,384K,512K");
/* video hardware */
- 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)
+ 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));
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));
- 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)
+ FLOPPY_CONNECTOR(config, "fd1797:0", m20_floppies, "5dd", m20_state::floppy_formats);
+ FLOPPY_CONNECTOR(config, "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");
@@ -849,10 +850,10 @@ MACHINE_CONFIG_START(m20_state::m20)
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
rs232.rxd_handler().set(m_ttyi8251, FUNC(i8251_device::write_rxd));
- MCFG_DEVICE_ADD("apb", M20_8086, "maincpu", m_i8259, RAM_TAG)
+ M20_8086(config, m_apb, m_maincpu, m_i8259, RAM_TAG);
- MCFG_SOFTWARE_LIST_ADD("flop_list","m20")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("m20");
+}
ROM_START(m20)
ROM_REGION(0x2000,"maincpu", 0)