From 55a8c5a7acb7ecd40a60c398c5bdcd43bcad6cd6 Mon Sep 17 00:00:00 2001 From: ekeeke31 Date: Wed, 24 Feb 2010 22:28:08 +0000 Subject: [PATCH] reverted previous changes regarding '2-cell' vertical scroll mode when column is partially scrolled horizontally (fixes Formula One Championship) --- source/render.c | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/source/render.c b/source/render.c index c87f199..09305e7 100644 --- a/source/render.c +++ b/source/render.c @@ -1084,13 +1084,8 @@ static void render_bg_vs(uint32 line, uint32 width) { dst = (uint32 *)&buf[0x10 + shift]; -#ifdef LSB_FIRST - v_line = (line + ((vs[0] >> 16) & 0x3FF)) & pf_row_mask; -#else - v_line = (line + (vs[0] & 0x3FF)) & pf_row_mask; -#endif - nt = (uint32 *)&vram[ntbb + (((v_line >> 3) << pf_shift) & 0x1FC0)]; - v_line = (v_line & 7) << 3; + nt = (uint32 *)&vram[ntbb + (((line >> 3) << pf_shift) & 0x1FC0)]; + v_line = (line & 7) << 3; atbuf = nt[(index-1) & pf_col_mask]; DRAW_COLUMN(atbuf, v_line) @@ -1152,13 +1147,8 @@ static void render_bg_vs(uint32 line, uint32 width) { dst = (uint32 *)&buf[0x10 + shift + (start<<4)]; -#ifdef LSB_FIRST - v_line = (line + (vs[start] & 0x3FF)) & pf_row_mask; -#else - v_line = (line + ((vs[start] >> 16) & 0x3FF)) & pf_row_mask; -#endif - nt = (uint32 *)&vram[ntab + (((v_line >> 3) << pf_shift) & 0x1FC0)]; - v_line = (v_line & 7) << 3; + nt = (uint32 *)&vram[ntab + (((line >> 3) << pf_shift) & 0x1FC0)]; + v_line = (line & 7) << 3; /* Window bug */ if (start) atbuf = nt[index & pf_col_mask]; @@ -1356,13 +1346,8 @@ static void render_bg_im2_vs(uint32 line, uint32 width, uint32 odd) { dst = (uint32 *)&buf[0x10 + shift]; -#ifdef LSB_FIRST - v_line = (line + ((vs[0] >> 17) & 0x3FF)) & pf_row_mask; -#else - v_line = (line + ((vs[0] >> 1) & 0x3FF)) & pf_row_mask; -#endif - nt = (uint32 *)&vram[ntbb + (((v_line >> 3) << pf_shift) & 0x1FC0)]; - v_line = (((v_line & 7) << 1) | odd) << 3; + nt = (uint32 *)&vram[ntbb + (((line >> 3) << pf_shift) & 0x1FC0)]; + v_line = (((line & 7) << 1) | odd) << 3; atbuf = nt[(index-1) & pf_col_mask]; DRAW_COLUMN_IM2(atbuf, v_line) @@ -1422,13 +1407,8 @@ static void render_bg_im2_vs(uint32 line, uint32 width, uint32 odd) { dst = (uint32 *)&buf[0x10 + shift + (start<<4)]; -#ifdef LSB_FIRST - v_line = (line + ((vs[start] >> 1) & 0x3FF)) & pf_row_mask; -#else - v_line = (line + ((vs[start] >> 17) & 0x3FF)) & pf_row_mask; -#endif - nt = (uint32 *)&vram[ntab + (((v_line >> 3) << pf_shift) & 0x1FC0)]; - v_line = (((v_line & 7) << 1) | odd) << 3; + nt = (uint32 *)&vram[ntab + (((line >> 3) << pf_shift) & 0x1FC0)]; + v_line = (((line & 7) << 1) | odd) << 3; /* Window bug */ if (start) atbuf = nt[index & pf_col_mask];