summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/scsi
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2018-08-02 11:33:50 +0200
committer mooglyguy <therealmogminer@gmail.com>2018-08-02 11:34:03 +0200
commit5f484e857ef65d086dc3c9913ba56ee4c67491b5 (patch)
treed03cf610288fe6ff6ad3aa5bd05e828e449ec652 /src/devices/bus/scsi
parent992dbc98d198c99953259559672e3b81a1b0eb89 (diff)
Make OG happier about output latches, nw
Diffstat (limited to 'src/devices/bus/scsi')
-rw-r--r--src/devices/bus/scsi/scsi.cpp12
-rw-r--r--src/devices/bus/scsi/scsi.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/devices/bus/scsi/scsi.cpp b/src/devices/bus/scsi/scsi.cpp
index d2cf678f239..5997266b84d 100644
--- a/src/devices/bus/scsi/scsi.cpp
+++ b/src/devices/bus/scsi/scsi.cpp
@@ -657,6 +657,18 @@ void scsi_port_device::set_slot_device(int index, const char *option, const devi
slot(index).set_default_option(option);
}
+void scsi_port_device::set_output_latch(output_latch_device &latch)
+{
+ latch.bit_handler<0>().set(*this, FUNC(scsi_port_device::write_data0));
+ latch.bit_handler<1>().set(*this, FUNC(scsi_port_device::write_data1));
+ latch.bit_handler<2>().set(*this, FUNC(scsi_port_device::write_data2));
+ latch.bit_handler<3>().set(*this, FUNC(scsi_port_device::write_data3));
+ latch.bit_handler<4>().set(*this, FUNC(scsi_port_device::write_data4));
+ latch.bit_handler<5>().set(*this, FUNC(scsi_port_device::write_data5));
+ latch.bit_handler<6>().set(*this, FUNC(scsi_port_device::write_data6));
+ latch.bit_handler<7>().set(*this, FUNC(scsi_port_device::write_data7));
+}
+
DEFINE_DEVICE_TYPE(SCSI_PORT, scsi_port_device, "scsi", "SCSI Port")
scsi_port_slot_device::scsi_port_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
diff --git a/src/devices/bus/scsi/scsi.h b/src/devices/bus/scsi/scsi.h
index 9dd4db673f0..e5995f970ab 100644
--- a/src/devices/bus/scsi/scsi.h
+++ b/src/devices/bus/scsi/scsi.h
@@ -148,6 +148,8 @@ public:
data7_handler().set(tag, FUNC(input_buffer_device::write_bit7));
}
+ void set_output_latch(output_latch_device &latch);
+
DECLARE_WRITE_LINE_MEMBER( write_bsy );
DECLARE_WRITE_LINE_MEMBER( write_sel );
DECLARE_WRITE_LINE_MEMBER( write_cd );