From: Toni Wilen Date: Sat, 22 Dec 2012 18:42:07 +0000 (+0200) Subject: 2510 X-Git-Tag: 2510 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f992867f8f1f226d64cce0faa1cfe78329852f5f;p=francis%2Fwinuae.git 2510 --- diff --git a/archivers/lha/uae_lha.cpp b/archivers/lha/uae_lha.cpp index 1d418285..8fea158a 100644 --- a/archivers/lha/uae_lha.cpp +++ b/archivers/lha/uae_lha.cpp @@ -39,7 +39,20 @@ struct zvolume *archive_directory_lha (struct zfile *zf) zai.name = au (hdr.name); zai.size = hdr.original_size; zai.flags = hdr.attribute; - zai.tv.tv_sec = hdr.unix_last_modified_stamp -= _timezone; + if (hdr.extend_type != 0) { + zai.tv.tv_sec = hdr.unix_last_modified_stamp -= _timezone; + } else { + struct tm t; + uae_u32 v = hdr.last_modified_stamp; + + t.tm_sec = (v & 0x1f) * 2; + t.tm_min = (v >> 5) & 0x3f; + t.tm_hour = (v >> 11) & 0x1f; + t.tm_mday = (v >> 16) & 0x1f; + t.tm_mon = ((v >> 21) & 0xf) - 1; + t.tm_year = ((v >> 25) & 0x7f) + 80; + zai.tv.tv_sec = mktime (&t) - _timezone; + } if (hdr.name[strlen(hdr.name) + 1] != 0) zai.comment = au (&hdr.name[strlen(hdr.name) + 1]); if (method == LZHDIRS_METHOD_NUM) { diff --git a/od-win32/WinUAE_Install.nsi b/od-win32/WinUAE_Install.nsi index cc90a830..6ea4d2c0 100644 --- a/od-win32/WinUAE_Install.nsi +++ b/od-win32/WinUAE_Install.nsi @@ -1,5 +1,5 @@ !define PRODUCT_NAME "WinUAE" -!define PRODUCT_VERSION "2.5.0" +!define PRODUCT_VERSION "2.5.1" !define PRODUCT_PUBLISHER "Arabuusimiehet" !define PRODUCT_WEB_SITE "http://www.winuae.net/" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\winuae.exe" diff --git a/od-win32/mman.cpp b/od-win32/mman.cpp index 4dbd7b15..7c63a1c1 100644 --- a/od-win32/mman.cpp +++ b/od-win32/mman.cpp @@ -175,15 +175,15 @@ bool preinit_shm (void) if (max_allowed_mman * 1024 * 1024 > size64) max_allowed_mman = size64 / (1024 * 1024); if (!os_64bit) { - if (max_allowed_mman * 1024 * 1024 > (size64 / 2)) - max_allowed_mman = (size64 / 2) / (1024 * 1024); + if (max_allowed_mman * 1024 * 1024 > (totalphys64 / 2)) + max_allowed_mman = (totalphys64 / 2) / (1024 * 1024); } natmem_size = (max_allowed_mman + 1) * 1024 * 1024; if (natmem_size < 256 * 1024 * 1024) natmem_size = 256 * 1024 * 1024; - write_log (_T("Total physical RAM %lluM. Attempting to reserve: %uM.\n"), totalphys64 >> 20, natmem_size >> 20); + write_log (_T("Total physical RAM %lluM, all RAM %lluM. Attempting to reserve: %uM.\n"), totalphys64 >> 20, total64 >> 20, natmem_size >> 20); natmem_offset = 0; if (natmem_size <= 768 * 1024 * 1024) { uae_u32 p = 0x78000000 - natmem_size; diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 71454b39..aab98381 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -5561,7 +5561,7 @@ LONG WINAPI WIN32_ExceptionFilter (struct _EXCEPTION_POINTERS *pExceptionPointer } } #endif -//#ifndef _DEBUG +#ifndef _DEBUG if (lRet == EXCEPTION_CONTINUE_SEARCH) { TCHAR path[MAX_DPATH]; TCHAR path2[MAX_DPATH]; @@ -5627,7 +5627,7 @@ LONG WINAPI WIN32_ExceptionFilter (struct _EXCEPTION_POINTERS *pExceptionPointer } } } -//#endif +#endif #if 0 HMODULE hFaultRepDll = LoadLibrary (_T("FaultRep.dll")) ; if (hFaultRepDll) { diff --git a/od-win32/win32.h b/od-win32/win32.h index 367fd17a..1f25597e 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,12 +15,15 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 1 +#define WINUAEPUBLICBETA 0 #define LANG_DLL 1 -//#define WINUAEBETA _T("") +#if WINUAEPUBLICBETA #define WINUAEBETA _T("5") -#define WINUAEDATE MAKEBD(2012, 12, 21) +#else +#define WINUAEBETA _T("") +#endif +#define WINUAEDATE MAKEBD(2012, 12, 22) #define WINUAEEXTRA _T("") //#define WINUAEEXTRA _T("AmiKit Preview") #define WINUAEREV _T("") diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index ae0dc297..16663f55 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -1127,10 +1127,8 @@ void unlockscr (struct vidbuffer *vb) void flush_clear_screen (struct vidbuffer *vb) { - struct vidbuffer vb2 = { 0 }; - if (!vb) - vb = &vb2; + return; if (lockscr (vb, true)) { int y; for (y = 0; y < vb->height_allocated; y++) { diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 54c7f88b..2eda445e 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -1903,14 +1903,16 @@ static const GUID diskselectionguids[] = { { 0x05aa5db2, 0x470b, 0x4725, { 0x96, 0x03, 0xee, 0x61, 0x30, 0xfc, 0x54, 0x99 } } }; -static void getfilter (int num, TCHAR *name, int *filter, TCHAR *fname) +static void getfilter (int num, const TCHAR *name, int *filter, TCHAR *fname) { _tcscpy (fname, name); _tcscat (fname, _T("_Filter")); regqueryint (NULL, fname, &filter[num]); } -static void setfilter (int num, int *filter, TCHAR *fname) +static void setfilter (int num, int *filter, const TCHAR *fname) { + if (fname == NULL || fname[0] == 0) + return; regsetint (NULL, fname, filter[num]); } @@ -2106,7 +2108,7 @@ int DiskSelection_2 (HWND hDlg, WPARAM wParam, int flag, struct uae_prefs *prefs } } if (!ok) { - getfilter(flag, _T("StatefilePath"), previousfilter, filtername); + getfilter (flag, _T("StatefilePath"), previousfilter, filtername); fetch_path (_T("StatefilePath"), init_path, sizeof (init_path) / sizeof (TCHAR)); } guid = &diskselectionguids[4]; diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 3bcb4560..f9f84f59 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -4,6 +4,11 @@ This is usual quick 2.5.0 bug fix version. Estimated release date: before Christmas. I try not to do any GUI changes this time, 2.5.0 translation DLLs should still work with 2.5.1. +2.5.1 + +- Only reserve max total physical memory / 2 of ram under 32 bit Windows versions. +- lzh/lha MSDOS-style timestamps supported + Beta 5: (Possibly 2.5.1 final) - Fixed crash when reset caused switching from RTG to native mode. (b3)