summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mc6846.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mc6846.h')
-rw-r--r--src/devices/machine/mc6846.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/devices/machine/mc6846.h b/src/devices/machine/mc6846.h
index ef8794c1ebc..e35d08f7af8 100644
--- a/src/devices/machine/mc6846.h
+++ b/src/devices/machine/mc6846.h
@@ -8,8 +8,10 @@
**********************************************************************/
-#ifndef MC6846_H
-#define MC6846_H
+#ifndef MAME_MACHINE_MC6846_H
+#define MAME_MACHINE_MC6846_H
+
+#pragma once
#define MCFG_MC6846_OUT_PORT_CB(_devcb) \
@@ -35,14 +37,13 @@ class mc6846_device : public device_t
{
public:
mc6846_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- ~mc6846_device() {}
- template<class _Object> static devcb_base &set_out_port_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_out_port_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_cp1_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_out_cp1_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_cp2_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_out_cp2_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_in_port_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_in_port_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_cto_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_out_cto_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_irq_callback(device_t &device, _Object object) { return downcast<mc6846_device &>(device).m_irq_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_port_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_out_port_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_cp1_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_out_cp1_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_cp2_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_out_cp2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_in_port_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_in_port_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_cto_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_out_cto_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq_callback(device_t &device, Object &&cb) { return downcast<mc6846_device &>(device).m_irq_cb.set_callback(std::forward<Object>(cb)); }
/* interface to CPU via address/data bus*/
DECLARE_READ8_MEMBER(read);
@@ -120,6 +121,6 @@ private:
TIMER_CALLBACK_MEMBER(timer_one_shot);
};
-extern const device_type MC6846;
+DECLARE_DEVICE_TYPE(MC6846, mc6846_device)
-#endif
+#endif // MAME_MACHINE_MC6846_H