-------------------------------------------------------------------
              __________               __   ___.
    Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
    Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
    Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
    Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                      \/            \/     \/    \/            \/
	$Id$
    
    Copyright (C) 2002 by Robert E. Hak
    
-------------------------------------------------------------------


Rockbox FAQ 
-----------

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. What is Rockbox?  What is it's purpose?
A2. The purpose of this project is to write an Open Source replacement 
    firmware for the Archos Jukebox 6000, Studio 20 and Recorder MP3 players.

Q3. I want to write code for my Archos, how do I proceed?
A3. First make sure to read the file CONTRIBUTING in the firmware directory
    on Sourceforge.  See http://bjorn.haxx.se/rockbox/firmware/CONTRIBUTING
    if you do not want to have to wade through the CVS directories.

Q4: Whats CVS?
A4: 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://bjorn.haxx.se/rockbox/cvs.html

Q5. What exactly is the CONTRIBUTING file? 
A5. 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.

Q6. 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?
A6. 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.

Q7. Okay, so how do I submit a patch?
A7. Run: "diff -u oldfile newfile > patchfile" against the file(s) you have 
    changed.  Then mail the output to any member of the development team and 
    we will take it under consideration.  (Please remember that all 
    submissions are not automatically accepted, this is nothing personal.)

    Of if you would like to run the diff against the current cvs code:
        cvs diff -ub [file(s)]

Q8. I want to join the development team, but don't have a SourceForge account,
    what should I do?
A8. Head on over to http://sourceforge.net/account/register.php and create an
    account for yourself.

Q9. Do you have a mailing list?
A9. Sure do! The list is rockbox@cool.haxx.se.  To subscribe, you need to
    send a message to majordomo@cool.haxx.se with the words "subscribe rockbox"
    in the body. 

Q10. Great you have a mailing list!  Is there anyway for me to catch up on
     past posts?
A10. Check out the archives at: http://bjorn.haxx.se/rockbox/mail.cgi

Q11. How can I meet the developers working on the project?
A11. 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.

Q12: Wow, you guys talk on IRC alot?  I wish I had been around for those 
     conversations to see what happened.
A12: We are glad you mentioned that!  http://bjorn.haxx.se/rockbox/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.

Q13. What is this "SourceForge" you keep mentioning?
A13. http://www.sourceforge.net

Q14. Can the changes or the software that Rockbox suggests or offers 
     possibly damage my Archos Player?
A14. 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.)

Q15. 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?
A15. We have a collection of photos of both the player and recorder. Look at
     http://bjorn.haxx.se/rockbox/internals/

Q16. What exactly are you trying to achieve with this line of development?
     (A.K.A. whats your purpose for being here?)
A16. 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.

Q17. I don't see you mentioning other file types on your list of ideas.  What 
     about supporting those?
A17. 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!


Q18. What about supporting playing of WMA files?
A18. Dear Mr. Gates, you have two options.  Re-read question #17, or go buy 
     your own project.

Q19. When do you think there will be a version available for my Archos?
A19. We recently released version 1.1, so head on over to 
     http://bjorn.haxx.se/rockbox/download.html and pull it down.  This 
     versions major changes/improvements include:
         - Recorder support
         - Playlist support (max 10000 files, approx 1000 files/sec load time)
         - Scrolling
     Make sure to read the release notes.
     (http://bjorn.haxx.se/rockbox/download/rockbox-1.1-notes.txt).  

Q20. What do you plan to add to coming versions?
A20. 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 1.2 
         UI improvements 
     Version 1.3 
         Resume, persistent settings, autobuild playlists, UI improvements 

Q21. 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
A21. Your harddisk has been password protected. We're not 100% sure why it
     happens, but you can unlock it yourself. Look at:
     http://rockbox.sourceforge.net/rockbox/lock.html

Q22: This FAQ doesn't answer the question I have.  What should I do?
A22: 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://bjorn.haxx.se/rockbox 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.

Q23: Are there other ways to contact the developers?
A23: Yes.

Q24: Are you going to tell us what they are?
A24: No.  Post to the mailing list and we will get back to you.

Q25: But I _really_ want to talk with you in person.
A25: 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.

Q26: Will you ever port Quake II to the Archos?
A26: If you ask that again, I'm sending your address and phone number to the 
     guy that mailed us with question #23.

Q27: Umm, was that sarcasm?
A27: That's it, I'm mailing him now.

Q28: 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?
A28: 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.

Q29: 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". 
A29: 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.

Q30: Wait a minute here.  You have released version 1.0, but not a single one 
     of the ideas you have spoken about is actually implimented!  Calling this
     version 1.0 is really misleading.  Whats the story?!
A30: In simple terms, the first release is called 1.0 because it has a basic 
     working feature set that works and has no known bugs. That is what 1.0 
     means.  It is true that Rockbox 1.0 lacks most of the feature set that 
     every sane user wants.  However, we never said it was more 
     feature-complete or better in any way then the original firmware at this 
     early point.  This first release was done as a proof of concept that our 
     ideas are moving in the right direction.  We also hope that it helps 
     bring the project some attention, and some additional developers.  
     Adding the missing features is just a matter of time (and that time goes
     faster if you, yes you, help too). 

Q31: I've heard talk of a 'Rolo'.  What is that? (Or 'All you ever wanted
     to know about Rockbox boot loaders')
A31: The developers have discussed the possibility of a boot loader.  (Mainly
     because having one sounds cool, and isn't Rolo just a great name?)
     The idea would be that a user could use the load to choose between
     different verions of Rockbox or the Archo firmware itself.  We do not
     have an expected date on this.  (As a matter of fact, developement on it
     has not even started yet).

Q32: 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?
A32: 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?
