Jump to content
Sign in to follow this  
Bob Scott

How-to: FS9 on 64-bit Windows XP and Vista

Recommended Posts

I'm well into migrating my (massive) FS9 install to Vista Ultimate 64. It's really working out well for me...but in the process I haven't found any good single repository of info on the how-to and whys of the process of moving to a 64-bit OS. I'm starting this thread, not to debate whether one should move from 32 bit to 64 bit, but HOW to make the change, what to expect, challenges, reasoning etc.In my own personal odyssey here, for the last 2-3 years I have had sporadic but recurring bouts of the OOM (out of memory error) Blues, especially with the big complex jets flying into big complex airport sceneries that I like the most. I experimented with 64-bit operating systems a few years ago, but the driver support was primitive and buggy or nonexistent, and it was still ahead of its time.Not so today. There are stable, fast 64-bit drivers for most good video and audio cards, many of the gotchas have been worked through, and in the meantime, the software we run has pressed the 2GB 32-bit Windows boundary even harder.So I made the switch...added 2GB of 1066 MHz DDR2 RAM (for a total of 4 gigs) on an Intel Dual Core X6800 at 3.6GHz, with a 768MB nVidia 8800GTX, and a Creative Audigy 2ZS sound card. Not cutting edge today, but still fairly fast.With a 64-bit OS, the "address space" is no longer limited to 4 GB. Think of address space like all the possible phone numbers given the number of digits allowed. If you use just 7 digits, there are 10,000,000 possible numbers. With area code added (10 digits), there are 10,000,000,000 possible phone numbers.Why's that important? Well, 32-bit windows takes your video card's memory and maps (assigns) addresses out of the available address space when it boots. So if your video card has 512MB (half a gig) of memory, then at boot time Windows gives one eighth of the available 4 billion addresses to the video card, and those addresses cannot be used by the operating system or for your programs. And 32-bit Windows does the same with other, generally smaller memory requirements for audio, system devices etc. With a 512MB video card, I'd guess an average Windows system already has 600-700MB already carved out of the address space before the first program loads.And that first program is Windows itself. Normally, Win32 reserves the bottom 2 GB for programs, and the upper 2GB of address space for itself. And out of the OS's 2GB, a large deal of that valuable "real estate" has already been blocked by hardware-mappings. So it has to load and unload pieces of itself as needed, since it can't all fit into what's left of its 2GB space after the hardware mappings take as much as half or more (think two 512MB SLI video cards).Now, if you're using the /3GB switch in 32-bit Windows, you're telling the OS to allow user programs to use 3 of the 4 GB of address space, which means the OS now has to fit in only 1GB minus what the hardware mappings have taken out. That's way less than half a gig for a PC with a single 512MB video array, and only a couple hundred KB for a PC with a 768MB video array like mine. It's going to choke the OS--if it loads at all.And it does NOT matter now much RAM you have in your PC. Back to the phone analogy, we're talking phone *numbers*, not actual phones. So when a user, like a cell phone company, calls up and wants a hundred million phone numbers to reserve for its prospective new clients, if all you have to work with is a 7-digit exchange, you tell them their request exceeds the number of phone numbers possible for this exchange. You shut 'em down with the analog of an OOM error.Enter the 64-bit address, sort of the analogy to adding a 7-digit area code to a 7-digit phone number. 32-bit programs can still only see 4GB of addresses, because that's the limit in a 32-bit address field. But now, the 64-bit operating system can map all the hardware at addresses outside this precious 4GB, because it can see and use address space far outside the 4GB 32-bit limit. So it maps the hardware there, and in fact loads much of itself at addresses mapped outside the 4GB sweet spot for 32-bit apps, leaving them nearly all of the address space up to 4GB.So now, when FS9 loads up a pile of textures and asks Vista 64 or XP-x64 to reserve over 2GB of space for it, it will make the reservation, rather than hitting the wall and kicking the program out for trying to go past the number of addresses available to it.And it works--WELL. I can run the PMDG 747-400 into KLGA with the traffic cranked up, and instead of the OOM window of death, I stay locked at 30 fps. 64-bit seems to be the future, and it's here now.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

So do I just make the leap to 64-bit? Upgrade? Clean install?There's lots already written on dual-boot systems, and it can be tricky to say the least. Vista won't allow an upgrade install from one partition to the other, so you can't set up dual-boot with a cheaper upgrade copy of Vista. Vista will also deactivate your copy of XP if you "upgrade" from it, making it impossible to go back and re-install/register using the old XP serial number. Even if you want to buy the full version and do a clean install on a second partition, making dual-boot work can still be tricky.My research led me to believe that the best solution is to allow no direct interaction between the old 32-bit XP installation and the new 64-bit Vista one. That meant a clean install on new HDD. The solution for me was to buy a couple Antec Veris e-SATA enclosures, and put my current XP Pro (32-bit) boot drive into one, and install Vista 64 into the other. To swap from one to the other just requires plugging the proper external drive enclosure into the eSATA cable. I have a second 1Tb HDD mounted in the computer case, and I transfer data from one system to the other by copying to/from this third HDD.Also little known--Vista will upgrade from an installed copy of Windows 2000. But the unhappy thing is that a cheaper Vista "Upgrade" version requires an installed OS, not just the insertion of an original silver disk like XP did. So I mounted the new HDD in the enclosure, and did a bare-bones install of an old copy of Win2K I had laying around from days of old, and then did a clean Vista 64 upgrade installation from there. In upgrade versions you have to run the Vista setup program from the already-installed upgrade OS.The Vista 64 install was from a single DVD, and went much faster than previous XP experiences. A couple of online updates, and it was up and running. You'll want to make sure you have at least SP1, as it fixes some issues critical to flight simmers. And I am told that it is better to install from a 32-bit OS with less than 4GB in the machine, and install the remaining RAM after the 64-bit OS is up and running. That's how I did it.After the install, I loaded up nVidia's latest WHQL-approved driver (178.13 I think) and Creative Labs' latest 64-bit drivers. They've been rock-stable since installation a week ago.I'm sure others have tips and tricks, especially for 64-bit XP. I would probably have opted for XP x64, except that it has disappeared from the shelves, and I fear that driver support may flag as Vista (slowly) penetrates the market.The dual external drive setup is great--I can run XP for all the non-sim stuff that won't run on 64 or requires a for-fee upgrade.So that's getting the system in. Next is how to get FS9 to run in this strange new land.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

