mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
sun3, sun3x, sun4: Add NSCSI tape to default devices. (#12733)
Note that only sun4, not sun4c or other variants, has tape among the default devices; by that era, most installation and recovery was via CD-ROM (already in the default devices) rather than via tape.
This commit is contained in:
parent
e8e9468246
commit
f845a619e5
@ -192,6 +192,7 @@ fefc34a - start of mem_size, which queries ECC registers for each memory board
|
||||
#include "machine/ncr5380.h"
|
||||
#include "bus/nscsi/cd.h"
|
||||
#include "bus/nscsi/hd.h"
|
||||
#include "bus/nscsi/tape.h"
|
||||
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "bus/sunkbd/sunkbd.h"
|
||||
@ -333,6 +334,7 @@ static void scsi_devices(device_slot_interface &device)
|
||||
{
|
||||
device.option_add("cdrom", NSCSI_CDROM);
|
||||
device.option_add("harddisk", NSCSI_HARDDISK);
|
||||
device.option_add("tape", NSCSI_TAPE);
|
||||
device.set_option_machine_config("cdrom", sun_cdrom);
|
||||
}
|
||||
|
||||
@ -1061,7 +1063,7 @@ void sun3_state::sun3(machine_config &config)
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, "tape");
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7").option_set("sbc", NCR5380).machine_config([this] (device_t *device) { ncr5380(device); });
|
||||
@ -1167,7 +1169,7 @@ void sun3_state::sun3_50(machine_config &config)
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, "tape");
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7").option_set("sbc", NCR5380).machine_config([this] (device_t *device) { ncr5380(device); });
|
||||
|
@ -130,6 +130,7 @@
|
||||
|
||||
#include "bus/nscsi/cd.h"
|
||||
#include "bus/nscsi/hd.h"
|
||||
#include "bus/nscsi/tape.h"
|
||||
#include "cpu/m68000/m68030.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "machine/icm7170.h"
|
||||
@ -592,6 +593,7 @@ static void scsi_devices(device_slot_interface &device)
|
||||
{
|
||||
device.option_add("cdrom", NSCSI_CDROM);
|
||||
device.option_add("harddisk", NSCSI_HARDDISK);
|
||||
device.option_add("tape", NSCSI_TAPE);
|
||||
device.set_option_machine_config("cdrom", sun_cdrom);
|
||||
}
|
||||
|
||||
@ -629,7 +631,7 @@ void sun3x_state::sun3_80(machine_config &config)
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, "tape");
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7").option_set("esp", NCR53C90).clock(20000000/2); // Emulex 2400138 (68-pin PLCC)
|
||||
|
@ -413,6 +413,7 @@
|
||||
|
||||
#include "bus/nscsi/cd.h"
|
||||
#include "bus/nscsi/hd.h"
|
||||
#include "bus/nscsi/tape.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "bus/sunkbd/sunkbd.h"
|
||||
#include "bus/sunmouse/sunmouse.h"
|
||||
@ -568,6 +569,8 @@ protected:
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
|
||||
virtual void scsi_devices_config(machine_config &config) = 0;
|
||||
|
||||
u32 debugger_r(offs_t offset, u32 mem_mask = ~0);
|
||||
void debugger_w(offs_t offset, u32 data, u32 mem_mask = ~0);
|
||||
|
||||
@ -681,6 +684,9 @@ public:
|
||||
|
||||
void sun4(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void scsi_devices_config(machine_config &config) override;
|
||||
|
||||
private:
|
||||
void type1space_map(address_map &map);
|
||||
};
|
||||
@ -704,6 +710,9 @@ public:
|
||||
void sun4_65(machine_config &config);
|
||||
void sun4_75(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void scsi_devices_config(machine_config &config) override;
|
||||
|
||||
private:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
@ -1367,6 +1376,7 @@ static void sun_scsi_devices(device_slot_interface &device)
|
||||
{
|
||||
device.option_add("cdrom", NSCSI_CDROM);
|
||||
device.option_add("harddisk", NSCSI_HARDDISK);
|
||||
device.option_add("tape", NSCSI_TAPE);
|
||||
device.option_add_internal("ncr53c90", NCR53C90);
|
||||
device.set_option_machine_config("cdrom", sun4_cdrom);
|
||||
}
|
||||
@ -1433,15 +1443,8 @@ void sun4_base_state::sun4_base(machine_config &config)
|
||||
m_rs232[1]->dcd_handler().set(m_scc[1], FUNC(z80scc_device::dcdb_w));
|
||||
m_rs232[1]->cts_handler().set(m_scc[1], FUNC(z80scc_device::ctsb_w));
|
||||
|
||||
NSCSI_BUS(config, "scsibus");
|
||||
NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90", true).set_option_machine_config("ncr53c90", [this] (device_t *device) { ncr53c90(device); });
|
||||
// SCSI
|
||||
scsi_devices_config(config);
|
||||
}
|
||||
|
||||
void sun4_state::sun4(machine_config &config)
|
||||
@ -1466,6 +1469,21 @@ void sun4_state::sun4(machine_config &config)
|
||||
m_maincpu->set_mmu(m_mmu);
|
||||
}
|
||||
|
||||
void sun4_state::scsi_devices_config(machine_config &config)
|
||||
{
|
||||
// sun4 defaults to having a tape device at SCSI ID 4
|
||||
|
||||
NSCSI_BUS(config, "scsibus");
|
||||
NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, "tape");
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90", true).set_option_machine_config("ncr53c90", [this] (device_t *device) { ncr53c90(device); });
|
||||
}
|
||||
|
||||
void sun4c_state::sun4c(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
@ -1620,6 +1638,21 @@ void sun4c_state::sun4_75(machine_config &config)
|
||||
m_maincpu->set_clock(40'000'000);
|
||||
}
|
||||
|
||||
void sun4c_state::scsi_devices_config(machine_config &config)
|
||||
{
|
||||
// sun4c defaults to having nothing at SCSI ID 4
|
||||
|
||||
NSCSI_BUS(config, "scsibus");
|
||||
NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
|
||||
NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
|
||||
NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, "cdrom");
|
||||
NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90", true).set_option_machine_config("ncr53c90", [this] (device_t *device) { ncr53c90(device); });
|
||||
}
|
||||
|
||||
/*
|
||||
Boot PROM
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user