Slashdot Mirror


Microsoft Announces Xbox One Backward Compatibility

dotarray writes: Mike Ybarra is head of Platform Engineering at Xbox, and today he told the gaming world all about one of Microsoft's best-kept secrets — after more than a year of saying it couldn't be done, the Xbox One really is backwards compatible, so you can play all your Xbox 360 games on your next-gen console.

7 of 193 comments (clear)

  1. Why now and not at release time. by ITRambo · · Score: 4, Interesting

    Apparently, MS wants to pick up additional sales of XBox One. Smart move. They should have done this at release time. Better late than never. Now, 360 users will have a reason to upgrade as they should be able to play most games on the One.

    1. Re:Why now and not at release time. by suutar · · Score: 4, Interesting

      thanks; TFA is misleading. (and drat. I was suddenly hopeful that I could just replace my 360 with the aging dvd drive with an xbone. Oh well.)

  2. Re:Summary is rather misleading by darkain · · Score: 4, Interesting

    Nintendo's hand held gaming dates back even further then that. Gameboy Color supported classic Gameboy games (yup, the GBC had an upgraded processor, not just color). The GBA fully supported any GB/GBC game. And then of course the DS supported all GBA titles.

  3. Re:Compatibility List by Omeganon · · Score: 3, Interesting

    This is just the initial list. It sounds like all games are compatible and the only thing keeping them is a new agreement/addendum with the Publishers to distribute them there.

    --
    Omeganon
  4. Re:Compatibility List by Hadlock · · Score: 1, Interesting

    That list is about 100 titles shorter than I would have expected

    --
    moox. for a new generation.
  5. Xbox One went from a nope to probably nope by GreatDrok · · Score: 3, Interesting

    I've had a 360 since launch (technically three if you count the replacement motherboards) and I would have got the One if it had backwards compatibility, even to the standard that the 360 could play original Xbox games by using most of the on disc assets but having a recompiled native engine for the PPC chip in the 360. This doesn't look quite like that unfortunately but I'll watch with interest as I'm not sure how much longer my 360 will survive and there are still games on it I would like to play through again. If it does support enough of the games I already own (the list currently has none) then I may well add an Xbox One to go with my PS4.

    --
    "I have the attention span of a strobe lit goldfish, please get to the point quickly!"
  6. Re:Summary is rather misleading by Durrik · · Score: 4, Interesting
    You're assuming that that the games are all strictly a high level language like C, C++ or C#. A lot of game programmers will drop down to assembly to do some things as fast as possible. When I was in the industry I had to do that a few times, never for the xbox360 though so it may not be as big of an issue.

    Game programmers also use a lot of intrinsics that are basically C macros around assembly calls. And these are very tied to the CPU architecture. They also do a lot of things based on cache line sizes. Making sure that structures or multiples of structures fit inside cache lines. Or play around with using a structure of arrays instead of an array of structures, or visa-versa it all depends on what turns out to be faster on the architecture, or CPU multi-threaded loading, or the cosmic rays hitting the box at the time. If a game team has a good set of optimizers on it they'll beat anything a compiler will do, and it will tie the performance of the game to the CPU and ensure you can't just recompile. Recompile will just throw error after error.

    The CPU architecture is completely different. Pipeline depths, branch prediction, it uses SSE for its vector unit instead of the one in the xbox360. And that's all fairly custom code almost in the assembly level to force the use of the vector units. The GPU is different though I think they were both AMD GPUs so it shouldn't be too bad for the code to run on it, and it should be using Direct Draw 9.0c as the API so it shouldn't matter what the GPU is.

    Microsoft also loves to change their APIs between SDKs, something compiling for June 2010 may not compile in June 2012. The only thing they guarantee is that something compiled on June 2010 of the XDK will run on June 2012 version of the flash. And only on the production boxes. I remember a few times where older games compiled for launch did not run on the latest flash on the dev kits. The dev kit flash was filled with lots of things to make development easy, so they stripped out deprecated functionality. They also stripped out the deprecated functionality to ensure that people didn't use it, because game developers would find a way to get at it if they really needed to, if it was in the flash they'd find it.

    Also MS may only have source code for Microsoft Studios' games. They don't have the source code for any of the third party games. When submitting for certification and publishing all they cared about for the xbox360 was the ISO image. They may not even have the source code from their own studios available. Especially from the early games, the Xbox360 has been around longer than most companies store data. The company I worked for only kept the source code around for 5 years. That would put the earliest game to have published in 2010. They may not go back this far for their compatibility but it does cut out the earliest games.

    I think they've finally got a Xbox360 PPC emulator that is fast enough to emulate what the xbox360 could do without dropping too much in the way of performance. And that wasn't ready at the launch of the Xbone.

    --
    Software Engineer & Writer of Military Science Fiction and Fantasy Blog: petermwright.com Twitter: WrightPeterM