[quote name='fanskad'][quote name='epobirs'][quote name='int80h']From what I hear:
1. MS isn't going to be able to license nVidia's proprietary Xbox 1 tech for Xbox 2.
2. Emulating x86 on PowerPC-64 is not fast enough for games.[/quote]
1. Correct
2. Dead wrong. This has been done on the Mac for many years already. The real question is which PPC emulating which X86? A 733 MHz P-III is not a speed demon by todays measure. If PPC used in the Xbox2 has hardware support for big-endian/little-endian conversion the single biggest obstacle is reduced to a small fraction of the worklload that would otherwise exist.
In the past Virtual PC has sucked for playing PC games not due to low CPU performance but rather because much of the elements needed for modern games aren't supported. Virtual PC until recently did everything on a generic low-end video card that could be easily mapped to anything that appeared in Macs. Fine for running business apps but if the your Mac had the latest Nvidia or ATI card it wouldn't matter. As far as DirectX in the Virtual PC was concerned the video support was minimal.
This is a much simpler thing on consoles. The host machine is a static platform and so is the emulation target. Since everything is completely predictable in that regard there is no limit to the fine tuning and mapping to host hardware that can be done.
On the technical side it's completely doable. The obstacles are entirely legal and financial.[/quote]
Could you please explain what the terms "big-endian/little-endian conversion" mean? I recognize the reference to Jonathan Swift, but I fail to see how the term applies to hardware emulation.
(I am honestly curious, I don't have any knowledge of hardware emulation, despite my programming and electronics background.)[/quote]
http://www.webopedia.com/TERM/b/big_endian.html
It refers to how processors expect numbers to be depicted in data.
If you are trying to perform emulation on a system that handles numbers the opposite than the system being emulated you need to translate every single number. This makes for a horrific amount of labor that could slow things down tot he point of making the result unviable.
The linked article is wrong about one thing. PPC is not natively bi-endian. Motorola, who made the PPC match the way the M680x0 series did things so that the Power Macs would have an easy time running under emulation code written for the earlier Macs, put ina hardware function to do the conversion much, much faster than it could be done in software. This was almost exclusively for the purpose of running x86 emulators. It was useful for some development tasks but it would never have been included if emulation weren't of interest to Apple's customers.
When IBM did the 970 series they didn't include this function. The problem was that Virtual PC had long since been written to assume it was there and wouldn't run on G5 Macs. Even a quick patch to Virtual PC to use the code written for the earliest PPCs that did it by hand only served to show what a major cycle hog the job was. It ran slower than it would on a four year old G3. Virtual PC has since been rewritten from the ground up to make the best use of the G5 but the performance isn't what it could have been if IBM and Apple hadn't arrogantly tried to blow off Mac users running PC apps.