Refactor code.
This tool can now either load a scrambled rockbox
firmware (in which case the model is check against the
firmware), or any ELF file. This is useful for example
for hwstub which produces a ELF file and still needs
to be loaded by producing a SB file.
Change-Id: I7aa381b3f6587788d1950793e89ce5608c53cccc
The mkimxboot was becoming messy with juge functions and
redundant code. Factor reading/writing/loading code into smaller
functions. Introduce the concept of rockbox firmware to simplify
support of other formats than scramble.
Change-Id: I3a61295ca5abca1a0eee8c9e8709c6b8dfa256a6
Register set selection is based on the value of the
IMX233_SUBTARGET value. The reg-select.h file (used by the
generated headers), does the selection based on this value as
follows:
- 3600 <= . < 3700: stmp3600 register set
- 3700 <= . < 3780: stmp3700 register set
- 3780 <= .: imx233 register set
Note that this selector relies on the name of the socs in the
register description to be respectively stmp3600, stmp3700 and
imx233.
Change-Id: I793b18e6c4f3fea85aa74f4c6be3affb0622c14e
The generator now has more options to generate or not selectors.
It can also generate a macro header containing lots of using
macros for register operations.
Change-Id: I9dd6b4bdc7daeabd1a2c9365ce082358475721b5
Rockbox only uses the first album art image (APIC / PIC frame) found in id3v2
tags. When a file contains more than one image the second one is ignored but
the parsealbumart() callback overwrites the already set data. This causes the
metadata structure to contain an invalid pointer to the image data, resulting
in no image shown.
Make parsealbumart() aware of this and skip parsing when an albumart image has
already been found. Fixes FS#12870.
Change-Id: Id8164f319cd5e1ee868b581f8f4ad3ea69c17f77
Recent versions of texinfo breaks various binutils and GCC
builds. For GCC setting MAKEINFO=missing at configure time works
but not for binutils where patches are used to fix parsing errors.
This also makes rockboxdev.sh handle applying multiple patches.
Change-Id: Ia8e6dc7662ab725490e4b4428676d235f0bd38bb
Reviewed-on: http://gerrit.rockbox.org/471
Reviewed-by: Nils Wallménius <nils@rockbox.org>
The tool can now load sb1 and sb files to devices. Detection has
been improved and the tool can infer the packet size for the HID
description as well. The command line interface has been vastly
improved too, this breaks the old one.
Change-Id: I01a0ff8f8a007514aa81c56f114c0f0a86e3303c
Fix the stub in many way to correctly detect the STMP family and
act upon that. Drop some unused commands and bump version.
Rewrite the tool to allows scripting in lua and load the register
description from an XML file using the regtools. Introduce a new
tool to load and run code using the hwstub (either binary format
or Rockbox additive scramble format). Also switch to an optimise
version of the memcpy/move/set functions to correctly handle
alignement issue (like writing a full word/half-word when
possible for registers which is crucial)
Change-Id: Id1d5cfe0b1b47e8b43900d32c5cd6eafae6414f6
Change the XML description to unify multi dev/reg in a clean
fashion. Move the description parser to its own library. Fix
the tester and headergen tools to work with the new format and
library. Move the STMP3700/3780 descriptions to the new format
(and fixes many errors as well). Drop the hwemulgen tool
in favor on the upcoming hwstub tools revamp.
Change-Id: I7119a187aab5c8b083cc5228cb1b248ee29f184d
The register tools are in no way stmp specific. The XML
description of the registers is powerful enough to describe
the STMP register which should be more than enough to describe
virtually all other SoCs. The generators follow the STMP coding
convention but others could be used as well.
Change-Id: If1a9f56e4a3594161688de34adbea698e5aaecd8
The hwemul is only partly imx specific: the stub is stmp specific
but could be ported to other targets, the computer side and the
protocol are mostly stmp independent (or should be).
Change-Id: If88febffe591b0de86ea11cb740455ba20ddc401
Change-Id: I75efbf1077359e4218ad33f4c1d885b24c0b7b01
Reviewed-on: http://gerrit.rockbox.org/421
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Prevents the player from moving an instadropped block (could happen
before the next game tick when using left/right buttons anticipatorily).
Change-Id: Id62168842d8458f864a2e05c5d236f054bf54f65
Reviewed-on: http://gerrit.rockbox.org/473
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Change configuration to use filtered mountpoints list. Add HFS+ to the list of
supported filesystems -- while Rockbox doesn't run on HFS+ MacPods will use
that format, and not having them in the list will then make OS X users wonder
why their Ipod isn't showing up. This might need to get revised later.
Change-Id: I5eeeb05be6780cb3952a0081df0ce782eca01589
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.
Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
During testing it can be useful to set an arbitrary (non-current) time on the
device. Extend time-sync to accept an additional (optional) parameter with the
time to set. Only changes date / time, no timezone.
Change-Id: Ib320777cb245cff19ca00b20540db3a43a4e488f
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.
Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
On OS X we're passing -arch twice which dependency generation doesn't like.
Since we don't have dependencies that differ between architectures simply don't
add them during dependency generation.
Change-Id: Ie3d58bf9af31edcacb88345c7debf39eb798e302
The code was pretty broken with regard to the handle management of radio art
images, e.g. passing the wrong data to bufopen().
Change-Id: I3480f40bce81af05d14dbf045a78485c857fb261
This logic checks whether the skin's albumart dimensions differ from the
previous skin to force rebuffering if necessary. This was broken since
a while as the necessary information was reset.
Change-Id: I3b9f3a819c6af202af8ad66c13742f704ce45ab1
Reviewed-on: http://gerrit.rockbox.org/476
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
If Rockbox Utility has no configuration file on the machine updateSettings()
will overwrite the global cache folder settings with an empty string before the
value is set properly by the user confirming the configuration dialog. QDir()
getting an empty string will result in the current working directory getting
used, and thus the temporary files ending up there.
On Windows most users are unlikely to have noticed this since running the
executable from within the distribution zip file will make Windows execute it
in the systems temporary path.
Change-Id: I7724a82af403955786798c7380198086837e128f
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.
Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
Since ar is not running in verbose mode there is normally no output to get rid
of, and in case of errors it's useful to see them. Also, Windows doesn't know
about /dev/null.
Make dependency generation for librbspeex more silent as well.
Change-Id: Ie0d4a406e665ebd67331d6cd1fa2fc02f8bf21b9
Based on all other references, unknown_file.color is a color, not an
index into custom_colors[]. Previously, custom_colors[-1] was returned
for files without an extension, accessing outside array boundaries
and making files without an extension black, which is hard to see.
Change-Id: Ia0883aba929582324b767df7828a36a84c0b36b9
Further decouples voice_thread.c from other playback areas. Also allows
other audio sources, such as FM radio, to be attenuated when voice is
playing by implementing a callback.
Defined as another playback event rather than a new event class:
PLAYBACK_EVENT_VOICE_PLAYING
Change-Id: I2e3e218be6cd6bebbf39e7883a8c0e4ed42b62bb
What was I thinking? Anyway, it's a little nicer and it's reserved so
shouldn't end up as a case value anywhere.
Change-Id: If745c24951518608e3f4fc51f7419ef07d7cf2ac
Playback needs to receive a couple of settings-related messages even
when not playing.
Put the message reply back where it was when loading an encoder for
recording.
Change-Id: I8cc80f46e42a0afd119991d698510e1ebef38ead
Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.
audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.
Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.
(Also makes revision df6e1bc pointless ;)
Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
It should not access audio hardware and change settings unless it has
been initialized first and given control of it.
Change-Id: I5004602d7caa604ded751f6838b792d1ff24b3fb