Recently I was given an XBOX because the owner upgraded to an XBOX 360. After the initial
thrill of Crash Bandicoot wore off, it ended up with the fate of most games consoles, sitting
unused gathering dust under the TV. That is, until I heard about XBOX media center. This is a fantastic piece of software which you install on your XBOX, and turns it into a fully fledges media player, capable of presenting videos, pictures and mp3s right on your TV. Since the XBOX has an Ethernet port, you can play files stored on other computers over the network, or play video streamed off websites like You Tube. You can also play media stored on the hard drive. Since the project uses open source media players, there is no trouble with file formats, it will play anything – DivX, Mpeg, H264, MP3, AAC, OGG, basically anything that a Celeron 733Mhz CPU could play.
It’s not all smiles and sunshine though – there are two major problems. The first is that the legal status of the project is somewhat hazy, it is compiled using the developer’s toolkit supplied by Microsoft to official game developers, which is presumably licensed only for official XBOX development. For this reason acquiring XBMC is a little more difficult than just downloading from a website, you need to find it in the seedy underbelly of the torrent world. Second, even if you get the binary, it won’t work on your XBOX unless you ‘mod’ it. Microsoft designed the XBOX specifically to only play ‘signed’ software, that is software that has been approved by Microsoft. You need to modify your Xbox to get around this.
Modding
There are two types of modification, soft mods and hard mods – both achieve the same end result however. Soft mods use software exploits in known versions of some games to get the XBOX to execute unsigned code – usually a small program which will flash the bios with a new modified (i.e. non Microsoft) version. The other type is the mod-chip, which is a replacement bios chip that you solder into the Xbox itself.
Back in the old days when the XBOX first came out, mod chips were very common and most people used them to be able to play ‘backups’ of their games, i.e games that had been copied onto a DVD-R. For some people no doubt it was a way to play cheap pirated copies of the then expensive games. Nowadays, with the new XBOX released and original XBOX games going for peanuts in the game stores anyway, mod chips are mainly useful for unlocking the Xbox’s ability to play unsigned code like XBMC or Linux.
There are many sources of mod chips out there, from cheap and cheerful to very expensive. Some have the ability to ‘turn off’ and effectively turn your XBOX back to stock, which is handy if you connect to XBOX live. Some even have an LCD interface for putting a small display on the front of the box – which is a feature XBMC can support.
I chose the Duox2 chip, which was easy to install with just an IDC header to install (Thanks Microsoft that makes it real easy) and a couple of wires. Now I can boot XBMC by powering on the XBOX with the power button, and boot the original XBOX bios by powering up with the eject button; but I never do.
Installing the mod chip has also allowed me to replace the piddly 8gig internal hard drive with a bigger 20gig drive I had lying around, but I could have installed a 200gig+ drive, the new mod chip bios supports it.
Installing XBMC
For me the installation of XBMC was the hardest part of the process. Generally the first thing people do after modding an XBOX is install a new dashboard, which is a replacement for the stock MS ‘green menu’ – in other words the default application that the bios kicks off after booting. The replacement versions have niceties such as FTP servers which allow you to install new software onto the XBOX over the network. To install this, you need to burn an installer image onto a disk that the XBOX can read – which takes some trial and error. It can read DVD-R, and some CDR media. It took me 3 different brand of CDR before I found one that my XBOX can read, and even then it was 50/50. Apparently every XBOX is different in this regard and all are very picky! however once the disk booted, the XBOX started the FTP server and I was away.
I copied the XBMC binary to the hard drive and used the ‘shortcut’ method to make it the default application, i.e the program that is started at boot up. Once this was done, restart and in seconds XBMC is up and running! XBMC itself also has it’s own FTP server so while it is running you can install other applications/media onto the hard drive.
What XBMC can do
Once XBMC is installed, then the fun starts.
First, I pointed it to my shared NAS (200Gig on an NSLU2) drive with all my mp3s. With a click of a button they were all indexed and can now be searched by genre etc. Now I can search for an album and have it play while viewing the album art, or a visualization etc. When I get time I can create playlists, or copy over my itunes m3u playlists. Smart playlists are also supported, although at the moment you have to get your hands dirty with the XML config files to make them.
Next, I pointed XBMC to all my home movies, again on the shared drive, this time in a different directory. All these were previously unplayed because they are taken with an MP4 (H264) Sony Digital handicam and they playback terribly on my computer. Now I can watch them fine full screen on the TV – you can’t beat that. XBMC also has a nifty feature where it ‘stacks’ movies: I often have half a dozen movie files in the same directory, each with a filename with a number in it that the camera automatically increments when I take the movie. Example, mov1456.mp4, mov1457.mp4 etc. Stacking makes them look like one file in the user interface, and all the movies are played one after the other. Fantastic!
After that I do the same for my photos, and the divx/xvid movies and podcasts I happen to have.
Finally I install the youtube script, and search for and play stupid movies off youtube on the TV!
The great thing about it though is the ability to customise. Not only is it extremely flexible about what you can play and where you want to store it, but also the whole application can be ‘skinned’ to look completely different. Apparently someone has skinned it to look and behave like Apple TV, but.. better.
Also XBMC has a python interpreter and a couple of built in python modules that let you script the entire interface, from opening dialogues and showing buttons to playing video. There are al ready several scripts out there from the youtube one above to ones that catch podcasts and play other online streaming media. There are even scripts that play tetris – but if you do feel the need to play games remember the XBOX still works as a games console, or alternatively you could acquire MAMEOX and some arcade game roms and play old arcade classics like Street fighter, Double Dragon, and Gauntlet on your TV with your XBOX controller!