When the Xbox 360 finally shipped, Microsoft didn’t want these alpha kits returned. I waa working for EA at the time and our studio arranged a raffle for these; you could enter a draw and if your name was chosen you could buy one of these G5s freshly loaded with OS X for $500 with the provision that you couldn’t flip it for a year.
All the money went to charity so it was a pretty good deal.
Reminds me of the old (2003) story where a brand new Microsoft employee blogged a photo of some pallets of Power Macs he saw on the company campus, “Looks like someone is getting some new toys!” Or something to that effect. He was quickly fired.
Very cool. Reminds me also of the N64 dev kit made for the SGI Indy (the video it generated couldn't be handled internally, but because the Indy was designed for video input you could simply loop it back in, and the machine could DMA it directly onto the screen): https://assemblergames.com/threads/my-complete-sgi-ultra64-d...
Apple had maintained an internal port of Mac OS X on x86 hardware for as long as it had existed as OS X. They came quite prepared for the eventuality of a CPU architecture change.
Apple had always maintained (and publicly released!) Darwin on x86 dating back to OPENSTEP and the Rhapsody DRs, but much of the “Mac OS X” frameworks and pieces on top were definitely not running on x86 without more work. Think Carbon, QuickDraw, etc. Pieces critical to running the Finder and most 3rd party apps.
ISTR blog posts by an Apple engineer describing how little of the graphical system actually worked (basically just WindowServer and small Cocoa apps) without a lot more work to fix endian issues
This is absolutely not true. JK and Kim Schienberg are personal friends and can attest to the veracity of this story through other channels. https://qr.ae/TUfeNI
Further to this, I recall Darwin (the BSDish system running under OS X) x86 images being available to download from Apple up until Intel Mac's became available.
The 360 had a hypervisor. Its kernel was based on the original Xbox's kernel, which in turn was based on the windows 2000 one. Trimmed down would be an understatement here; the ogxbox kernel fit into 256kb, including the bootup animation.
One day while working on the Xbox 360 Fall 2010 and Spring 2011 updates to redesign the UI for Kinect, we ran into an error “out of memory”. Everyone ran around like chickens with their heads cut off trying to figure out the problem. Turns out, we were just straight up out of memory! Thus began a “fun” 48 hours of converting all PNG assets into vectors, and png crushing what we could.
Not to say that was the sole solution - OS UI assets were eating up a ton of resources, but there was a bunch of longer term work around OS memory optimization.
I tell that sorry, just because it’s an amusing illustration to me of the twists and turns a project takes from inception to maturity
The PPC970 derived processor in the Xbox 360 was also big endian only; the PowerPC port required CPUs that could be switched to (and run in) little endian mode.
I had one of these at my desk at work for a while. They were different enough from the final hardware that it was a huge relief when we finally got the first real dev kits. That was also when we started to realize how many problems the lack of out of order execution on the real CPU was going to cause.
It made many things slower than you would expect. There was a much bigger gap between the theoretical performance the hardware was capable of and the real world performance of typical code people were used to writing or had in their existing codebases. There was also a much bigger gap between performance of a debug build and release build than people were used to, to the extent that debug builds could be completely unplayable.
Generally you paid a significantly higher penalty for branching and for cache misses than people were used to and that meant changing the way you designed and wrote code. The cost of things like if statements, function calls, virtual function calls and jumping around in memory were relatively much higher than people were used to. There were also some particular quirks of the hardware that compounded these problems and made certain things usually considered cheap or even optimizations very expensive like converting between floats and ints, shifting by non constant amounts or mixing SIMD code with traditional floating point.
Interesting, I never considered how different the CPUs were (despite implementing very similar ISAs). The G5 was 2x2.0 GHz with OoO, Xenon was 3x3.2 GHz with 2-way SMT and no OoO
It's odd how ancient the PowerMac G5 seems - even the early Intel Mac Pros feel like they're from another era - yet the Xbox 360 seems like it's barely aged at all.
I have one of the very final Power Mac G5s, a dual-dual G5 970mp (which contrary to what one often reads on the internet, it wasn’t water-cooled, that was the top-of-the-line of the previous year’s lineup). It featured PCI-express and I’d stuffed it with oodles if ECC RAM, a FibreChannel interface, and an early SSD.
I have to disagree that this system feels in any way ‘ancient’. Honestly it feels more like science fiction, a professional, hefty, dependable machine as opposed to today’s consumer-orientated devices.
Yeah, a modern MacBookPro is probably faster. It certainly costs much less too. But... that was a workstation. I did science on it. Nowadays it’s one-size-fits-all and if for some reason it doesn’t fit you you’re shit out of luck.
I've thought about getting an older cheesegrater mac pro just to case mod it for a modern hackintosh... they're still going for a bit more than I'd care to spend just to rip the innards out and still have to put more parts to modify modern atx hardware into it.
I keep thinking about it all the same... my 4790k hackintosh is aging well, and when I upgrade later this year may find a new home for it in one of those cases.
I just got rid of a 2006 Mac Pro since I'm moving in a few months, but it was pretty great. There's a ton of aftermarket upgrades you can do and even mine, the oldest Intel model, could run El Cap. The subreddit /r/macpro has a ton of info and if you get a 4,1 or 5,1 it'll go up to 12 cores and run Mojave easily.
The UI in the 360 is still one of the best UI's I've ever seen and used. And compact at this (don't remember the details but it was few mbytes for all textures used there)...
All the money went to charity so it was a pretty good deal.