summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/abcbus/lux4105.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/abcbus/lux4105.cpp')
-rw-r--r--src/devices/bus/abcbus/lux4105.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/devices/bus/abcbus/lux4105.cpp b/src/devices/bus/abcbus/lux4105.cpp
index f8b9e571a7c..1e89799a302 100644
--- a/src/devices/bus/abcbus/lux4105.cpp
+++ b/src/devices/bus/abcbus/lux4105.cpp
@@ -72,18 +72,28 @@ WRITE_LINE_MEMBER( luxor_4105_device::write_sasi_cd )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(luxor_4105_device::device_add_mconfig)
- MCFG_DEVICE_ADD(SASIBUS_TAG, SCSI_PORT, 0)
- MCFG_SCSI_DATA_INPUT_BUFFER("sasi_data_in")
- MCFG_SCSI_BSY_HANDLER(WRITELINE(*this, luxor_4105_device, write_sasi_bsy))
- MCFG_SCSI_REQ_HANDLER(WRITELINE(*this, luxor_4105_device, write_sasi_req))
- MCFG_SCSI_CD_HANDLER(WRITELINE(*this, luxor_4105_device, write_sasi_cd))
- MCFG_SCSI_IO_HANDLER(WRITELINE(*this, luxor_4105_device, write_sasi_io))
- MCFG_SCSIDEV_ADD(SASIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", S1410, SCSI_ID_0)
-
- MCFG_SCSI_OUTPUT_LATCH_ADD("sasi_data_out", SASIBUS_TAG)
- MCFG_DEVICE_ADD("sasi_data_in", INPUT_BUFFER, 0)
-MACHINE_CONFIG_END
+void luxor_4105_device::device_add_mconfig(machine_config &config)
+{
+ SCSI_PORT(config, m_sasibus);
+ m_sasibus->set_data_input_buffer(m_sasi_data_in);
+ m_sasibus->bsy_handler().set(FUNC(luxor_4105_device::write_sasi_bsy));
+ m_sasibus->req_handler().set(FUNC(luxor_4105_device::write_sasi_req));
+ m_sasibus->cd_handler().set(FUNC(luxor_4105_device::write_sasi_cd));
+ m_sasibus->io_handler().set(FUNC(luxor_4105_device::write_sasi_io));
+ m_sasibus->set_slot_device(1, "harddisk", S1410, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0));
+
+ OUTPUT_LATCH(config, m_sasi_data_out);
+ m_sasi_data_out->bit_handler<0>().set(m_sasibus, FUNC(scsi_port_device::write_data0));
+ m_sasi_data_out->bit_handler<1>().set(m_sasibus, FUNC(scsi_port_device::write_data1));
+ m_sasi_data_out->bit_handler<2>().set(m_sasibus, FUNC(scsi_port_device::write_data2));
+ m_sasi_data_out->bit_handler<3>().set(m_sasibus, FUNC(scsi_port_device::write_data3));
+ m_sasi_data_out->bit_handler<4>().set(m_sasibus, FUNC(scsi_port_device::write_data4));
+ m_sasi_data_out->bit_handler<5>().set(m_sasibus, FUNC(scsi_port_device::write_data5));
+ m_sasi_data_out->bit_handler<6>().set(m_sasibus, FUNC(scsi_port_device::write_data6));
+ m_sasi_data_out->bit_handler<7>().set(m_sasibus, FUNC(scsi_port_device::write_data7));
+
+ INPUT_BUFFER(config, m_sasi_data_in);
+}
//-------------------------------------------------