summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nasbus/floppy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nasbus/floppy.cpp')
-rw-r--r--src/devices/bus/nasbus/floppy.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/devices/bus/nasbus/floppy.cpp b/src/devices/bus/nasbus/floppy.cpp
index 0f19c846bd0..905f5eef087 100644
--- a/src/devices/bus/nasbus/floppy.cpp
+++ b/src/devices/bus/nasbus/floppy.cpp
@@ -24,9 +24,11 @@
DEFINE_DEVICE_TYPE(NASCOM_FDC, nascom_fdc_device, "nascom_fdc", "Nascom Floppy Disc Controller")
-FLOPPY_FORMATS_MEMBER( nascom_fdc_device::floppy_formats )
- FLOPPY_NASCOM_FORMAT
-FLOPPY_FORMATS_END
+void nascom_fdc_device::floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_NASCOM_FORMAT);
+}
static void nascom_floppies(device_slot_interface &device)
{
@@ -78,7 +80,7 @@ nascom_fdc_device::nascom_fdc_device(const machine_config &mconfig, const char *
void nascom_fdc_device::device_start()
{
// timer to turn off the drive motor line
- m_motor = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(nascom_fdc_device::motor_off), this));
+ m_motor = timer_alloc(FUNC(nascom_fdc_device::motor_off), this);
save_item(NAME(m_select));
}
@@ -89,9 +91,9 @@ void nascom_fdc_device::device_start()
void nascom_fdc_device::device_reset()
{
- io_space().install_readwrite_handler(0xe0, 0xe3, read8sm_delegate(FUNC(fd1793_device::read), m_fdc.target()), write8sm_delegate(FUNC(fd1793_device::write), m_fdc.target()));
- io_space().install_readwrite_handler(0xe4, 0xe4, read8_delegate(FUNC(nascom_fdc_device::select_r), this), write8_delegate(FUNC(nascom_fdc_device::select_w), this));
- io_space().install_read_handler(0xe5, 0xe5, read8_delegate(FUNC(nascom_fdc_device::status_r), this));
+ io_space().install_readwrite_handler(0xe0, 0xe3, read8sm_delegate(*m_fdc, FUNC(fd1793_device::read)), write8sm_delegate(*m_fdc, FUNC(fd1793_device::write)));
+ io_space().install_readwrite_handler(0xe4, 0xe4, read8smo_delegate(*this, FUNC(nascom_fdc_device::select_r)), write8smo_delegate(*this, FUNC(nascom_fdc_device::select_w)));
+ io_space().install_read_handler(0xe5, 0xe5, read8smo_delegate(*this, FUNC(nascom_fdc_device::status_r)));
}
//-------------------------------------------------
@@ -130,7 +132,7 @@ TIMER_CALLBACK_MEMBER( nascom_fdc_device::motor_off )
m_floppy3->get_device()->mon_w(1);
}
-READ8_MEMBER( nascom_fdc_device::select_r )
+uint8_t nascom_fdc_device::select_r()
{
m_select |= (0x80 | 0x20);
@@ -154,7 +156,7 @@ READ8_MEMBER( nascom_fdc_device::select_r )
return m_select;
}
-WRITE8_MEMBER( nascom_fdc_device::select_w )
+void nascom_fdc_device::select_w(uint8_t data)
{
if (VERBOSE)
logerror("nascom_fdc_device::select_w: 0x%02x\n", data);
@@ -182,7 +184,7 @@ WRITE8_MEMBER( nascom_fdc_device::select_w )
m_select = data;
}
-READ8_MEMBER( nascom_fdc_device::status_r )
+uint8_t nascom_fdc_device::status_r()
{
uint8_t data = 0;