summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isbx/compis_fdc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isbx/compis_fdc.cpp')
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index 3cfed059e70..cd247ccf026 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -9,6 +9,8 @@
#include "emu.h"
#include "compis_fdc.h"
+#include "formats/cpis_dsk.h"
+
//**************************************************************************
// MACROS / CONSTANTS
@@ -26,15 +28,15 @@ DEFINE_DEVICE_TYPE(COMPIS_FDC, compis_fdc_device, "compis_fdc", "Compis FDC")
//-------------------------------------------------
-// floppy_format_type floppy_formats
+// floppy_formats
//-------------------------------------------------
-WRITE_LINE_MEMBER( compis_fdc_device::fdc_irq )
+void compis_fdc_device::fdc_irq(int state)
{
m_slot->mintr1_w(state);
}
-WRITE_LINE_MEMBER( compis_fdc_device::fdc_drq )
+void compis_fdc_device::fdc_drq(int state)
{
m_slot->mdrqt_w(state);
}
@@ -61,8 +63,9 @@ void compis_fdc_device::device_add_mconfig(machine_config &config)
I8272A(config, m_fdc, 8'000'000, true);
m_fdc->intrq_wr_callback().set(FUNC(compis_fdc_device::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(compis_fdc_device::fdc_drq));
- FLOPPY_CONNECTOR(config, m_floppy0, compis_floppies, "525qd", compis_fdc_device::floppy_formats);
- FLOPPY_CONNECTOR(config, m_floppy1, compis_floppies, "525qd", compis_fdc_device::floppy_formats);
+
+ for (auto &floppy : m_floppy)
+ FLOPPY_CONNECTOR(config, floppy, compis_floppies, "525qd", compis_fdc_device::floppy_formats);
}
@@ -79,8 +82,7 @@ compis_fdc_device::compis_fdc_device(const machine_config &mconfig, const char *
device_t(mconfig, COMPIS_FDC, tag, owner, clock),
device_isbx_card_interface(mconfig, *this),
m_fdc(*this, I8272_TAG),
- m_floppy0(*this, I8272_TAG":0"),
- m_floppy1(*this, I8272_TAG":1")
+ m_floppy(*this, I8272_TAG":%u", 0U)
{
}
@@ -171,6 +173,10 @@ void compis_fdc_device::opt0_w(int state)
void compis_fdc_device::opt1_w(int state)
{
- m_floppy0->get_device()->mon_w(state);
- m_floppy1->get_device()->mon_w(state);
+ for (auto &floppy : m_floppy)
+ {
+ floppy_image_device *fd = floppy->get_device();
+ if (fd)
+ fd->mon_w(state);
+ }
}