summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2scsi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2scsi.cpp')
-rw-r--r--src/devices/bus/a2bus/a2scsi.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp
index 0673aa13938..cebfbd31565 100644
--- a/src/devices/bus/a2bus/a2scsi.cpp
+++ b/src/devices/bus/a2bus/a2scsi.cpp
@@ -33,7 +33,9 @@
#include "emu.h"
#include "a2scsi.h"
+#include "bus/nscsi/cd.h"
#include "bus/nscsi/devices.h"
+#include "speaker.h"
/***************************************************************************
PARAMETERS
@@ -64,16 +66,26 @@ ROM_END
void a2bus_scsi_device::device_add_mconfig(machine_config &config)
{
+ // These machines were strictly external CD-ROMs so sound didn't route back into them; the AppleCD SC had
+ // RCA jacks for connection to speakers/a stereo.
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
NSCSI_BUS(config, m_scsibus);
NSCSI_CONNECTOR(config, "scsibus:0", default_scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:1", default_scsi_devices, "cdrom", false);
+ NSCSI_CONNECTOR(config, "scsibus:1").option_set("cdrom", NSCSI_CDROM_APPLE).machine_config(
+ [](device_t *device)
+ {
+ device->subdevice<cdda_device>("cdda")->add_route(0, "^^lspeaker", 1.0);
+ device->subdevice<cdda_device>("cdda")->add_route(1, "^^rspeaker", 1.0);
+ });
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));
+ NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR5380).machine_config([this](device_t *device) {
+ downcast<ncr5380_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w));
});
}
@@ -151,9 +163,6 @@ uint8_t a2bus_scsi_device::read_c0nx(uint8_t offset)
case 9: // our SCSI ID (normally 0x80 = 7)
return (1<<7);
- case 0xa: // RAM/ROM bank
- return m_bank;
-
case 0xe: // DRQ status in bit 7
return m_drq;
@@ -293,7 +302,7 @@ void a2bus_scsi_device::write_c800(uint16_t offset, uint8_t data)
}
}
-WRITE_LINE_MEMBER( a2bus_scsi_device::drq_w )
+void a2bus_scsi_device::drq_w(int state)
{
m_drq = (state ? 0x80 : 0x00);
}