diff options
Diffstat (limited to 'src/devices/bus/abcbus/fd2.cpp')
-rw-r--r-- | src/devices/bus/abcbus/fd2.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/devices/bus/abcbus/fd2.cpp b/src/devices/bus/abcbus/fd2.cpp index 12607f51699..4a245b3fee8 100644 --- a/src/devices/bus/abcbus/fd2.cpp +++ b/src/devices/bus/abcbus/fd2.cpp @@ -39,6 +39,8 @@ Notes: #include "emu.h" #include "fd2.h" +#include "formats/abcfd2_dsk.h" + //************************************************************************** @@ -86,7 +88,7 @@ const tiny_rom_entry *abc_fd2_device::device_rom_region() const // status_w - //------------------------------------------------- -WRITE8_MEMBER( abc_fd2_device::status_w ) +void abc_fd2_device::status_w(uint8_t data) { /* @@ -138,17 +140,17 @@ void abc_fd2_device::abc_fd2_io(address_map &map) // Z80PIO //------------------------------------------------- -READ8_MEMBER( abc_fd2_device::pio_pa_r ) +uint8_t abc_fd2_device::pio_pa_r() { return m_data; } -WRITE8_MEMBER( abc_fd2_device::pio_pa_w ) +void abc_fd2_device::pio_pa_w(uint8_t data) { m_data = data; } -READ8_MEMBER( abc_fd2_device::pio_pb_r ) +uint8_t abc_fd2_device::pio_pb_r() { /* @@ -174,7 +176,7 @@ READ8_MEMBER( abc_fd2_device::pio_pb_r ) return data; } -WRITE8_MEMBER( abc_fd2_device::pio_pb_w ) +void abc_fd2_device::pio_pb_w(uint8_t data) { /* @@ -193,8 +195,8 @@ WRITE8_MEMBER( abc_fd2_device::pio_pb_w ) floppy_image_device *floppy = nullptr; - if (BIT(data, 0)) floppy = m_floppy0->get_device(); - if (BIT(data, 1)) floppy = m_floppy1->get_device(); + if (BIT(data, 0)) floppy = m_floppy[0]->get_device(); + if (BIT(data, 1)) floppy = m_floppy[1]->get_device(); m_fdc->set_floppy(floppy); @@ -228,9 +230,11 @@ static void abc_fd2_floppies(device_slot_interface &device) device.option_add("525sssd", FLOPPY_525_SSSD); } -FLOPPY_FORMATS_MEMBER( abc_fd2_device::floppy_formats ) - FLOPPY_ABC_FD2_FORMAT -FLOPPY_FORMATS_END +void abc_fd2_device::floppy_formats(format_registration &fr) +{ + fr.add_fm_containers(); + fr.add(FLOPPY_ABC_FD2_FORMAT); +} //------------------------------------------------- @@ -256,8 +260,8 @@ void abc_fd2_device::device_add_mconfig(machine_config &config) m_fdc->drq_wr_callback().set(m_pio, FUNC(z80pio_device::pb5_w)); m_fdc->hld_wr_callback().set(m_pio, FUNC(z80pio_device::pb6_w)); - FLOPPY_CONNECTOR(config, m_floppy0, abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats); - FLOPPY_CONNECTOR(config, m_floppy1, abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats); + FLOPPY_CONNECTOR(config, m_floppy[0], abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, m_floppy[1], abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats).enable_sound(true); } @@ -275,8 +279,7 @@ abc_fd2_device::abc_fd2_device(const machine_config &mconfig, const char *tag, d m_maincpu(*this, Z80_TAG), m_pio(*this, Z80PIO_TAG), m_fdc(*this, FD1771_TAG), - m_floppy0(*this, FD1771_TAG ":0"), - m_floppy1(*this, FD1771_TAG ":1"), + m_floppy(*this, FD1771_TAG ":%u", 0U), m_dos_rom(*this, "dos"), m_cs(false), m_status(0), m_data(0) { |