diff options
Diffstat (limited to 'src/devices/sound/ay8910.h')
-rw-r--r-- | src/devices/sound/ay8910.h | 15 |
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 ); |