diff options
Diffstat (limited to 'src/devices/video/hd63484.h')
-rw-r--r-- | src/devices/video/hd63484.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/devices/video/hd63484.h b/src/devices/video/hd63484.h index 73a321fc117..885761d211b 100644 --- a/src/devices/video/hd63484.h +++ b/src/devices/video/hd63484.h @@ -13,8 +13,30 @@ #pragma once + +/*************************************************************************** + DEVICE CONFIGURATION MACROS +***************************************************************************/ + +#define MCFG_HD63484_ADD(_tag, _clock, _map) \ + MCFG_DEVICE_ADD(_tag, HD63484, _clock) \ + MCFG_DEVICE_ADDRESS_MAP(0, _map) + +#define MCFG_HD63484_ADDRESS_MAP(_map) \ + MCFG_DEVICE_ADDRESS_MAP(0, _map) + +#define MCFG_HD63484_DISPLAY_CALLBACK_OWNER(_class, _method) \ + downcast<hd63484_device &>(*device).set_display_callback(hd63484_device::display_delegate(&_class::_method, #_class "::" #_method, this)); + +#define MCFG_HD63484_AUTO_CONFIGURE_SCREEN(_val) \ + downcast<hd63484_device &>(*device).set_auto_configure_screen(_val); + #define HD63484_DISPLAY_PIXELS_MEMBER(_name) void _name(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, int x, uint16_t data) +#define MCFG_HD63484_EXTERNAL_SKEW(_val) \ + downcast<hd63484_device &>(*device).set_external_skew(_val); + + // ======================> hd63484_device class hd63484_device : public device_t, @@ -27,7 +49,7 @@ public: // construction/destruction hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <typename... T> void set_display_callback(T &&... args) { m_display_cb = display_delegate(std::forward<T>(args)...); } + template <typename Object> void set_display_callback(Object &&cb) { m_display_cb = std::forward<Object>(cb); } void set_auto_configure_screen(bool auto_configure_screen) { m_auto_configure_screen = auto_configure_screen; } void set_external_skew(int skew) { m_external_skew = skew; } |