diff options
Diffstat (limited to 'src/devices/machine/s3c2400.h')
-rw-r--r-- | src/devices/machine/s3c2400.h | 64 |
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: |