summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2013-02-09 16:30:27 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2013-02-09 16:30:27 +0000
commit563dca7011c8a23b1f1e0e7061ffe1b7f1e3932b (patch)
tree00c2f43e2af3f2d1bd22b4bde7ac7864666d01ac
parent51a0187e2840f4a9176d290a6fc7b1c95d2bb5d5 (diff)
Added zooming for RGB15 (My Fair Lady)
-rw-r--r--src/mame/video/stvvdp2.c12
1 files changed, 9 insertions, 3 deletions
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;
}