diff options
Diffstat (limited to 'src/devices/bus/tvc/tvc.h')
-rw-r--r-- | src/devices/bus/tvc/tvc.h | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/devices/bus/tvc/tvc.h b/src/devices/bus/tvc/tvc.h index 40ceb334886..c3e3ea44cf8 100644 --- a/src/devices/bus/tvc/tvc.h +++ b/src/devices/bus/tvc/tvc.h @@ -53,8 +53,10 @@ +----------+ *********************************************************************/ -#ifndef __TVCEXP_H__ -#define __TVCEXP_H__ +#ifndef MAME_BUS_TVC_TVC_H +#define MAME_BUS_TVC_TVC_H + +#pragma once /*************************************************************************** @@ -67,7 +69,6 @@ class device_tvcexp_interface : public device_slot_card_interface { public: // construction/destruction - device_tvcexp_interface(const machine_config &mconfig, device_t &device); virtual ~device_tvcexp_interface(); // reading and writing @@ -75,9 +76,12 @@ public: virtual void int_ack() { } virtual uint8_t int_r() { return 1; } virtual DECLARE_READ8_MEMBER(read) { return 0x00; } - virtual DECLARE_WRITE8_MEMBER(write) {} + virtual DECLARE_WRITE8_MEMBER(write) { } virtual DECLARE_READ8_MEMBER(io_read) { return 0x00; } - virtual DECLARE_WRITE8_MEMBER(io_write) {} + virtual DECLARE_WRITE8_MEMBER(io_write) { } + +protected: + device_tvcexp_interface(const machine_config &mconfig, device_t &device); }; // ======================> tvcexp_slot_device @@ -90,11 +94,8 @@ public: tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~tvcexp_slot_device(); - template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); } - template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); } - - // device-level overrides - virtual void device_start() override; + template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); } // reading and writing virtual uint8_t id_r(); @@ -105,14 +106,18 @@ public: virtual DECLARE_READ8_MEMBER(io_read); virtual DECLARE_WRITE8_MEMBER(io_write); - devcb_write_line m_out_irq_cb; - devcb_write_line m_out_nmi_cb; +protected: + // device-level overrides + virtual void device_start() override; + + devcb_write_line m_out_irq_cb; + devcb_write_line m_out_nmi_cb; device_tvcexp_interface* m_cart; }; // device type definition -extern const device_type TVCEXP_SLOT; +DECLARE_DEVICE_TYPE(TVCEXP_SLOT, tvcexp_slot_device) /*************************************************************************** @@ -125,4 +130,4 @@ extern const device_type TVCEXP_SLOT; #define MCFG_TVCEXP_SLOT_OUT_NMI_CB(_devcb) \ devcb = &tvcexp_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb); -#endif /* __TVCEXP_H__ */ +#endif // MAME_BUS_TVC_TVC_H |