HappySqurriel said:
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. |
While it is not as simple CISC-to-RISC based emulation has been around at least before the 1990's. Back then the differences between CISC and RISC were more pronounced. (Ever since the introduction of the Pentium line of chips, 586 and higher, more CISC based operations have been introduced into the CISC archetechture, with the introduction of SIMD instructions.) Because I had a Mac nut friend (before Mac and Apple where cool) And he showed off an emulator that allowed Windows to be run on his Mac, which at time required CISC-to-RISC emulation. So for a company that makes programs for both RISC and CISC based arctectures, the emulation of the CPU wouldn't be much of a problem.
The BC compatiblity issues where caused by the break up of Microsoft and nVidia. Unlike CPU's where the machine code can be considered "open source", the GPU code is owned by either ATi or nVidia, so Microsoft had two opitions either pay nVidia royalties for direct use of its code in its emulation or find work arounds. Microsoft tried to work around the coding issue but there where still quite a few of their discs that would work. So as you edit suggests it was patenting issues without the use of the code Microsoft couldn't reproduce some of the procedures on ATi's card. (And such would be the case if some one went from ATi to nVidia.)







