mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
sun/sun4.cpp: Less convoluted way of changing default SCSI devices.
This commit is contained in:
parent
6c54c0c33b
commit
882c8bca03
@ -890,18 +890,16 @@ bool floppy_image_device::floppy_is_hd()
|
||||
{
|
||||
if (!m_image)
|
||||
return false;
|
||||
u32 variant = m_image->get_variant();
|
||||
u32 const variant = m_image->get_variant();
|
||||
return variant == floppy_image::DSHD;
|
||||
|
||||
}
|
||||
|
||||
bool floppy_image_device::floppy_is_ed()
|
||||
{
|
||||
if (!m_image)
|
||||
return false;
|
||||
u32 variant = m_image->get_variant();
|
||||
u32 const variant = m_image->get_variant();
|
||||
return variant == floppy_image::DSED;
|
||||
|
||||
}
|
||||
|
||||
void floppy_image_device::track_changed()
|
||||
|
@ -569,8 +569,6 @@ 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);
|
||||
|
||||
@ -684,9 +682,6 @@ public:
|
||||
|
||||
void sun4(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void scsi_devices_config(machine_config &config) override;
|
||||
|
||||
private:
|
||||
void type1space_map(address_map &map);
|
||||
};
|
||||
@ -710,9 +705,6 @@ 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;
|
||||
@ -1443,8 +1435,15 @@ 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));
|
||||
|
||||
// SCSI
|
||||
scsi_devices_config(config);
|
||||
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); });
|
||||
}
|
||||
|
||||
void sun4_state::sun4(machine_config &config)
|
||||
@ -1456,6 +1455,9 @@ void sun4_state::sun4(machine_config &config)
|
||||
|
||||
sun4_base(config);
|
||||
|
||||
// add a tape drive at SCSI ID 4
|
||||
subdevice<nscsi_connector>("scsibus:4")->set_default_option("tape");
|
||||
|
||||
// MMU Type 1 device space
|
||||
ADDRESS_MAP_BANK(config, m_type1space).set_map(&sun4_state::type1space_map).set_options(ENDIANNESS_BIG, 32, 32, 0x80000000);
|
||||
|
||||
@ -1469,21 +1471,6 @@ 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 */
|
||||
@ -1638,21 +1625,6 @@ 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