From c3aa68905ed78e4bac19ff2e2a6542914b97e243 Mon Sep 17 00:00:00 2001 From: mooglyguy Date: Wed, 1 Aug 2018 02:14:05 +0200 Subject: Fix recent regressions, nw --- src/devices/bus/scsi/scsi.cpp | 9 ++++++++- src/devices/bus/scsi/scsi.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/devices/bus/scsi/scsi.cpp b/src/devices/bus/scsi/scsi.cpp index d11bef77de5..d2cf678f239 100644 --- a/src/devices/bus/scsi/scsi.cpp +++ b/src/devices/bus/scsi/scsi.cpp @@ -70,7 +70,14 @@ void scsi_port_device::device_add_mconfig(machine_config &config) void scsi_port_device::device_start() { - m_device_count = 8; + m_device_count = 0; + + for (int i = 0; i < 7; i++) + { + scsi_port_slot_device *slot = subdevice(m_slot[i].finder_tag()); + if (slot != nullptr) + m_device_count = i + 1; + } m_bsy_handler.resolve_safe(); m_sel_handler.resolve_safe(); diff --git a/src/devices/bus/scsi/scsi.h b/src/devices/bus/scsi/scsi.h index b5f1ee7473a..9dd4db673f0 100644 --- a/src/devices/bus/scsi/scsi.h +++ b/src/devices/bus/scsi/scsi.h @@ -211,7 +211,7 @@ private: devcb_write_line m_data6_handler; devcb_write_line m_data7_handler; - required_device_array m_slot; + optional_device_array m_slot; int m_device_count; int m_bsy_in; -- cgit v1.2.3