heres the problem. just because you have a good video card to run it on high your going to need sufficent ram. they recommend 1 gig but your better off with 2 gigs.
it won't run BF2 on high but everything on medium or some settings on high. the high end gfx cards that could run BF2 on high are like $400.00 and its a waste because in a couple of months DX 10 is coming out and it will make all gfx cards useless unless you have a high end gfx card.
Yeah it's gonna be tough with 512. I played it with 512mb and a fx5700 and it ran pretty well, only very little lag, most of the time none. Of course lowest graphics, and it really didn't look that good anymore.
I'd say a good vid card would be like a 6800GT, just find a used one and u should be able to buy it with ur budget. And the dx10 cards will probably come out either q4 of 06 or q1 of 07, so it's still going to be a while.