diff --git a/src/devices/bus/spectrum/opus.cpp b/src/devices/bus/spectrum/opus.cpp index 33adaebd0a1..791804b532a 100644 --- a/src/devices/bus/spectrum/opus.cpp +++ b/src/devices/bus/spectrum/opus.cpp @@ -6,11 +6,12 @@ **********************************************************************/ - #include "emu.h" #include "opus.h" #include "softlist_dev.h" +#include "formats/opd_dsk.h" + //************************************************************************** // DEVICE DEFINITIONS @@ -82,8 +83,8 @@ void spectrum_opus_device::device_add_mconfig(machine_config &config) WD1770(config, m_fdc, 16_MHz_XTAL / 2); m_fdc->drq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::nmi_w)); - FLOPPY_CONNECTOR(config, "fdc:0", spectrum_floppies, "35dd", spectrum_opus_device::floppy_formats).enable_sound(true); - FLOPPY_CONNECTOR(config, "fdc:1", spectrum_floppies, "35dd", spectrum_opus_device::floppy_formats).enable_sound(true); + for (auto &floppy : m_floppy) + FLOPPY_CONNECTOR(config, floppy, spectrum_floppies, "35dd", spectrum_opus_device::floppy_formats).enable_sound(true); /* parallel printer port */ CENTRONICS(config, m_centronics, centronics_devices, "printer"); @@ -126,8 +127,7 @@ spectrum_opus_device::spectrum_opus_device(const machine_config &mconfig, const , m_rom(*this, "rom") , m_pia(*this, "pia") , m_fdc(*this, "fdc") - , m_floppy0(*this, "fdc:0") - , m_floppy1(*this, "fdc:1") + , m_floppy(*this, "fdc:%u", 0U) , m_centronics(*this, "centronics") , m_exp(*this, "exp") { @@ -256,8 +256,8 @@ void spectrum_opus_device::pia_out_a(uint8_t data) floppy_image_device *floppy = nullptr; // bit 0, 1: drive select - if (!BIT(data, 0)) floppy = m_floppy1->get_device(); - if (!BIT(data, 1)) floppy = m_floppy0->get_device(); + if (!BIT(data, 0)) floppy = m_floppy[1]->get_device(); + if (!BIT(data, 1)) floppy = m_floppy[0]->get_device(); m_fdc->set_floppy(floppy); // bit 4: side select diff --git a/src/devices/bus/spectrum/opus.h b/src/devices/bus/spectrum/opus.h index 6578371ca1d..109f8efe70f 100644 --- a/src/devices/bus/spectrum/opus.h +++ b/src/devices/bus/spectrum/opus.h @@ -15,7 +15,6 @@ #include "machine/wd_fdc.h" #include "machine/6821pia.h" #include "bus/centronics/ctronics.h" -#include "formats/opd_dsk.h" //************************************************************************** // TYPE DEFINITIONS @@ -63,8 +62,7 @@ private: required_memory_region m_rom; required_device m_pia; required_device m_fdc; - required_device m_floppy0; - required_device m_floppy1; + required_device_array m_floppy; required_device m_centronics; required_device m_exp;