BlkPaladin said:
Consoles are not made to be upgraded so some hardware level coding exhists in the game engines. We seen this with the Xbox/360 BC. Where the games that where not able to be played where acredited to Microsoft no longer being able to use nVidia's propritary code that Microsoft was unwilling to pay for the use of. In PC yes almost all of the graphics coding is done in the API, but there are cases where games will be optimized for one cardset over another. When this happens there are two different "modules" present one that uses the API, and one that uses code specific for the card set. (The card manufacture usally funds moves like this.) |
No, the reason why the XBox 360 had difficulty maintaining backwards compatibility are (primarily) because they switched their CPU architecture; and the instruction set of their new Power based CPU is completely different from the instruction set of their previous Intel based CPU. While you can perform instruction translation to make software run on a different architecture it is very computationally expensive and you run into compatibility issues; and the only way to ensure compatibility is to truly emulate the other system which would be even more computationally expensive.
With the migration from the PS2 to the PS3 there is a bit more of an impact by the change in GPU architecture primarily because the PS2 did not have OpenGL support "out of the box", so developers often produced their own library and (since there was no driver and hardware abstraction layer) there is no way to make their games take advantage of the native OpenGL support on the PS3.
Edit: it is possible that there were some features of the GPU that could not be supported by the XBox 360, but I suspect that would be much more of a patent/licensing issue than a technical issue.







