The Xbox One and PS4 have broadly similar features, but there’s a few areas where Microsoft has beaten Sony: Backwards compatibility with the Xbox 360 and steaming games from an Xbox One to a local PC. But while we’ve known Microsoft was adding backwards compatibility since E3 2015, we haven’t seen much of how that process happened, until now.
Our sister site, IGN, has published an in-depth exploration of how teams at Microsoft crafted a backwards compatibility solution that would encompass first Xbox 360 games and later add the original Xbox. As early as 2007, Microsoft developers were working on a new emulator, codenamed Fission, that could translate the Xbox 360’s 32-bit games (the Xbox 360 had a 64-bit CPU, but all signs are that it ran 32-bit code) into the 64-bit x86 CPU that Microsoft had already decided it would use.
The Xbox One’s block diagram.
We recommend reading the entire IGN piece, but we’ll summarize it. The Xbox One doesn’t have an Xbox 360 or Xbox SoC inside of it for dedicated hardware support, but it does support certain critical capabilities required for backwards compatibility in hardware. XMA audio and Xbox 360 texture formats, for example, are supported natively.
Building backwards compatibility wasn’t just a question of writing an emulator. Microsoft had to recruit new programming talent and contact studios for information on what the information spat out during the debugging process actually meant. There was no way to automatically test certain games for full compatibility, which means a lot of manual playtesting was required. One major pitfall that took the team months to solve was the scheduler’s speed. Changing the scheduler to more closely emulate the Xbox 360’s made a huge difference and allowed the team to shove games out the door much more rapidly.
Building Xbox compatibility into the Xbox One was a separate and significant problem of its own. While the performance gap is greater and it’s easier to brute-force an Xbox game on a modern Xbox One, it’s not just a question of running game code quickly — code has to be run as close to perfectly as possible to ensure that on-screen effects and game events trigger properly. While the Jaguar CPU at the heart of the Xbox One is a low-power budget processor, the Pentium III Coppermine CPU inside the original Xbox ran at just 733MHz and had a 1.06GB/s FSB. Even a single-core Jaguar packs more than enough horsepower to emulate a Pentium III — but only if the emulator itself is up to the challenge.
It took years to bring the hardware emulators to market. Microsoft’s pivot away from “always on” functionality after its disastrous unveil in 2013 apparently took resources away from the development team working on the feature. But so far, this is one capability that Microsoft has delivered well, with updates and support for various features that sometimes make older games look better on the Xbox One than they did when they were new. It’s not clear how many people actually take advantage of backwards compatibility, but we’re glad to see the feature.
Feature image credited to IGN.
Let’s block ads! (Why?)
ExtremeTechGaming – ExtremeTech