summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-07-11 14:59:16 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-07-11 14:59:16 -0400
commitcbaa8520cac877e26d88c153ecaf9cdc8086ddd1 (patch)
treefb5ee193c6469ea8f101fbac618a16aff6fd3798
parent60d4805d557eb1e50ca2d527811fb50fdb041403 (diff)
Default list of nscsi devices (nw)
-rw-r--r--scripts/src/bus.lua3
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.cpp26
-rw-r--r--src/devices/bus/a2bus/a2scsi.cpp26
-rw-r--r--src/devices/bus/amiga/zorro/a590.cpp21
-rw-r--r--src/devices/bus/hp_dio/hp98265a.cpp23
-rw-r--r--src/devices/bus/isa/aha1542b.cpp26
-rw-r--r--src/devices/bus/isa/aha174x.cpp44
-rw-r--r--src/devices/bus/isa/asc88.cpp27
-rw-r--r--src/devices/bus/isa/bt54x.cpp53
-rw-r--r--src/devices/bus/isa/tekram_dc820.cpp26
-rw-r--r--src/devices/bus/isa/ultra14f.cpp26
-rw-r--r--src/devices/bus/isa/ultra24f.cpp26
-rw-r--r--src/devices/bus/nscsi/devices.cpp13
-rw-r--r--src/devices/bus/nscsi/devices.h11
14 files changed, 151 insertions, 200 deletions
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index 20b368b0772..6512aebcbe6 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -2143,6 +2143,7 @@ end
---------------------------------------------------
--
--@src/devices/bus/nscsi/cd.h,BUSES["NSCSI"] = true
+--@src/devices/bus/nscsi/devices.h,BUSES["NSCSI"] = true
--@src/devices/bus/nscsi/hd.h,BUSES["NSCSI"] = true
--@src/devices/bus/nscsi/s1410.h,BUSES["NSCSI"] = true
---------------------------------------------------
@@ -2151,6 +2152,8 @@ if (BUSES["NSCSI"]~=null) then
files {
MAME_DIR .. "src/devices/bus/nscsi/cd.cpp",
MAME_DIR .. "src/devices/bus/nscsi/cd.h",
+ MAME_DIR .. "src/devices/bus/nscsi/devices.cpp",
+ MAME_DIR .. "src/devices/bus/nscsi/devices.h",
MAME_DIR .. "src/devices/bus/nscsi/hd.cpp",
MAME_DIR .. "src/devices/bus/nscsi/hd.h",
MAME_DIR .. "src/devices/bus/nscsi/s1410.cpp",
diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp
index c9bc0210175..98c612dae78 100644
--- a/src/devices/bus/a2bus/a2hsscsi.cpp
+++ b/src/devices/bus/a2bus/a2hsscsi.cpp
@@ -40,8 +40,7 @@
#include "emu.h"
#include "a2hsscsi.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
/***************************************************************************
PARAMETERS
@@ -57,13 +56,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"
-static void hsscsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("ncr5380", NCR53C80);
-}
-
ROM_START( hsscsi )
ROM_REGION(0x8000, SCSI_ROM_REGION, 0)
ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) )
@@ -80,14 +72,14 @@ ROM_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) {
+ NSCSI_CONNECTOR(config, "scsibus:0", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:1", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:2", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:3", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false);
+ NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR53C80).machine_config([this](device_t *device) {
downcast<ncr53c80_device &>(*device).drq_handler().set(*this, FUNC(a2bus_hsscsi_device::drq_w));
});
}
diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp
index 3d4c7ac6cb6..9c3e4bc6c85 100644
--- a/src/devices/bus/a2bus/a2scsi.cpp
+++ b/src/devices/bus/a2bus/a2scsi.cpp
@@ -33,8 +33,7 @@
#include "emu.h"
#include "a2scsi.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
/***************************************************************************
PARAMETERS
@@ -50,13 +49,6 @@ DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card"
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
-static void scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM_APPLE);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("ncr5380", NCR5380N);
-}
-
ROM_START( scsi )
ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM
ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) )
@@ -73,14 +65,14 @@ ROM_END
void a2bus_scsi_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, m_scsibus);
- NSCSI_CONNECTOR(config, "scsibus:0", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, "cdrom", false);
- NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "harddisk", false);
- NSCSI_CONNECTOR(config, "scsibus:7", scsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) {
+ NSCSI_CONNECTOR(config, "scsibus:0", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:1", default_scsi_devices, "cdrom", false);
+ NSCSI_CONNECTOR(config, "scsibus:2", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:3", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false);
+ NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR5380N).machine_config([this](device_t *device) {
downcast<ncr5380n_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w));
});
}
diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp
index f9dc313fcb2..01975c4a6ad 100644
--- a/src/devices/bus/amiga/zorro/a590.cpp
+++ b/src/devices/bus/amiga/zorro/a590.cpp
@@ -11,8 +11,7 @@
#include "emu.h"
#include "a590.h"
#include "machine/nscsi_bus.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
//**************************************************************************
@@ -115,12 +114,6 @@ ioport_constructor a2091_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void dmac_hdc_device::scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
-}
-
void dmac_hdc_device::wd33c93(device_t *device)
{
device->set_clock(10000000);
@@ -137,12 +130,12 @@ void dmac_hdc_device::device_add_mconfig(machine_config &config)
dmac.cfgout_handler().set(FUNC(dmac_hdc_device::dmac_cfgout_w));
NSCSI_BUS(config, "scsi", 0);
- NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, "harddisk", false);
- NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, "harddisk", false);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("wd33c93", WD33C93A)
.machine_config([this](device_t *device) { wd33c93(device); });
}
diff --git a/src/devices/bus/hp_dio/hp98265a.cpp b/src/devices/bus/hp_dio/hp98265a.cpp
index 5c0194b48a4..623f2d00be1 100644
--- a/src/devices/bus/hp_dio/hp98265a.cpp
+++ b/src/devices/bus/hp_dio/hp98265a.cpp
@@ -10,8 +10,7 @@
#include "hp98265a.h"
#include "machine/nscsi_bus.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "machine/mb87030.h"
#define VERBOSE 0
@@ -22,12 +21,6 @@ DEFINE_DEVICE_TYPE_NS(HPDIO_98265A, bus::hp_dio, dio16_98265a_device, "hp98265a"
namespace bus { namespace hp_dio {
-static void scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
-}
-
void dio16_98265a_device::mb87030_scsi_adapter(device_t *device)
{
mb87030_device &spc = downcast<mb87030_device &>(*device);
@@ -41,19 +34,19 @@ void dio16_98265a_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, m_scsibus, 0);
nscsi_connector &scsicon0(NSCSI_CONNECTOR(config, "scsibus:0", 0));
- scsi_devices(scsicon0);
+ default_scsi_devices(scsicon0);
scsicon0.set_default_option("harddisk");
- scsi_devices(NSCSI_CONNECTOR(config, "scsibus:1", 0));
- scsi_devices(NSCSI_CONNECTOR(config, "scsibus:2", 0));
- scsi_devices(NSCSI_CONNECTOR(config, "scsibus:3", 0));
- scsi_devices(NSCSI_CONNECTOR(config, "scsibus:4", 0));
+ default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:1", 0));
+ default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:2", 0));
+ default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:3", 0));
+ default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:4", 0));
nscsi_connector &scsicon6(NSCSI_CONNECTOR(config, "scsibus:5", 0));
- scsi_devices(scsicon6);
+ default_scsi_devices(scsicon6);
scsicon6.set_default_option("cdrom");
- scsi_devices(NSCSI_CONNECTOR(config, "scsibus:6", 0));
+ default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:6", 0));
nscsi_connector &scsicon7(NSCSI_CONNECTOR(config, "scsibus:7", 0));
scsicon7.option_add_internal("mb87030", MB87030);
scsicon7.set_default_option("mb87030");
diff --git a/src/devices/bus/isa/aha1542b.cpp b/src/devices/bus/isa/aha1542b.cpp
index 53cd4a8cb64..f1b26839fd1 100644
--- a/src/devices/bus/isa/aha1542b.cpp
+++ b/src/devices/bus/isa/aha1542b.cpp
@@ -12,7 +12,7 @@
#include "emu.h"
#include "aha1542b.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "cpu/i8085/i8085.h"
#include "machine/gen_latch.h"
#include "machine/nscsi_bus.h"
@@ -450,12 +450,6 @@ ioport_constructor aha1542b_device::device_input_ports() const
return INPUT_PORTS_NAME(aha1542b);
}
-static void aha154x_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", AIC6250);
-}
-
void aha154x_device::scsic_config(device_t *device)
{
device->set_clock(20'000'000);
@@ -468,15 +462,15 @@ void aha154x_device::scsic_config(device_t *device)
void aha154x_device::scsi_add(machine_config &config)
{
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha154x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6250)
+ .machine_config([this] (device_t *device) { scsic_config(device); });
}
void aha1542a_device::device_add_mconfig(machine_config &config)
diff --git a/src/devices/bus/isa/aha174x.cpp b/src/devices/bus/isa/aha174x.cpp
index 39fd0aef9fe..1b212fe6ae2 100644
--- a/src/devices/bus/isa/aha174x.cpp
+++ b/src/devices/bus/isa/aha174x.cpp
@@ -33,7 +33,7 @@
#include "emu.h"
#include "aha174x.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "machine/aic6250.h"
#include "machine/i82355.h"
#include "machine/nscsi_bus.h"
@@ -80,12 +80,6 @@ void aha174x_device::hpc_map(address_map &map)
map(0x8000, 0xffff).rom().region("mcode", 0);
}
-static void aha174x_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", AIC6251A);
-}
-
void aha174x_device::scsic_config(device_t *device)
{
device->set_clock(40_MHz_XTAL / 2); // divider not verified
@@ -107,15 +101,15 @@ void aha1740_device::device_add_mconfig(machine_config &config)
IDT7201(config, m_fifo[1]);
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6251A)
+ .machine_config([this] (device_t *device) { scsic_config(device); });
}
void aha1742a_device::device_add_mconfig(machine_config &config)
@@ -134,15 +128,15 @@ void aha1742a_device::device_add_mconfig(machine_config &config)
IDT7201(config, m_fifo[1]);
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6251A)
+ .machine_config([this] (device_t *device) { scsic_config(device); });
N82077AA(config, m_fdc, 24_MHz_XTAL);
}
diff --git a/src/devices/bus/isa/asc88.cpp b/src/devices/bus/isa/asc88.cpp
index 43dc83987aa..c04570725f8 100644
--- a/src/devices/bus/isa/asc88.cpp
+++ b/src/devices/bus/isa/asc88.cpp
@@ -16,7 +16,7 @@
#include "emu.h"
#include "asc88.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "machine/nscsi_bus.h"
@@ -150,12 +150,6 @@ ioport_constructor asc88_device::device_input_ports() const
return INPUT_PORTS_NAME(asc88);
}
-static void asc88_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR5380N);
-}
-
void asc88_device::scsic_config(device_t *device)
{
downcast<ncr5380n_device &>(*device).irq_handler().set("^^", FUNC(asc88_device::irq_w));
@@ -165,15 +159,16 @@ void asc88_device::scsic_config(device_t *device)
void asc88_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", asc88_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", asc88_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true)
+ .option_add_internal("scsic", NCR5380N)
+ .machine_config([this] (device_t *device) { scsic_config(device); });
EEPROM_93C06_16BIT(config, m_eeprom); // NMC9306N
}
diff --git a/src/devices/bus/isa/bt54x.cpp b/src/devices/bus/isa/bt54x.cpp
index fe6516b8a84..1c3c4bdf3f1 100644
--- a/src/devices/bus/isa/bt54x.cpp
+++ b/src/devices/bus/isa/bt54x.cpp
@@ -17,8 +17,7 @@
#include "emu.h"
#include "bt54x.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "machine/ncr5390.h"
//#include "machine/ncr86c05.h"
@@ -68,20 +67,6 @@ void bt54x_device::local_map(address_map &map)
map(0xf8000, 0xfffff).rom().region("mpu", 0);
}
-static void scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53C94);
-}
-
-static void fast_scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53CF94); // FAS216
-}
-
void bt54x_device::asc_config(device_t *device)
{
ncr53c94_device &asc = downcast<ncr53c94_device &>(*device);
@@ -109,14 +94,16 @@ void bt54x_device::fsc_base(machine_config &config)
//busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53cf94_device::dma_w));
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", fast_scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { fsc_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true)
+ .option_add_internal("scsic", NCR53CF94) // FAS216
+ .machine_config([this] (device_t *device) { fsc_config(device); });
}
void bt542b_device::device_add_mconfig(machine_config &config)
@@ -129,14 +116,16 @@ void bt542b_device::device_add_mconfig(machine_config &config)
//busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53c94_device::dma_w));
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr);
- 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", scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { asc_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true)
+ .option_add_internal("scsic", NCR53C94)
+ .machine_config([this] (device_t *device) { asc_config(device); });
DP8473(config, m_fdc, 24_MHz_XTAL);
}
diff --git a/src/devices/bus/isa/tekram_dc820.cpp b/src/devices/bus/isa/tekram_dc820.cpp
index f9747c3385d..56ffd8e4ccb 100644
--- a/src/devices/bus/isa/tekram_dc820.cpp
+++ b/src/devices/bus/isa/tekram_dc820.cpp
@@ -23,7 +23,7 @@
#include "emu.h"
#include "tekram_dc820.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "cpu/i86/i186.h"
#include "machine/i82355.h"
#include "machine/ncr5390.h"
@@ -192,12 +192,6 @@ void tekram_dc820_device::mpu_map(address_map &map)
map(0xf0000, 0xfffff).rom().region("firmware", 0);
}
-static void tekram_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53CF94); // or Emulex FAS216
-}
-
void tekram_eisa_scsi_device::scsic_config(device_t *device)
{
device->set_clock(40_MHz_XTAL);
@@ -207,15 +201,15 @@ void tekram_eisa_scsi_device::scsic_config(device_t *device)
void tekram_eisa_scsi_device::scsi_add(machine_config &config)
{
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", tekram_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", tekram_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // or Emulex FAS216
+ .machine_config([this] (device_t *device) { scsic_config(device); });
}
void tekram_dc320b_device::device_add_mconfig(machine_config &config)
diff --git a/src/devices/bus/isa/ultra14f.cpp b/src/devices/bus/isa/ultra14f.cpp
index e3cc88fd969..8b60f908139 100644
--- a/src/devices/bus/isa/ultra14f.cpp
+++ b/src/devices/bus/isa/ultra14f.cpp
@@ -9,7 +9,7 @@
#include "emu.h"
#include "ultra14f.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "cpu/m68000/m68000.h"
#include "machine/ncr5390.h"
#include "machine/nscsi_bus.h"
@@ -36,12 +36,6 @@ void ultra14f_device::uscpu_map(address_map &map)
map(0x3f8000, 0x3fffff).ram();
}
-static void u14f_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53CF94); // Emulex FAS216 or similar custom-marked as USC060-6-40B
-}
-
void ultra14f_device::scsic_config(device_t *device)
{
device->set_clock(40_MHz_XTAL);
@@ -54,15 +48,15 @@ void ultra14f_device::device_add_mconfig(machine_config &config)
m_uscpu->set_addrmap(AS_PROGRAM, &ultra14f_device::uscpu_map);
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", u14f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", u14f_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // Emulex FAS216 or similar custom-marked as USC060-6-40B
+ .machine_config([this] (device_t *device) { scsic_config(device); });
DP8473(config, m_fdc, 24_MHz_XTAL); // custom-marked as USC020-1-24
}
diff --git a/src/devices/bus/isa/ultra24f.cpp b/src/devices/bus/isa/ultra24f.cpp
index cdb8f0c7501..211c1ab4b80 100644
--- a/src/devices/bus/isa/ultra24f.cpp
+++ b/src/devices/bus/isa/ultra24f.cpp
@@ -9,7 +9,7 @@
#include "emu.h"
#include "ultra24f.h"
-#include "bus/nscsi/hd.h"
+#include "bus/nscsi/devices.h"
#include "cpu/m68000/m68000.h"
#include "machine/ncr5390.h"
#include "machine/nscsi_bus.h"
@@ -58,12 +58,6 @@ void ultra24f_device::uscpu_map(address_map &map)
map(0xffc000, 0xffffff).ram();
}
-static void u24f_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53CF94); // Emulex FAS216
-}
-
void ultra24f_device::scsic_config(device_t *device)
{
device->set_clock(40_MHz_XTAL);
@@ -78,15 +72,15 @@ void ultra24f_device::device_add_mconfig(machine_config &config)
I82355(config, m_bmic, 0);
NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", u24f_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", u24f_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
+ NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // Emulex FAS216
+ .machine_config([this] (device_t *device) { scsic_config(device); });
DP8473(config, m_fdc, 24_MHz_XTAL); // custom-marked as USC020-1-24
}
diff --git a/src/devices/bus/nscsi/devices.cpp b/src/devices/bus/nscsi/devices.cpp
new file mode 100644
index 00000000000..79bd99a7e54
--- /dev/null
+++ b/src/devices/bus/nscsi/devices.cpp
@@ -0,0 +1,13 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+
+#include "bus/nscsi/cd.h"
+#include "bus/nscsi/hd.h"
+#include "bus/nscsi/s1410.h"
+
+void default_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("cdrom", NSCSI_CDROM);
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add("s1410", NSCSI_S1410);
+};
diff --git a/src/devices/bus/nscsi/devices.h b/src/devices/bus/nscsi/devices.h
new file mode 100644
index 00000000000..9958577517a
--- /dev/null
+++ b/src/devices/bus/nscsi/devices.h
@@ -0,0 +1,11 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+
+#ifndef MAME_BUS_NSCSI_DEVICES_H
+#define MAME_BUS_NSCSI_DEVICES_H
+
+#pragma once
+
+extern void default_scsi_devices(device_slot_interface &device);
+
+#endif // MAME_BUS_NSCSI_DEVICES_H