summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/z80dart.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/z80dart.h')
-rw-r--r--src/devices/machine/z80dart.h75
1 files changed, 37 insertions, 38 deletions
diff --git a/src/devices/machine/z80dart.h b/src/devices/machine/z80dart.h
index 90768898ae0..04806d3f957 100644
--- a/src/devices/machine/z80dart.h
+++ b/src/devices/machine/z80dart.h
@@ -155,52 +155,52 @@
//**************************************************************************
#define MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb) \
- z80dart_device::configure_channels(*device, _rxa, _txa, _rxb, _txb);
+ downcast<z80dart_device &>(*device).configure_channels(_rxa, _txa, _rxb, _txb);
#define MCFG_Z80DART_OUT_TXDA_CB(_devcb) \
- devcb = &z80dart_device::set_out_txda_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_txda_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_DTRA_CB(_devcb) \
- devcb = &z80dart_device::set_out_dtra_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_dtra_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_RTSA_CB(_devcb) \
- devcb = &z80dart_device::set_out_rtsa_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_rtsa_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_WRDYA_CB(_devcb) \
- devcb = &z80dart_device::set_out_wrdya_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_wrdya_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_SYNCA_CB(_devcb) \
- devcb = &z80dart_device::set_out_synca_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_synca_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_TXDB_CB(_devcb) \
- devcb = &z80dart_device::set_out_txdb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_txdb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_DTRB_CB(_devcb) \
- devcb = &z80dart_device::set_out_dtrb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_dtrb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_RTSB_CB(_devcb) \
- devcb = &z80dart_device::set_out_rtsb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_rtsb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_WRDYB_CB(_devcb) \
- devcb = &z80dart_device::set_out_wrdyb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_wrdyb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_SYNCB_CB(_devcb) \
- devcb = &z80dart_device::set_out_syncb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_syncb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_INT_CB(_devcb) \
- devcb = &z80dart_device::set_out_int_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_int_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_RXDRQA_CB(_devcb) \
- devcb = &z80dart_device::set_out_rxdrqa_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_rxdrqa_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_TXDRQA_CB(_devcb) \
- devcb = &z80dart_device::set_out_txdrqa_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_txdrqa_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_RXDRQB_CB(_devcb) \
- devcb = &z80dart_device::set_out_rxdrqb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_rxdrqb_callback(DEVCB_##_devcb);
#define MCFG_Z80DART_OUT_TXDRQB_CB(_devcb) \
- devcb = &z80dart_device::set_out_txdrqb_callback(*device, DEVCB_##_devcb);
+ devcb = &downcast<z80dart_device &>(*device).set_out_txdrqb_callback(DEVCB_##_devcb);
//**************************************************************************
@@ -446,29 +446,28 @@ public:
// construction/destruction
z80dart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> static devcb_base &set_out_txda_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_txda_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_dtra_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_dtra_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_rtsa_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_rtsa_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_wrdya_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_wrdya_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_synca_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_synca_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_txdb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_txdb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_dtrb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_dtrb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_rtsb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_rtsb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_wrdyb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_wrdyb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_syncb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_syncb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_int_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_int_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_rxdrqa_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_rxdrqa_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_txdrqa_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_txdrqa_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_rxdrqb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_rxdrqb_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_out_txdrqb_callback(device_t &device, Object &&cb) { return downcast<z80dart_device &>(device).m_out_txdrqb_cb.set_callback(std::forward<Object>(cb)); }
-
- static void configure_channels(device_t &device, int rxa, int txa, int rxb, int txb)
+ template <class Object> devcb_base &set_out_txda_callback(Object &&cb) { return m_out_txda_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_dtra_callback(Object &&cb) { return m_out_dtra_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_rtsa_callback(Object &&cb) { return m_out_rtsa_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_wrdya_callback(Object &&cb) { return m_out_wrdya_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_synca_callback(Object &&cb) { return m_out_synca_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_txdb_callback(Object &&cb) { return m_out_txdb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_dtrb_callback(Object &&cb) { return m_out_dtrb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_rtsb_callback(Object &&cb) { return m_out_rtsb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_wrdyb_callback(Object &&cb) { return m_out_wrdyb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_syncb_callback(Object &&cb) { return m_out_syncb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_rxdrqa_callback(Object &&cb) { return m_out_rxdrqa_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_txdrqa_callback(Object &&cb) { return m_out_txdrqa_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_rxdrqb_callback(Object &&cb) { return m_out_rxdrqb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_txdrqb_callback(Object &&cb) { return m_out_txdrqb_cb.set_callback(std::forward<Object>(cb)); }
+
+ void configure_channels(int rxa, int txa, int rxb, int txb)
{
- z80dart_device &dev = downcast<z80dart_device &>(device);
- dev.m_rxca = rxa;
- dev.m_txca = txa;
- dev.m_rxcb = rxb;
- dev.m_txcb = txb;
+ m_rxca = rxa;
+ m_txca = txa;
+ m_rxcb = rxb;
+ m_txcb = txb;
}
DECLARE_READ8_MEMBER( cd_ba_r );