diff options
Diffstat (limited to 'src/mame/machine/naomim4.h')
-rw-r--r-- | src/mame/machine/naomim4.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mame/machine/naomim4.h b/src/mame/machine/naomim4.h index 28ef730a1b3..1ecab27a87b 100644 --- a/src/mame/machine/naomim4.h +++ b/src/mame/machine/naomim4.h @@ -5,16 +5,19 @@ #include "naomibd.h" -#define MCFG_NAOMI_M4_BOARD_ADD(_tag, _key_tag, _eeprom_tag, _irq_cb) \ - MCFG_NAOMI_BOARD_ADD(_tag, NAOMI_M4_BOARD, _eeprom_tag, _irq_cb) \ - downcast<naomi_m4_board &>(*device).set_tags(_key_tag); class naomi_m4_board : public naomi_board { public: - naomi_m4_board(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + template <typename T, typename U> + naomi_m4_board(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&eeprom_tag, U &&keyregion_tag) + : naomi_m4_board(mconfig, tag, owner, clock) + { + eeprom.set_tag(std::forward<T>(eeprom_tag)); + m_key_data.set_tag(std::forward<U>(keyregion_tag)); + } - void set_tags(const char *key_tag) { m_key_data.set_tag(key_tag); } + naomi_m4_board(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void submap(address_map &map) override; |