summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/cdp1879.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/cdp1879.h')
-rw-r--r--src/devices/machine/cdp1879.h21
1 files changed, 3 insertions, 18 deletions
diff --git a/src/devices/machine/cdp1879.h b/src/devices/machine/cdp1879.h
index 4563fe7376a..3f92efec75e 100644
--- a/src/devices/machine/cdp1879.h
+++ b/src/devices/machine/cdp1879.h
@@ -13,21 +13,6 @@
#include "dirtc.h"
-
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_CDP1879_IRQ_CALLBACK(_cb) \
- downcast<cdp1879_device &>(*device).set_irq_cb(DEVCB_##_cb);
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> cdp1879_device
-
class cdp1879_device : public device_t,
public device_rtc_interface
{
@@ -38,9 +23,7 @@ public:
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
- template<class Object> devcb_base &set_irq_cb(Object &&cb) { return m_irq_w.set_callback(std::forward<Object>(cb)); }
-
- devcb_write_line m_irq_w;
+ auto irq_callback() { return m_irq_w.bind(); }
protected:
// device-level overrides
@@ -71,6 +54,8 @@ private:
R_ALM_HOURS
};
+ devcb_write_line m_irq_w;
+
u8 m_regs[11];
bool m_comparator_state;