From 4779fa08f53474052d78a2106c83d78aa1e45041 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 18 Dec 2025 18:13:52 +0200 Subject: [PATCH] 6020b11 --- drawing.cpp | 9 ++++++--- od-win32/rp.cpp | 12 +++++++----- od-win32/win32.h | 6 +++--- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/drawing.cpp b/drawing.cpp index 47596273..9cd9eb22 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -7046,9 +7046,12 @@ void draw_denise_border_line_fast(int gfx_ypos, bool blank, enum nln_how how, st buf2 = buf2p; if (blank) { - memset(buf1, 0, xlinebuffer_end - (uae_u8*)buf1); - if (buf2) { - memset(buf2, 0, xlinebuffer_end - (uae_u8 *)buf1); + int len = addrdiff(xlinebuffer_end, (uae_u8*)buf1); + if (len > 0) { + memset(buf1, 0, len); + if (buf2) { + memset(buf2, 0, len); + } } } else { if (full_line_draw) { diff --git a/od-win32/rp.cpp b/od-win32/rp.cpp index 03bd8524..787314fc 100644 --- a/od-win32/rp.cpp +++ b/od-win32/rp.cpp @@ -925,8 +925,8 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p) else fs = 1; } - p->gf[0].gfx_filter_left_border = 0; - p->gf[0].gfx_filter_top_border = 0; + p->gf[0].gfx_filter_left_border = -1; + p->gf[0].gfx_filter_top_border = -1; p->gf[0].gfx_filter_right_border = 0; p->gf[0].gfx_filter_bottom_border = 0; p->gf[0].gfx_filter_autoscale = AUTOSCALE_CENTER; @@ -1167,6 +1167,7 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p) gfx_height_original = gm->gfx_size_win.height; + ntsc_extended = false; if ((p->gfx_xcenter_pos >= MANUAL_SCALE_MIN_RANGE && p->gfx_ycenter_pos >= MANUAL_SCALE_MIN_RANGE) || (p->gfx_xcenter_size > 0 && p->gfx_ycenter_size > 0)) { p->gf[0].gfx_filter_autoscale = AUTOSCALE_MANUAL; if ((sm->dwScreenMode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) && currprefs.ntscmode) { @@ -1183,16 +1184,15 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p) ll = palh; } gm->gfx_size_win.height = (int)(gm->gfx_size_win.height * palh / ll + 0.5f); - p->gfx_ntscpixels = true; ntsc_extended = true; } } } } + p->gfx_ntscpixels = (sm->dwScreenMode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) != 0; if (keepaspect) { - //bool type = p->gf[0].gfx_filter_autoscale == AUTOSCALE_MANUAL && ntsc_extended; - p->gf[0].gfx_filter_aspect = -1; + p->gf[0].gfx_filter_aspect = ntsc_extended ? 0 : -1; p->gf[0].gfx_filter_keep_autoscale_aspect = ntsc_extended || fs ? 0 : 1; p->gf[0].gfx_filter_keep_aspect = 1; } else { @@ -1893,6 +1893,8 @@ void rp_fixup_options (struct uae_prefs *p) rp_filter_default = rp_filter = currprefs.gf[0].gfx_filter; fixup_size (p); + currprefs.gfx_ntscpixels = changed_prefs.gfx_ntscpixels = (rp_screenmode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) != 0; + currprefs.gf[0].gfx_filter_bilinear = changed_prefs.gf[0].gfx_filter_bilinear = (rp_screenmode & RP_SCREENMODE_INTERPOLATION) != 0; get_screenmode (&sm, p, false); sm.dwScreenMode &= ~RP_SCREENMODE_SCALEMASK; sm.dwScreenMode |= rp_screenmode; diff --git a/od-win32/win32.h b/od-win32/win32.h index e2f9b5a3..b872edf2 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,17 +15,17 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 1 +#define WINUAEPUBLICBETA 0 #define LANG_DLL 1 #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("10") +#define WINUAEBETA _T("") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2025, 12, 13) +#define WINUAEDATE MAKEBD(2025, 12, 18) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") -- 2.47.3