Q1. What is a FAQ? A1. A rare small animal of the species 'Textius Electronicus'. It is known for its helpful attitude and vicious misspellings. Q2. Okay, fine, what is _this_ FAQ? A2. This FAQ is for questions (that we have answers too) that have been asked repeatedly either in emails or on IRC. Q3. What is Rockbox? What is it's purpose? A3. The purpose of this project is to write an Open Source replacement firmware for the Archos Jukebox 6000, Studio 20 and Recorder MP3 players. Q4. I want to write code for my Archos, how do I proceed? A4. First make sure to read the file CONTRIBUTING in the docs directory on Sourceforge. See http://rockbox.haxx.se/docs/contributing.html if you do not want to have to wade through the CVS directories. Q5: What is CVS? A5: Concurrent Versions System (http://www.cvshome.org). We have a small help page about how to use this to get, update and commit files on the web at http://rockbox.haxx.se/cvs.html Q6. What exactly is the CONTRIBUTING file? A6. Just like the name implies, it lists conventions that the project follows, and in turn asks you to follow, for the formating of source code in general. Q7. Okay, so I read CONTRIBUTING and although I don't agree with all your conventions, I am going to be sensible and follow them anyway. Now what? A7. Start by reading up on the information about the jukeboxes on our web page. Then go into CVS and look at the code we've written. Then take what you need and start writing. Q8. Okay, so how do I submit a patch? A8. Run: "diff -ub oldfile newfile > patchfile" against the file(s) you have changed. Then submit the patch to the project via Sourceforge's patch tracker. See: http://sourceforge.net/tracker/?group_id=44306&atid=439120 Your patch will be taken under consideration. Please remember that all submissions are not automatically accepted. This is nothing personal. Preferrably, run the diff against the current cvs code: cvs diff -ub > patchfile One last note. We would appreciate it if *all* patches, files and fixes that are meant for inclusion in the sources would be posted to the patch tracker. Patches sent to the mailing list are quickly lost in the traffic of the list itself. (And looking back in the archives for missed patches quickly becomes a nightmare.) Q9. I want to join the development team, but don't have a SourceForge account, what should I do? A9. You don't need a SourceForge account to help developing Rockbox. Just submit patches to the mailing list as per the instructions above. If your patches are consistently well-written and thus accepted, you may ultimately be offered CVS commit access. If that should happen, you will need to get a Sourceforge account: http://sourceforge.net/account/register.php Q10. Do you have a mailing list? A10. Sure do! As a matter of fact, we have several of them for specific things. Please check out: http://rockbox.haxx.se/mail/ Q11. Great you have a mailing list! Is there anyway for me to catch up on past posts? A11. Check out the archives at: http://rockbox.haxx.se/mail/ Q12. How can I meet the developers working on the project? A12. One way is by visiting us on IRC. Head on over to the server irc.openprojects.net, and then join "#rockbox". There is usually at least one person there. If you don't see any activity, feel free to post questions anyway, serveral of us log the channel and will get you answers when we unidle. Q13: Wow, you guys talk on IRC alot? I wish I had been around for those conversations to see what happened. A13: We are glad you mentioned that! http://rockbox.haxx.se/irc happens to have a list of various logs we have recorded of events in the channel. Feel free to read up, and ask questions on what you find. Q14. What is this "SourceForge" you keep mentioning? A14. http://www.sourceforge.net Q15. Can the changes or the software that Rockbox suggests or offers possibly damage my Archos Player? A15. All firmware mods that are presented are still highly experimental. Try them at your own risk. We offer no guarantee that this software, or the hardware modifications we show, will not damage your player or void your warranty. That said, we have not been able to damage any of our units by modifying only the firmware. You can accidentally password protect your harddisk, but there are ways around that. (See below.) Q16. I want to see what the inside of my player looks like, but I would really like to avoid voiding my warranty. Is there anything you can suggest? A16. We have a collection of photos of both the player and recorder. Look at http://rockbox.haxx.se/internals/ Q17. What exactly are you trying to achieve with this line of development? (A.K.A. whats your purpose for being here?) A17. Firstly, we wouldn't start something like this if we didn't simply enjoy it profusely. This is great fun! Secondly, we feel the firmware is lacking some features and contain a number of annoying bugs that we want to fix. Some ideas would include (in no particular order): - No pause between songs - Mid-song resume - Mid-playlist resume - No-scan playlists - Unlimited playlist size - Autobuild playlists (ie: "all songs in this directory tree") - Auto-continue play in the next directory - Current folder and all sub-folder random play - Full disk random play - REAL random - Multi song queue - Faster scroll speed - More cool features with the wire remote control (including controlling your Archos from your car radio (req hw mod)) - Support playing of other files types (ie: Ogg Vorbis support) - Support for megabass switch (req hw mod) - Player control via USB - Memory expansion? Note: Just because something is on this list, does not mean that it is technically feasible. (But hey we can dream) And something not being on the list does not mean it isn't a neat idea. Bring it to the list. Q18. You mention supporting Ogg Vorbis and other file types on your list of ideas. What is the status on that? A18. Pessimist's Answer: At the current time we belive this is not very likely The Micronas chip (MAS3507) decoder in the archos does not natively support decoding and there is very little program space in the player to implement it ourselves. The alternative would be to write a software decoder as part of the RockBox firmware. However, as much as we love our players, the computing power of the Archos (SH1 microcontroller) is not fully sufficent for this need. Optimist's Answer: We can play any format if only we can write code for the DSP to decode it. The MAS 3507 (and 3587) are generic DSPs that simply have MP3 codecs in ROM. We can download new codecs in them and we will be the first to celebrate if we can get OGG or FLAC or anything into these DSPs. Unfortunately, we have no docs or tools for writing new MAS DSP code and Intermetall is very secretive about it. If anyone can help, please get in touch! The recent release of Tremor (integer Ogg decoder) indicates it uses around 100 KB for lookup tables. That's not unreasonable for a decoder, but we only have 4 KB for both code *and* data. So the grim reality is that Ogg will never be supported by the Archos Players and Recorders. Q19. What about supporting playing of WMA files? A19. Dear Mr. Gates, you have two options. Re-read question #18, or go buy your own project. Q20: But you don't understand, I'm not talking about decoding here, since the data we want may already be in the decoded format (PCM). A20: Okay, last time. No. We have no problems whatsoever reading different file formats, call it PCM, WAV, GRI, PQR or whatever. The problem is that the CODEC only accepts MP3 data and nothing else. We could write a new CODEC if we knew how to do it, but there is no documentation on the DSP. Please note that we have no access to the DAC, so we can't send the data directly to the DAC. Q21. What is the most recent version of Rockbox? A21. We recently released version 1.4, so head on over to http://rockbox.haxx.se/download/ and pull it down. Make sure to read the release notes. (http://rockbox.haxx.se/download/rockbox-1.4-notes.txt). Q22. What do you plan to add to coming versions? A22. We have a rough idea of which features we plan/expect/hope to be included in which versions. Once again, remember that none of this is written in stone (noticing a pattern yet?) Version 2.0 Recording, Autobuild playlists, File/directory management Q23. I tried one of your firmware files and now I can't access my harddisk! When I turn on my jukebox, it says: Part. Error Pls Chck HD A23. Your harddisk has been password protected. We're not 100% sure why it happens, but you can unlock it yourself. Look at: http://rockbox.haxx.se/lock.html Q24: This FAQ doesn't answer the question I have. What should I do? A24: You have a couple options here. You could forget the question, find an easier question, or accept '42' as the answer no matter what. We don't really recommend any of these (though I do opt for '42' often myself). What we do recommend is stopping by IRC, reading http://rockbox.haxx.se to see if the question was answered else where and just not included here, or ultimatly dropping an email to the mailing list (rockbox@cool.haxx.se) or the FAQ maintainer listed on the project homepage. Q25: Are there other ways to contact the developers? A25: Yes. Q26: Are you going to tell us what they are? A26: No. Post to the mailing list and we will get back to you. Q27: But I _really_ want to talk with you in person. A27: I'm sorry. My girlfriend/boyfriend/pet says I'm not allowed to, and the doctors here won't let me have pens or pencils. They say its some rule about us not having sharp objects. I'm sorry. Now please stop calling me here. Q28: Will you ever port Quake II to the Archos? A28: If you ask that again, I'm sending your address and phone number to the guy that mailed us with question #25. Q29: Umm, was that sarcasm? A29: That's it, I'm mailing him now. Q30: Is this legal? I mean, I'd just hate to see something like that challenged under the DMCA in all its ridiculousness. Any thoughts or ideas? A30: We believe we are in the green on this. We are not violating anyone's copyright and we are not circumventing any copy protection scheme. This has been a big point for the project since its inception. Some people wanted us to distribute patched versions of the original firmware, but seeing as that _would_ have violated Archos' copyright, we didn't follow that course of action. Q31: On the website [and various information postings] you state "Every tiny bit was reverse engineered, disassembled and then re-written from scratch". If it was rewritten from scratch then why was it first reverse-engineered and disassembled? Instead this sounds more like someone disassembled it then used the understanding that they gained to create a new version, which is not quite the same as "from scratch". A31: Don't confuse the terms. Reverse engineering means examining a product to find out how it works. Disassembling the firmware is merely one tool used in that examination. Oscilloscopes and logic analyzers are other tools we have used. We have written every single byte of the Rockbox firmware. But we could not have written the software without first researching how the hardware was put together, i.e. reverse engineer it. All of this is completely legal. If you define "from scratch" as writing software without first researching the surrounding interfaces, then no software has ever been written from scratch. Q32: Wait a minute here. When you released version 1.0 you did not have a single one of the ideas you have mentioned on your website actually implimented! Calling this version 1.0 is really misleading. Whats the story?! A32: In simple terms, the first release was called 1.0 because it had a basic working feature set that worked and had no known bugs. That is what 1.0 meant. It is true that Rockbox 1.0 lacked most of the feature set that every sane user wanted. However, we never said it was more feature-complete or better in any way then the original firmware that early in the project. The first release was done as a proof of concept that our ideas are moving in the right direction. We also hoped that it would help bring the project some attention, and some additional developers. Adding the missing features was just a matter of time. In more recent releases we have completed many of our desired goals, and several new ones that were implimented to fullfill user requests. Q33: I've heard talk of a 'Rolo'. What is that? (Or 'All you ever wanted to know about Rockbox boot loaders') A33: Rolo is our bootloader. Rolo became available with our 1.4 release. To make use of Rolo, you must have a file with the same extension as your Rockbox firmware (.ajz on Recorder, .mod on Player) but a different name. You can then browse to it, and you 'run' the other firmware you wish to switch to by pressing play. *Poof* You will reboot to that firmware. (Note that in order to return to Rockbox you may need to reboot manually if the new firmware you loaded does not have a bootloader itself.) Q34: I was thinking about making the USB a bit more usable. What are the chances of using the USB port to [play games / share files / list the device as something other then a hard drive / sell my soul to you for a nickel]. What do you think? A34: You really don't want to know what I think, it involves road flares, microwave ovens and shaved cats. Enough said. But regarding the USB portion of your question, this is not feasible. First, any ideas regarding special communications over the USB port will not work because we have no control over the USB port itself. We are capable of dectecting if it is in use (so we know which mode to switch to) but that is it. Second, if you would like to have your Archos as a harddrive for another device, know that this will not work either. The Archos unit is a slave. Most other USB devices are slaves as well. So without some master involved there can be no communication. Sorry. Now about your soul. Would you settle for 3 cents and a small wad of belly button lint? Q35: When I use RockBox my jukebox's red "error" light turns on a lot, but this doesn't happen on the factory firmware. Why? A35: Rockbox uses the red LED as harddisk activity light, not as an error light. Relax and enjoy the music. Q36: I have a question about the batteries... A36: STOP! We have put together a completely different FAQ for battery related questions. Check out: http://rockbox.haxx.se/docs/battery-faq.html Q37: What is the WPS? A37: That is the 'While Playing Screen'. Basically this is what is shown on your player's display while we are playing your song. Q38: What good is the WPS? How usable/flexible is it? A38: It is very good if you want information about the current item playing ;) By using a WPS configuration file you can manage exactly how/what you want displayed on your Archos Player. (Even better yet, if you want a feature that's not there, we are _always_ open to suggestions!) Please see http://rockbox.haxx.se/manual/wps.html for information. Q39: So how do I load/make a .wps file? A39: You check out http://rockbox.haxx.se/docs/custom_wps_format.html to learn the format/features of a .wps file, and you visit http://rockbox.haxx.se/manual/wps.html to learn how to load it ;) Q40: Does Rockbox support other languages? A40: Sure do. See the next question. Q41: How do I load/use different languages? (Recorder-only) A41: In the sense of brevity (wouldn't that be a first), check out: http://rockbox.haxx.se/lang Q42: Why can't I use other languages on the Player? A42: See the answer to question 45. Q43: Does Rockbox support other fonts/character sets? A43: Yuppers. See the next question. Q44: How do I use the loadable fonts? (Recorder-only) A44: That's and easy one. To use a loadable font you load it. For less sarcasm check out: http://rockbox.haxx.se/fonts/ Q45: Why can't I use loadable fonts on the Player? A45: This is because the Player font is character cell based (as opposed to the Recorder's bitmap based display). This means that we are able to choose what characters to display, but not how to display them. We do have the ability to change/create up to 4 chars on one model and 8 on another, however we are currently using several of these 'letters' to store icons for the player. Q46: Why don't you have any games available for the Players? A46: The display on the Players is character cell and not bitmap based. This means we can only control what characters get displayed, not what pixels are shown. This makes the prospect of game play very slim (at least for anything involving graphics, so if you have text based games that only use 2 lines send them on in!). Q47: I keep shutting off my player in my pocket. Can the OFF (Recorder) or STOP (Player) key be locked? A47: No. Unfortunately, the ON/OFF mechanisms are handled entirely in hardware. The firmware can read the keys, but can't prevent them from shutting off the player. Q48: Where's the recording option? Why can't I record?!! A48: I'd like to say we hid it because we don't like you, but you seem to be a good person so here's the truth. It's just not implimented in Rockbox yet. But stress not, you can still use Rolo to boot the default Archos firmware and record from there. (Check out question #33). Q49: When recording is finally implimented in Rockbox, will it be possible to use custom codecs (like LAME) or is there a built in codec in the Archos? A49: The MP3 encoder is in the MAS3587F chip, and nothing we can change. Q50: What are the max/min bitrates for recording on the Recorder's encoder? A50: The builtin encoder is variable bit rate only with a max of 192kbit/s, and a min of 32kbit/s. Q51: Would it be possible to record from line in on the player? A51: No. Q52: I have a question about the id3v1 and id3v2 tags... A52: Stop! Here is all the information about that (if you still have questions when done, ask then.) - Rockbox supports both id3v1 and id3v2 - The id3v2 support is limited to the first 300 bytes of the file. Some ripper programs tend to add very big tags first and then the important ones Rockbox wants to read end up beyond the first 300 bytes and then they remain unknown. - If you believe that the tags you don't see *are* within 300 bytes, then please make the mp3 file available for one of the developers to try out. - The 300-byte limit is subject to be removed in a future version Q53: Where exactly did the name 'Rockbox' come from? A53: Well you can follow the full line of emails at http://rockbox.haxx.se/mail/archive/rockbox-archive-2002-01/0062.shtml However, the brief rundown is that it was recommended first by Tome Cvitan, and put to a vote (which it lost). Funny thing about democracys. This isn't one ;) Our beloved project leader vetoed the winning name and chose Rockbox instead. http://rockbox.haxx.se/mail/archive/rockbox-archive-2002-01/0134.shtml There you have it. Recommeded by users, decision by dictator. Q54: Why is there a limit of 400 files in a directory? A54: We have answered this question numerous times. It is mentioned in the release notes, and in the mailing list archives (http://rockbox.haxx.se/mail/archive/rockbox-archive-2002-08/0448.shtml). But, hey, we wouldn't want people to have to work to get an answer. (If you are reading this, feel proud, for you are the exception). We settled on 400 files in a directory because file listings take up memory on the unit, and we felt that 400 is significantly large enough for a majority of the populace. We prefer the option of limiting file limits in order to provide a greater amount of memory for buffering of files being played. Q55: Okay, I understand your 400 file limit. But why hardcode? Why not have this be dynamically allocated? A55: Because it's useless. Dynamic memory is only ever useful if you have memory consumers (tasks) that run at different points in time, and thus can reuse the same memory for different purposes. We don't have that. We must be able to show a big dir, index a big playlist and play a big mp3 file, all at the same time. They cannot use the same memory, and thus dynamic memory buys us nothing but extra complexity. If we used dynamic memory for this, we would get all kinds of odd bugs. Playlists that only got half-loaded if placed in certain directories. Parts of the disk you couldn't go to if playing a certain playlist etc. We have a number of tasks that consume memory. They can all run at the same time, using all of their alotted memory. Therefore it is much better to allocate that memory to them beforehand and not pretend that anyone else is able to use it. This is standard practice in memory-limited systems. Q56: Why is there a 10,000 song limit on playlists? A56: This is another hardcoded limit. We feel that as bigger disks arrive that this limit will increase. Because of the way that playlists are stored, it tends to be a bit more maleable then the directory file limit. For further detail, look at questions 47 and 48 and replace any instances of '200' with '10,000'. Q57: You don't understand! I _really_ need to have more then 400 files in a directory! A57: The use of really big directories was a workaround for the poor playlist capabilities of the original Archos firmware. With Rockbox, you no longer need this workaround. Organize your files in directories, then build playlists for all collections you want to shuffle-play. Q58: How can I make playlists on my PC? A58: There are many programs that can create .m3u playlists. WinAmp is one. Another simple method, that requires no extra software, is to use dir: dir /b /s X:\ > X:\allfiles.m3u dir /b /s X:\Pop > X:\pop.m3u ...where X: is your archos drive. Linux users can use the 'find' command: cd /mnt/archos find . -name "*.mp3" > all.m3u Remember that playlists are simple text files. You can edit them with any normal text editor. Q59: How does the shuffle work? A59: It sees the playlist as a deck of cards, shuffling the entries using a pseudo-random generator called the Mersenne Twister. After shuffling, the list is never changed again until you reshuffle the list, by stopping the playback and restarting. If the repeat mode is enabled, the list will simply start over from the first file again, without reshuffling. The random seed is stored in the persistent setting area, so that the resume feature can shuffle the playlist in exactly the same way when resuming. Q60: How can I find out about all the neat features that Rockbox has? A60: This information is in our manual (It sometimes gets a bit out of date, so please bear with us.) The information you are most likely looking for is a bit down the tree, so the here is the url: http://rockbox.haxx.se/manual/rec-general.html Q61: How can I see what bugs are currently open/being worked on? A61: Check out http://rockbox.haxx.se/bugs.shtml for a listing of bugs that have been reported. Q62: How can I report about bugs in Rockbox? A62: If we were better programmers we would take that as an insult. But we aren't, so we won't. The first step in reporting a bug is to review the rules we ask you to follow in your submission (listed at: http://rockbox.haxx.se/bugs.shtml#rules). Please note that we ask reports of bugs in CVS/daily builds to be sent to the mailing list, and bugs in released versions of Rockbox to be submitted through SourceForge's bug tracker. (A link to the bug tracker can be found under our bug submission rules.) Q63: Could you tell me how to apply a patch? A63: There are a ton of ways to apply a patch. One way is to use the (GNU) 'patch' program. It used like this: $ cd rockbox-root $ patch < magic.patch Sometimes, the diff has path info you want to strip so that patch can find your file names. -p then takes off a number of "path parts" from left: $ patch -p0 < magic.patch - or - $ patch -p1 < magic.patch If patch can't apply some changes that are in the diff, you'll get those particular changes in a file named "[source-file].rej".