diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2scsi.cpp')
-rw-r--r-- | src/devices/bus/a2bus/a2scsi.cpp | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp index ef3422e9783..014414e7e98 100644 --- a/src/devices/bus/a2bus/a2scsi.cpp +++ b/src/devices/bus/a2bus/a2scsi.cpp @@ -50,14 +50,6 @@ DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card" #define SCSI_BUS_TAG "scsibus" #define SCSI_5380_TAG "scsibus:7:ncr5380" -void a2bus_scsi_device::ncr5380(device_t *device) -{ - devcb_base *devcb; - (void)devcb; - MCFG_DEVICE_CLOCK(10000000) - MCFG_NCR5380N_DRQ_HANDLER(WRITELINE("^^", a2bus_scsi_device, drq_w)) -} - static void scsi_devices(device_slot_interface &device) { device.option_add("cdrom", NSCSI_CDROM); @@ -78,18 +70,21 @@ ROM_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(a2bus_scsi_device::device_add_mconfig) - MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG) - MCFG_NSCSI_ADD("scsibus:0", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:1", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:2", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:3", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:4", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:5", scsi_devices, nullptr, false) - MCFG_NSCSI_ADD("scsibus:6", scsi_devices, "harddisk", false) - MCFG_NSCSI_ADD("scsibus:7", scsi_devices, "ncr5380", true) - MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380) -MACHINE_CONFIG_END +void a2bus_scsi_device::device_add_mconfig(machine_config &config) +{ + NSCSI_BUS(config, m_scsibus); + NSCSI_CONNECTOR(config, "scsibus:0", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "harddisk", false); + NSCSI_CONNECTOR(config, "scsibus:7", scsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) { + device->set_clock(10000000); + downcast<ncr5380n_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w)); + }); +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -159,7 +154,7 @@ uint8_t a2bus_scsi_device::read_c0nx(uint8_t offset) case 6: case 7: // logerror("Read 5380 @ %x\n", offset); - return m_ncr5380->read(machine().dummy_space(), offset); + return m_ncr5380->read(offset); case 8: // read and DACK return m_ncr5380->dma_r(); @@ -199,7 +194,7 @@ void a2bus_scsi_device::write_c0nx(uint8_t offset, uint8_t data) case 6: case 7: // logerror("%02x to 5380 reg %x\n", data, offset); - m_ncr5380->write(machine().dummy_space(), offset, data); + m_ncr5380->write(offset, data); break; case 8: // write and DACK |