summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ieee488/c2040fdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ieee488/c2040fdc.h')
-rw-r--r--src/devices/bus/ieee488/c2040fdc.h25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/devices/bus/ieee488/c2040fdc.h b/src/devices/bus/ieee488/c2040fdc.h
index b2b78452b84..cd3b277c82b 100644
--- a/src/devices/bus/ieee488/c2040fdc.h
+++ b/src/devices/bus/ieee488/c2040fdc.h
@@ -11,10 +11,6 @@
#pragma once
-#include "formats/c3040_dsk.h"
-#include "formats/c4040_dsk.h"
-#include "formats/d64_dsk.h"
-#include "formats/g64_dsk.h"
#include "imagedev/floppy.h"
@@ -37,16 +33,16 @@ 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 );
+ 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);
- DECLARE_READ_LINE_MEMBER( wps_r ) { return checkpoint_live.drv_sel ? m_floppy1->wpt_r() : m_floppy0->wpt_r(); }
- DECLARE_READ_LINE_MEMBER( sync_r ) { return checkpoint_live.sync; }
+ int wps_r() { return checkpoint_live.drv_sel ? m_floppy1->wpt_r() : m_floppy0->wpt_r(); }
+ int sync_r() { return checkpoint_live.sync; }
void stp0_w(int stp);
void stp1_w(int stp);
@@ -59,11 +55,12 @@ protected:
virtual void device_start() override;
virtual void device_clock_changed() 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 {