From 882c8bca03ba6b231217a78510a3e99da5e4003d Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 22 Sep 2024 06:05:51 +1000 Subject: [PATCH] sun/sun4.cpp: Less convoluted way of changing default SCSI devices. --- src/devices/imagedev/floppy.cpp | 6 ++-- src/mame/sun/sun4.cpp | 52 ++++++++------------------------- 2 files changed, 14 insertions(+), 44 deletions(-) diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp index 02a2aa6abbecd..c37183aa3036b 100644 --- a/src/devices/imagedev/floppy.cpp +++ b/src/devices/imagedev/floppy.cpp @@ -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() diff --git a/src/mame/sun/sun4.cpp b/src/mame/sun/sun4.cpp index 5e61c892c945f..803162f64cc6a 100644 --- a/src/mame/sun/sun4.cpp +++ b/src/mame/sun/sun4.cpp @@ -569,8 +569,6 @@ class sun4_base_state : public driver_device 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 @@ class sun4_state : public sun4_base_state 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 @@ class sun4c_state : public sun4_base_state 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("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