diff options
Diffstat (limited to 'src/devices/bus/x68k/x68k_scsiext.cpp')
| -rw-r--r-- | src/devices/bus/x68k/x68k_scsiext.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/devices/bus/x68k/x68k_scsiext.cpp b/src/devices/bus/x68k/x68k_scsiext.cpp index dbf1e9a04cd..95ed9d0b6cb 100644 --- a/src/devices/bus/x68k/x68k_scsiext.cpp +++ b/src/devices/bus/x68k/x68k_scsiext.cpp @@ -43,7 +43,7 @@ static void scsi_devices(device_slot_interface &device) // device machine config void x68k_scsiext_device::device_add_mconfig(machine_config &config) { - NSCSI_BUS(config, "scsi"); + auto &scsi(NSCSI_BUS(config, "scsi")); NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, "harddisk"); NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, nullptr); NSCSI_CONNECTOR(config, "scsi:2", scsi_devices, nullptr); @@ -51,22 +51,17 @@ void x68k_scsiext_device::device_add_mconfig(machine_config &config) NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr); NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr); NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7").option_set("spc", MB89352).machine_config( - [this](device_t *device) - { - mb89352_device &spc = downcast<mb89352_device &>(*device); - - spc.set_clock(10'000'000 / 2); // 10MHz clock from bus - spc.out_irq_callback().set(*this, FUNC(x68k_scsiext_device::irq_w)); - spc.out_dreq_callback().set(*this, FUNC(x68k_scsiext_device::drq_w)); - }); + MB89352(config, m_spc, 10'000'000 / 2); // 10MHz clock from bus + scsi.set_external_device(7, m_spc); + m_spc->out_irq_callback().set(DEVICE_SELF, FUNC(x68k_scsiext_device::irq_w)); + m_spc->out_dreq_callback().set(DEVICE_SELF, FUNC(x68k_scsiext_device::drq_w)); } x68k_scsiext_device::x68k_scsiext_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, X68K_SCSIEXT, tag, owner, clock) , device_x68k_expansion_card_interface(mconfig, *this) , m_slot(nullptr) - , m_spc(*this, "scsi:7:spc") + , m_spc(*this, "spc") , m_rom(*this, "scsiexrom") , m_drq(false) { |
