# HG changeset patch # User Mike Pavone # Date 1378108938 25200 # Node ID e9b6fe443bf27e08b2de031e19d2185cc1bb6396 # Parent b491df8bdbc0da2f85dcca99ffd7eff6e2c742cd Fix per-column scrolling bug diff -r b491df8bdbc0 -r e9b6fe443bf2 vdp.c --- a/vdp.c Mon Sep 02 00:20:56 2013 -0700 +++ b/vdp.c Mon Sep 02 01:02:18 2013 -0700 @@ -619,7 +619,7 @@ vscroll <<= 1; vscroll |= 1; } - vscroll &= (context->vsram[(context->regs[REG_MODE_3] & BIT_VSCROLL ? column : 0) + vsram_off] + line); + vscroll &= (context->vsram[(context->regs[REG_MODE_3] & BIT_VSCROLL ? (column-2)&63 : 0) + vsram_off] + line); context->v_offset = vscroll & v_offset_mask; //printf("%s | line %d, vsram: %d, vscroll: %d, v_offset: %d\n",(vsram_off ? "B" : "A"), line, context->vsram[context->regs[REG_MODE_3] & 0x4 ? column : 0], vscroll, context->v_offset); vscroll >>= vscroll_shift;