summaryrefslogtreecommitdiff
path: root/vdp.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-08 20:25:56 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-08 20:25:56 -0800
commit9376413057ac0feede60a215abfde072e07d7570 (patch)
treea42985caf96905130363bd580bb4013761ac8763 /vdp.c
parent67af42759ebd1c7e7f616ca9ab42b9afafb25374 (diff)
Make horizontal scrolling closer to correct, Comix Zone looks good, Sonic 2 slightly off
Diffstat (limited to 'vdp.c')
-rw-r--r--vdp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vdp.c b/vdp.c
index ac26f62..5ee2de2 100644
--- a/vdp.c
+++ b/vdp.c
@@ -180,7 +180,7 @@ void read_map_scroll(uint16_t column, uint16_t vsram_off, uint32_t line, uint16_
}
uint16_t hscroll, offset;
for (int i = 0; i < 2; i++) {
- hscroll = (hscroll_val + (column + i) * 8) & hscroll_mask;
+ hscroll = ((column - 2 + i) * 8 - hscroll_val) & hscroll_mask;
offset = address + ((vscroll * v_mul + hscroll/4) & 0x1FFF);
//printf("%s | line: %d, col: %d, x: %d, hs_mask %X, v_mul: %d, scr reg: %X, tbl addr: %X\n", (vsram_off ? "B" : "A"), line, (column-(2-i)), hscroll, hscroll_mask, v_mul, context->regs[REG_SCROLL], offset);
uint16_t col_val = (context->vdpmem[offset] << 8) | context->vdpmem[offset+1];