summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/scnxx562.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/scnxx562.h')
-rw-r--r--src/devices/machine/scnxx562.h14
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