One day in late 2001 I had a talk with my brother Björn and our mutual friend Linus about how their portable MP3 player was very cool but the software/firmware on it was rather limited and lame in many ways. (Correct, I didn’t own any portable music player at that time). As usual, we brought up the idea about being able to hack it yourself and oh how good couldn’t you make it then? Not very long afterwards, we had a mailing list setup for discussing how to reverse engineer and improve the Archos Player firmware. Personally, I had no device yet but it sounded like good fun so I subscribed and participated from the start. After a few months, I got myself an Archos Recorder to be able to get down on the metal too, and the Recorder was also slightly different and thus brought some more challenges to the team.
The Recorder was a step forwards since it provided better sound and a (gasp!) graphical LCD. Some of the first work I did in the Rockbox project was to work on the code for the LCD, to bring text to it using fonts and to provide line drawing routines etc. Keeping the entire screen in a separate “frame buffer” that is updated to the screen with a lcd_update() call was an early design decision that has stuck ever since.
We took the Rockbox a long way supporting more and more of the early SH-based Archos targets, including the V2s, the FM and the Ondio series. But eventually of course the models started to get hard to get and out of production. It was time to start looking into moving to other targets, and other targets would more or less force us into a world with software audio codecs!
I got my original Recorder stolen, but I had it replaced and put in a 80GB disk and it was much rejoicing.
We did scan the market for targets that used somewhat standard components for which we could get specs and docs and we found the iriver h1×0 series and the work began. As usual we got plenty of help from everywhere and it didn’t take too long to show the nay-sayers that we could indeed transition Rockbox into the future with software codecs. We also took it to the h3×0 series with its color screen not that long after and my golly, didn’t an entirely new world of opportunities open? 40GB of disk was just about enough to hold most of my music collection.
What’s the fun of Rockbox if I couldn’t follow along? I got the iAudio X5 early on in the porting effort and joined in and got my first color-screen target. Of course I didn’t like how the mere 20GB disk narrowed what music I was bringing with me, but hey some sacrifices had to be made for the greater good of advancing Rockbox! ;-)
Rockbox was now booming and flourishing, coming to new targets all over and getting more and more developers involved.
A guy from SanDisk contacted us asking about a Rockbox port to their Sansa E200 series, and even though they sent me a bunch of targets etc they never provided any docs or actual help on the effort of porting Rockbox to these babies. Not even the figuring out the firmware format, as that was instead made by our own secret super-hero MrH.
Time flies and soon enough (like in the late 2007) none of the targets Rockbox ran fine on were no longer being manufactured and started to get hard to get in shops all over the world. The eternal race to get Rockbox ported to a currently manufactured model of course just got more important.
It was almost two years since I got the Sansa e200 series from SanDisk and it was time to join in the efforts of bringing Rockbox to some Meizus. The amount of interested people and the existence of a (leaked) data sheet for the main SoC helped me settle for buying this.
As I’ve already explained, I bought a D2 too at the same time I got the Meizu so that I could do comparison for people and just play around some extra.
Of course, my timing is dubious as I got my two new targets exactly at the same period in my life when I went back to work (almost) full-time from having been on paternity leave for six months. Together with my extra “admin duties” such as the euro devcon and gsoc 2008 happening, I really haven’t had much time to actually dive into low-level fiddling with the ports yet. Hopefully I soon get adjusted and get some time to really help out.