summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ieee488/c8050fdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ieee488/c8050fdc.h')
-rw-r--r--src/devices/bus/ieee488/c8050fdc.h25
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 {