Xbox 2 - The Price of Compatibility?
Randy Lastimosa writes "1UP.com has an interesting article about the next Xbox, and whether it will support current Xbox games. They talked to a number of sources and got conflicting reports. For example, the CEO of Nvidia, who provided graphics chips for the current Xbox, said: 'It's virtually impossible on many levels,' he adds. 'On an intellectual-property level. On practical levels, too.'"
'On an intellectual-property level' What does this mean? It's a computer, they can't port the games?
Well, if you think about it, most of the games won't be just writing to DirectX/Direct3D only. Most or all of the pretty engines are going to be writing (for example) shader code directly for the Nvidia GPU that is built in to the XBOX.
Since we know that XBOX++ will not contain an Nvidia GPU (they're going with ATI instead), it is pretty safe to say that using binaries compiled for the current XBOX will not work. If they did, then that would mean that the graphics chips would have to be functionally identical (or at least close enough) to the Nvidia part. Nvidia probably holds a bunch of patents surrounding the chip which currently preclude this unless MS and/or ATI wants to get sued to oblivion.
Mechanik
I just thought that I'd clear up the common misconception that there is a performance or innovation cost for including the PS2's backward compatibility. There wasn't. The PS2 contains the entirety of the PSOne hardware, PSOne games are played natively, not emulated, and the PSOne hardware controls I/O when a PS2 game is running. Because Sony already had chip fabs and such for the PSOne chips, repurposing those chips in the new system actyally saved them money. Being able to play the old games was just a benefit of this route.
Bork Bork Bork!!
The only area where I can see problems is that Xbox vertex and pixel shaders can be (and often are) compiled to nVidia's proprietary binary format (which represents a much more hardware-specific mapping than the standard DirectX hardware-agnostic binary token format). If this issue is solved, or nVidia turns a blind eye, there should be no major technical obstacles to software emulation. Legally, I think it may be OK, as the specifics of the nVidia shader format is not disclosed even in the Xbox SDK itself, so Microsoft could very well write a layer that just translates the nVidia format to whatever internal scheme ATI's silicon will use.
Other consoles, like PS2 allow much more low-level access, so compatibility via software emulation only is more of a pain.
There's 10 types of people in this world, those who understand binary and those who don't.
Personally, I think that backwards compatibility could still be done without trampling all over nVidia...as long as they keep the hard disk or a disk-like storage mechanism.
Xbox developers are specifically prohibited from writing to the metal. For any graphics calls, sound calls, I/O calls, or any hardware call, they have to go through the API. In that way, developing on the Xbox is rather like developing against a system abstraction layer. Change the kernel but keep the entry points the same, and you should work fine. After all, most games use the vertex shaders (which are well-documented and implemented on ATI's cards), so I don't see a problem.
As for the IP issues, the only issue I can see is implementing some nVidia-specific texture formats, but since most of them were not supported or recommended by Xbox Developer Services, few (if any) games use them.
The possible flipside is that VirtualPC technology may not work on the IBM processors. VirtualPC will not work on the G5 due to the elimination of a certain addressing mode. If that addressing mode is still gone in the processors made for MS, then backwards compatibility just got 100's of times harder to implement.
RomSteady - I came, I saw, I tested. GamerTag: RomSteady / http://www.romsteady.net
No where is it written that the next XBox will play current XBox games.
According to the title the Xbox2 will play current XBox games. No where does the article provide any supporting evidence to this claim, and in fact largely runs counter to it. Nvidia says all but no, an unknown independent analyst agrees, ATI says that it is statistically possible, and some other unknown agrees with them. Microsoft says... Nothing. According to other sources Microsoft is "not guaranteeing" backwards compatibility, and if they decide not to include a hard drive such compatibility may not be possible at all.
nVidia may very well be playing to the press, but that doesn't mean such a thing wouldn't be difficult or expensive. Most systems achieve backwards compatibility by finding uses for the extra hardware. Software emulation for compatibility has never been attempted professionally in the console arena, but amature software emulation tends to lag two systems behind. You can push an XBox to do a meaningful SNES, but Dreamcast emulation is right out. With the right software the SNES could emulate the 2600, but not the NES.
Personally, I don't see why they don't just include a detachable Xbox chipset as a free add-on with an overpriced "premium" system with two controllers, and sell a regular setup with one controller for 100 dollars less.
But, as I mentioned before, no such thing has been announced yet.
The ______ Agenda