Find a file
William Wilgus 660fa3ffdc scroll engine calculate stringsize only when scroll line updated
we calculate the size of the scrolling line every scroll update
the line data doesn't ever change without a call to update
instead calculate the string size when the line is updated
re-use this value while scrolling the line

in theory the current font could change but in practice
I can't find a case when the string size needs to be updated
that the scroll engine isn't already updating the line

if this is later an issue we can recalculate the stringsize each time
the line is finished scrolling which still saves quite a few calculations

Other:
I don't think we have any targets with pixel counts exceeding 65535 pixels
where unsigned short stringsize will be an issue

Change-Id: I83d6374377ed648d9a320d4fd69f9d6a17095b0c
2024-12-20 10:31:46 -05:00
android android: Fix configure script for "newer" versions of the NDK 2020-04-13 16:51:58 +02:00
apps Don't force gcc as host compiler + fix clang warnings 2024-12-20 05:29:18 +01:00
backdrops New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
bootloader S5L87xx bootloader: Add option for viewing SysCfg in the development bootloader 2024-12-20 08:00:41 -05:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs voice: Add Spanish (Mexican) to the nightly voice sets. 2024-11-20 20:46:09 -05:00
firmware scroll engine calculate stringsize only when scroll line updated 2024-12-20 10:31:46 -05:00
fonts FS#9059: Add WenQangYi Unibt font (William Poetra Yoga Hadisoeseno) 2024-10-27 22:04:54 -04:00
gdb Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib Don't force gcc as host compiler + fix clang warnings 2024-12-20 05:29:18 +01:00
manual Revert "FS#13429: Add a freeform "player name" configuration setting" 2024-12-07 23:02:22 -05:00
packaging Prepare unofficial pandora release 2013-03-10 14:09:30 +01:00
tools configure: remove clang warning for darwin host 2024-12-20 10:46:22 +01:00
uisimulator simulator: fix missing Werror option + eliminate lib duplicate 2024-12-19 15:04:46 -05:00
utils Convert non-ASCII characters to UTF-8 2024-12-15 21:16:12 -05:00
wps [Feature] skinengine subline timeout hide line for n seconds 2024-12-07 23:02:22 -05:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore update .gitignore 2024-12-07 18:09:17 -05:00
.gitreview misc: Add a .gitreview file for better gerrit integration 2021-06-24 07:22:19 -04:00

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

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/rockbox

     or

   $ tar xJf rockbox.tar.xz

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 mips/m68k/arm-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 generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-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-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

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

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