diff options
Diffstat (limited to 'src/devices/machine/mos6526.h')
-rw-r--r-- | src/devices/machine/mos6526.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/devices/machine/mos6526.h b/src/devices/machine/mos6526.h index 2111106c76b..07001edf4d6 100644 --- a/src/devices/machine/mos6526.h +++ b/src/devices/machine/mos6526.h @@ -71,28 +71,28 @@ downcast<mos6526_device &>(*device).set_tod_clock(_clock); #define MCFG_MOS6526_IRQ_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_irq_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_irq_wr_callback(DEVCB_##_write); #define MCFG_MOS6526_CNT_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_cnt_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_cnt_wr_callback(DEVCB_##_write); #define MCFG_MOS6526_SP_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_sp_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_sp_wr_callback(DEVCB_##_write); #define MCFG_MOS6526_PA_INPUT_CALLBACK(_read) \ - devcb = &downcast<mos6526_device &>(*device).set_pa_rd_callback(DEVCB_##_read); + downcast<mos6526_device &>(*device).set_pa_rd_callback(DEVCB_##_read); #define MCFG_MOS6526_PA_OUTPUT_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_pa_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_pa_wr_callback(DEVCB_##_write); #define MCFG_MOS6526_PB_INPUT_CALLBACK(_read) \ - devcb = &downcast<mos6526_device &>(*device).set_pb_rd_callback(DEVCB_##_read); + downcast<mos6526_device &>(*device).set_pb_rd_callback(DEVCB_##_read); #define MCFG_MOS6526_PB_OUTPUT_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_pb_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_pb_wr_callback(DEVCB_##_write); #define MCFG_MOS6526_PC_CALLBACK(_write) \ - devcb = &downcast<mos6526_device &>(*device).set_pc_wr_callback(DEVCB_##_write); + downcast<mos6526_device &>(*device).set_pc_wr_callback(DEVCB_##_write); @@ -119,6 +119,14 @@ public: template <class Object> devcb_base &set_pb_rd_callback(Object &&cb) { return m_read_pb.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_pb_wr_callback(Object &&cb) { return m_write_pb.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_pc_wr_callback(Object &&cb) { return m_write_pc.set_callback(std::forward<Object>(cb)); } + auto irq_wr_callback() { return m_write_irq.bind(); } + auto cnt_wr_callback() { return m_write_cnt.bind(); } + auto sp_wr_callback() { return m_write_sp.bind(); } + auto pa_rd_callback() { return m_read_pa.bind(); } + auto pa_wr_callback() { return m_write_pa.bind(); } + auto pb_rd_callback() { return m_read_pb.bind(); } + auto pb_wr_callback() { return m_write_pb.bind(); } + auto pc_wr_callback() { return m_write_pc.bind(); } DECLARE_READ8_MEMBER( read ); DECLARE_WRITE8_MEMBER( write ); |