summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2014-03-19 14:46:10 +0000
committer Curt Coder <curtcoder@mail.com>2014-03-19 14:46:10 +0000
commit3c81060f84e205128d128e67d828c9eb65fc5d3a (patch)
treeb1d04bc80b5265d65b896fe59ea0ce96b6c47f80 /src
parent5e0ddf29582970783c3d25dfabef090280170eec (diff)
(MESS) Cleaned up devcb2. (nw)
Diffstat (limited to 'src')
-rw-r--r--src/mess/drivers/abc80.c3
-rw-r--r--src/mess/drivers/pc1512.c8
-rw-r--r--src/mess/drivers/tandy2k.c4
-rw-r--r--src/mess/drivers/trs80m2.c9
-rw-r--r--src/mess/machine/abc80kb.h7
-rw-r--r--src/mess/machine/pc1512kb.h13
-rw-r--r--src/mess/machine/tandy2kb.h13
-rw-r--r--src/mess/machine/trs80m2kb.h7
8 files changed, 37 insertions, 27 deletions
diff --git a/src/mess/drivers/abc80.c b/src/mess/drivers/abc80.c
index cd334ca90c2..42e04f5847c 100644
--- a/src/mess/drivers/abc80.c
+++ b/src/mess/drivers/abc80.c
@@ -562,7 +562,8 @@ static MACHINE_CONFIG_START( abc80, abc80_state )
// devices
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_11_9808MHz/2/2, pio_intf)
MCFG_CASSETTE_ADD("cassette", abc80_cassette_interface)
- MCFG_ABC80_KEYBOARD_ADD(WRITELINE(abc80_state, keydown_w))
+ MCFG_DEVICE_ADD(ABC80_KEYBOARD_TAG, ABC80_KEYBOARD, 0)
+ MCFG_ABC80_KEYBOARD_KEYDOWN_CALLBACK(WRITELINE(abc80_state, keydown_w))
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "slow")
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("slow", abc830_slow)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
diff --git a/src/mess/drivers/pc1512.c b/src/mess/drivers/pc1512.c
index d8f9d009a9d..19f6b099f85 100644
--- a/src/mess/drivers/pc1512.c
+++ b/src/mess/drivers/pc1512.c
@@ -1284,7 +1284,9 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
// devices
- MCFG_PC1512_KEYBOARD_ADD(WRITELINE(pc1512_state, kbclk_w), WRITELINE(pc1512_state, kbdata_w))
+ MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
+ MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
+ MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf)
MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL)
@@ -1372,7 +1374,9 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
// devices
- MCFG_PC1512_KEYBOARD_ADD(WRITELINE(pc1512_state, kbclk_w), WRITELINE(pc1512_state, kbdata_w))
+ MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
+ MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
+ MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf)
MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL)
diff --git a/src/mess/drivers/tandy2k.c b/src/mess/drivers/tandy2k.c
index 0e9e61fe028..04ec58b396e 100644
--- a/src/mess/drivers/tandy2k.c
+++ b/src/mess/drivers/tandy2k.c
@@ -708,7 +708,9 @@ static MACHINE_CONFIG_START( tandy2k, tandy2k_state )
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
- MCFG_TANDY2K_KEYBOARD_ADD(WRITELINE(tandy2k_state, kbdclk_w), WRITELINE(tandy2k_state, kbddat_w))
+ MCFG_DEVICE_ADD(TANDY2K_KEYBOARD_TAG, TANDY2K_KEYBOARD, 0)
+ MCFG_TANDY2000_KEYBOARD_CLOCK_CALLBACK(WRITELINE(tandy2k_state, kbdclk_w))
+ MCFG_TANDY2000_KEYBOARD_DATA_CALLBACK(WRITELINE(tandy2k_state, kbddat_w))
// software lists
MCFG_SOFTWARE_LIST_ADD("flop_list", "tandy2k")
diff --git a/src/mess/drivers/trs80m2.c b/src/mess/drivers/trs80m2.c
index 3a983645293..0b60279c414 100644
--- a/src/mess/drivers/trs80m2.c
+++ b/src/mess/drivers/trs80m2.c
@@ -840,7 +840,8 @@ static MACHINE_CONFIG_START( trs80m2, trs80m2_state )
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
- MCFG_TRS80M2_KEYBOARD_ADD(WRITELINE(trs80m2_state, kb_clock_w))
+ MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0)
+ MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w))
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
// internal RAM
@@ -894,6 +895,7 @@ static MACHINE_CONFIG_START( trs80m16, trs80m16_state )
MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_8MHz/2, pio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, sio_intf)
+ MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL )
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image")
MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(Z80PIO_TAG, z80pio_device, strobe_b))
@@ -902,8 +904,9 @@ static MACHINE_CONFIG_START( trs80m16, trs80m16_state )
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
- MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL )
- MCFG_TRS80M2_KEYBOARD_ADD(WRITELINE(trs80m2_state, kb_clock_w))
+ MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0)
+ MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w))
+ MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
// internal RAM
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/machine/abc80kb.h b/src/mess/machine/abc80kb.h
index b32b5942b04..377800a975e 100644
--- a/src/mess/machine/abc80kb.h
+++ b/src/mess/machine/abc80kb.h
@@ -31,9 +31,8 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_ABC80_KEYBOARD_ADD(_keydown) \
- MCFG_DEVICE_ADD(ABC80_KEYBOARD_TAG, ABC80_KEYBOARD, 0) \
- downcast<abc80_keyboard_device *>(device)->set_callback(DEVCB2_##_keydown);
+#define MCFG_ABC80_KEYBOARD_KEYDOWN_CALLBACK(_write) \
+ devcb = &abc80_keyboard_device::set_keydown_wr_callback(*device, DEVCB2_##_write);
@@ -49,7 +48,7 @@ public:
// construction/destruction
abc80_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _keydown> void set_callback(_keydown keydown) { m_write_keydown.set_callback(keydown); }
+ template<class _Object> static devcb2_base &set_keydown_wr_callback(device_t &device, _Object object) { return downcast<abc80_keyboard_device &>(device).m_write_keydown.set_callback(object); }
// optional information overrides
virtual const rom_entry *device_rom_region() const;
diff --git a/src/mess/machine/pc1512kb.h b/src/mess/machine/pc1512kb.h
index 6451e407a29..cd5e79c4240 100644
--- a/src/mess/machine/pc1512kb.h
+++ b/src/mess/machine/pc1512kb.h
@@ -32,10 +32,11 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_PC1512_KEYBOARD_ADD(_clock, _data) \
- MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0) \
- downcast<pc1512_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock); \
- downcast<pc1512_keyboard_device *>(device)->set_data_callback(DEVCB2_##_data);
+#define MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(_write) \
+ devcb = &pc1512_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_PC1512_KEYBOARD_DATA_CALLBACK(_write) \
+ devcb = &pc1512_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write);
@@ -51,8 +52,8 @@ public:
// construction/destruction
pc1512_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
- template<class _data> void set_data_callback(_data data) { m_write_data.set_callback(data); }
+ template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<pc1512_keyboard_device &>(device).m_write_clock.set_callback(object); }
+ template<class _Object> static devcb2_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<pc1512_keyboard_device &>(device).m_write_data.set_callback(object); }
// optional information overrides
virtual const rom_entry *device_rom_region() const;
diff --git a/src/mess/machine/tandy2kb.h b/src/mess/machine/tandy2kb.h
index 974aa32cdeb..b1b50fe74b4 100644
--- a/src/mess/machine/tandy2kb.h
+++ b/src/mess/machine/tandy2kb.h
@@ -31,10 +31,11 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_TANDY2K_KEYBOARD_ADD(_clock, _data) \
- MCFG_DEVICE_ADD(TANDY2K_KEYBOARD_TAG, TANDY2K_KEYBOARD, 0) \
- downcast<tandy2k_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock); \
- downcast<tandy2k_keyboard_device *>(device)->set_data_callback(DEVCB2_##_data);
+#define MCFG_TANDY2000_KEYBOARD_CLOCK_CALLBACK(_write) \
+ devcb = &tandy2k_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_TANDY2000_KEYBOARD_DATA_CALLBACK(_write) \
+ devcb = &tandy2k_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write);
@@ -50,8 +51,8 @@ public:
// construction/destruction
tandy2k_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
- template<class _data> void set_data_callback(_data data) { m_write_data.set_callback(data); }
+ template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<tandy2k_keyboard_device &>(device).m_write_clock.set_callback(object); }
+ template<class _Object> static devcb2_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<tandy2k_keyboard_device &>(device).m_write_data.set_callback(object); }
// optional information overrides
virtual const rom_entry *device_rom_region() const;
diff --git a/src/mess/machine/trs80m2kb.h b/src/mess/machine/trs80m2kb.h
index e3d4bcdb936..58e94836ef8 100644
--- a/src/mess/machine/trs80m2kb.h
+++ b/src/mess/machine/trs80m2kb.h
@@ -32,9 +32,8 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_TRS80M2_KEYBOARD_ADD(_clock) \
- MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0) \
- downcast<trs80m2_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock);
+#define MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(_write) \
+ devcb = &trs80m2_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
@@ -50,7 +49,7 @@ public:
// construction/destruction
trs80m2_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
+ template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<trs80m2_keyboard_device &>(device).m_write_clock.set_callback(object); }
// optional information overrides
virtual const rom_entry *device_rom_region() const;