diff options
Diffstat (limited to 'src/mame/audio/namco52.h')
-rw-r--r-- | src/mame/audio/namco52.h | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/src/mame/audio/namco52.h b/src/mame/audio/namco52.h index 0412ed14dcb..2fcfaf54f27 100644 --- a/src/mame/audio/namco52.h +++ b/src/mame/audio/namco52.h @@ -6,35 +6,16 @@ #include "sound/discrete.h" #include "cpu/mb88xx/mb88xx.h" -#define MCFG_NAMCO_52XX_ADD(_tag, _clock) \ - MCFG_DEVICE_ADD(_tag, NAMCO_52XX, _clock) - -#define MCFG_NAMCO_52XX_DISCRETE(_tag) \ - downcast<namco_52xx_device &>(*device).set_discrete(_tag); - -#define MCFG_NAMCO_52XX_BASENODE(_node) \ - downcast<namco_52xx_device &>(*device).set_basenote(_node); - -#define MCFG_NAMCO_52XX_EXT_CLOCK(_clock) \ - downcast<namco_52xx_device &>(*device).set_extclock(_clock); - -#define MCFG_NAMCO_52XX_ROMREAD_CB(_devcb) \ - downcast<namco_52xx_device &>(*device).set_romread_callback(DEVCB_##_devcb); - -#define MCFG_NAMCO_52XX_SI_CB(_devcb) \ - downcast<namco_52xx_device &>(*device).set_si_callback(DEVCB_##_devcb); - - class namco_52xx_device : public device_t { public: namco_52xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void set_discrete(const char *tag) { m_discrete.set_tag(tag); } + template <typename T> void set_discrete(T &&tag) { m_discrete.set_tag(std::forward<T>(tag)); } void set_basenote(int node) { m_basenode = node; } void set_extclock(attoseconds_t clk) { m_extclock = clk; } - template <class Object> devcb_base &set_romread_callback(Object &&cb) { return m_romread.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_si_callback(Object &&cb) { return m_si.set_callback(std::forward<Object>(cb)); } + auto romread_callback() { return m_romread.bind(); } + auto si_callback() { return m_si.bind(); } DECLARE_WRITE8_MEMBER(write); |