diff options
Diffstat (limited to 'src/devices/bus/nasbus/floppy.cpp')
-rw-r--r-- | src/devices/bus/nasbus/floppy.cpp | 22 |
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; |