summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/nextkbd.h
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2014-03-18 14:15:57 +0000
committer Curt Coder <curtcoder@mail.com>2014-03-18 14:15:57 +0000
commit52ca000b5bfc0ef1356d4911098acba146ecc0a8 (patch)
treeca762107cbed91e99bcade3c989b7b369bcf9315 /src/mess/machine/nextkbd.h
parentd7e58e18cd8b93575f56a01490f60cdb5d64f6b7 (diff)
Removed line_cb_t. (nw)
(MESS) nextkbd: devcb2. (nw)
Diffstat (limited to 'src/mess/machine/nextkbd.h')
-rw-r--r--src/mess/machine/nextkbd.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/mess/machine/nextkbd.h b/src/mess/machine/nextkbd.h
index 9c7f9b64402..9e05808c7e2 100644
--- a/src/mess/machine/nextkbd.h
+++ b/src/mess/machine/nextkbd.h
@@ -3,14 +3,22 @@
#include "emu.h"
-#define MCFG_NEXTKBD_ADD(_tag, _int_change_cb, _int_power_cb, _int_nmi_cb) \
- MCFG_DEVICE_ADD(_tag, NEXTKBD, 0) \
- downcast<nextkbd_device *>(device)->setup(_int_change_cb, _int_power_cb, _int_nmi_cb);
+#define MCFG_NEXTKBD_INT_CHANGE_CALLBACK(_write) \
+ devcb = &nextkbd_device::set_int_change_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_NEXTKBD_INT_POWER_CALLBACK(_write) \
+ devcb = &nextkbd_device::set_int_power_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_NEXTKBD_INT_NMI_CALLBACK(_write) \
+ devcb = &nextkbd_device::set_int_nmi_wr_callback(*device, DEVCB2_##_write);
class nextkbd_device : public device_t {
public:
nextkbd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- void setup(line_cb_t int_change_cb, line_cb_t _int_power_cb, line_cb_t _int_nmi_cb);
+
+ template<class _Object> static devcb2_base &set_int_change_wr_callback(device_t &device, _Object object) { return downcast<nextkbd_device &>(device).int_change_cb.set_callback(object); }
+ template<class _Object> static devcb2_base &set_int_power_wr_callback(device_t &device, _Object object) { return downcast<nextkbd_device &>(device).int_power_cb.set_callback(object); }
+ template<class _Object> static devcb2_base &set_int_nmi_wr_callback(device_t &device, _Object object) { return downcast<nextkbd_device &>(device).int_nmi_cb.set_callback(object); }
DECLARE_ADDRESS_MAP(amap, 32);
@@ -37,7 +45,7 @@ private:
enum { FIFO_SIZE = 32 };
enum { KEYDOWN = 0x0080, KEYVALID = 0x8000 };
- line_cb_t int_change_cb, int_power_cb, int_nmi_cb;
+ devcb2_write_line int_change_cb, int_power_cb, int_nmi_cb;
emu_timer *kbd_timer;
bool nmi_active;