summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/tait8741.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/tait8741.h')
-rw-r--r--src/mame/machine/tait8741.h33
1 files changed, 5 insertions, 28 deletions
diff --git a/src/mame/machine/tait8741.h b/src/mame/machine/tait8741.h
index ceb9b39e823..d80cc5649ea 100644
--- a/src/mame/machine/tait8741.h
+++ b/src/mame/machine/tait8741.h
@@ -6,7 +6,7 @@
#pragma once
/****************************************************************************
- gladiatr and Great Swordsman set.
+ not used by anything. TODO: remove?
****************************************************************************/
/* NEC 8741 program mode */
@@ -14,38 +14,15 @@
#define TAITO8741_SLAVE 1
#define TAITO8741_PORT 2
-#define MCFG_TAITO8741_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, TAITO8741_4PACK, 0)
-
-#define MCFG_TAITO8741_PORT_HANDLERS(_devcb0, _devcb1, _devcb2, _devcb3) \
- downcast<taito8741_4pack_device &>(*device).set_port_handler_0_callback(DEVCB_##_devcb0); \
- downcast<taito8741_4pack_device &>(*device).set_port_handler_1_callback(DEVCB_##_devcb1); \
- downcast<taito8741_4pack_device &>(*device).set_port_handler_2_callback(DEVCB_##_devcb2); \
- downcast<taito8741_4pack_device &>(*device).set_port_handler_3_callback(DEVCB_##_devcb3);
-
-#define MCFG_TAITO8741_MODES(_mode0, _mode1, _mode2, _mode3) \
- downcast<taito8741_4pack_device &>(*device).set_mode(0, _mode0); \
- downcast<taito8741_4pack_device &>(*device).set_mode(1, _mode1); \
- downcast<taito8741_4pack_device &>(*device).set_mode(2, _mode2); \
- downcast<taito8741_4pack_device &>(*device).set_mode(3, _mode3);
-
-
-#define MCFG_TAITO8741_CONNECT(_con0, _con1, _con2, _con3) \
- downcast<taito8741_4pack_device &>(*device).set_connect(0, _con0); \
- downcast<taito8741_4pack_device &>(*device).set_connect(1, _con1); \
- downcast<taito8741_4pack_device &>(*device).set_connect(2, _con2); \
- downcast<taito8741_4pack_device &>(*device).set_connect(3, _con3);
-
-
class taito8741_4pack_device : public device_t
{
public:
taito8741_4pack_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_port_handler_0_callback(Object &&cb) { return m_port_handler_0_r.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_port_handler_1_callback(Object &&cb) { return m_port_handler_1_r.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_port_handler_2_callback(Object &&cb) { return m_port_handler_2_r.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_port_handler_3_callback(Object &&cb) { return m_port_handler_3_r.set_callback(std::forward<Object>(cb)); }
+ auto port_handler_0_callback() { return m_port_handler_0_r.bind(); }
+ auto port_handler_1_callback() { return m_port_handler_1_r.bind(); }
+ auto port_handler_2_callback() { return m_port_handler_2_r.bind(); }
+ auto port_handler_3_callback() { return m_port_handler_3_r.bind(); }
void set_mode(int num, uint8_t mode) { m_taito8741[num].mode = mode; }
void set_connect(int num, int conn) { m_taito8741[num].connect = conn; }