diff options
Diffstat (limited to 'src/devices/machine/mc6846.h')
-rw-r--r-- | src/devices/machine/mc6846.h | 23 |
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 |