After some eMailing to the xbox-linux mailing list with no success in
finding a cure for the Xbox not booting automatically from the hard drive, I
discovered that the Cromwell BIOS I was running was somewhat out of date.
Flashing the latest (2.32) fixed the issue, and the unit now powers up and
boots itself properly. The xbox-linux guys are a friendly and supportive
group, I look forward to contributing to the project.
Another good discovery was that with Cromwell, as opposed to the
Microsoft firmware, any arbitrary ATAPI CD-ROM drive can be used. This is
good, because the built-in optical drive was causing no end of problems
reading burned media. The flipside to this is that now that the unit boots
properly, the usefulness of the optical drive is much lower. But it is still
good to know.
The progress report for this project is due fairly soon. Now that the
system is fully running, it would be good to start transcribing ideas about
how the user interface should work in time to write about it. Then, the
Christmas Break can be used to start implementing these things. Also, over
the exam period, it would be good to start looking for important components
like the touchscreen and the GPS unit.
These Are Trying Times...
The last few days of my life have been difficult, at the very least. My
midterm marks suck, assignments are due constantly, and exams loom in
the not-so-distant future.
The stress level multiplied by a factor of no less than ten, when
yesterday the EngSoc RAID array containing everyone's data started
misbehaving during a routine rebuild. At one point, it looked as though
two of the four drives had failed, which would pretty much signify the
end of what I've poured three years of my life into. Thankfully, we
managed to recover completely from the incident with nothing but
downtime, though it was really touch-and-go for a good several hours. I
finally cracked a smile when in Music class, on the ninth floor of Loeb
building, a mouse ran across the classroom and behind a cupboard. It was
just one of those things...
Tomorrow is the last Quantum Mechanics midterm, and I'm counting on
this one to do well. The last two were really poorly written. This one
has significant overlap with my IC design class material, so I may do
well. Certainly better than the 17/60 on the Software Engineering
midterm. That class worries me.
Today, in a lame attempt at procrastination, the EngSoc folk took
apart a Pentium 90 processor. It would have been good to know that the
bottom plate could simply have been removed before the thing was
smashed to bits. Those edges are sharp!
] | posted @ 23:59 | link
Today was devoted to installing Xebian, a flavour of Debian tailored
specifically to Xbox. After installation, it is 100% compatible with
Debian's pool of software, but has a slightly different bootup process,
as well as a kernel to be used specifically with this hardware. It is
now running fairly well, with video output to a video camera.
The first task to install a full Linux system was to overwrite the
Flash with one that can boot Linux. This ROM, called Cromwell, was put
together to be able to boot Linux. The author did not release the source
code publically due to concerns that it could be used to do things
considered illegal. To overwrite the normal Flash, two tiny
connections that were deliberately left out by Microsoft, namely the
traces the write pins, had to be filled in on the motherboard. Here is
one of them next to a pin head:
That was a fairly easy task, and the chip flashed flawlessly using
the tiny Linux install from yesterday. Next, the hard drive was replaced
with one that is expendable. Finally, a CD with Xebian was burned, and a
boot attempted. This is where the troubles started. The CD drive was
having troubles reading writable media, since writable optical discs
tend to be of lesser quality than commercially pressed discs. After four
hours of trying various discs burned at various speeds, a Google search
revealed that many Xbox optical drive lasers are not set powerfully
enough to read writable discs. It was suggested that the laser should be
"tuned" to be more powerful. As hinted, right next to the laser diode
there was a potentiometer that could be set to lower resistance. It was
rotated from approximately 1250Ω to approximately 1050Ω. This setting
worked, Xebian installed:
There are still issues to work out. The biggest one is that the
system does not want to boot directly from the hard drive. Instead, the
Xebian developers provide a CD that is simply a bootloader to the
installed system. There is confusion because documentation indicates the
Cromwell Flash should be able to boot directly from the hard drive. More
research is required here.
While the system was installing, I looked into the complexity of
creating a VGA converter to output better video. Apparently, with the
signals coming out of an Xbox designed to work with Composite, S-Video,
and HDTV, there are enough signals to drive most VGA monitors with a
straight-through connection. If the touch-screen LCD I purchase for this
unit does not work in this mode, there is a very simple circuit that can
be built between the Xbox and the monitor that transforms the
synchronization signals into pure VGA.
All in all, this weekend made for good progress.
Full Steam Ahead
At this point, it seems it is high time to get the project really going.
The plan is to do the bulk of the work during the Christmas holidays, so
it is imperative to have all of the ground work done by then. By
December, all work must be R&D.
To that effect, this evening I finally got around to trading my brand
new (version 1.6) Xbox with a friend who had the original (version
1.0/1.1) equipment. This is a win-win situation, because he gets a new
unit, with a new warranty, and I get a unit that is more suitable for
this project. Knowing the difficulties with the 1.6 hardware also
allows for another section of the project report, where I can write
about Microsoft's continued attempts to prevent people from running
Linux on their gaming consoles, as they get more experience with their
ideas about trusted computing, of which the Xbox is a prototype
I was able to get Linux loaded into the two megabyte base image
Next, I will attempt to strip the unit of its ability to play games,
in favour of behaving as a small, cheap computer.
Last night the skies put on a nice lightshow in the form of auroras.
They've never been particularly bright around here, so I was amazed by
how they lit up the sky. Further, I was impressed that they were
actually photographable. Setting my digital camera to a sensitivity
equivalent to ISO 320, with an exposure time of 1 second, the CCD caught
the phenomenon quite nicely. The thresholds were then raised somewhat in
The Gimp, et voilà, northern lights on digital film.
In other news, I could use a break right around now. As a means of
procrastination, I started moving the notes for my IC design class to
TeX, which proper PostScript diagrams. I was pleasantly surprised last
night when I realized Inkscape could output to PostScript. Haven't yet
figured out why I'm doing this, but the first few pages sure look good.
] | posted @ 22:54 | link
I have not written here for many moons now. This is mostly because of
the steady flow of midterm examinations I've been bombarded with
recently. I just got one of them back today, and I failed miserably.
It's the first midterm failed this year. It's Quantum Mechanics, and
significant studying went into it. With two out of three tests in that
class complete, both shoddily, I am starting to get quite worried. It
seems I have all of the information I need, but there is some
incompatibility between how my brain works and how the tests are
written. It's very frustrating.
Another thing driving me nuts is my eBay purchase of
MechAssault needed to get Linux onto Xboxes. The purchase was
made exactly four weeks ago today and I still do not have it.
This certainly warrants a negative rating.
My laptop's been doing stupid things with the display as of late. It
seems to be a combination of software and hardware problems, neither of
which I can resolve.
Today marked the first day where the daytime temperature was below
freezing. It was the first day I didn't wear my sandals outside.
All in all, I feel miserable.
] | posted @ 23:48 | link
The DashPC Project
While I'm still waiting to get the Xbox hardware to run Linux, I decided
it would be a good idea to look ahead and see what front-end software I
should be running.
DashPC has always seemed the logical choice. It has an intuitive
interface, what appears to be decent integration, and of course, it runs
on Linux using the GTK toolkit. However, building and running it today,
I was somewhat disappointed:
- The tarball is not conventionally organized, and all of the files
uncompressed into the current directory.
- The UI is incomplete and buggy.
- The integration that was implied is non-existent. It's simply a
shell with pretty graphics that does callouts to other programs.
- It's not configurable, everything appears to be hardcoded.
- It seems disorganized: I downloaded a tarball versioned 0.45, and I
got version 0.5.9 of the program.
With these shortcomings, it would probably be easier to start a new
interface from scratch. There is really very little that could make this
project useful. However, that is not a bad thing, as the project's major
goal is to consider user interfaces, both hardware and software.
Here are some ideas for a new project that would differentiate it
- Interface elements should not be graphics. Graphics do not allow for
scalability or contrast modification.
- Interface "screens" should be user-configurable, so that a new
section is easy to add.
- The UI could be written in Glade, to allow for easier design of
This software would be straightforward, with focus on two areas: user
interface design and plugins/extensibility. Seeing as the back-end work
is simple, the first step of the project should be to do some Glade
mockups of a new user interface.
copyright ©2004-2012 pat suwalski