diff options
Diffstat (limited to 'src/mame/machine/esqpanel.h')
-rw-r--r-- | src/mame/machine/esqpanel.h | 60 |
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; |