Rockbox
Find a file
Michael Giacomelli d594b36133 Add support for 16 bit 'half float' format PCM.
I'm not 100% sure that the rounding of denormals is correct. As compared to foobar2000,
some samples are off by +1 LSB.  However, since I can't output 24 bit PCM easily with
rockbox, I'm not sure if this is due to a bug or just how rockbox rounds.  In practice
I don't think it matters so I'm just going to commit this for now.

Change-Id: Ic0792fcb172e4369a5512d202121c2b918b36079
2012-11-22 05:18:00 +01:00
android wpsbuild.pl: Fix FS#12706 - paths for backdrops and icons were not properly constructed. 2012-06-25 08:54:21 +02:00
apps Pacbox: add fuze+ to the targets that can manage full frames 2012-11-21 11:26:39 +01:00
backdrops cabbiev2 for rk27xx generic design target 2012-07-09 20:30:43 +02:00
bootloader imx233: display battery voltage in bootloader (along with percent) 2012-08-30 01:10:35 +02:00
debian Prepare new, unofficial maemo build 2011-12-10 18:34:07 +00:00
docs Add Richard Quirk to credits. 2012-10-03 17:34:23 +02:00
firmware imx233: hopefully fix audio pop on startup 2012-11-13 18:25:00 +01:00
flash Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
fonts Remove superfluous executable bits on a bunch of files. 2011-06-08 14:22:03 +00:00
gdb
icons wpsbuild: Rewrite to fix various issues and support .fms 2012-06-10 21:20:36 +02:00
lib Add support for 16 bit 'half float' format PCM. 2012-11-22 05:18:00 +01:00
manual Fuze+ demo plugin's keymaps upgrade 2012-11-21 11:26:01 +01:00
packaging Move rockbox.desktop to a better place. 2012-07-25 10:13:22 +02:00
rbutil Add USB ID for Nano 7G so it can be recognized as unsupported. 2012-10-22 21:02:31 +02:00
tools android: Undo accidental switch to asm threads. 2012-11-07 23:32:58 +01:00
uisimulator Fix database tool. 2012-07-31 10:33:27 +02:00
utils imxtools: introduce hwemul 2012-11-14 12:51:51 +01:00
wps wpsbuild: fix copying of remote font 2012-10-12 18:40:35 +02:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore Add *.o and *.a to .gitignore 2012-05-16 11:26:22 +02:00

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Check out 'rockbox' from SVN (or extract a downloaded archive).

   $ svn co svn://svn.rockbox.org/rockbox/trunk rockbox

     or

   $ tar xjf rockbox.tar.bz2

2. Create a build directory, preferably in the same directory as the firmware/
   and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Make sure you have sh/arm/m68k-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be acquired with the rockboxdev.sh script in the /tools/ folder of the
   source, or will have been included if you've installed one of the
   toolchains or development environments provided at http://www.rockbox.org/

   $ which sh-elf-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). It'll prompt you. The debug version is for making a
   gdb version out of it. It is only useful if you run gdb towards your target
   Archos.

   $ ../tools/configure

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

If you want to build for more than one target, just create several build
directories and create a setup for each target:

   $ mkdir build-fmrecorder
   $ cd build-fmrecorder
   $ ../tools/configure

   $ mkdir build-player
   $ cd build-player
   $ ../tools/configure

Questions anyone? Ask on the mailing list. We'll be happy to help you!