From 3366ccac5fa810dafc68b23bdd023e6c6cb851a3 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sat, 8 Dec 2012 16:09:43 -0800 Subject: Partially fix BG plane B --- vdp.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'vdp.c') diff --git a/vdp.c b/vdp.c index bd26eaf..f099963 100644 --- a/vdp.c +++ b/vdp.c @@ -129,9 +129,8 @@ void external_slot(vdp_context * context) //TODO: Implement me } -void read_map_scroll(uint16_t column, uint32_t line, uint32_t scroll_reg, uint16_t hscroll_val, vdp_context * context) +void read_map_scroll(uint16_t column, uint32_t line, uint16_t address, uint16_t hscroll_val, vdp_context * context) { - uint16_t address = (context->regs[scroll_reg] & 0x38) << 10; uint16_t vscroll; switch(context->regs[REG_SCROLL] & 0x30) { @@ -186,12 +185,12 @@ void read_map_scroll(uint16_t column, uint32_t line, uint32_t scroll_reg, uint16 void read_map_scroll_a(uint16_t column, uint32_t line, vdp_context * context) { - read_map_scroll(column, line, REG_SCROLL_A, context->hscroll_a, context); + read_map_scroll(column, line, (context->regs[REG_SCROLL_A] & 0x38) << 10, context->hscroll_a, context); } void read_map_scroll_b(uint16_t column, uint32_t line, vdp_context * context) { - read_map_scroll(column, line, REG_SCROLL_B, context->hscroll_b, context); + read_map_scroll(column, line, (context->regs[REG_SCROLL_B] & 0x7) << 13, context->hscroll_b, context); } void render_map(uint16_t col, uint8_t * tmp_buf, vdp_context * context) -- cgit v1.2.3