My friend just recently installed the new HD 3850 with new Catalyst drivers and All of his other games including BF2142 work fine, but, when he goes to launch BF2 the splash screen appears the monitor turns black, then flashes, then he is back to desktop. I suggested to add the force res size command during launch and He uses both adapters for dual monitors and he tried disabling the other, and still no luck. I had him check Even Log in Admin tools for any specific error and there was none.. any idea to what the problem could be ?
He is also running 64bit XP with an AMD Opteron.
Go into My Documents and find the Battlefield 2 folder and in there go to Profiles. Then go through each folder and open the video.con file with notepad. You should see VideoSettings.setResolution. Set it to VideoSettings.setResolution 800x600@60Hz and do the same for the other folders in the profile folder. Then get rid of your forced resolution and see if it opens.
I had the same problem you had and that's what I had to do. After you do that and if it works, then set your forced resolution through the shortcut and see if it works.
32-bit, I had too many problems with drivers and compatibility with XP x64 on my laptop. Definitely try what I mentioned early though, it fixed the problem for me. If it doesn't work, just delete the whole profiles folder.