From: Toni Wilen Date: Sat, 17 Nov 2018 16:12:48 +0000 (+0200) Subject: 4100b10 X-Git-Tag: 4100~26 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=9ef7ef76cebb0055f18e087c83db276ebacfb6b5;p=francis%2Fwinuae.git 4100b10 --- diff --git a/cfgfile.cpp b/cfgfile.cpp index c96691cd..3a340990 100644 --- a/cfgfile.cpp +++ b/cfgfile.cpp @@ -2806,7 +2806,7 @@ static int cfgfile_path (const TCHAR *option, const TCHAR *value, const TCHAR *n static int cfgfile_multipath (const TCHAR *option, const TCHAR *value, const TCHAR *name, struct multipath *mp, struct uae_prefs *p) { TCHAR tmploc[MAX_DPATH]; - if (!cfgfile_string (option, value, name, tmploc, PATH_MAX)) + if (!cfgfile_string (option, value, name, tmploc, MAX_DPATH)) return 0; for (int i = 0; i < MAX_PATHS; i++) { if (mp->path[i][0] == 0 || (i == 0 && (!_tcscmp (mp->path[i], _T(".\\")) || !_tcscmp (mp->path[i], _T("./"))))) { diff --git a/cia.cpp b/cia.cpp index 9e3153a4..be01c902 100644 --- a/cia.cpp +++ b/cia.cpp @@ -1417,7 +1417,6 @@ static void WriteCIAA (uae_u16 addr, uae_u8 val, uae_u32 *flags) if (notinrom ()) write_log (_T("BFE201 W %02X %s\n"), val, debuginfo(0)); #endif - write_log(_T("BFE201 W %02X %s\n"), val, debuginfo(0)); ciaadra = val; dongle_cia_write (0, reg, ciaapra, val); bfe001_change (); diff --git a/debug.cpp b/debug.cpp index 6c918245..63ac3bf1 100644 --- a/debug.cpp +++ b/debug.cpp @@ -2894,7 +2894,7 @@ static int memwatch_func (uaecptr addr, int rwi, int size, uae_u32 *valp, uae_u3 { uae_u32 val = *valp; - if (debugging) + if (debugging > 0) return 1; if (mungwall) diff --git a/od-win32/direct3d.cpp b/od-win32/direct3d.cpp index 66c92c5e..21b0dfaa 100644 --- a/od-win32/direct3d.cpp +++ b/od-win32/direct3d.cpp @@ -3947,7 +3947,7 @@ static void xD3D_refresh (int monid) if (!isd3d (d3d)) return; createscanlines(d3d, 0); - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 3; i++) { D3D_render2(d3d, true); D3D_showframe2(d3d, true); } diff --git a/od-win32/direct3d11.cpp b/od-win32/direct3d11.cpp index 74221773..b4dd818e 100644 --- a/od-win32/direct3d11.cpp +++ b/od-win32/direct3d11.cpp @@ -4572,7 +4572,7 @@ static void xD3D11_refresh(int monid) return; createscanlines(d3d, 0); - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 3; i++) { if (xD3D11_renderframe(monid, true, true)) { xD3D11_showframe(monid); } diff --git a/od-win32/win32.h b/od-win32/win32.h index 4904a566..efaeb235 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("9") +#define WINUAEBETA _T("10") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2018, 11, 4) +#define WINUAEDATE MAKEBD(2018, 11, 17) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index f6daaf95..7ede90a9 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,5 +1,24 @@ +Beta 10: + +- Fixed invisible sprites after statefile load (at least when not in AGA mode). (b8). +- Reading CIA interrupt register exactly when CIA interrupt is going to activate may have caused stuck PORTS interrupt until CIAxICR was read again, which would also return unexpectedly no interrupts active in this situation. +- 68020+ more compatible state files didn't restore CPU mid-instruction properly, caused restore Amiga side crash if state was created during mid-instruction that has side-effects (like -(an) or (an)+ addressing mode) (introduced in 4.0 betas) +- 64-bit version didn't support rar unpacking without archiveaccess.dll, probably because 64-bit unrar.dll didn't exist when it was implemented. +- Window corners are now drag'n'drop hot spots for different floppy drives. (top/left=0, top/right=1, bottom/left=2, bottom/right=3). +- 68030 MMU MOVEM , access fault retry was unreliable in some situations. + +Beta 9: + +- UNPACK and PACK instructions (very rarely used) had code like "v = read_from_address(x) + read_from_address(y)" which has undefined function call execution order in C. +- 68030 MMU MOVEM to memory access fault retry special case fixed (b8). Amix boots normally again. +- 68030 MMU unaligned data access retries always used aligned access. (b8) +- AGA 32/64-pixel FMODE BPLxDAT writes are also now emulated accurately. Behavior is same as sprites, FMODE=3: first 16 pixels are last bus data, remaining 48 pixels are duplicate of written data. FMODE=2: first 16 pixels bus data, last 16 pixels written data. FMODE=1: written data duplicated. (Last bus data is first word of copper MOVE to BPLxDAT if copper was used to write to BPLxDAT). Writing to BPLxDAT when FMODE=3 and then lowering FMODE disables last 32 pixels (like sprites do) but this is not yet emulated. +- Yet another undocumented AGA bitplane special case. When FMODE=1/2 and modulo is added, bit 1 carry is ignored, for example 0x102 + 0x12 = 0x110. FMODE=3: same except bit 2 carry is ignored. This can only happen if bitplane pointer and/or modulo is "unaligned", not integer divisible by fetch size. Quite useless feature because unaligned bitplane pointers will always result in corrupted display. But at least (corrupted) display is now 100% accurate. +- Debugger memwatch points detected also debugger read or write accesses. +- Multi Evolution v2.2 ROM added. Does not seem to be RDB compatible, probably only v3.0+ are RDB compatible. + Beta 8: - Another undocumented AGA 32 (only if FMODE bit 3 is set) and 64 pixel wide sprite feature emulated: when writing to SPRxDATx, first 16 pixels of sprite equals previous data in chip bus. Remaining 16 pixel "parts" contain written data duplicated. Unless SPRxDATx write is immediately after bitplane DMA fetch, then first 32 pixels of sprite gets replaced with previously fetched bitplane data, last 32 pixels are duplicated SPRxDATx written value. If normal 32 pixel wide mode (FMODE bit 2 set): both first and last 16 pixels contain written data.