From: Toni Wilen Date: Sun, 18 Jul 2021 18:41:11 +0000 (+0300) Subject: 4900b24 X-Git-Tag: 4900~114 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=a712b7210d1545edf10bd18d2b421987cef34fde;p=francis%2Fwinuae.git 4900b24 --- diff --git a/newcpu.cpp b/newcpu.cpp index f453f598..61d94096 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -6458,20 +6458,26 @@ void m68k_disasm_ea (uaecptr addr, uaecptr *nextpc, int cnt, uae_u32 *seaddr, ua { TCHAR *buf; - buf = xcalloc (TCHAR, (MAX_LINEWIDTH + 1) * cnt); + if (!cnt) + return; + int pcnt = cnt > 0 ? cnt : -cnt; + buf = xcalloc (TCHAR, (MAX_LINEWIDTH + 1) * pcnt); if (!buf) return; - m68k_disasm_2(buf, MAX_LINEWIDTH * cnt, addr, NULL, 0, nextpc, cnt, seaddr, deaddr, lastpc, 1); + m68k_disasm_2(buf, MAX_LINEWIDTH * pcnt, addr, NULL, 0, nextpc, cnt, seaddr, deaddr, lastpc, 1); xfree (buf); } void m68k_disasm (uaecptr addr, uaecptr *nextpc, uaecptr lastpc, int cnt) { TCHAR *buf; - buf = xcalloc (TCHAR, (MAX_LINEWIDTH + 1) * cnt); + if (!cnt) + return; + int pcnt = cnt > 0 ? cnt : -cnt; + buf = xcalloc (TCHAR, (MAX_LINEWIDTH + 1) * pcnt); if (!buf) return; - m68k_disasm_2(buf, MAX_LINEWIDTH * cnt, addr, NULL, 0, nextpc, cnt, NULL, NULL, lastpc, 0); + m68k_disasm_2(buf, MAX_LINEWIDTH * pcnt, addr, NULL, 0, nextpc, cnt, NULL, NULL, lastpc, 0); console_out_f (_T("%s"), buf); xfree (buf); } diff --git a/od-win32/win32.h b/od-win32/win32.h index 39405e4b..dc41ce01 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #define LANG_DLL_FULL_VERSION_MATCH 1 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("Beta 23") +#define WINUAEBETA _T("Beta 24") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2021, 6, 15) +#define WINUAEDATE MAKEBD(2021, 7, 18) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 583d55b5..b7d820fd 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,15 @@ +Beta 24: + +- usegfx Picasso96 DISPLAYCHAIN is now only forced if uaegfx monitor is monitor id=0 (shared with native chipset). Previously DISPLAYCHAIN was always forced. +- uaegfx in other monitor than native: uaegfx window was tiny before it resized to selected Picasso96 resolution. Now reset default is 640x480 instead of 0x0. uaegfx window also didn't re-open after reset. +- Extra multi monitor mode window positions are now stored to registry/ini. +- Bitplane wrap around (extreme bitplane overrun condition where BPLxDAT fetches before hsync start are visible after hsync end) is now fully supported. +- Sprite fix (Shadow of the Beast 3 missing sprite) +- Adjusted extreme overscan positioning and filter (for example integer scaling) support improved. +- Two (or more) horizontal DIWSTRT/STOP regions are now supported. Previously only first region was visible. +- Programmed mode WB modes should now have 100% correct vertical and horizontal blanking. Hardwired blanking is now correct in overscan+ modes. + Beta 23: - Display positioned was shifted in some programs. (b22) @@ -6,7 +17,7 @@ Beta 23: - Black screen in some programs. (b22) - Automatic scaling fixed. (b22) - Switching from programmed horizontal blanking back to hardwired h-blanking didn't work. -- Added Overscan option to Display panel. Overscan selection is default from previous versions. This probably will replace will TV filter options in the future. Overscan+ and Extreme are even more larger modes, only useful if programmed blanking is enabled, more details later. +- Added Overscan option to Display panel. Overscan selection is default from previous versions. This probably will replace will TV filter options in the future. Overscan+ and Extreme are even more larger modes, only useful if programmed blanking is enabled, more details later. TV options probably need some calibration. Beta 22: