https://bugs.winehq.org/show_bug.cgi?id=43455
Bug ID: 43455 Summary: Jack's Attic fails to launch due to lack of virtual memory Product: Wine Version: 2.0-rc2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
Jack's Attic, an old educational game, fails to launch due to a claimed lack of virtual memory.
The application calls GlobalMemoryStatus, and adds together the reported values for TotalPageFile and TotalVirtual, then does a signed comparison with 3MB. However, GlobalMemoryStatus contains code to limit the total virtual memory to 0x7ffdffff, and also contains code to limit the total paged memory to 0x7fffffff *if* the application is detected to be an old binary (just by comparing version numbers). These, added together, yield 0xfffdfffe, which is negative and so less than 3MB.
The game works fine on Windows, because the reported virtual memory isn't limited (and so the addition wraps around and remains positive). This is Wine-specific code which is included to help other applications work where they wouldn't on Windows. Unfortunately, it causes this application to fail.
Perhaps a better solution would be to use a registry key?