Hacker News new | past | comments | ask | show | jobs | submit login
The SDK “Power Mac G5” for the Xbox 360 (journaldulapin.com)
123 points by bluedino 31 days ago | hide | past | web | favorite | 40 comments

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.

If anyone still has one of these taking up space, a videogame museum near you would probably welcome the donation.

We did the same thing at Realtime Worlds and I ended up with an enormous doorstop for a few years until I left Scotland.

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.


That photo was the earliest confirmation of these dev boxes: https://www.xenonwiki.com/Alpha#History

A mirror of the post on slashdot he seems to think they were for the Mac Business Unit, only now I think we can see why they were worried: https://yro.slashdot.org/comments.pl?sid=83988&cid=7337263

Rabid gamers have been known to acquire dev kits before especially if they might open the door to homebrew... https://www.neogaf.com/threads/xbox-one-dev-kit-leaker-makes...

> 451 Unavailable For Legal Reasons Sorry, this content is not available in your region.

Does anyone have another link?

Interesting, where are you located? I can read it from USA New York area

France. I guess they don't want to comply with GDPR.

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...

Tickles me that right as Microsoft was buying Macs to revive the NT PowerPC port, Apple was buying PCs to revive the OS X x86 port.

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

I seem to recall Steve Jobs himself saying this at WWDC, so are you saying that he was lying during the presentation?

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.

It actually wasn’t NT. It followed the NT/Win32 APIs but a very cut down special purpose OS.

Interesting, so they implemented a new scheduler, VM etc?

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

Eh so I'm not a Windows expert but wasn't W2K in turn NT-derived?

Windows 2000 is literally NT 5.0 (see https://en.m.wikipedia.org/wiki/List_of_Microsoft_Windows_ve... for a mapping of the widely used names to internal NT versions).

Edit to clarify: all versions of Windows, server and consumer, are NT, they just stopped using that branding.

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.

Why did that cause problems? It made particular things way slower, I guess?

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

Xenon was a lightweight POWER 6 which also didn't support out-of-order dispatch presumably to boost its clockspeeds to near 6Ghz.

It wasn't POWER6. It used modified PPEs (a la Cell), and it didn't get clocked that high.

The Xenon didn't get anywhere near 6 GHz though, it was only 3.2 GHz.

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.

Unfortatly ancient, yes. From a time when Apple cared about pro users, sold upgradable, expandable and user accessible machines.

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.

Not just probably faster, it’s getting on for an order of magnitude faster. Phoronix had some comparisons a couple of years ago to a dual core G5 machine: https://www.phoronix.com/scan.php?page=news_item&px=PowerMac...

Personally, I think the PowerMac G5 design is pretty timeless. It could fit right in with the rest of the unibody Mac designs.

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)...

I get the feeling the author found out what "a priori" means recently and is trying to find excuses to use the term.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact