Jump to content

MacLover

Member
  • Posts

    33
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by MacLover

  1. There seems to be a bug in KB2479629: When I attempt to install it on a "fresh" Windows 2000 system (Windows 2000 SP4+UR1, no unofficial patches installed), the installer will say that KB2479628 is not installed. From looking at update.inf, it seems like the old WIN32K.SYS version check from MS11-011/KB2393802 was left in the INF. Removing the check from the INF fixed the installer and everything is working. Thanks again for the patches!
  2. I've been trying to get later versions of WinUAE working in Windows 2000 (The last version that officially supports 2000 is 2.0.1.) - 2.4.2 beta 6 and earlier will always run correctly with an extended kernel - 2.4.2 beta 7 through 2.5.0 beta 14 will just quit after attempting to allocate memory - 2.5.0 beta 15 through 2.7.0 beta 9 have the following behavior: - If the system memory is less than 1536MB, the emulator will run - If the memory is 1536MB or more, the emulator will not run (If I run with "-log", the last entry is "Total physical RAM 2047M, all RAM 4160M, attempting to reserve 769M) - 2.7.0 beta 10 and all later versions will stop at the "Attempting to reserve" message even if system memory is <1536MB The problems seem related to a memory allocation rewrite in 2.4.2 beta 7 (and from searching the source tree for the log messages, it seems like the relevant code is in od-win32/mman.cpp EDIT: I was looking at some more of the WinUAE changelogs and it looks like the emulator had to implement a workaround at one point for Win2k's VirtualAlloc not supporting the MEM_WRITE_WATCH flag. This workaround was removed in 2.2.0 beta 1. EDIT: Had the wrong version listed as the last that was officially Win2k compatible. EDIT: I tried running the emulator with API Monitor and it got stuck in a loop trying to use VirtualAlloc() with the MEM_WRITE_WATCH flag. Windows returns 0x50 (ERROR_NOT_SUPPORTED). If I'm reading the output correctly, it looks like the NtAllocateVirtualMemory API in NTDLL.DLL actually does the work and VirtualAlloc() just calls it. NtAllocateVirtualMemory returns 0xc00000bb (STATUS_NOT_SUPPORTED).
×
×
  • Create New...