summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2scsi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2scsi.cpp')
-rw-r--r--src/devices/bus/a2bus/a2scsi.cpp39
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