diff options
Diffstat (limited to 'src/devices/bus/plus4/exp.h')
-rw-r--r-- | src/devices/bus/plus4/exp.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/devices/bus/plus4/exp.h b/src/devices/bus/plus4/exp.h index 0fc56396ca9..e61755a497e 100644 --- a/src/devices/bus/plus4/exp.h +++ b/src/devices/bus/plus4/exp.h @@ -94,13 +94,17 @@ class plus4_expansion_slot_device : public device_t, { public: // construction/destruction + template <typename T> + plus4_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt) + : plus4_expansion_slot_device(mconfig, tag, owner, clock) + { + option_reset(); + opts(*this); + set_default_option(dflt); + set_fixed(false); + } plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - 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_cd_rd_callback(Object &&cb) { return m_read_dma_cd.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_cd_wr_callback(Object &&cb) { return m_write_dma_cd.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_aec_wr_callback(Object &&cb) { return m_write_aec.set_callback(std::forward<Object>(cb)); } - auto irq_wr_callback() { return m_write_irq.bind(); } auto cd_rd_callback() { return m_read_dma_cd.bind(); } auto cd_wr_callback() { return m_write_dma_cd.bind(); } |