diff options
Diffstat (limited to 'src/devices/machine/scnxx562.h')
-rw-r--r-- | src/devices/machine/scnxx562.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/devices/machine/scnxx562.h b/src/devices/machine/scnxx562.h index 72f3322a2e5..c9ac458b44c 100644 --- a/src/devices/machine/scnxx562.h +++ b/src/devices/machine/scnxx562.h @@ -152,7 +152,6 @@ 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; // device_serial_interface overrides virtual void tra_callback() override; @@ -160,6 +159,10 @@ protected: virtual void rcv_callback() override; virtual void rcv_complete() override; + TIMER_CALLBACK_MEMBER(check_zero_detect); + TIMER_CALLBACK_MEMBER(rtxc_tick); + TIMER_CALLBACK_MEMBER(trxc_tick); + int m_rxc; int m_txc; int m_tra; @@ -435,13 +438,6 @@ protected: REG_CTCR_TIM_OC = 0x20, }; - enum - { - TIMER_ID, - TIMER_ID_RTXC, - TIMER_ID_TRXC - }; - uint16_t m_brg_rx_rate; uint16_t m_brg_tx_rate; uint16_t m_brg_const; @@ -602,7 +598,9 @@ protected: void check_interrupts(); void reset_interrupts(); uint8_t modify_vector(uint8_t vect, int i, uint8_t src); + int interrupt_priority(int index, int state); void trigger_interrupt(int index, int state); + void clear_interrupt(int index, int state); int get_channel_index(duscc_channel *ch) const { return (ch == m_chanA) ? 0 : 1; } // Variants in the DUSCC family |