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) {
!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"
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;
}
}
#endif
-//#ifndef _DEBUG
+#ifndef _DEBUG
if (lRet == EXCEPTION_CONTINUE_SEARCH) {
TCHAR path[MAX_DPATH];
TCHAR path2[MAX_DPATH];
}
}
}
-//#endif
+#endif
#if 0
HMODULE hFaultRepDll = LoadLibrary (_T("FaultRep.dll")) ;
if (hFaultRepDll) {
#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("")
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++) {
{ 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]);
}
}
}
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];
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)