So u guys didn't read the OP post
if u read it completely u will see that he said :
"Or... What if I crossfired it with a 4870 1GB ?? Would it cause the 4870 to run at 512mb since the 4770 is 512mb? How does this all work?"
And here is the answer from the FAQ :
Do the cards have to be same model?
I answer it with an example:
You have a NVIDIA Geforce 7800GTX 256, and you want to add another card , the second card has to be 7800GTX exactly.
But what about the memory? Can you add a 7800GTX 512 and use that with 7800GTX 256?
It's recommended to use a 7800GTX 256 with a 7800GTX 256 and 7800GTX 512 with 7800GTX 512.
However you can use a 7800GTX 256 with 7800GTX 512 , BUT the 7800GTX 512 will lower its RAM to 256MB to operate with the other card, so it wont have its true power. (This option isn't recommended. )
So if u CrossFire 2 cards and one of them is 512MB and the other one is 256MB then in CrossFire mode the 512MB will lower its RAM to 256MB.
Btw for your 1st question,not sure if u can CrossFire a HD 4770 with a HD 4850/4870 but even if its possible i dont recommend it,i recommend CrossFiring a HD 4770 with another HD 4770
Hope this helped