rockbox/docs/FAQ

537 lines
27 KiB
Text
Raw Normal View History

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".
Q64: Whats with all the different versions of Rockbox?
A64: There are really only two versions of Rockbox. One for Players and one
for Recorders. However, we do have 3 other 'versions' of Rockbox
available for download. These would be Releases, Daily Builds, and
Bleeding Edge.
The Release version (currently 1.4) has a fixed feature set. This means
that we are confident that few, if any, significant bugs still reside
within the code/features of that 'version'. This is the version for the
common user.
The Daily Builds (see: http://rockbox.haxx.se/daily.shtml#target_builds)
are automated daily builds of the CVS code. As such they contain all
the new features (and bugs ;) ) that have been introduced after the
last official release, and upto and including that morning.
The Bleeding Edge 'versions' are automated builds that are updated
every 20 minutes or so. This are as feature full and bug ridden as you
can possibly get if you are not a developer, or are not pulling directly
from the CVS tree.
Please Note: Daily and Bleeding Edge builds are expected to be buggy.
We ask that you _do not_ submit bug reports for Bleeding Edge versions,
but would love to hear any reports you may have about Release or Daily
build versions. (see question #62).