summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/namco53.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/namco53.h')
-rw-r--r--src/mame/machine/namco53.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mame/machine/namco53.h b/src/mame/machine/namco53.h
index 7b8852bc738..ec2be4d9330 100644
--- a/src/mame/machine/namco53.h
+++ b/src/mame/machine/namco53.h
@@ -11,22 +11,22 @@
MCFG_DEVICE_ADD(_tag, NAMCO_53XX, _clock)
#define MCFG_NAMCO_53XX_K_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_k_port_callback(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_k_port_callback(DEVCB_##_devcb);
#define MCFG_NAMCO_53XX_INPUT_0_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_input_callback<0>(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_input_callback<0>(DEVCB_##_devcb);
#define MCFG_NAMCO_53XX_INPUT_1_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_input_callback<1>(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_input_callback<1>(DEVCB_##_devcb);
#define MCFG_NAMCO_53XX_INPUT_2_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_input_callback<2>(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_input_callback<2>(DEVCB_##_devcb);
#define MCFG_NAMCO_53XX_INPUT_3_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_input_callback<3>(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_input_callback<3>(DEVCB_##_devcb);
#define MCFG_NAMCO_53XX_P_CB(_devcb) \
- devcb = &downcast<namco_53xx_device &>(*device).set_p_port_callback(DEVCB_##_devcb);
+ downcast<namco_53xx_device &>(*device).set_p_port_callback(DEVCB_##_devcb);
class namco_53xx_device : public device_t
@@ -35,9 +35,12 @@ public:
namco_53xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <unsigned N, class Object> devcb_base &set_input_callback(Object &&cb) { return m_in[N].set_callback(std::forward<Object>(cb)); }
+ template <unsigned N> auto input_callback() { return m_in[N].bind(); }
template <class Object> devcb_base &set_k_port_callback(Object &&cb) { return m_k.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_p_port_callback(Object &&cb) { return m_p.set_callback(std::forward<Object>(cb)); }
+ auto k_port_callback() { return m_k.bind(); }
+ auto p_port_callback() { return m_p.bind(); }
DECLARE_READ8_MEMBER( K_r );
DECLARE_READ8_MEMBER( R0_r );