summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2016-07-24 21:48:52 -0500
committer cracyc <cracyc@users.noreply.github.com>2016-07-24 21:48:52 -0500
commit829f58a4b28652e12a450b88bf7ef9bec1a8f135 (patch)
tree98a401aa8beba061220cb49a0de131b3e82554e2
parenta61700b33b5ca87ee36f9ae3b06957ccbf87adfe (diff)
tvi990: WIP (nw)
-rw-r--r--src/mame/drivers/tv990.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mame/drivers/tv990.cpp b/src/mame/drivers/tv990.cpp
index 45071cac86c..a9c570583be 100644
--- a/src/mame/drivers/tv990.cpp
+++ b/src/mame/drivers/tv990.cpp
@@ -170,15 +170,20 @@ UINT32 tv990_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, c
for (y = miny; y <= maxy; y++)
{
// this isn't exactly right.
- int i, minx, maxx;
- for(i = 0; i < 8; i++)
+ int i;
+ for(i = 7; i >= 0; i--)
{
- if(tvi1111_regs[i + 0x50] == 0x1ad5)
+ if(!BIT(tvi1111_regs[0x1f], i))
+ continue;
+
+ int starty = tvi1111_regs[i + 0x40] >> 8;
+ int endy = tvi1111_regs[i + 0x40] & 0xff;
+ if((y < starty) || (y >= endy))
continue;
curchar = &vram[tvi1111_regs[i + 0x50]];
- minx = tvi1111_regs[i + 0x30] >> 8;
- maxx = tvi1111_regs[i + 0x30] & 0xff;
+ int minx = tvi1111_regs[i + 0x30] >> 8;
+ int maxx = tvi1111_regs[i + 0x30] & 0xff;
if(maxx > 80)
maxx = 80;