summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/abc1600.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/abc1600.cpp')
-rw-r--r--src/mame/drivers/abc1600.cpp63
1 files changed, 32 insertions, 31 deletions
diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp
index 7506685b3ac..c2d2c817d0a 100644
--- a/src/mame/drivers/abc1600.cpp
+++ b/src/mame/drivers/abc1600.cpp
@@ -873,14 +873,15 @@ void abc1600_state::machine_reset()
//**************************************************************************
//-------------------------------------------------
-// MACHINE_CONFIG( abc1600 )
+// machine_config( abc1600 )
//-------------------------------------------------
-MACHINE_CONFIG_START(abc1600_state::abc1600)
+void abc1600_state::abc1600(machine_config &config)
+{
// basic machine hardware
- MCFG_DEVICE_ADD(MC68008P8_TAG, M68008, 64_MHz_XTAL / 8)
- MCFG_DEVICE_PROGRAM_MAP(abc1600_mem)
- MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(abc1600_state,abc1600_int_ack)
+ M68008(config, m_maincpu, 64_MHz_XTAL / 8);
+ m_maincpu->set_addrmap(AS_PROGRAM, &abc1600_state::abc1600_mem);
+ m_maincpu->set_irq_acknowledge_callback(FUNC(abc1600_state::abc1600_int_ack));
// video hardware
ABC1600_MOVER(config, ABC1600_MOVER_TAG, 0);
@@ -931,7 +932,7 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
m_cio->pc_rd_cb().set(FUNC(abc1600_state::cio_pc_r));
m_cio->pc_wr_cb().set(FUNC(abc1600_state::cio_pc_w));
- MCFG_NMC9306_ADD(NMC9306_TAG)
+ NMC9306(config, m_nvram, 0);
E0516(config, E050_C16PC_TAG, 32.768_kHz_XTAL);
@@ -939,42 +940,42 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
m_fdc->intrq_wr_callback().set(m_cio, FUNC(z8536_device::pb7_w));
m_fdc->drq_wr_callback().set(FUNC(abc1600_state::fdc_drq_w));
- MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":0", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":1", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":2", abc1600_floppies, "525qd", floppy_image_device::default_floppy_formats)
+ FLOPPY_CONNECTOR(config, SAB1797_02P_TAG":0", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats);
+ FLOPPY_CONNECTOR(config, SAB1797_02P_TAG":1", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats);
+ FLOPPY_CONNECTOR(config, SAB1797_02P_TAG":2", abc1600_floppies, "525qd", floppy_image_device::default_floppy_formats);
RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr);
rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr));
rs232b.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w));
- MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc99")
- MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w))
- MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(WRITELINE(m_dart, z80dart_device, rxtxcb_w))
- MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(WRITELINE(m_dart, z80dart_device, dcdb_w))
-
- MCFG_ABCBUS_SLOT_ADD("bus0i", abc1600bus_cards, nullptr)
- MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa7_w))
- MCFG_ABCBUS_SLOT_ADD("bus0x", abc1600bus_cards, nullptr)
- MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa6_w))
- MCFG_ABCBUS_SLOT_NMI_CALLBACK(WRITELINE(*this, abc1600_state, nmi_w))
- MCFG_ABCBUS_SLOT_XINT2_CALLBACK(WRITELINE(m_cio, z8536_device, pa2_w))
- MCFG_ABCBUS_SLOT_XINT3_CALLBACK(WRITELINE(m_cio, z8536_device, pa3_w))
- MCFG_ABCBUS_SLOT_XINT4_CALLBACK(WRITELINE(m_cio, z8536_device, pa4_w))
- MCFG_ABCBUS_SLOT_XINT5_CALLBACK(WRITELINE(m_cio, z8536_device, pa5_w))
- MCFG_ABCBUS_SLOT_ADD("bus1", abc1600bus_cards, nullptr)
- MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa1_w))
- MCFG_ABCBUS_SLOT_ADD("bus2", abc1600bus_cards, "4105")
- MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa0_w))
- //MCFG_ABCBUS_SLOT_PREN_CALLBACK(WRITELINE(Z8410AB1_2_TAG, z80dma_device, iei_w))
- MCFG_ABCBUS_SLOT_TRRQ_CALLBACK(WRITELINE(Z8410AB1_2_TAG, z80dma_device, rdy_w))
+ abc_keyboard_port_device &kb(ABC_KEYBOARD_PORT(config, ABC_KEYBOARD_PORT_TAG, abc_keyboard_devices, "abc99"));
+ kb.out_rx_handler().set(m_dart, FUNC(z80dart_device::rxb_w));
+ kb.out_trxc_handler().set(m_dart, FUNC(z80dart_device::rxtxcb_w));
+ kb.out_keydown_handler().set(m_dart, FUNC(z80dart_device::dcdb_w));
+
+ abcbus_slot_device &bus0i(ABCBUS_SLOT(config, "bus0i", 64_MHz_XTAL / 16, abc1600bus_cards, nullptr));
+ bus0i.irq_callback().set(m_cio, FUNC(z8536_device::pa7_w));
+ abcbus_slot_device &bus0x(ABCBUS_SLOT(config, "bus0x", 64_MHz_XTAL / 16, abc1600bus_cards, nullptr));
+ bus0x.irq_callback().set(m_cio, FUNC(z8536_device::pa6_w));
+ bus0x.nmi_callback().set(FUNC(abc1600_state::nmi_w));
+ bus0x.xint2_callback().set(m_cio, FUNC(z8536_device::pa2_w));
+ bus0x.xint3_callback().set(m_cio, FUNC(z8536_device::pa3_w));
+ bus0x.xint4_callback().set(m_cio, FUNC(z8536_device::pa4_w));
+ bus0x.xint5_callback().set(m_cio, FUNC(z8536_device::pa5_w));
+ abcbus_slot_device &bus1(ABCBUS_SLOT(config, "bus1", 64_MHz_XTAL / 16, abc1600bus_cards, nullptr));
+ bus1.irq_callback().set(m_cio, FUNC(z8536_device::pa1_w));
+ abcbus_slot_device &bus2(ABCBUS_SLOT(config, "bus2", 64_MHz_XTAL / 16, abc1600bus_cards, "4105"));
+ bus2.irq_callback().set(m_cio, FUNC(z8536_device::pa0_w));
+ //bus2.pren_callback().set(Z8410AB1_2_TAG, FUNC(z80dma_device::iei_w));
+ bus2.trrq_callback().set(Z8410AB1_2_TAG, FUNC(z80dma_device::rdy_w));
// internal ram
RAM(config, RAM_TAG).set_default_size("1M");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "abc1600")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("abc1600");
+}