From 52ca000b5bfc0ef1356d4911098acba146ecc0a8 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Tue, 18 Mar 2014 14:15:57 +0000 Subject: Removed line_cb_t. (nw) (MESS) nextkbd: devcb2. (nw) --- src/mess/machine/nextkbd.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/mess/machine/nextkbd.h') 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(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 static devcb2_base &set_int_change_wr_callback(device_t &device, _Object object) { return downcast(device).int_change_cb.set_callback(object); } + template static devcb2_base &set_int_power_wr_callback(device_t &device, _Object object) { return downcast(device).int_power_cb.set_callback(object); } + template static devcb2_base &set_int_nmi_wr_callback(device_t &device, _Object object) { return downcast(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; -- cgit v1.2.3-70-g09d2