Techworld Australia recently caught up with Björn Stenberg of Rockbox to discuss the open source project, which is designed to replace the firmware shipped on MP3 players and portable media players. (For more information on Rockbox, read Techworld Australia's feature: Rockbox developer interview: Open source firmware for MP3 players or read our Q&A with more developers involved in the project.)
Could you explain a little about the goals of the Rockbox project? What made you decide to start it?
It started in the classic 'scratch an itch' way. I and a few Haxx friends bought ourselves Archos Jukebox 6000 MP3 players in 2000. Since it used a non-standard USB protocol, it required a custom Windows driver to transfer files. Since I prefer using Linux, I started working on a Linux driver for it which was eventually included in mainline Linux 2.4.8.
While we enjoyed our newfound ability to bring our record collection in our pockets (a radical notion back then), soon we started getting frustrated by the limitations and slowness of the Archos jukebox firmware.
For instance, playlists could only contain a limited number of files, and they took forever to load since the firmware looked up every single file in the list on disk before playing anything!
Fortunately, the Archos Jukebox used firmware updates in the form of a plain binary
archos.mod file that you copied to the root of the hard disk. At boot, the firmware would look for the file and load it if found.
This, combined with the fact that the USB connection was fully handled in hardware, meant that there was basically no risk whatsoever of damaging or 'bricking' the player by feeding it a bad firmware file.
So all we had to do was craft our own archos.mod file. How hard can it be?
Well, first we needed to find out what type of hardware the device was using. So we took it apart and analysed the components. From this, we soon found out that the CPU was a Hitachi SH-7034.
The next step was figuring out the format of the "archos.mod" file. It was obvious that it was not just a plain binary code file. It was purposefully obfuscated — challenge accepted!
After considerable head-scratching, and some help from friends, I was finally able to crack the obfuscation and published the source code to a descrambler on my home page. This allowed us to descramble and analyse the firmware file, and to begin creating our own replacement.
After this point, more and more people gathered around the project and contributed code and insight. We have been fortunate to be able to attract many really skilled people.
From the very beginning we have been very open with the project. Everything we do, including all email and IRC discussion, is published on our Web page. This gives newcomers a chance to read up on topics and get acquainted with people and technical details without depending as much on asking older developers, thus lowering the threshold to contributing.
What does Rockbox offer over the stock firmware shipped on media players? Rockbox offers a smorgasbord of features, each valued differently by different people.
One popular feature is that we support drag-and-drop file transfer instead of having to use a specific transfer application. We also offer the possibility to navigate your music via a directory browser, in addition to a music database browser.
• We make your player support vastly more music file types than the original firmware. The list includes over 30 different formats, including exotic ones like SID and MOD.
• We support gapless playback. This means that concert recordings or albums like The Dark Side of the Moon play uninterrupted, just like they are supposed to.
• We offer extensive theming. The look of menus and especially the "while playing screen" (WPS) can be crafted to look just like you want it. We have a gallery at themes.rockbox.org where you can look and download user-created themes.
• There's a spoken interface, which reads not only menus but even song titles out loud. It's excellent for use in the car (not having to take your eyes off the road) but it's also very popular among blind and sight-impaired communities.