From: Toni Wilen Date: Mon, 6 Jul 2015 19:22:30 +0000 (+0300) Subject: Fixed overlay/framebuffer offset. LSB_FIRST define was missing. X-Git-Tag: 3200~146 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f8d9310e1179611a74e95aedd0ad00f4c275c4e4;p=francis%2Fwinuae.git Fixed overlay/framebuffer offset. LSB_FIRST define was missing. --- diff --git a/mame/a2410.cpp b/mame/a2410.cpp index c0a82c75..a9cd84e5 100644 --- a/mame/a2410.cpp +++ b/mame/a2410.cpp @@ -694,6 +694,8 @@ void tms_hsync_handler(void) if (a2410_vpos >= a2410_height || a2410_vpos >= picasso_vidinfo.height) return; + int overlay_yoffset = a2410_vpos - a2410_vertical_start; + int coladdr = parms.coladdr; int vramoffset = ((parms.rowaddr << 8) & 0x7ffff); uae_u16 *vram = (uae_u16*)gfxmem_bank.baseaddr + vramoffset; @@ -702,14 +704,15 @@ void tms_hsync_handler(void) uae_u8 *overlay0 = program_ram + overlayoffset * OVERLAY_WIDTH / 4; uae_u8 *overlay1 = overlay0 + 0x20000; - if (!fullrefresh && !a2410_modified[a2410_vpos]) { + if (!fullrefresh && (overlay_yoffset < 0 || !a2410_modified[overlay_yoffset])) { if (!picasso_is_vram_dirty(gfxmem_bank.start + (vramoffset << 1), a2410_displaywidth)) { if (!picasso_is_vram_dirty(gfxmem_bank.start + ((vramoffset + 0x200) << 1), a2410_displaywidth)) { return; } } } - a2410_modified[a2410_vpos] = false; + if (overlay_yoffset >= 0) + a2410_modified[overlay_yoffset] = false; get_a2410_surface(); uae_u8 *dst = a2410_surface; diff --git a/mame/mameglue.h b/mame/mameglue.h index 6b9479ae..010c4fd6 100644 --- a/mame/mameglue.h +++ b/mame/mameglue.h @@ -3,6 +3,8 @@ #include "sysconfig.h" #include "sysdeps.h" +#define LSB_FIRST + extern void write_log(const char *, ...); extern void activate_debugger(void);