summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/ay8910.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/ay8910.h')
-rw-r--r--src/devices/sound/ay8910.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/devices/sound/ay8910.h b/src/devices/sound/ay8910.h
index 44f69041fe8..890d46a3670 100644
--- a/src/devices/sound/ay8910.h
+++ b/src/devices/sound/ay8910.h
@@ -59,20 +59,19 @@
downcast<ay8910_device &>(*device).set_resistors_load(_res0, _res1, _res2);
#define MCFG_AY8910_PORT_A_READ_CB(_devcb) \
- devcb = &downcast<ay8910_device &>(*device).set_port_a_read_callback(DEVCB_##_devcb);
+ downcast<ay8910_device &>(*device).set_port_a_read_callback(DEVCB_##_devcb);
#define MCFG_AY8910_PORT_B_READ_CB(_devcb) \
- devcb = &downcast<ay8910_device &>(*device).set_port_b_read_callback(DEVCB_##_devcb);
+ downcast<ay8910_device &>(*device).set_port_b_read_callback(DEVCB_##_devcb);
#define MCFG_AY8910_PORT_A_WRITE_CB(_devcb) \
- devcb = &downcast<ay8910_device &>(*device).set_port_a_write_callback(DEVCB_##_devcb);
+ downcast<ay8910_device &>(*device).set_port_a_write_callback(DEVCB_##_devcb);
#define MCFG_AY8910_PORT_B_WRITE_CB(_devcb) \
- devcb = &downcast<ay8910_device &>(*device).set_port_b_write_callback(DEVCB_##_devcb);
+ downcast<ay8910_device &>(*device).set_port_b_write_callback(DEVCB_##_devcb);
-class ay8910_device : public device_t,
- public device_sound_interface
+class ay8910_device : public device_t, public device_sound_interface
{
public:
enum psg_type_t
@@ -92,6 +91,10 @@ public:
template <class Object> devcb_base &set_port_b_read_callback(Object &&cb) { return m_port_b_read_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_port_a_write_callback(Object &&cb) { return m_port_a_write_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_port_b_write_callback(Object &&cb) { return m_port_b_write_cb.set_callback(std::forward<Object>(cb)); }
+ auto port_a_read_callback() { return m_port_a_read_cb.bind(); }
+ auto port_b_read_callback() { return m_port_b_read_cb.bind(); }
+ auto port_a_write_callback() { return m_port_a_write_cb.bind(); }
+ auto port_b_write_callback() { return m_port_b_write_cb.bind(); }
DECLARE_READ8_MEMBER( data_r );
DECLARE_WRITE8_MEMBER( address_w );