summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/vic10/exp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/vic10/exp.h')
-rw-r--r--src/devices/bus/vic10/exp.h33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/devices/bus/vic10/exp.h b/src/devices/bus/vic10/exp.h
index 56754923a02..24da3f392dc 100644
--- a/src/devices/bus/vic10/exp.h
+++ b/src/devices/bus/vic10/exp.h
@@ -49,31 +49,6 @@
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
- downcast<vic10_expansion_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_VIC10_EXPANSION_SLOT_RES_CALLBACK(_write) \
- downcast<vic10_expansion_slot_device &>(*device).set_res_wr_callback(DEVCB_##_write);
-
-#define MCFG_VIC10_EXPANSION_SLOT_CNT_CALLBACK(_write) \
- downcast<vic10_expansion_slot_device &>(*device).set_cnt_wr_callback(DEVCB_##_write);
-
-#define MCFG_VIC10_EXPANSION_SLOT_SP_CALLBACK(_write) \
- downcast<vic10_expansion_slot_device &>(*device).set_sp_wr_callback(DEVCB_##_write);
-
-
-#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(_irq, _res) \
- downcast<vic10_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB_##_irq, DEVCB_##_res);
-
-#define MCFG_VIC10_EXPANSION_SLOT_SERIAL_CALLBACKS(_cnt, _sp) \
- downcast<vic10_expansion_slot_device *>(device)->set_serial_callbacks(DEVCB_##_cnt, DEVCB_##_sp);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -98,10 +73,10 @@ public:
}
vic10_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_res_wr_callback(Object &&cb) { return m_write_res.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_cnt_wr_callback(Object &&cb) { return m_write_cnt.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_sp_wr_callback(Object &&cb) { return m_write_sp.set_callback(std::forward<Object>(cb)); }
+ auto irq_callback() { return m_write_irq.bind(); }
+ auto res_callback() { return m_write_res.bind(); }
+ auto cnt_callback() { return m_write_cnt.bind(); }
+ auto sp_callback() { return m_write_sp.bind(); }
// computer interface
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram);