summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/z80ctc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/z80ctc.h')
-rw-r--r--src/devices/machine/z80ctc.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/devices/machine/z80ctc.h b/src/devices/machine/z80ctc.h
index 9f0d5aa410f..0af27a0211c 100644
--- a/src/devices/machine/z80ctc.h
+++ b/src/devices/machine/z80ctc.h
@@ -51,8 +51,8 @@ public:
protected:
// device_t implementation
- virtual void device_start() override;
- virtual void device_reset() override;
+ virtual void device_start() override ATTR_COLD;
+ virtual void device_reset() override ATTR_COLD;
u8 read();
void write(u8 data);
@@ -100,9 +100,11 @@ public:
u16 get_channel_constant(int ch) const { return m_channel[ch]->m_tconst; }
protected:
+ z80ctc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
// device_t implementation
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
+ virtual void device_start() override ATTR_COLD;
virtual void device_reset_after_children() override;
// z80daisy_interface implementation
@@ -110,20 +112,18 @@ protected:
virtual int z80daisy_irq_ack() override;
virtual void z80daisy_irq_reti() override;
-private:
// internal helpers
+ u8 channel_int_state(int ch) const noexcept { return m_channel[ch]->m_int_state; }
void interrupt_check();
z80ctc_channel_device &channel_config(int ch) { return *m_channel[ch].lookup(); }
// internal state
- devcb_write_line m_intr_cb; // interrupt callback
- devcb_write_line::array<4> m_zc_cb; // zero crossing/timer output callbacks
-
- u8 m_vector; // interrupt vector
+ required_device_array<z80ctc_channel_device, 4> m_channel; // subdevice for each channel
+ devcb_write_line m_intr_cb; // interrupt callback
+ devcb_write_line::array<4> m_zc_cb; // zero crossing/timer output callbacks
- // subdevice for each channel
- required_device_array<z80ctc_channel_device, 4> m_channel;
+ u8 m_vector; // interrupt vector
};