diff options
Diffstat (limited to 'src/mame/drivers/nc.cpp')
-rw-r--r-- | src/mame/drivers/nc.cpp | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp index a6be3546a7b..48f562c3dee 100644 --- a/src/mame/drivers/nc.cpp +++ b/src/mame/drivers/nc.cpp @@ -1378,35 +1378,36 @@ INPUT_PORTS_END MACHINE_CONFIG_START(nc_state::nc_base) /* basic machine hardware */ - Z80(config, m_maincpu, /*6000000*/ 4606000); /* Russell Marks says this is more accurate */ - m_maincpu->set_addrmap(AS_PROGRAM, &nc_state::nc_map); - config.m_minimum_quantum = attotime::from_hz(60); + MCFG_DEVICE_ADD("maincpu", Z80, /*6000000*/ 4606000) /* Russell Marks says this is more accurate */ + MCFG_DEVICE_PROGRAM_MAP(nc_map) + MCFG_QUANTUM_TIME(attotime::from_hz(60)) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); - screen.set_refresh_hz(50); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", LCD) + MCFG_SCREEN_REFRESH_RATE(50) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ + MCFG_SCREEN_PALETTE("palette") PALETTE(config, "palette", FUNC(nc_state::nc_colours), NC_NUM_COLOURS); /* sound hardware */ SPEAKER(config, "mono").front_center(); - BEEP(config, m_beeper1, 0).add_route(ALL_OUTPUTS, "mono", 0.50); - BEEP(config, m_beeper2, 0).add_route(ALL_OUTPUTS, "mono", 0.50); + MCFG_DEVICE_ADD("beep.1", BEEP, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + MCFG_DEVICE_ADD("beep.2", BEEP, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) /* printer */ - CENTRONICS(config, m_centronics, centronics_devices, "printer"); - m_centronics->busy_handler().set(FUNC(nc_state::write_centronics_busy)); + MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, nc_state, write_centronics_busy)) - output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out")); - m_centronics->set_output_latch(cent_data_out); + MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") /* uart */ I8251(config, m_uart, 0); - clock_device &uart_clock(CLOCK(config, "uart_clock", 19200)); - uart_clock.signal_handler().set(FUNC(nc_state::write_uart_clock)); + MCFG_DEVICE_ADD("uart_clock", CLOCK, 19200) + MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, nc_state, write_uart_clock)) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cardslot", generic_plain_slot, nullptr) @@ -1418,23 +1419,24 @@ MACHINE_CONFIG_START(nc_state::nc_base) NVRAM(config, "nvram", nvram_device::DEFAULT_NONE); /* dummy timer */ - TIMER(config, "dummy_timer").configure_periodic(FUNC(nc_state::dummy_timer_callback), attotime::from_hz(50)); + MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", nc_state, dummy_timer_callback, attotime::from_hz(50)) MACHINE_CONFIG_END -void nc100_state::nc100(machine_config &config) -{ +MACHINE_CONFIG_START(nc100_state::nc100) nc_base(config); - m_maincpu->set_addrmap(AS_IO, &nc100_state::nc100_io); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(nc100_io) /* video hardware */ - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_size(480, 64); - screen.set_visarea(0, 480-1, 0, 64-1); - screen.set_screen_update(FUNC(nc100_state::screen_update_nc100)); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_SIZE(480, 64) + MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 0, 64-1) + MCFG_SCREEN_UPDATE_DRIVER(nc100_state, screen_update_nc100) /* printer */ - m_centronics->ack_handler().set(FUNC(nc100_state::write_nc100_centronics_ack)); + MCFG_DEVICE_MODIFY("centronics") + MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, nc100_state, write_nc100_centronics_ack)) /* uart */ m_uart->rxrdy_handler().set(FUNC(nc100_state::nc100_rxrdy_callback)); @@ -1443,7 +1445,7 @@ void nc100_state::nc100(machine_config &config) /* rtc */ tc8521_device &rtc(TC8521(config, "rtc", XTAL(32'768))); rtc.out_alarm_callback().set(FUNC(nc100_state::nc100_tc8521_alarm_callback)); -} +MACHINE_CONFIG_END static const floppy_format_type ibmpc_floppy_formats[] = { FLOPPY_PC_FORMAT, @@ -1456,24 +1458,25 @@ static void ibmpc_floppies(device_slot_interface &device) device.option_add("525dd", FLOPPY_525_DD); } -void nc200_state::nc200(machine_config &config) -{ +MACHINE_CONFIG_START(nc200_state::nc200) nc_base(config); - m_maincpu->set_addrmap(AS_IO, &nc200_state::nc200_io); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(nc200_io) /* video hardware */ - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_size(NC200_SCREEN_WIDTH, NC200_SCREEN_HEIGHT); - screen.set_visarea(0, NC200_SCREEN_WIDTH-1, 0, NC200_SCREEN_HEIGHT-1); - screen.set_screen_update(FUNC(nc200_state::screen_update_nc200)); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_SIZE(NC200_SCREEN_WIDTH, NC200_SCREEN_HEIGHT) + MCFG_SCREEN_VISIBLE_AREA(0, NC200_SCREEN_WIDTH-1, 0, NC200_SCREEN_HEIGHT-1) + MCFG_SCREEN_UPDATE_DRIVER(nc200_state, screen_update_nc200) palette_device &palette(*subdevice<palette_device>("palette")); palette.set_entries(NC200_NUM_COLOURS); palette.set_init(FUNC(nc200_state::nc_colours)); /* printer */ - m_centronics->ack_handler().set(FUNC(nc200_state::write_nc200_centronics_ack)); + MCFG_DEVICE_MODIFY("centronics") + MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, nc200_state, write_nc200_centronics_ack)) /* uart */ m_uart->rxrdy_handler().set(FUNC(nc200_state::nc200_rxrdy_callback)); @@ -1481,14 +1484,14 @@ void nc200_state::nc200(machine_config &config) UPD765A(config, m_fdc, 8'000'000, true, true); m_fdc->intrq_wr_callback().set(FUNC(nc200_state::nc200_fdc_interrupt)); - FLOPPY_CONNECTOR(config, "upd765:0", ibmpc_floppies, "525dd", ibmpc_floppy_formats); - FLOPPY_CONNECTOR(config, "upd765:1", ibmpc_floppies, "525dd", ibmpc_floppy_formats); + MCFG_FLOPPY_DRIVE_ADD("upd765:0", ibmpc_floppies, "525dd", ibmpc_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("upd765:1", ibmpc_floppies, "525dd", ibmpc_floppy_formats) - MC146818(config, "mc", 4.194304_MHz_XTAL); + MCFG_DEVICE_ADD("mc", MC146818, 4.194304_MHz_XTAL) /* internal ram */ m_ram->set_default_size("128K"); -} +MACHINE_CONFIG_END /*************************************************************************** |