diff options
Diffstat (limited to 'src/devices/bus/acorn/system/fdc.cpp')
-rw-r--r-- | src/devices/bus/acorn/system/fdc.cpp | 19 |
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); } |