summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video/tms9928a.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-09-27 22:05:30 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-09-27 22:05:30 +0000
commit2a3301d0b994f6999e3f7761b5e2515b1863a903 (patch)
tree519d8db356f1dd9fbb3478ec934e10ac218471bd /src/emu/video/tms9928a.c
parent3959354577fdcbaea546c81257c68b63809bc414 (diff)
Removed render_container_set_palette_alpha() hack. Now the alpha value
can be set directly in the palette entry and will be respected for laserdisc overlays.
Diffstat (limited to 'src/emu/video/tms9928a.c')
-rw-r--r--src/emu/video/tms9928a.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/emu/video/tms9928a.c b/src/emu/video/tms9928a.c
index ab418363675..0abacbee8df 100644
--- a/src/emu/video/tms9928a.c
+++ b/src/emu/video/tms9928a.c
@@ -392,8 +392,13 @@ void TMS9928A_set_spriteslimit (int limit) {
*/
VIDEO_UPDATE( tms9928a )
{
- INT32 BackColour = tms.Regs[7] & 15; if (!BackColour) BackColour=1;
- palette_set_color(screen->machine, 0, TMS9928A_palette[BackColour]);
+ INT32 BackColour = tms.Regs[7] & 15;
+ rgb_t oldcolor = palette_get_color(screen->machine, 0);
+
+ if (!BackColour) BackColour=1;
+ /* note we preserve the alpha here; this is so that it can be controlled independently */
+ /* see cliffhgr.c for an example */
+ palette_set_color(screen->machine, 0, (TMS9928A_palette[BackColour] & MAKE_ARGB(0,255,255,255)) | (oldcolor & MAKE_ARGB(255,0,0,0)));
if (! (tms.Regs[1] & 0x40))
fillbitmap(bitmap, screen->machine->pens[BackColour], cliprect);