A creative hacker at portablesystems.net managed to carefully pack the contents of an Xbox console into a portable form factor. It’s yet another project that makes me exclaim “I had that idea!” However, the creator did a far better job than I could do with the tools at my disposal. His hack includes creating a custom vacuum-formed case, hooking up Li-Ion batteries to power the system, and wiring a PSOne LCD to the video output. It’s a masterfully executed hack that sets the standard for his other portable video game creations, and is a must-see for any Xbox hardware hacker.
Although this is a little late — the successor to the Xbox has already been released for some time — I thought it would be useful to others to write up a comprehensive guide on modding an Xbox and using it with a Mac in a Windows-centric world. It’s never too late, though, because the Xbox is continuing to drop in price and makes a dazzling home media center that blows the Mac Mini away.
This is going to be a multi-post article, as it would otherwise be an extraordinarily long post. Sections will cover opening the Xbox, installing a modchip, and finally loading and configuring the media center software.
And why not a Mac Mini? Why choose an Xbox for a home media center solution, and how does it outperform to the Mac Mini? In a word: compatibility. Right out of the box, the Xbox is a terrible home media solution. In fact, it doesn’t even make an attempt at any media center capabilities, short of ripping CDs. However, when modified and loaded with the open-source Xbox Media Center software, it can play just about any file format you’ll ever encounter in an interface that’s as shiny as Apple’s own. Covering all the bases from AVC/H.264 to Xvid, Xbox Media Center is what makes it happen, and is a stellar example of the kind of quality software that can be produced from a truly dedicated team of programmers. Finding plugins for QuickTime that work as smoothly as Xbox Media Center would be a nightmare. Adding a DVD Playback Kit to the Xbox setup lets you have complete control from the couch, even if you’re just checking the weather or listening to some music from iTunes.
Like all modern gaming systems, the Xbox has copy protection and various restrictions to stop people from backing up games and/or running their own software on the system. That has to go. Thankfully, modding Xboxes has been a long, well documented effort, and there is much to show for it. It took only a few months for clever hackers to exploit bugs and holes in the system and gain access to the inner workings, making all sorts of homemade projects possible. Xbox Media Center is among the most popular and well-recognized of the lot.
First on the route to an Xbox-centric home media solution, comes the choice of deciding on the right hardware to enable all the cool stuff to come. Dozens of Xbox modchips are available, many of which require soldering to tiny, tiny spots on the motherboard. If you’re uncomfortable soldering or have an unsteady hand, there are solderless solutions available, but I highly recommend practicing soldering if you intend to get good and continue modding beyond a modchip. Soldering a modchip into an Xbox is far less complicated than with other systems like the PS2, but still requires both patience and skill. Practicing soldering on an old VCR or stereo motherboard is a good way to start (it’s how I learned!). Xbox modchips can run up into the $70 range, but you don’t have to spend a bunch of money to get great features. My modchip of choice — at least until production ends — is the Xecuter 2.6 CE Lite. This model is intended to be soldered in, although a solderless kit is available. Among it’s notable features are included front panel switches, total Xbox hardware compatibility, a backup BIOS bank if you make what would otherwise be a costly mistake, and network flashing. For all the features included, the Xecuter 2.6 CE Lite can’t be beat.
That’s it for this edition of “Mac Meet Xbox.” Stay tuned (via RSS, perhaps) for the next installment, which will cover opening of the Xbox and installation of the modchip.
Mac Meet Xbox: Navigation
When updating my copy of Xbox Media Center earlier today, I noticed that the XboxMediaCenter.xml file was missing. Looking into the matter further, I found that some significant changes had been made to the development of XBMC earlier this month.
The original XML configuration file has been removed, and most of the important options have been added to the program settings, allowing new shares to be connected directly inside Xbox Media Center. Bookmarks can now be added by starting up XBMC, pressing the white button on the controller, and choosing “Add Source.” For those who still prefer to open a file and type in the paths manually, edit the
UserData/sources.xml just as you did before.
Yesterday, a clever hacker released a modified firmware file for the Xbox 360’s DVD drive which essentially causes it to lie to the console about the type of media off which games are running. This comes not long after the release of a similar firmware for the original Xbox, allowing an unmodified (i.e. no modchip) console to run games off a burned DVD. While both of these hacks are impressive, they currently offer no advances towards running unsigned code, particularly on the Xbox 360. Despite that, I’ll soon picking up a 360 to hack around with. This is the first crack in the wall I’ve been waiting for.
Connecting a Mac to an original Xbox is a great feature for users of Xbox Media Center, as there are a number of ways to stream your content to your TV. Network shares, iTunes DAAP access, and several streaming programs can all be used to get your stuff from “here” to “there.”
With the release of the Xbox 360, though, there are no easy ways to achieve the same results. The 360 is limited to communication with a Windows Media Center powered PC — software I wouldn’t touch with a ten foot pole. Luckily, NullRiver Software just released Connect360, a small $10 shareware Mac application which can eaily share iTunes and iPhoto libraries to your networked Xbox 360. This should tide us over until the 360 is truly as hackable as the original Xbox is. Thanks to Olly for the tip!
A small follow-up to my earlier post about the Xbox peripheral adapter… Here you’ll find a pinout of the Xbox controller expansion port, as well as a diagram of the headset unit itself. I found them to be quite helpful when wiring up the adapter.
I finally finished playing Half-Life 2 on the Xbox (as evidenced by the lack of updates around here), and it is outstanding. I’m not a gamer by any means, but I do enjoy a well-crafted piece of work when I find it. Though Half-Life 2 has been out in the Windows world for quite some time, the Xbox release is rather new and it’s obvious why the port took so long: Valve put a tremendous amount of work into making this one of the best Xbox titles to date. The level of detail is one that I’ve never seen before on the Xbox, with accurate physics, impressive lip-syncing, clever map design, and some of the best textures anywhere. Eye candy aside, the gameplay varies between charging through enemies, avoiding their AI, and solving puzzles — all of which help create an enjoyable gameplay experience. If you haven’t yet played Half-Life 2 on the Xbox, check it out. Even for a non-gamer like myself, it was a real treat to play.
For those working on a Mac doing Xbox modifications, here’s a tip for handling BIOS files. Some Xboxes, such as the “version 1.0,” require a 1 MB sized file, but not all are distributed this way. On the Windows side of things, there are a number of tools available for dealing with Xbox BIOSes, however there’s nothing specifically made for Mac. With a little bit of command-line work, you can combine files without any special tools except the operating system. To join files, the general syntax is:
cat bios512.bin bios512.bin > bios1MB.bin, where bios512.bin is a 512 KB size BIOS.
You’re simply doubling over the file to obtain the 1 MB sized one the Xbox needs. It can be repeated four times for a 256 KB BIOS. Or, if your Xbox is wired with a switch into multiple banks, you could combine two separate files using
cat and the redirection operator
> to build a custom BIOS, and switch between them as needed.
While I haven’t tried, I’m sure the Unix ‘split’ utlity can slice a file and do the reverse of the above (something along the lines of split -b 512k bios1MB.bin). Just be careful, as not all BIOSes are designed to be sliced into smaller pieces. Hopefully these two built-in tools should get you through any Xbox BIOS issues on the Mac.
This is how it all starts. AnandTech has done a great job disassembling an Xbox 360 and documenting it along the way. It actually looks like it may be easier to disassemble than the original Xbox, provided you have the right tools.
I’m impressed with the change in Xbox controller styles. While I was not one of the many who complained about the sheer size of the original Xbox controllers, I find the new style to be a delight to use. Wireless capabilities are a nice touch, too.
I read elsewhere that the Xbox 360 also has a battery to retain the date and time settings, which caused some problems with previous Xbox softmods. It can also be configured to use a network time server, such as time.microsoft.com (or time.apple.com, if you prefer “Apple time”).
The launch is less than a week away, and I’m hoping I’ll be able to pick up one of these new machines with minimal hassle. We’ll see about that.
Update: AnandTech posted another article, this time covering the Xbox 360 motherboard’s layout, ICs, and buses.
Here’s a quick Xbox hack I did a long while ago when the 007: Agent Under Fire exploit first debuted. The hack called for an Xbox memory card or a USB flash drive to transfer the files. At the time I did not own a memory card, as the Xbox ships with an 8 GB internal hard drive for storing game saves and caches. However, I did have a 32 MB USB 1.1 flash drive, which is small by today’s standards. I had read that the Xbox would easily format most flash-based media, so I decided to build a little adapter. Internally, the Xbox uses USB for all its controller I/O, including the overpriced, low capacity memory cards.
To build this adapter, I purchased an extra $5 breakaway cable replacement, cut the cord in the middle, and snapped open the green plastic connector. You could also use the same piece from an existing controller. Regular computer USB cables have four wires in them, but the Xbox has a fifth for powering light guns and other devices — its wire stands out a bright yellow. Jameco sells the necessary female USB A connector, but one can be acquired more quickly by de-soldering one from an existing device. In my case, this was a dead USB hub. Following a pinout of the USB standard, I soldered the appropriate wires to the matching color of the Xbox connector, simply skipping over the yellow wire.
To finish up the hack, I fit the whole assembly into the original Xbox controller plug with a little Dremel work. (What hack would be complete without a Dremel?) Only a small few bits of plastic at the end needed to be removed to fit the USB connector into the space where the cord used to protrude. The halves can be snapped or glued together to hold the plug secure. The finished adapter can connect USB flash drives, keyboards, and mice to the Xbox. A hub can also be attached to use all three within Xbox-Linux.
You can see larger images in at Flickr.