diff options
Diffstat (limited to 'src/mame/video/gime.h')
-rw-r--r-- | src/mame/video/gime.h | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/src/mame/video/gime.h b/src/mame/video/gime.h index 3ecf1aa3e7e..89f692f7254 100644 --- a/src/mame/video/gime.h +++ b/src/mame/video/gime.h @@ -20,24 +20,6 @@ //************************************************************************** -// GIME CONFIG/INTERFACE -//************************************************************************** - -#define MCFG_GIME_HSYNC_CALLBACK MCFG_MC6847_HSYNC_CALLBACK - -#define MCFG_GIME_FSYNC_CALLBACK MCFG_MC6847_FSYNC_CALLBACK - -#define MCFG_GIME_IRQ_CALLBACK(_write) \ - downcast<gime_device &>(*device).set_irq_wr_callback(DEVCB_##_write); - -#define MCFG_GIME_FIRQ_CALLBACK(_write) \ - downcast<gime_device &>(*device).set_firq_wr_callback(DEVCB_##_write); - -#define MCFG_GIME_FLOATING_BUS_CALLBACK(_read) \ - downcast<gime_device &>(*device).set_floating_bus_rd_callback(DEVCB_##_read); - - -//************************************************************************** // GIME CORE //************************************************************************** @@ -46,9 +28,9 @@ class cococart_slot_device; class gime_device : public mc6847_friend_device, public sam6883_friend_device_interface { public: - template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_firq_wr_callback(Object &&cb) { return m_write_firq.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_floating_bus_rd_callback(Object &&cb) { return m_read_floating_bus.set_callback(std::forward<Object>(cb)); } + auto irq_wr_callback() { return m_write_irq.bind(); } + auto firq_wr_callback() { return m_write_firq.bind(); } + auto floating_bus_rd_callback() { return m_read_floating_bus.bind(); } // read/write DECLARE_READ8_MEMBER( bus_r ) { return read(offset); } |