diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp index 7b6c5172ee0..0621992c1e6 100644 --- a/src/mame/drivers/sorcerer.cpp +++ b/src/mame/drivers/sorcerer.cpp @@ -562,6 +562,8 @@ void sorcerer_state::sorcerera(machine_config &config) m_fdc4->drq_wr_callback().set(FUNC(sorcerer_state::intrq4_w)); FLOPPY_CONNECTOR(config, "fdc4:0", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); FLOPPY_CONNECTOR(config, "fdc4:1", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, "fdc4:2", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, "fdc4:3", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); //SOFTWARE_LIST(config, "flop_list").set_original("sorcerer_flop"); // no suitable software yet // internal ram @@ -589,6 +591,8 @@ void sorcerer_state::sorcererb(machine_config &config) m_fdc3->drq_wr_callback().set(m_dma, FUNC(z80dma_device::rdy_w)); FLOPPY_CONNECTOR(config, "fdc3:0", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); FLOPPY_CONNECTOR(config, "fdc3:1", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, "fdc3:2", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, "fdc3:3", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true); //SOFTWARE_LIST(config, "flop_list").set_original("sorcerer_flop"); // no suitable software yet config.device_remove("cartslot"); diff --git a/src/mame/includes/sorcerer.h b/src/mame/includes/sorcerer.h index ace0ad828ce..9fb8a19fa15 100644 --- a/src/mame/includes/sorcerer.h +++ b/src/mame/includes/sorcerer.h @@ -67,8 +67,12 @@ public: , m_floppy21(*this, "fdc2:1") , m_floppy30(*this, "fdc3:0") , m_floppy31(*this, "fdc3:1") + , m_floppy32(*this, "fdc3:2") + , m_floppy33(*this, "fdc3:3") , m_floppy40(*this, "fdc4:0") , m_floppy41(*this, "fdc4:1") + , m_floppy42(*this, "fdc4:2") + , m_floppy43(*this, "fdc4:3") , m_iop_config(*this, "CONFIG") , m_iop_vs(*this, "VS") , m_iop_x(*this, "X.%u", 0) @@ -159,8 +163,12 @@ private: optional_device m_floppy21; optional_device m_floppy30; optional_device m_floppy31; + optional_device m_floppy32; + optional_device m_floppy33; optional_device m_floppy40; optional_device m_floppy41; + optional_device m_floppy42; + optional_device m_floppy43; required_ioport m_iop_config; required_ioport m_iop_vs; required_ioport_array<16> m_iop_x; diff --git a/src/mame/machine/sorcerer.cpp b/src/mame/machine/sorcerer.cpp index ee4e6857d25..df575373021 100644 --- a/src/mame/machine/sorcerer.cpp +++ b/src/mame/machine/sorcerer.cpp @@ -235,6 +235,8 @@ WRITE8_MEMBER(sorcerer_state::port48_w) if (BIT(data, 0)) floppy = m_floppy40->get_device(); if (BIT(data, 1)) floppy = m_floppy41->get_device(); + if (BIT(data, 2)) floppy = m_floppy42->get_device(); + if (BIT(data, 3)) floppy = m_floppy43->get_device(); m_fdc4->set_floppy(floppy); @@ -264,6 +266,8 @@ WRITE8_MEMBER(sorcerer_state::port34_w) if (BIT(data, 0)) floppy = m_floppy30->get_device(); if (BIT(data, 1)) floppy = m_floppy31->get_device(); + if (BIT(data, 2)) floppy = m_floppy32->get_device(); + if (BIT(data, 3)) floppy = m_floppy33->get_device(); m_fdc3->set_floppy(floppy);