summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6805/m68705.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6805/m68705.h')
-rw-r--r--src/devices/cpu/m6805/m68705.h38
1 files changed, 7 insertions, 31 deletions
diff --git a/src/devices/cpu/m6805/m68705.h b/src/devices/cpu/m6805/m68705.h
index 3966d5301ba..35e3f9f91ec 100644
--- a/src/devices/cpu/m6805/m68705.h
+++ b/src/devices/cpu/m6805/m68705.h
@@ -24,41 +24,17 @@ DECLARE_DEVICE_TYPE(M68705U3, m68705u3_device)
// ======================> m68705_device
-#define MCFG_M68705_PORTA_R_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_r<0>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTB_R_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_r<1>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTC_R_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_r<2>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTD_R_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_r<3>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTA_W_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_w<0>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTB_W_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_w<1>(DEVCB_##obj);
-
-#define MCFG_M68705_PORTC_W_CB(obj) \
- downcast<m68705_device &>(*device).set_port_cb_w<2>(DEVCB_##obj);
-
-
class m68705_device : public m6805_base_device, public device_nvram_interface
{
public:
// configuration helpers
- template<std::size_t N, typename Object> devcb_base &set_port_cb_r(Object &&obj) { return m_port_cb_r[N].set_callback(std::forward<Object>(obj)); }
- template<std::size_t N, typename Object> devcb_base &set_port_cb_w(Object &&obj) { return m_port_cb_w[N].set_callback(std::forward<Object>(obj)); }
- auto porta_r_cb() { return m_port_cb_r[0].bind(); }
- auto portb_r_cb() { return m_port_cb_r[1].bind(); }
- auto portc_r_cb() { return m_port_cb_r[2].bind(); }
- auto portd_r_cb() { return m_port_cb_r[3].bind(); }
- auto porta_w_cb() { return m_port_cb_w[0].bind(); }
- auto portb_w_cb() { return m_port_cb_w[1].bind(); }
- auto portc_w_cb() { return m_port_cb_w[2].bind(); }
+ auto porta_r() { return m_port_cb_r[0].bind(); }
+ auto portb_r() { return m_port_cb_r[1].bind(); }
+ auto portc_r() { return m_port_cb_r[2].bind(); }
+ auto portd_r() { return m_port_cb_r[3].bind(); }
+ auto porta_w() { return m_port_cb_w[0].bind(); }
+ auto portb_w() { return m_port_cb_w[1].bind(); }
+ auto portc_w() { return m_port_cb_w[2].bind(); }
protected:
// state index constants