With a 64-bit OS installed, the "3GB" boot.ini switch needed in 32-bit Windows is a bygone. Win XP x64 and Vista 64 only care about the 2GB limit because that's the standard for 32-bit programs. And, in fact, if you load FS9 into a 64-bit OS and run it stock, you're just as susceptible to OOM errors as before with a 32-bit system, as the OS looks at some flags in the header of the program when it loads--if it's a 32-bit program, it checks to see if the LARGEADDRESSAWARE flag is set in the program's PE header, and if it is, it allows it to see addresses all the way up to the 4GB limit. If not, it throws an OOM fault when a request beyond the old 2GB limit comes in, in an effort to protect the program from its own "bad" behavior (a 32-bit program is supposed to stay in the 2GB box).So what's required is some bit-flipping to set that LARGEADDRESSAWARE flag in the header of FS9.EXE so that your 64-bit OS knows to allow it past the old 2GB brick wall.I'll lay out a quick way to make the change if you have an otherwise unmodified copy of FS9 with the version 9.1 update. The file version of FS9.EXE should be 9.1.0.40901 when you right-click on it and look at the file properties.First, make a backup copy of the unmodified FS9.EXE to go back to if you screw something up, or if the mods doesn't work out for you. Using a binary hex editor, you need to make the following changes to FS9.EXE:At address 014E, change 0F to 2FAt address 0190, change 00 to 48At address 0191, change 00 to 7FAt address 0192, change 00 to 15These four changes will tell your 64-bit OS that FS9 is largeaddressaware and can operate beyond the 2GB boundary.It has to be noted, however, that FS9 was not specifically written with access to the high range of addresses in mind. Generally speaking, one has to do some uncommon things like math with addresses to run afoul of the 2GB standard, as that high bit would make the address a negative number if the math is done using the address field as a signed integer. FS9 seems to run just fine with the flag set...but one has to be aware also that any .dll module that loads under FS might cause issues as well. So we have to recognize that we're purposely defeating a program safeguard that could cause some unhappiness, even some loss of data in extreme cases. So only proceed knowing there's some risk.For those who may have already modded the FS9.EXE file for single-processor affinity or other purposes, you can use the EDITBIN utility that comes with Microsoft's visual C++ compilers to set the flag.With the Microsoft .net compilers, you need go to Microsoft Visual Studio X .NETVcXbin and run the vsvars32.bat file to set the path, and then editbin can be run from the same directory.Command syntax is simply:editbin /LARGEADDRESSAWARE fs9.exeLast, for those using Vista 64, there is a problem with Windows Aero that causes FS9 to have all sorts of video glitches in windowed mode, at least with most nVidia video cards. That's easily fixed by right clicking on the desktop, select Personalization, then Window Color and Appearance, and set a color scheme other than Windows Aero. I use Windows Vista Basic for simming.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

Good post Bob,I've been a systems instructor (mostly on the software side) for half of my two decades in I.T. and I really have to commend your style. I couldn't have touched the concepts in your post with even half of your skill. Regards,John

Share this post


Link to post
Share on other sites

Really, Bob -- Thanks for taking the time. I was reading a couple of posts over on the Hardware forum and asking myself if I should upgrade to XP64 before they all disappear, when lo and behold I saw your post.Talk about good timing! Thanks again!

Share this post


Link to post
Share on other sites

>Good post Bob,Thanks John...that's a high compliment from another old-timer round these parts.CheersBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

let's hear a Navy pilot give a better explanation than that!!!!!!!

Share this post


Link to post
Share on other sites

>>Using a binary hex editor, you need to make the following changes >>to FS9.EXE:Just got done installing XP 64 and all my drivers -- it's beem a while since I've use a hex editor -- is there a freeware one you recommend? I can't remember which one I used to use for this.Thanks.

Share this post


Link to post
Share on other sites

>Just got done installing XP 64 and all my drivers -- it's beem>a while since I've use a hex editor -- is there a freeware one>you recommend? I can't remember which one I used to use for>this.>>Thanks.>I use a freeware editor called XVI32http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htmRegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

Hi Bob,Unfortunately it didn't work for me as FS9 crashed during start up.May I ask you to contact me privately?Best regards,Peter

Share this post


Link to post
Share on other sites

Then you did something wrong. FS9 working here much better than in XP32.Make sure you have all drivers, freshly installed XP64 and freshly installed FS9 including all addons. You can't use old FS9 installation without problems.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...