diff options
Diffstat (limited to 'src/devices/machine/tms9914.h')
-rw-r--r-- | src/devices/machine/tms9914.h | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/src/devices/machine/tms9914.h b/src/devices/machine/tms9914.h index 9fda5aa2ebb..c21cfab5db5 100644 --- a/src/devices/machine/tms9914.h +++ b/src/devices/machine/tms9914.h @@ -74,31 +74,32 @@ public: // Set write callback for ACCRQ signal auto accrq_write_cb() { return m_accrq_write_func.bind(); } - DECLARE_WRITE_LINE_MEMBER(eoi_w); - DECLARE_WRITE_LINE_MEMBER(dav_w); - DECLARE_WRITE_LINE_MEMBER(nrfd_w); - DECLARE_WRITE_LINE_MEMBER(ndac_w); - DECLARE_WRITE_LINE_MEMBER(ifc_w); - DECLARE_WRITE_LINE_MEMBER(srq_w); - DECLARE_WRITE_LINE_MEMBER(atn_w); - DECLARE_WRITE_LINE_MEMBER(ren_w); + void eoi_w(int state); + void dav_w(int state); + void nrfd_w(int state); + void ndac_w(int state); + void ifc_w(int state); + void srq_w(int state); + void atn_w(int state); + void ren_w(int state); // Register access void write(offs_t offset, uint8_t data); uint8_t read(offs_t offset); // CONT output: true when 9914 is current controller-in-charge - DECLARE_READ_LINE_MEMBER(cont_r); + int cont_r(); private: // 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; + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + + TIMER_CALLBACK_MEMBER(fsm_tick); devcb_read8 m_dio_read_func; devcb_write8 m_dio_write_func; - devcb_write_line m_signal_wr_fns[ IEEE_488_SIGNAL_COUNT ]; + devcb_write_line::array<IEEE_488_SIGNAL_COUNT> m_signal_wr_fns; devcb_write_line m_int_write_func; devcb_write_line m_accrq_write_func; bool m_int_line; @@ -117,6 +118,7 @@ private: uint8_t m_reg_int1_mask; uint8_t m_reg_address; uint8_t m_reg_serial_p; + uint8_t m_reg_2nd_serial_p; uint8_t m_reg_parallel_p; uint8_t m_reg_2nd_parallel_p; uint8_t m_reg_di; @@ -137,6 +139,7 @@ private: bool m_stdl; bool m_shdw; bool m_vstdl; + bool m_rsvd2; // AH (Acceptor Handshake) states enum { @@ -237,12 +240,6 @@ private: int m_c_state; // Timers - enum { - SH_DELAY_TMR_ID, - AH_DELAY_TMR_ID, - C_DELAY_TMR_ID - }; - emu_timer *m_sh_dly_timer; emu_timer *m_ah_dly_timer; emu_timer *m_c_dly_timer; |