Fix FS#12674 - %ax() doesnt mirror viewport correctly

Change-Id: I10c933542037eeedc9c4be74b3d43a1430ec05b2
Get voice PCM queue indexes updating in right order...

...from the compiled code standpoint anyway. frame_out was being
incremented before updating size...sometimes...depending on what
GCC was up to. This seems to help.

Change-Id: Ie4ee3337a2937bd2c26f0a9c4a1a00467954821b
Disable attempts to voice init_tagcache.

It just cannot work anyways because init_tagcache is called before
audio_init. Besides, FS#12684 may be helped for now as well.

Change-Id: I2bb4f81f807bae509b220ee6656a6a109b5eb011
imxtools: move tools to a new sbtools/ subdirectory

Change-Id: I0d8d6831b35037725486f61fc363de87bc8ba92e
imx233: add ocotp driver

Change-Id: If4ed62ece056e81665a00af39eb1c57bb2c42b22
imx233: add ocotp debug screen

Change-Id: Ia2211f9e0b281ffb60139bba539af37d762212dc
Fill USB serial number descriptor on imx233 targets.

Compute a serial number using the ocotp OPS bits like the OF.
Also add a comment about the first character of serial number
being a indicator of the enabled interfaces.

Change-Id: I9b90aed4e3b803f12fec003c9bc8ee8a046f4e42
Fix findaddr.pl tool for codecs

Change-Id: I19dff8c9f3e8195d1e8d652e6365375a87debddf
rds: implement more robust PS/RT parsing

Our current PS and RT parser is very strict: it requires
all segments to be received in order. This is too strong
of an assumption even when the reception in good, particularly
for long RT messages. This parser handles segments in any order
and completes a message only when all segments are present. To
avoid keeping obsolete segments, each segment has an associated
timeout and is trashed if not updated for a certain period.

Change-Id: I79841bb5ab1f838c7702d8281044e226f6510199
Reviewed-on: http://gerrit.rockbox.org/237
Tested-by: Bertrik Sikken <bertrik@sikken.nl>
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
Fix red

Change-Id: Ifa8b360c97bb1036210b2563cfb87be2630eaab6
ZipUtil: check zip file external attributes for folder.

Folders in a zip file usually but not necessarily have their filename ending
with a slash. In these cases recognizing a folder entry by the last character
fails. Check the external attributes as well, which also contain the FAT file
attributes.

Change-Id: I81b039b3774b803b2b528bc83846aafd208e5571
FS#12686 - Slovak lang update
Signed-off-by: Bertrik Sikken <bertrik@sikken.nl>

Change-Id: Ice4ac40aa849a62ba4c2eba6e6ec45b0ed990fff
Use server timestamp for development build fonts.

The server timestamp is more meaningful as version identification than using
the revision of the currently installed build.

Change-Id: Ib57766f8e0f57ea9a4f805929acb589c2560fbd5
Only support pregenerated voice file for releases.

The voice file installed needs to match the Rockbox version installed. If not
the voice might not match the actual entries.

Rockbox Utility always was sloppy on this and installed the latest archived
(previously "daily") builds voice file for the latest development (previously
"current") build. Archived builds aren't supported anymore in Rockbox Utility,
so remove support for installing archived voice files as well.

There are no pregenerated voice files for development versions provided, and
Rockbox Utility can generate voice files anyway. Also, those files are only
provided and most users seem to prefer to use the voices they have installed on
their PC.

Change-Id: I17817da8a14dc5f8b0ef208579d8d75fa86ab610
Fix a comment and improve message box title.

Change-Id: I10a37be97b1000fcee5a47f13dc8ba7ee6b31b36
Update for single build-info file.

The server now provides a single build-info file (instead of two separate ones
for development builds and stable releases). Update to use the new file, since
it simplifies things.

Change-Id: If3b949f4d78eecb54e47622da887f51005f6d155
Update the Swedish translation.

Change-Id: I1829750a1da11d036ba4904975efb086bbb63bed
Bump version to 1.2.14.

Change-Id: I5f8d8ee9f72e6ab1e68fbb227db1e2565d048468
voicefont: rename SWAP macros.

Those macros actually swap to big endian. Since the macro names didn't tell
what way to swap (and on big endian they don't swap anything at all) they are
somewhat confusing. Change names for clarity.

Change-Id: Ie4b0026458a69d7533abb66109a6f83bc5ee2c0e
Remove unnecessary variable and simplify voice-only counting.

Voice-only strings are identified when reading the strings, so there is no
reason to first store that information and then count them later.

Change-Id: Ie6bd2c4bbf5736630e58d06a20739ef527e3cd69