diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2hsscsi.cpp')
-rw-r--r-- | src/devices/bus/a2bus/a2hsscsi.cpp | 39 |
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 |