Sunday, April 19, 2009

Xbox Linux: Progress 1

MechAssault, spliced USB cable, and the USB drive

The project is going good so far compared to my previous attempts. At first I thought it failed when I plugged in my USB drive, but then I realized that I spliced the cable so that the USB drive and the controller would be sharing one USB port on the Xbox (one USB for two devices is a no-no). Here's the shot of how the USB is supposed to look (it's actually on...) and how the screen should look (USB stick recognized as Xbox memory).

After it was recognized and formatted by the Xbox, I connected it to my computer to make the USB drive work with the Action Replay software to transfer the savegame exploit.

In theory the Action Replay software should be able to transfer files to my USB drive now, but it isn't. That's going to be the next hurtle of the project (hopefully only a small one).

Xbox Linux: The Beginning

Well, not exactly the very beginning. The VERY beginning was about a year ago when I heard that I could put the old Xbox to use by installing a Linux distro on it. From there, I spliced the controller's breakaway cable to a female USB extension cord that I had. Then I realized that I didn't have any of the games required for the savegame exploit to work (I didn't want to use a modchip since I didn't have any of the right tools for opening the Xbox up to access the motherboard), so I forgot about the project for a while. A few months ago, I found someone who had the right copy of MechAsscault and he gave it to me. THEN I realized that none of the USB flash drives I owned would work to transfer the savegame for the exploit to work. Just last week, I decided to start the project back up, so I went on Amazon and got this:

for $8 (with shipping). Now that I've got all the necessary components, I'll try, once again, to get my Xbox to run Linux.

Assuming that this USB flash drive works, and that I can get xUbuntu installed properly, I might move on to making the Xbox a more readily portable computer that I can connect to TVs (modding the case to fit a small keyboard, soldering a few more USB connecters for external storage, etc).

I'll get to work on it and share my progress later tonight.

Friday, April 17, 2009


The finished prototype (sans trace paper)

Here's a quick little project that I threw together with the help of Seth Sandler's MTmini (multitouch mini) guide. [link]

I've always been interested in touchscreen technology and this project was a good introduction into understanding basic touch screens. The MTmini pictured above is the prototype that I made in the hopes that I would be able to just get a feel for how to put together a better version. The prototype worked well enough (as did the software), although I used an almost completely unidentifiable webcam which (as I suspected) was very unreliable. It would work for a few minutes then just shut off, and I would have to unplug/plug it into the USB port a few times before it came back on.

Here's a picture of the sketchy webcam and its homemade poster board housing (...hey, it works).

In a nutshell, the MTmini works like this:
There's a box with a webcam at the bottom which is connected to a computer running Touchlib, an open source multitouch software (read more about it on the MTmini website, or the official site). The top of the box has a hard surface with something to diffuse light (such as tracing paper). Once the user touches the surface of the box, the shadow cast by their finger is processed by the multitouch software which is then translated into different actions on the computer like mouse clicks.

Despite the shortcomings of the webcam, my MTmini worked fairly well. The software came with a few demos, but I only had a chance to try one before the webcam shut off: the picture viewer. There were a bunch of preloaded pictures which could be enlarged, moved around, etc through the use of the MTmini.

All materials used:
  • poster board
  • cardboard box from Amazon package
  • duct tape
  • no, seriously, a lot of duct tape
  • clear plastic lid
  • tracing paper
  • webcam
If I come across a better quality webcam, I'll definitely give this project another look. It might be a fun programming project to make a mouse driver to represent holding down the mouse button for games like Crayon Physics Deluxe or Falling Sand Game.

RECAP: Computer-building

Here's a little recap of my computer (parts, prices, pictures, etc):

I decided that I wanted to build a new computer about two years ago when I started getting interested in computer hardware (and when I realized that the computer I was using was built 6 years prior). I also thought that it would be good experience to get to know my computer a bit more closely (you never really know exactly what hardware quality you're getting with prebuilt systems).

I ordered all of the parts on January 5th, 2008 from Newegg (newegg for the win) and a few days later I got the parts and put it all together into a shiny new computer. Mmm, shiny.

System Specs
  • Motherboard: Gigabyte GA-M61P-S3 AM2
  • Case: CoolerMaster Centurion 5 CAC-T05-UW
  • Graphics: MSI Radeon HD 2600XT 512mb 128-bit GDDR3
  • PSU: Rosewill RD500-2SB 500W
  • CPU: AMD Athlon 64 X2 4000+ Brisbane 2.1GHz
  • Optical Drive: Samsung SH-S203B
  • HDD: Seagate Barracuda 250 gb 7200 RPM SATA
  • RAM: A-DATA 2 x 1gb DDR2 800 (5-5-5-18)
  • OS: Windows XP MCE 2005
The price came to a grand total of about $580 (including shipping and rebates). It was a pretty decent build at the time for $580, although I regret a few things such as not getting at least a 2.6GHz dual core CPU (the 2.1GHz x2 is the bottleneck of my system right now), only getting 2GB RAM (not great RAM, either), and not paying the extra $20 for a bigger hard drive.

One minor gripe about the configuration is that the graphics card uses fins on the back of the card to pull the heat away silently. As you can see in the picture (below), this blocks off access to the RAM, so adding RAM will be a bit more of a hassle than I would have hoped. On the other hand, the fins removes the need for a fan (the quieter, the better) so it was a worthwhile trade off.

*I'm still looking for the pictures from while I was building the computer--they should hopefully still be on one of my hard drives*
In the meantime, here's a picture taken of the inside of my computer right now:

Side shot with flash

Click to enlarge (warning: 1600×1200 picture)

Future Upgrades

I probably won't do many upgrades with this computer beyond a few extra gigs of RAM and and upgrade to the processor. I'll probably build a new computer once I get a little income (job) and once I go to college. By then, I'm hoping that USB 3.0 will be out and consumer-ready (should be in 2010 according to TGdaily, assuming there are no major delays). Windows 7 should also be out (or at least close to being out, again, assuming no major delays take place) along with the usual price drops as newer technology comes out.

Wednesday, April 15, 2009

How I'll start things off

Since I've already completed some projects here and there, I'll try and recap some of the things I've done (so that so I can keep everything in one place and so that I might be able to build off old projects). These will most likely be single posts describing what I've done and my thoughts on them, accompanied by pictures (assuming I still have them).

A few mini-projects to recap:
  • Building my computer
  • Fun with operating systems (XP, Ubuntu, OSX, Windows 7 beta, BackTrack 3)
  • MTmini
If I think of some other projects, I'll try and keep this post up-to-date by adding them in.

Tuesday, April 14, 2009

cout << "Hello, world!";

Well this is a jump that I never thought I would make: getting into the wonderful world of blogging. To start things off, here's a little intro about me:

So yeah. I'm Tom.

Oh, right. The blog. This blog will (hopefully) be more or less the documentation of my various goings-on in the world of all things related to technology and my journey to "geeklightenment". I usually have a multitude of little projects going on here and there, ranging from simple C++ programming to building a basic touch-enabled table-esque box (more on that in a later post), so I'm hoping that through this blog I can focus and share the geeky side of my mind with...well...whoever feels compelled to read such things.

'Till next time,