summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/esqpanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/esqpanel.h')
-rw-r--r--src/mame/machine/esqpanel.h60
1 files changed, 7 insertions, 53 deletions
diff --git a/src/mame/machine/esqpanel.h b/src/mame/machine/esqpanel.h
index 05221f2745c..b440180331a 100644
--- a/src/mame/machine/esqpanel.h
+++ b/src/mame/machine/esqpanel.h
@@ -12,51 +12,6 @@
#include <vector>
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_ESQPANEL1X22_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, ESQPANEL1X22, 0)
-
-#define MCFG_ESQPANEL1X22_REPLACE(_tag) \
- MCFG_DEVICE_REPLACE(_tag, ESQPANEL1X22, 0)
-
-#define MCFG_ESQPANEL1X22_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
-#define MCFG_ESQPANEL2X40_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, ESQPANEL2X40, 0)
-
-#define MCFG_ESQPANEL2X40_REPLACE(_tag) \
- MCFG_DEVICE_REPLACE(_tag, ESQPANEL2X40, 0)
-
-#define MCFG_ESQPANEL2X40_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
-#define MCFG_ESQPANEL2X40_VFX_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, ESQPANEL2X40_VFX, 0)
-
-#define MCFG_ESQPANEL2X40_VFX_REPLACE(_tag) \
- MCFG_DEVICE_REPLACE(_tag, ESQPANEL2X40_VFX, 0)
-
-#define MCFG_ESQPANEL2X40_VFX_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
-#define MCFG_ESQPANEL2X16_SQ1_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, ESQPANEL2X16_SQ1, 0)
-
-#define MCFG_ESQPANEL2X16_SQ1_REPLACE(_tag) \
- MCFG_DEVICE_REPLACE(_tag, ESQPANEL2X16_SQ1, 0)
-
-#define MCFG_ESQPANEL2X16_SQ1_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
-#define MCFG_ESQPANEL_TX_CALLBACK(_write) \
- downcast<esqpanel_device &>(*device).set_tx_wr_callback(DEVCB_##_write);
-
-#define MCFG_ESQPANEL_ANALOG_CALLBACK(_write) \
- downcast<esqpanel_device &>(*device).set_analog_wr_callback(DEVCB_##_write);
//**************************************************************************
// TYPE DEFINITIONS
@@ -71,9 +26,8 @@ namespace esqpanel {
class esqpanel_device : public device_t, public device_serial_interface
{
public:
- template <class Object> devcb_base &set_tx_wr_callback(Object &&cb) { return m_write_tx.set_callback(std::forward<Object>(cb)); }
-
- template <class Object> devcb_base &set_analog_wr_callback(Object &&cb) { return m_write_analog.set_callback(std::forward<Object>(cb)); }
+ auto write_tx() { return m_write_tx.bind(); }
+ auto write_analog() { return m_write_analog.bind(); }
void xmit_char(uint8_t data);
void set_analog_value(offs_t offset, uint16_t value);
@@ -124,7 +78,7 @@ private:
class esqpanel1x22_device : public esqpanel_device {
public:
- esqpanel1x22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esqpanel1x22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -136,7 +90,7 @@ protected:
class esqpanel2x40_device : public esqpanel_device {
public:
- esqpanel2x40_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esqpanel2x40_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -148,7 +102,7 @@ protected:
class esqpanel2x40_vfx_device : public esqpanel_device {
public:
- esqpanel2x40_vfx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esqpanel2x40_vfx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -168,7 +122,7 @@ private:
class esqpanel2x40_sq1_device : public esqpanel_device {
public:
- esqpanel2x40_sq1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esqpanel2x40_sq1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -181,7 +135,7 @@ protected:
// --- SQ1 - Parduz --------------------------------------------------------------------------------------------------------------------------
class esqpanel2x16_sq1_device : public esqpanel_device {
public:
- esqpanel2x16_sq1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esqpanel2x16_sq1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
protected:
virtual void device_add_mconfig(machine_config &config) override;