Now that it's been announced at E3, I can finally reveal that the Xbox 360 feature I work on is... Xbox backwards compatibility!
"We are very pleased to announce that Xbox 360 will be backwards compatible with the top-selling Xbox games."
-- Robbie Bach
Senior Vice President and Chief Xbox Officer, Microsoft
Yes, it's real. It's been fun to watch all the wild speculation over the past year or so as to whether the Xbox 360 would or wouldn't be backwards compatible. And reading all the crazy ideas people have about how hard or easy it would be.
Xbox backwards compatibility is a unique project in so many ways, and I feel very fortunate to get to work on it. I'm sure it will be the hardest technical challenge of my career -- I can't imagine what could possibly top it in terms of sheer technical difficulty. It's not just the difficulty of emulating completely different processors and devices. It's also all the arcane knowledge I've needed to acquire about kernel-level development, advanced graphics processing, operating systems and computer architectures. It's changed the way I think about software.
"Magical products are the synthesis of really diverse sets of people that share a singular vision. We've put together a team of hundreds of people bringing living entertainment to life through a blend of technology and art and community."
-- J Allard
Corporate Vice President and Chief XNA Architect, Microsoft
To me, the most appealing aspect of backwards compatibility is its "magical" quality. Normally, once you understand how something magical works, it's much less amazing. With Xbox backwards compatibility, the opposite is true -- the more you understand what it needs to do, the more certain you are that it's impossible, and consequently the more amazed you are to see it in action.
For example, some people observe the CPU and GPU architectures are utterly different between the Xbox 360 and the Xbox, and then speculate about the difficulties those differences pose for emulation. Without really understanding anything that's involved, they're already convinced that backwards compatibility is a difficult task.
Others apply more knowledge and compare the situation to something familiar, such as existing x86 emulators for PPC. For example, Virtual PC for Mac is great for many tasks, but gaming isn't one of them. On my 1.25 GHz Powerbook, VPC 7 emulates a 295 MHz PC. Even solitaire feels slow, let alone anything graphically challenging. And the Xbox isn't just any x86 machine, it's a computing powerhouse. Emulating it seems beyond today's technology.
Other people compare the Xbox 360 against the Xbox:
|Processor||733 MHz 32-bit x86 w/SSE|
|3.2 GHz 64-bit PPC w/ VMX128|
3 cores, 2 hardware threads per core
|GPU||233 MHz NVidia NV2A|
125 million polygons/sec
|500 MHz ATI custom|
10 MB EDRAM
500 million polygons/sec
64 3D channels (256 stereo)
|not yet announced?|
|Memory||64 MB (200 MHz DDR)|
32 KB L1 cache
128 KB L2 cache
|512 MB (700 MHz GDDR3)|
not yet announced?
not yet announced?
1 MB L2 cache
|Bus||133 MHz FSB||21.6 GHz FSB|
|Storage||8 GB HD|
|20 GB HD|
When I look at these numbers, I think: Wow! The Xbox is already a very powerful machine, and the Xbox 360 blows it away. The Xbox 360 will be fantastic for high-definition gaming!
"I think rather than give some statement that is either too conservative (because the engineers can do better), or a bold statement we can’t live up to, we thought we’d make our strategy clear that as we get further down the road and as our engineers do more work, the execution will speak for itself."
-- Steve Ballmer
Chief Executive Officer, Microsoft
But emulation is a difficult challenge any time the emulator isn't several orders of magnitude faster than what it's emulating. So a few people who understand how emulators work look at these numbers, impressive as they are, and conclude that Xbox backwards compatibility will not work. (And then when they see backwards compatibility working, they realize the Xbox 360 is even more impressive than they thought!)
Finallly, there are a very few people who understand both Xbox systems inside and out to an expert level of detail that I'm not about to go into here. They perform more sophisticated calculations using the Art of Software Engineering, but ultimately reach the same conclusions as those not skilled in the Art: Backwards compatibility is impossible. One such skeptic interviewed me for my current job, and pointedly asked during the interview how I planned to handle the project's certain future cancellation.
And yet, here it is. It's magic!
This is part of what makes working at Microsoft so much fun -- the opportunity to work on magical projects and do the impossible. It's a lot of hard work, of course, but the challenge makes it fun.