diff options
Diffstat (limited to 'src/devices/bus/ieee488/c8050fdc.h')
-rw-r--r-- | src/devices/bus/ieee488/c8050fdc.h | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/devices/bus/ieee488/c8050fdc.h b/src/devices/bus/ieee488/c8050fdc.h index 601f9c98ea6..0f1ecfc4918 100644 --- a/src/devices/bus/ieee488/c8050fdc.h +++ b/src/devices/bus/ieee488/c8050fdc.h @@ -11,8 +11,6 @@ #pragma once -#include "formats/d80_dsk.h" -#include "formats/d82_dsk.h" #include "imagedev/floppy.h" #include "machine/fdc_pll.h" @@ -38,17 +36,17 @@ public: uint8_t read(); void write(uint8_t data); - DECLARE_WRITE_LINE_MEMBER( ds0_w ); - DECLARE_WRITE_LINE_MEMBER( ds1_w ); - DECLARE_WRITE_LINE_MEMBER( drv_sel_w ); - DECLARE_WRITE_LINE_MEMBER( mode_sel_w ); - DECLARE_WRITE_LINE_MEMBER( rw_sel_w ); - DECLARE_WRITE_LINE_MEMBER( mtr0_w ); - DECLARE_WRITE_LINE_MEMBER( mtr1_w ); - DECLARE_WRITE_LINE_MEMBER( odd_hd_w ); - DECLARE_WRITE_LINE_MEMBER( pull_sync_w ); + void ds0_w(int state); + void ds1_w(int state); + void drv_sel_w(int state); + void mode_sel_w(int state); + void rw_sel_w(int state); + void mtr0_w(int state); + void mtr1_w(int state); + void odd_hd_w(int state); + void pull_sync_w(int state); - DECLARE_READ_LINE_MEMBER( wps_r ) { return checkpoint_live.drv_sel ? m_floppy1->wpt_r() : m_floppy0->wpt_r(); } + int wps_r() { return checkpoint_live.drv_sel ? m_floppy1->wpt_r() : m_floppy0->wpt_r(); } void stp0_w(int stp); void stp1_w(int stp); @@ -60,11 +58,12 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; + TIMER_CALLBACK_MEMBER(update_state); + void stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int stp); enum { |