summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/m68sfdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/m68sfdc.h')
-rw-r--r--src/devices/machine/m68sfdc.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/devices/machine/m68sfdc.h b/src/devices/machine/m68sfdc.h
index aa7dfcb00ee..a545c987af1 100644
--- a/src/devices/machine/m68sfdc.h
+++ b/src/devices/machine/m68sfdc.h
@@ -30,6 +30,11 @@ public:
void set_floppies_4(floppy_connector*, floppy_connector*, floppy_connector*, floppy_connector*);
private:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
required_device<pia6821_device> m_pia;
required_device<mc6852_device> m_ssda;
emu_timer *m_timer_head_load;
@@ -37,13 +42,13 @@ private:
devcb_write_line m_irq_handler;
devcb_write_line m_nmi_handler;
- DECLARE_WRITE_LINE_MEMBER(handle_irq);
- DECLARE_WRITE_LINE_MEMBER(handle_nmi);
+
+ void handle_irq(int state);
+ void handle_nmi(int state);
uint8_t flip_bits(uint8_t data);
uint8_t pia_pa_r();
void pia_pa_w(u8 data);
- int pia_ca1_r();
void pia_ca2_w(int state);
uint8_t pia_pb_r();
void pia_pb_w(u8 data);
@@ -60,7 +65,6 @@ private:
u8 m_head_load;
u8 m_crc;
u8 m_last_crc;
- u8 m_pia_ca1;
u8 m_pia_cb2;
u8 m_reset;
u8 m_enable_drive_write;
@@ -81,16 +85,12 @@ private:
floppy_connector *m_floppy0, *m_floppy1, *m_floppy2, *m_floppy3;
floppy_image_device *m_floppy; // Currently selected floppy.
- virtual void device_resolve_objects() override;
- 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;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual ioport_constructor device_input_ports() const override;
-
- enum { TM_HEAD_LOAD, TM_TIMEOUT, TM_GEN };
+ TIMER_CALLBACK_MEMBER(head_load_update);
+ TIMER_CALLBACK_MEMBER(timeout_expired);
+ TIMER_CALLBACK_MEMBER(general_update);
- enum {
+ enum
+ {
// General "doing nothing" state
IDLE,
@@ -105,7 +105,8 @@ private:
WRITE_BITS,
};
- struct live_info {
+ struct live_info
+ {
enum { PT_NONE, PT_CRC_1, PT_CRC_2 };
attotime tm;