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