diff options
Diffstat (limited to 'src/devices/machine/arm_iomd.h')
-rw-r--r-- | src/devices/machine/arm_iomd.h | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/devices/machine/arm_iomd.h b/src/devices/machine/arm_iomd.h index 482c06b8cbc..a6e371cfd6e 100644 --- a/src/devices/machine/arm_iomd.h +++ b/src/devices/machine/arm_iomd.h @@ -42,13 +42,13 @@ public: auto iocr_read_id() { return m_iocr_read_id_cb.bind(); } auto iocr_write_id() { return m_iocr_write_id_cb.bind(); } // IRQA - DECLARE_WRITE_LINE_MEMBER( vblank_irq ); + void vblank_irq(int state); // IRQB - DECLARE_WRITE_LINE_MEMBER( keyboard_irq ); + void keyboard_irq(int state); // DRQs - DECLARE_WRITE_LINE_MEMBER( sound_drq ); + void sound_drq(int state); // Reset - DECLARE_WRITE_LINE_MEMBER( keyboard_reset ); + void keyboard_reset(int state); // I/O operations virtual void map(address_map &map); @@ -62,7 +62,8 @@ protected: virtual void device_add_mconfig(machine_config &config) 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; + + TIMER_CALLBACK_MEMBER(timer_elapsed); void base_map(address_map &map); u16 m_id; @@ -117,14 +118,15 @@ private: u32 cursinit_r(); void cursinit_w(offs_t offset, u32 data, u32 mem_mask = ~0); - static constexpr int sounddma_ch_size = 2; - u32 m_sndcur, m_sndend; - u32 m_sndcur_reg[sounddma_ch_size], m_sndend_reg[sounddma_ch_size]; - bool m_sndstop_reg[sounddma_ch_size], m_sndlast_reg[sounddma_ch_size]; - bool m_sndbuffer_ok[sounddma_ch_size]; + u32 m_sndcur; + u32 m_sndend; + u32 m_sndcur_reg[2]; + u32 m_sndend_reg[2]; + bool m_sndstop_reg[2]; + bool m_sndlast_reg[2]; + bool m_sndbuffer_ok[2]; bool m_sound_dma_on; u8 m_sndcur_buffer; - bool m_snd_overrun, m_snd_int; inline void sounddma_swap_buffer(); template <unsigned Which> u32 sdcur_r(); template <unsigned Which> void sdcur_w(offs_t offset, u32 data, u32 mem_mask = ~0); @@ -139,11 +141,6 @@ private: inline void flush_irq(unsigned Which); template <unsigned Which> inline void trigger_irq(u8 irq_type); - static constexpr int timer_ch_size = 2; - enum { - T0_TIMER = 1, - T1_TIMER - }; inline void trigger_timer(unsigned Which); u16 m_timer_in[2]; u16 m_timer_out[2]; |