From 1354091c0a37c0acd4f408bbb12fc8869de415b7 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 14 Dec 2014 15:27:36 +1100 Subject: [PATCH] (MESS) hp16500 : xmas present for arbee (nw) --- src/mess/drivers/hp16500.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mess/drivers/hp16500.c b/src/mess/drivers/hp16500.c index 23844cb0869..5bb6d82e77f 100644 --- a/src/mess/drivers/hp16500.c +++ b/src/mess/drivers/hp16500.c @@ -94,7 +94,7 @@ UINT32 hp16500_state::screen_update_hp16500(screen_device &screen, bitmap_rgb32 { UINT32 *scanline; int x, y; - UINT8 pixels; + UINT32 pixels; for (y = 0; y < 400; y++) { @@ -104,6 +104,16 @@ UINT32 hp16500_state::screen_update_hp16500(screen_device &screen, bitmap_rgb32 { pixels = m_vram[(y * (288/4)) + x]; + UINT8 gfx = ((pixels & 0xf0000) >> 12) | (pixels & 15); + *scanline++ = m_palette[BIT(gfx, 7) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 6) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 5) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 4) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 3) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 2) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 1) ? 2 : 0]; + *scanline++ = m_palette[BIT(gfx, 0) ? 2 : 0]; +#if 0 *scanline++ = m_palette[((pixels&0xf0000000)>>28)]; *scanline++ = m_palette[((pixels&0xf000000)>>24)]; *scanline++ = m_palette[((pixels&0xf00000)>>20)]; @@ -112,6 +122,7 @@ UINT32 hp16500_state::screen_update_hp16500(screen_device &screen, bitmap_rgb32 *scanline++ = m_palette[((pixels&0xf00)>>8)]; *scanline++ = m_palette[((pixels&0xf0)>>4)]; *scanline++ = m_palette[(pixels&0xf)]; +#endif } }