From 563dca7011c8a23b1f1e0e7061ffe1b7f1e3932b Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Sat, 9 Feb 2013 16:30:27 +0000 Subject: Added zooming for RGB15 (My Fair Lady) --- src/mame/video/stvvdp2.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/mame') diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c index 099953926b0..4e27cbac89f 100644 --- a/src/mame/video/stvvdp2.c +++ b/src/mame/video/stvvdp2.c @@ -3133,6 +3133,7 @@ void saturn_state::draw_rgb15_bitmap(bitmap_rgb32 &bitmap, const rectangle &clip int scrolly = stv2_current_tilemap.scrolly; int r,g,b; UINT16 dot_data; + int xf, yf; xsize = (stv2_current_tilemap.bitmap_size & 2) ? 1024 : 512; ysize = (stv2_current_tilemap.bitmap_size & 1) ? 512 : 256; @@ -3147,8 +3148,13 @@ void saturn_state::draw_rgb15_bitmap(bitmap_rgb32 &bitmap, const rectangle &clip if(stv_vdp2_window_process(xdst,ydst)) continue; - xsrc = (xdst + scrollx) & (xsize_mask-1); - ysrc = (ydst + scrolly) & (ysize_mask-1); + xf = stv2_current_tilemap.incx * xdst; + xf>>=16; + yf = stv2_current_tilemap.incy * ydst; + yf>>=16; + + xsrc = (xf + scrollx) & (xsize_mask-1); + ysrc = (yf + scrolly) & (ysize_mask-1); src_offs = (xsrc + (ysrc*xsize)); src_offs *= 2; src_offs += map_offset; @@ -3269,7 +3275,7 @@ void saturn_state::stv_vdp2_draw_basic_bitmap(bitmap_rgb32 &bitmap, const rectan { // case 0: draw_4bpp_bitmap(bitmap,cliprect); return; case 1: draw_8bpp_bitmap(bitmap,cliprect); return; - // case 3: draw_rgb15_bitmap(bitmap,cliprect); return; + case 3: draw_rgb15_bitmap(bitmap,cliprect); return; // case 4: draw_rgb32_bitmap(bitmap,cliprect); return; } -- cgit v1.2.3