[quote name='Apossum']Thanks for the response to my question Ruined
so what yer saying is a modified .xbe file would load the files on the disc in a different order so the emulator could handle it?[/QUOTE]
an XBE = XBox Executable. You can see an example of what one contains here:
http://www.xbox-linux.org/docs/xbe.html
It's similar to an .EXE file on your PC.
When an MS rep said that games would have to be recompiled, one news site took this as meaning that users would have to buy new versions of games. That was of course, incorrect. What it likely meant is that Microsoft could have to make new XBOX360-compiled XBE files, either dynamically via profiles or manually for each game, in order to help the console run each particular game properly. There is a lot of stuff an XBE contains in it that would pertain to this as you can see from the above link. And of course, the original XBE files on XBOX1 discs are compiled for the X86 platform (like Intel Pentium, AMD Athlon) while the XBOX360 runs on the PPC platform (like PowerMac G5), which are incompatible. An easy way to think of it is that XBOX1 discs are compiled for PC while the XBOX360 is a Mac. Therefore in order to get XBOX1 discs to run on the Mac, they have to recompile the executable files so they are in mac language; but 99% of the data that takes up most of the space will work fine, because it is just graphics/sound data (textures, maps, sound, music, etc) that is platform independent. So these new XBE files will take up a very small amount of space (1mb to 5mb each), and might even be able to be dynamically generated via text profiles to take up even less space. In other words, the new XBEs would not take any significant amount of space away from the 20GB XBOX360 hard drive - even if you had 200 modified XBOX1 XBE files on your hard drive it would take less than 1GB. Yet, though they are small they will take MS some time to tweak and create, as they are not simply just emulating a PC on a Mac, they are actually recreating the executable file and tweaking the code (i.e. the brain) of each game one by one. This will, of course, get easier as MS finishes the emulation of the most complex games, like Halo2 and DOA: Ultimate, as they can use the same general techniques they used to get those games working to get simpler games working.
How it would work:
1) The user inserts their XBOX1 disc into XBOX360
2) The XBOX360 will detect what XBOX1 game was inserted via DiscID
3) The XBOX360 will look for the correct profile or modified XBE file for this specific game on the XBOX360 hard drive
4) If the profile or modified XBE is not there, it will download it off XBOX Live
5) If the profile or modified XBE is there, it will execute the modified XBE, or dynamically create a modified XBE from the profile which will then be executed
6) The modified game code will run off the modified XBE bypassing the XBOX1 game's original on-disc XBE, but the XBOX360 would look to the actual XBOX1 disc for game assets such as the graphics, menus, textures, maps, sound effects, music, etc (the items that take up the vast majority of the disc space).
All of this, of course, would be done seamlessly in the background after the user inserts his original XBOX1 disc into the drive. If a profile/xbe for your XBOX1 game is not preloaded on the XBOX360 at launch, the XBOX360 could connect to Live and download the appropriate profile/xbe. MS will also make BC updates (if necessary) on physical media as well for those who don't have internet.
You could probably imagine, though, why this is so time consuming and complex and why MS doesn't just want to say "full backwards compatibility at launch" period, in case there is a few games they just can't get to run without glitches for some reason (as was the case with PS2 to PS1 BC), or in case they can't quite get every XBOX game emulated by launch.