diff options
Diffstat (limited to 'src/devices/video/voodoo.h')
-rw-r--r-- | src/devices/video/voodoo.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/devices/video/voodoo.h b/src/devices/video/voodoo.h index 26475f527de..5c39e867d85 100644 --- a/src/devices/video/voodoo.h +++ b/src/devices/video/voodoo.h @@ -1429,6 +1429,32 @@ enum #define STD_VOODOO_3_CLOCK 132000000 + +/*************************************************************************** + DEVICE CONFIGURATION MACROS +***************************************************************************/ + +#define MCFG_VOODOO_FBMEM(_value) \ + downcast<voodoo_device &>(*device).set_fbmem(_value); + +#define MCFG_VOODOO_TMUMEM(_value1, _value2) \ + downcast<voodoo_device &>(*device).set_tmumem(_value1, _value2); + +#define MCFG_VOODOO_SCREEN_TAG(_tag) \ + downcast<voodoo_device &>(*device).set_screen_tag(_tag); + +#define MCFG_VOODOO_CPU_TAG(_tag) \ + downcast<voodoo_device &>(*device).set_cpu_tag(_tag); + +#define MCFG_VOODOO_VBLANK_CB(_devcb) \ + downcast<voodoo_device &>(*device).set_vblank_callback(DEVCB_##_devcb); + +#define MCFG_VOODOO_STALL_CB(_devcb) \ + downcast<voodoo_device &>(*device).set_stall_callback(DEVCB_##_devcb); + +#define MCFG_VOODOO_PCIINT_CB(_devcb) \ + downcast<voodoo_device &>(*device).set_pciint_callback(DEVCB_##_devcb); + /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ @@ -1444,6 +1470,9 @@ public: void set_tmumem(int value1, int value2) { m_tmumem0 = value1; m_tmumem1 = value2; } template <typename T> void set_screen_tag(T &&tag) { m_screen_finder.set_tag(std::forward<T>(tag)); } template <typename T> void set_cpu_tag(T &&tag) { m_cpu_finder.set_tag(std::forward<T>(tag)); } + template <class Object> devcb_base &set_vblank_callback(Object &&cb) { return m_vblank.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_stall_callback(Object &&cb) { return m_stall.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_pciint_callback(Object &&cb) { return m_pciint.set_callback(std::forward<Object>(cb)); } auto vblank_callback() { return m_vblank.bind(); } auto stall_callback() { return m_stall.bind(); } auto pciint_callback() { return m_pciint.bind(); } |