summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isbx
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2021-03-02 15:29:33 +0100
committer Olivier Galibert <galibert@pobox.com>2021-03-02 15:30:45 +0100
commit3c9e3749541b1da8a0c5409c582070aae66dd3d6 (patch)
tree7fafe993b6679ef13fb48ed7d5e18f47a8226928 /src/devices/bus/isbx
parentdd75841b96ec3a16e937ae970a986b87cc9c9ee2 (diff)
floppies: Turn the format arrays into function calls. Create a default "mfm", "fm" and "pc" list of formats. Their contents, and which driver uses what, may need some tuning.
Diffstat (limited to 'src/devices/bus/isbx')
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp8
-rw-r--r--src/devices/bus/isbx/compis_fdc.h2
-rw-r--r--src/devices/bus/isbx/isbc_218a.cpp11
-rw-r--r--src/devices/bus/isbx/isbc_218a.h2
4 files changed, 8 insertions, 15 deletions
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index fea0e7f59b5..3cfed059e70 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -39,9 +39,11 @@ WRITE_LINE_MEMBER( compis_fdc_device::fdc_drq )
m_slot->mdrqt_w(state);
}
-FLOPPY_FORMATS_MEMBER( compis_fdc_device::floppy_formats )
- FLOPPY_CPIS_FORMAT
-FLOPPY_FORMATS_END
+void compis_fdc_device::floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_CPIS_FORMAT);
+}
static void compis_floppies(device_slot_interface &device)
{
diff --git a/src/devices/bus/isbx/compis_fdc.h b/src/devices/bus/isbx/compis_fdc.h
index af1d71a3af2..5e50b3a3696 100644
--- a/src/devices/bus/isbx/compis_fdc.h
+++ b/src/devices/bus/isbx/compis_fdc.h
@@ -50,7 +50,7 @@ protected:
private:
DECLARE_WRITE_LINE_MEMBER( fdc_irq );
DECLARE_WRITE_LINE_MEMBER( fdc_drq );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
+ static void floppy_formats(format_registration &fr);
required_device<i8272a_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp
index 8e57a13877b..3c1dd92b4fa 100644
--- a/src/devices/bus/isbx/isbc_218a.cpp
+++ b/src/devices/bus/isbx/isbc_218a.cpp
@@ -24,11 +24,6 @@
DEFINE_DEVICE_TYPE(ISBC_218A, isbc_218a_device, "isbc_218a", "ISBX 218a for ISBC")
-
-//-------------------------------------------------
-// floppy_format_type floppy_formats
-//-------------------------------------------------
-
WRITE_LINE_MEMBER( isbc_218a_device::fdc_irq )
{
m_slot->mintr1_w(state);
@@ -39,10 +34,6 @@ WRITE_LINE_MEMBER( isbc_218a_device::fdc_drq )
m_slot->mdrqt_w(state);
}
-FLOPPY_FORMATS_MEMBER( isbc_218a_device::floppy_formats )
- FLOPPY_PC_FORMAT
-FLOPPY_FORMATS_END
-
static void isbc_218a_floppies(device_slot_interface &device)
{
device.option_add("8dd", FLOPPY_8_DSDD);
@@ -60,7 +51,7 @@ void isbc_218a_device::device_add_mconfig(machine_config &config)
I8272A(config, m_fdc, 8_MHz_XTAL, true);
m_fdc->intrq_wr_callback().set(FUNC(isbc_218a_device::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(isbc_218a_device::fdc_drq));
- FLOPPY_CONNECTOR(config, m_floppy0, isbc_218a_floppies, "525dd", isbc_218a_device::floppy_formats);
+ FLOPPY_CONNECTOR(config, m_floppy0, isbc_218a_floppies, "525dd", floppy_image_device::default_pc_floppy_formats);
}
diff --git a/src/devices/bus/isbx/isbc_218a.h b/src/devices/bus/isbx/isbc_218a.h
index bdf37c52806..c654c74aae8 100644
--- a/src/devices/bus/isbx/isbc_218a.h
+++ b/src/devices/bus/isbx/isbc_218a.h
@@ -51,7 +51,7 @@ protected:
private:
DECLARE_WRITE_LINE_MEMBER( fdc_irq );
DECLARE_WRITE_LINE_MEMBER( fdc_drq );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
+ static void floppy_formats(format_registration &fr);
required_device<i8272a_device> m_fdc;
required_device<floppy_connector> m_floppy0;