summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ieee488/hp9895.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ieee488/hp9895.h')
-rw-r--r--src/devices/bus/ieee488/hp9895.h45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/devices/bus/ieee488/hp9895.h b/src/devices/bus/ieee488/hp9895.h
index 53858207609..0f33b543929 100644
--- a/src/devices/bus/ieee488/hp9895.h
+++ b/src/devices/bus/ieee488/hp9895.h
@@ -29,7 +29,6 @@ public:
protected:
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;
// device-level overrides
virtual ioport_constructor device_input_ports() const override;
@@ -48,21 +47,21 @@ protected:
private:
// PHI write CBs
- DECLARE_WRITE_LINE_MEMBER(phi_eoi_w);
- DECLARE_WRITE_LINE_MEMBER(phi_dav_w);
- DECLARE_WRITE_LINE_MEMBER(phi_nrfd_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ndac_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ifc_w);
- DECLARE_WRITE_LINE_MEMBER(phi_srq_w);
- DECLARE_WRITE_LINE_MEMBER(phi_atn_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ren_w);
+ void phi_eoi_w(int state);
+ void phi_dav_w(int state);
+ void phi_nrfd_w(int state);
+ void phi_ndac_w(int state);
+ void phi_ifc_w(int state);
+ void phi_srq_w(int state);
+ void phi_atn_w(int state);
+ void phi_ren_w(int state);
// PHI DIO r/w CBs
uint8_t phi_dio_r();
void phi_dio_w(uint8_t data);
// PHI IRQ/Z80 NMI
- DECLARE_WRITE_LINE_MEMBER(phi_int_w);
+ void phi_int_w(int state);
// Z80 IRQ
void z80_m1_w(uint8_t data);
@@ -87,12 +86,26 @@ private:
// Floppy drive interface
void floppy_ready_cb(floppy_image_device *floppy , int state);
+ TIMER_CALLBACK_MEMBER(timeout_timer_tick);
+ TIMER_CALLBACK_MEMBER(byte_timer_tick);
+ TIMER_CALLBACK_MEMBER(half_bit_timer_tick);
+
+ uint8_t get_switches2(void) const;
+ attotime get_half_bit_cell_period(void) const;
+ floppy_image_device *get_write_device(void) const;
+ void preset_crc(void);
+ void update_crc(bool bit);
+ bool shift_sr(uint8_t& sr , bool input_bit);
+ void get_next_transition(const attotime& from_when , attotime& edge);
+ void read_bit(bool crc_upd);
+ void write_bit(bool data_bit , bool clock_bit);
+
void z80_io_map(address_map &map);
void z80_program_map(address_map &map);
required_device<z80_device> m_cpu;
required_device<phi_device> m_phi;
- required_device<floppy_connector> m_drives[ 2 ];
+ required_device_array<floppy_connector, 2> m_drives;
required_ioport m_switches;
bool m_cpu_irq;
@@ -123,16 +136,6 @@ private:
// PLL
fdc_pll_t m_pll;
-
- uint8_t get_switches2(void) const;
- attotime get_half_bit_cell_period(void) const;
- floppy_image_device *get_write_device(void) const;
- void preset_crc(void);
- void update_crc(bool bit);
- bool shift_sr(uint8_t& sr , bool input_bit);
- void get_next_transition(const attotime& from_when , attotime& edge);
- void read_bit(bool crc_upd);
- void write_bit(bool data_bit , bool clock_bit);
};
// device type definition