summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2hsscsi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2hsscsi.cpp')
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp
index 6be63715d88..ec4eea8080a 100644
--- a/src/devices/bus/a2bus/a2hsscsi.cpp
+++ b/src/devices/bus/a2bus/a2hsscsi.cpp
@@ -57,14 +57,6 @@ DEFINE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device, "a2hsscsi", "Apple II High
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
-void a2bus_hsscsi_device::ncr5380(device_t *device)
-{
- devcb_base *devcb;
- (void)devcb;
- MCFG_DEVICE_CLOCK(10000000)
- MCFG_NCR5380N_DRQ_HANDLER(WRITELINE("^^", a2bus_hsscsi_device, drq_w))
-}
-
static void hsscsi_devices(device_slot_interface &device)
{
device.option_add("cdrom", NSCSI_CDROM);
@@ -85,18 +77,21 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(a2bus_hsscsi_device::device_add_mconfig)
- MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG)
- MCFG_NSCSI_ADD("scsibus:0", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:1", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:2", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:3", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:4", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:5", hsscsi_devices, nullptr, false)
- MCFG_NSCSI_ADD("scsibus:6", hsscsi_devices, "harddisk", false)
- MCFG_NSCSI_ADD("scsibus:7", hsscsi_devices, "ncr5380", true)
- MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380)
-MACHINE_CONFIG_END
+void a2bus_hsscsi_device::device_add_mconfig(machine_config &config)
+{
+ NSCSI_BUS(config, m_scsibus);
+ NSCSI_CONNECTOR(config, "scsibus:0", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:1", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:2", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:3", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:4", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:5", hsscsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:6", hsscsi_devices, "harddisk", false);
+ NSCSI_CONNECTOR(config, "scsibus:7", hsscsi_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_hsscsi_device::drq_w));
+ });
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -168,7 +163,7 @@ uint8_t a2bus_hsscsi_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 0xc:
return 0x00; // indicate watchdog?
@@ -205,7 +200,7 @@ void a2bus_hsscsi_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;
#if 0
case 8: // DMA address low