summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/acorn/system/fdc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/acorn/system/fdc.cpp')
-rw-r--r--src/devices/bus/acorn/system/fdc.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/devices/bus/acorn/system/fdc.cpp b/src/devices/bus/acorn/system/fdc.cpp
index 179b914d3cf..489b645054e 100644
--- a/src/devices/bus/acorn/system/fdc.cpp
+++ b/src/devices/bus/acorn/system/fdc.cpp
@@ -10,10 +10,11 @@
**********************************************************************/
-
#include "emu.h"
#include "fdc.h"
+#include "formats/acorn_dsk.h"
+
//**************************************************************************
// DEVICE DEFINITIONS
@@ -25,9 +26,11 @@ DEFINE_DEVICE_TYPE(ACORN_FDC, acorn_fdc_device, "acorn_fdc", "Acorn Floppy Disc
// MACHINE_DRIVER( fdc )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER(acorn_fdc_device::floppy_formats )
- FLOPPY_ACORN_SSD_FORMAT
-FLOPPY_FORMATS_END
+void acorn_fdc_device::floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_ACORN_SSD_FORMAT);
+}
static void acorn_floppies(device_slot_interface &device)
{
@@ -85,7 +88,7 @@ void acorn_fdc_device::device_reset()
address_space &space = m_bus->memspace();
space.install_device(0x0a00, 0x0a03, *m_fdc, &i8271_device::map);
- space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8smo_delegate(FUNC(i8271_device::data_r), m_fdc.target()), write8smo_delegate(FUNC(i8271_device::data_w), m_fdc.target()));
+ space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8smo_delegate(*m_fdc, FUNC(i8271_device::data_r)), write8smo_delegate(*m_fdc, FUNC(i8271_device::data_w)));
}
@@ -93,20 +96,20 @@ void acorn_fdc_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-WRITE_LINE_MEMBER(acorn_fdc_device::motor_w)
+void acorn_fdc_device::motor_w(int state)
{
if (m_floppy[0]->get_device()) m_floppy[0]->get_device()->mon_w(!state);
if (m_floppy[1]->get_device()) m_floppy[1]->get_device()->mon_w(!state);
m_fdc->ready_w(!state);
}
-WRITE_LINE_MEMBER(acorn_fdc_device::side_w)
+void acorn_fdc_device::side_w(int state)
{
if (m_floppy[0]->get_device()) m_floppy[0]->get_device()->ss_w(state);
if (m_floppy[1]->get_device()) m_floppy[1]->get_device()->ss_w(state);
}
-WRITE_LINE_MEMBER(acorn_fdc_device::bus_nmi_w)
+void acorn_fdc_device::bus_nmi_w(int state)
{
m_bus->nmi_w(state);
}