summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/s3c2440.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/s3c2440.h')
-rw-r--r--src/emu/machine/s3c2440.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/emu/machine/s3c2440.h b/src/emu/machine/s3c2440.h
index a88e90b30a0..ebb8f087e6d 100644
--- a/src/emu/machine/s3c2440.h
+++ b/src/emu/machine/s3c2440.h
@@ -13,9 +13,10 @@
#define S3C2440_TAG "s3c2440"
-#define MCFG_S3C2440_ADD(_tag, _clock, _config) \
+#define MCFG_S3C2440_ADD(_tag, _clock, _config, _palette_tag) \
MCFG_DEVICE_ADD(_tag, S3C2440, _clock) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_DEVICE_CONFIG(_config) \
+ s3c2440_device::static_set_palette_tag(*device, "^" _palette_tag);
#define S3C2440_INTERFACE(name) \
const s3c2440_interface(name) =
@@ -46,6 +47,9 @@ public:
s3c2440_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~s3c2440_device() { global_free(m_token); }
+ // static configuration
+ static void static_set_palette_tag(device_t &device, const char *tag);
+
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
@@ -56,6 +60,7 @@ protected:
private:
// internal state
void *m_token;
+ required_device<palette_device> m_palette;
public:
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
@@ -971,6 +976,7 @@ struct s3c24xx_t
devcb_resolved_write8 address_w;
devcb_resolved_read8 nand_data_r;
devcb_resolved_write8 nand_data_w;
+ palette_device *m_palette;
};
#endif