summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/tvc/tvc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/tvc/tvc.h')
-rw-r--r--src/devices/bus/tvc/tvc.h33
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