Crashing on 32-bit Windows? Here's a guide to help.

Discussion in 'Support!' started by gsuberland, September 29, 2013.

  1. gsuberland

    gsuberland Member

    Messages:
    38
    Likes Received:
    12
    I've been seeing a few people who are still using 32-bit Windows, who have problems with crashing either at the start of the game, or during it. The problem is related to 32-bit Windows' per-process limit of 2GB of virtual memory. Once the process allocates that much memory, new allocations fail, and the game crashes.

    There are some rather technical details involved, but the short version is that 32-bit systems are severely limited in terms of how much memory they can access, unless you go make some pretty big changes to your system. My personal suggestion is that you should switch to 64-bit Windows, but that's not really a solution, so here goes...

    I make no guarantees to the accuracy or usefulness of any of this - if your machine breaks, it ain't my fault. That being said, it should be ok. Before you do anything, make sure you're comfortable with changing system settings, using things like the registry editor, and using technical tools. I also suggest you make system restore point, just in case.

    First, you're going to want to make sure that your system fits the following details:

    • Windows XP SP3 or later (Windows Vista, Windows 7 will be ok).
    • 32-bit OS. This trick will make no difference at all on a 64-bit system.
    • 4GB of RAM or more. If you have 3GB or 2GB this trick won't work.
    If your setup fits the above description, then carry on with this guide. Otherwise don't bother - it won't help you.

    First thing we need to do is ensure that the Physical Address Extension (PAE) feature is enabled. Hold down the Windows key on your keyboard and press R. This will bring up the Run dialog. Type in regedit, then press enter. Now navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management using the tree on the left, and look for the PhysicalAddressExtension value in the main panel. If the value is 1, then you have PAE enabled, and you can skip the next part. If the value is 0, then you'll need to enable it.

    How you enable PAE depends on which OS you're using. If you're in Windows 7, you need to run bcdedit /set pae ForceEnable and reboot. If it's XP, just open C:\boot.ini with Notepad. It'll look something like this:

    Code:
     [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect 
    You need to add /noexecute and /pae to that last line, with spaces between each. If either is already there, don't add them twice. Now reboot.

    Continue here if you skipped past enabling PAE.

    Next thing you need to do is enable 4GB Tuning (4GT) via the /3GB switch. If you're on Windows Vista or 7, use bcdedit /set increaseuserva 3072 to enable it. If you're on XP, go back and follow the above instructions for enabling PAE, except add /3GB to the boot.ini file.

    Next, we need to modify the PA executable! Download CFF Explorer and run it. Next, follow these steps:
    1. Go to the Planetary Annihilation folder under Program Files, or Program Files (x86) on Vista/7.
    2. Go into the bin_x86 directory.
    3. Make a backup of PA.exe
    4. Drag PA.exe onto the CFF Explorer window.
    5. Click on the File Header entry in the tree list on the left.
    6. Look for the Characteristics entry in the table on the right (should be the bottom one)
    7. Left-click on the "Click here" button.
    8. Check the "App can handle >2gb address space" option.
    9. Click OK.
    10. Click the Save button on the top left.
    11. Click Yes to overwrite the original file.
    12. Close CFF Explorer.
    The PA process should now be able to use up to 3GB of RAM, rather than 2GB, which will work as a temporary fix. You'll still get crashes on bigger games, but it'll be more stable.

    Let me know if you want me to clarify anything! :)
    psychopaht, GoodOak and SXX like this.
  2. cptkilljack

    cptkilljack Member

    Messages:
    122
    Likes Received:
    3
    Windows XP is not supported in any manner. They have chosen to not support the 13 year old legacy OS due to it lacking many newer .net framework updates and it would be too much work to try and get it working. They chose to make the minimum Vista.
  3. gsuberland

    gsuberland Member

    Messages:
    38
    Likes Received:
    12
    I'm pretty sure I've seen people on here using Windows XP, but as I noted above this is definitely a hack and therefore shouldn't be considered as anything more than a minimal work-around.
  4. GoodOak

    GoodOak Active Member

    Messages:
    323
    Likes Received:
    244
    Just want to mention the obvious here if somebody doesn't know ... Ubuntu linux is free and making your WinXP dual boot with it is super easy. PA works very well on linux now so you're not totally stuck with WinXP if you want to play.
  5. v1c7r1x

    v1c7r1x New Member

    Messages:
    11
    Likes Received:
    2
    It's better to use the 4GB Patcher from the same site for these purposes. It's much simpler to use: start patcher, select binary and confirm, close patcher. Download is here: http://ntcore.com/4gb_patch.php
    gsuberland likes this.
  6. gsuberland

    gsuberland Member

    Messages:
    38
    Likes Received:
    12
    Awesome, didn't know about that patcher. Cheers :]

Share This Page