summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/abcbus/fd2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/abcbus/fd2.cpp')
-rw-r--r--src/devices/bus/abcbus/fd2.cpp31
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)
{