Quote:
Secondly, I admit that Xbox backward compatibility is not as clear cut as I suggested. The thing is, backward compatibility is not an exact science and it simply is not as black-or-white as any of us here have claimed. You don't "choose" between either emulation, recompilation or reverse engineering. Usually it is a mix of all three. Traditional emulators like Kega, ePSXe, bSNES, SSF etc, make it a point not to know anything about the software they run and thus make very little assumptions about how to run it. They aim to provide a complete emulation of the hardware with high compatibility, at the expense of speed. That's why these "pure" emulators usually take several generations to get up to speed.
Systems like Bleemcast or the Xbox 360's backward compatibility do make assumptions about the games they run and that allows them to take several shortcuts, increasing speed. Specific parts of the software that are too complex to emulate may be recompiled or rewritten ahead of time. If several games share a common code base (e.g. the Unreal engine), then one patch may enable compatibility for all of these games at once. Additionally, since most (if not all) Xbox games use the DirectX API's for graphics, audio and input, the Xbox 360 should be able to intercept DirectX calls from these games and translate them into equivalent calls to its own DirectX implementation. That too will gain you a lot of speed. In any case, pure machine code emulation of Xbox games as you suggest is simply not possible, because the x86 CPU architecture is a damn complex beast and very different from the 360's PowerPC architecture, way too much for full emulation of the hardware.
Note that most emulators use a form of machine code recompilation (as opposed to interpretation), but there's a clear difference between ahead-of-time recompilation and just-in-time recompilation, both in processing time and efficiency of the generated code. Again, if you know beforehand which software you're going to run, you can do this in a preprocessing stage, saving processing power at run-time and allowing more time to optimize the recompiled code.
Your contention was that the Xbox 360's BC was a method by which they distributed rebuild binaries. That is flat out wrong. The footprint of the emulation patches are a couple of hundred kilobytes big each. That was absolutely, completely wrong.