summaryrefslogtreecommitdiff
path: root/vdp.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2019-09-21 20:23:53 -0700
committerMichael Pavone <pavone@retrodev.com>2019-09-21 20:23:53 -0700
commit0815374d15e39b203a8d133dad9104747e4057be (patch)
tree99b2bd17d3943978c17fa2475eb3d4e1d43fd6e5 /vdp.c
parent79e8f385dd4e2cafb2089d6fb24cd0d58b4ee928 (diff)
Fix regression in H32 from fine scroll optimization
Diffstat (limited to 'vdp.c')
-rw-r--r--vdp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vdp.c b/vdp.c
index 09381cb..d5c2694 100644
--- a/vdp.c
+++ b/vdp.c
@@ -2144,7 +2144,7 @@ static void draw_right_border(vdp_context *context)
//TODO: Deal with Window layer
int i;
i = 0;
- uint8_t buf_off = context->buf_a_off - (context->hscroll_a & 0xF);
+ uint8_t buf_off = context->buf_a_off - context->hscroll_a_fine;
//uint8_t *src = context->tmp_buf_a + ((context->buf_a_off + (i ? 0 : (16 - BORDER_LEFT) - (context->hscroll_a & 0xF))) & SCROLL_BUFFER_MASK);
for (; i < BORDER_RIGHT; buf_off++, i++, dst++)
{
@@ -2984,7 +2984,7 @@ static void vdp_h32(vdp_context * context, uint32_t target_cycles)
context->hscroll_a = context->vdpmem[address] << 8 | context->vdpmem[address+1];
context->hscroll_a_fine = context->hscroll_a & 0xF;
context->hscroll_b = context->vdpmem[address+2] << 8 | context->vdpmem[address+3];
- context->hscroll_b_fine = context->hscroll_a & 0xF;
+ context->hscroll_b_fine = context->hscroll_b & 0xF;
//printf("%d: HScroll A: %d, HScroll B: %d\n", context->vcounter, context->hscroll_a, context->hscroll_b);
CHECK_LIMIT //provides "garbage" for border when plane A selected
SPRITE_RENDER_H32(245)