Monday, July 26, 2004

Project: XBOX Mod (Software Only)

I finally received my XBOX USB adapter in the mail on Friday, which means that I got to spend the weekend modding my XBOX, so that I can install Linux and EvolutionX, and do lots of other fun things as well.

If you search the Internet, you'll find many ways to mod an XBOX. This post simply documents the procedure that I followed, and the results that I experienced.



Hardware Needed:

XBOX (duh). My refurbished unit cost $129.99 at GameStop.

USB adapter. (Microsoft will send you one for free plus $6.99 shipping, but they ran out of stock and I didn't want to wait until next month, so I spent $5.99 plus shipping.)

128MB JumpDrive Secure. $39.99 at CompUSA. (Several other USB storage devices work as well.)

MechAssault. I paid $14.99 for a used copy at GameStop. (The original game, not the Platinum Hits edition. The discs themselves look the same, but the original version has the code MS02301L printed on the bottom). I suppose this could go in the Software section, but I thought it made more sense to put it here since you can't download it.



Software Needed:

MechAssault Linux Installer. This exploits the game save bug in MechAssault.

EvolutionX. A very cool frontend/menu for loading game backups and other programs.

Phoenix Bios Loader. Essentially a modchip emulator, this allows the XBOX to load a different bios rom.


In addition, I found the following necessary hacks at "the usual places":

XBE Dump. Digitally signs an XBOX executable (XBE file) so that Microsoft's bios will allow it to run. (Requires Windows.)

Xecuter2 Bios Version 4983 ("Boot From Media" version). Allows the XBOX to run unsigned programs (such as backups and homebrew software), eject the disc tray without rebooting, and perform many other useful features.

DC's Font Hack Package. Includes the "Bert and Ernie" exploit, which allows direct access to the Phoenix Bios Loader from the XBOX Dashboard.



Procedure:

1. I went into the XBOX Settings menu and configured the network options. I used static IP, and gave it a fake gateway address (172.0.0.1) to prevent it from fetching any future software updates that might interfere with my plans.

2. After connecting the JumpDrive to my Linux computer, I dumped the MechAssault Linux Installer onto it: cp -f MechInstaller-1.0-FATX-128MB.img /dev/sda

3. I then plugged the JumpDrive into my XBOX through the USB adapter. After clearing all of the old MechAssault data off of the hard drive, I used the Dashboard's Memory menu to copy over each of the 3 MechAssault Linux Installer files.


4. I fired up MechAssault and picked "Emergency Linux" from the Campaign menu. This loaded a very small Linux distribution, allowing me to connect to the XBOX via FTP and telnet at IP address 192.168.0.3 (username: root, password: xbox). As it turns out, I have a newer XBOX model (post-08/2003), with a new graphics chip, so the display flickered while running Linux (though it didn't matter).


5. Unfortunately, my XBOX came with a new version of the Dashboard software (1.00.5659), preventing me from using the "Bert and Ernie" font hack to modify it. So, once I was able to access the XBOX's hard drives via FTP/telnet, I backed up everything and then uploaded a copy of Dashboard version 1.00.4920 that I found on BitTorrent, overwriting the contents of the C drive and allowing me to perform step 6.

6. I used DC's Font Hack Package to install the "Bert and Ernie" exploit, which allowed me to replace the XBOX Live Dashboard menu with one that starts the Phoenix Bios Loader, which in turn loads EvolutionX (both included in the package). Because the Phoenix Bios Loader had the same flickering problem as Linux, I then upgraded to version 1.4.1 (note: I first had to use xbedump to sign the executable: xbedump.exe default.xbe -habibi). I also replaced the bios rom that came with DC's Font Hack Package to Xecuter2 version 4983.06. Finally, I upgraded to EvolutionX version 3935. At this point, I have a Phoenix option on my Dashboard (albeit misspelled), which takes me into EvolutionX within a few seconds.






So now, I have all of the features of a modchip without even having to open my XBOX! Once I'm in EvolutionX, I can play a backed up game from a DVD-R (or from the hard drive), watch a DVD movie (even without the DVD kit), and install cool applications like the XBOX Media Center, which lets me play/view pictures, music, and movies from the XBOX drives, or stream them over the network.




Saturday, July 24, 2004

Update: TV Viewing Arm

As everybody knows, today's computer monitors have extremely high resolution. Unfortunately, this means that the crappy resolution of my TV tuner card (as well as compression artifacts from movie files) becomes evident. So, sometimes one needs to take a step backward.

I remembered that my video card has S-video output, so I decided to replace the monitor with one of the spare TVs (a flat Apex) from the living room, and use the monitor as my second screen. This way, movies and XBOX games look as they should (i.e. blurry). And I get an extra two inches of viewing space. Woohoo.

Saturday, July 17, 2004

Project: TV Viewing Arm

Do you ever wish you could watch The Simpsons, play Halo on your XBOX, and watch Ferris Bueller's Day Off on DVD while still remaining fully reclined in your bed? I sure do. Nobody hates unnecessary exertion more than me. I believe that dignity has fewer virtues than sloth. And so after a quick brainstorming session and two trips to Wal-Mart, I produced the following masterpiece of engineering:




Parts:
  • One PC TV tuner card. I used a TV Wonder VE from ATI, because the local CompUSA had it pretty cheap ($50). I find the image quality sub-par, but acceptable nonetheless.
  • One 12" x 12" mirror tile. Wal-Mart sells these in packs of 6 for $9.96.
  • One 16" x 24" aluminum rafter square. $5.97 at Wal-Mart.
  • One C-clamp. Wal-Mart has packs of 3 for $4.44.
  • Two 7" aluminum triangle squares. $3.86 each at Wal-Mart.
  • Industrial strength duck tape. Of course I had this already.

Assembly:
  1. My computer runs Linux, so I prepared by installing tvtime for live TV/video games and mplayer for movie playback (both of which have an option to reverse the video).

  2. Using a C-clamp, I secured the rafter square to the shelf above my computer's monitor as shown in the picture. The longer side reaches out over the pillow, approximately centered across my bed. I made sure to tighten the clamp very well, to minimize the chance of waking up with a bloody face.

  3. I used duck tape to attach the triangle squares side-by-side to the underside of the long end of the rafter square, then attached the mirror to the bottom of the 2 triangles using more duck tape. Again, I made sure to secure the mirror very well.


All finished! The entire build took less than 20 minutes to complete.


Sloth's-Eye View:



Some final notes: I've found that headphones make the experience much greater, with the added bonus of not annoying my roommates who may suffer from less unorthodox sleep patterns. And as you have probably noticed, I placed my XBOX within arm's reach, giving me the ability to turn the power on and off and change discs without getting up or even shifting the position of my body, clearly as God intended.