summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/s3c2400.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/s3c2400.h')
-rw-r--r--src/devices/machine/s3c2400.h64
1 files changed, 11 insertions, 53 deletions
diff --git a/src/devices/machine/s3c2400.h b/src/devices/machine/s3c2400.h
index b22f306af2f..dd598177308 100644
--- a/src/devices/machine/s3c2400.h
+++ b/src/devices/machine/s3c2400.h
@@ -15,48 +15,6 @@
#include "emupal.h"
-/*******************************************************************************
- MACROS / CONSTANTS
-*******************************************************************************/
-
-#define S3C2400_TAG "s3c2400"
-
-#define MCFG_S3C2400_PALETTE(palette_tag) \
- downcast<s3c2400_device &>(*device).set_palette_tag(palette_tag);
-
-#define MCFG_S3C2400_SCREEN(screen_tag) \
- downcast<s3c2400_device &>(*device).set_screen_tag(screen_tag);
-
-#define MCFG_S3C2400_CORE_PIN_R_CB(cb) \
- downcast<s3c2400_device &>(*device).set_core_pin_r_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_CORE_PIN_W_CB(cb) \
- downcast<s3c2400_device &>(*device).set_core_pin_w_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_GPIO_PORT_R_CB(cb) \
- downcast<s3c2400_device &>(*device).set_gpio_port_r_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_GPIO_PORT_W_CB(cb) \
- downcast<s3c2400_device &>(*device).set_gpio_port_w_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_I2C_SCL_W_CB(cb) \
- downcast<s3c2400_device &>(*device).set_i2c_scl_w_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_I2C_SDA_R_CB(cb) \
- downcast<s3c2400_device &>(*device).set_i2c_sda_r_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_I2C_SDA_W_CB(cb) \
- downcast<s3c2400_device &>(*device).set_i2c_sda_w_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_ADC_DATA_R_CB(cb) \
- downcast<s3c2400_device &>(*device).set_adc_data_r_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_I2S_DATA_W_CB(cb) \
- downcast<s3c2400_device &>(*device).set_i2s_data_w_callback(DEVCB_##cb);
-
-#define MCFG_S3C2400_LCD_FLAGS(flags) \
- downcast<s3c2400_device &>(*device).set_lcd_flags((flags));
-
enum
{
S3C2400_GPIO_PORT_A = 0,
@@ -162,17 +120,17 @@ public:
~s3c2400_device();
// configuration
- void set_palette_tag(const char *tag) { m_palette.set_tag(tag); }
- void set_screen_tag(const char *tag) { m_screen.set_tag(tag); }
- template <class Object> devcb_base &set_core_pin_r_callback(Object &&cb) { return m_pin_r_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_core_pin_w_callback(Object &&cb) { return m_pin_w_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_gpio_port_r_callback(Object &&cb) { return m_port_r_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_gpio_port_w_callback(Object &&cb) { return m_port_w_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_i2c_scl_w_callback(Object &&cb) { return m_scl_w_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_i2c_sda_r_callback(Object &&cb) { return m_sda_r_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_i2c_sda_w_callback(Object &&cb) { return m_sda_w_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_adc_data_r_callback(Object &&cb) { return m_data_r_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_i2s_data_w_callback(Object &&cb) { return m_data_w_cb.set_callback(std::forward<Object>(cb)); }
+ template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); }
+ template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); }
+ auto core_pin_r_callback() { return m_pin_r_cb.bind(); }
+ auto core_pin_w_callback() { return m_pin_w_cb.bind(); }
+ auto gpio_port_r_callback() { return m_port_r_cb.bind(); }
+ auto gpio_port_w_callback() { return m_port_w_cb.bind(); }
+ auto i2c_scl_w_callback() { return m_scl_w_cb.bind(); }
+ auto i2c_sda_r_callback() { return m_sda_r_cb.bind(); }
+ auto i2c_sda_w_callback() { return m_sda_w_cb.bind(); }
+ auto adc_data_r_callback() { return m_data_r_cb.bind(); }
+ auto i2s_data_w_callback() { return m_data_w_cb.bind(); }
void set_lcd_flags(int flags) { m_flags = flags; }
protected: