diff options
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 |
commit | 829f58a4b28652e12a450b88bf7ef9bec1a8f135 (patch) | |
tree | 98a401aa8beba061220cb49a0de131b3e82554e2 | |
parent | a61700b33b5ca87ee36f9ae3b06957ccbf87adfe (diff) |
tvi990: WIP (nw)
-rw-r--r-- | src/mame/drivers/tv990.cpp | 15 |
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; |