From 77e01f0037590e6ee361838fc8cdd7f84d5ca8b1 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Thu, 19 Aug 2010 01:42:04 +0000 Subject: [PATCH] ...fixed for good --- src/mame/video/archimds.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mame/video/archimds.c b/src/mame/video/archimds.c index 368f77136b3..13f4a3b97ef 100644 --- a/src/mame/video/archimds.c +++ b/src/mame/video/archimds.c @@ -90,14 +90,20 @@ VIDEO_UPDATE( archimds_vidc ) if(vidc_interlace) { - if ((res_x) <= screen->visible_area().max_x && (res_y) <= screen->visible_area().max_y && (res_x) <= xend && (res_y) <= yend) + if ((res_x) >= 0 && + (res_y) >= 0 && + (res_x) <= screen->visible_area().max_x && (res_y) <= screen->visible_area().max_y && (res_x) <= xend && (res_y) <= yend) *BITMAP_ADDR32(bitmap, res_y, res_x) = screen->machine->pens[(pen&0xff)+0x100]; - if ((res_x) <= screen->visible_area().max_x && (res_y+1) <= screen->visible_area().max_y && (res_x) <= xend && (res_y+1) <= yend) + if ((res_x) >= 0 && + (res_y) >= 0 && + (res_x) <= screen->visible_area().max_x && (res_y+1) <= screen->visible_area().max_y && (res_x) <= xend && (res_y+1) <= yend) *BITMAP_ADDR32(bitmap, res_y+1, res_x) = screen->machine->pens[(pen&0xff)+0x100]; } else { - if ((res_x) <= screen->visible_area().max_x && (res_y) <= screen->visible_area().max_y && (res_x) <= xend && (res_y) <= yend) + if ((res_x) >= 0 && + (res_y) >= 0 && + (res_x) <= screen->visible_area().max_x && (res_y) <= screen->visible_area().max_y && (res_x) <= xend && (res_y) <= yend) *BITMAP_ADDR32(bitmap, res_y, res_x) = screen->machine->pens[(pen&0xff)+0x100]; }