Adds boot data to as3525 devices Sansa C200v2 E200v2 Clip Clipv2 Clip+ ClipZip
fuze, fuzev2 m200v4
Adds boot_data to features.txt
default arm crt0.s now had boot data if HAVE_BOOTDATA is defined
Change-Id: I614a556696540511a69fc12a4520b01c268bf8a9
Bootdata is a special location in the Firmware marked by a magic header
The bootloader is able to copy information to the firmware by locating
this struct and passing data to the firmware when it is loaded but
before it is actually executed
Data is verified by a crc of the bootdata
Change-Id: Ib3d78cc0c3a9d47d6fe73be4747a11b7ad6f0a9e
This adds colored font rendering, as well as a workaround for font
loading while zoomed. Additionally, the frontend has been modified to
match the new upstream API.
Change-Id: I8c3fe57e6854f176485bf792cf4778cd54a21674
This adds a "Zoom In" option to the pause menu of each puzzle, which
displays the puzzle at triple size (subject to change). This should
help with tiny screens, modulo memory concerns associated with
allocating the temporary framebuffer to which drawing operations are
redirected. Coincidentally, there's an upstream bug with Map that
causes the cursor's positioning to be incorrectly displayed when
zoomed.
Change-Id: Ic8b7c2942acf558e295f4271dd7dc458cd336895
One mustn't assume a plugin will only call plugin_get_audio_buffer one
time or that the buffer_size pointer is always non-NULL. At least one
plugin, pacbox, will call it each time it (re)starts audio, with a NULL
param (which is intentional because it only wants to kill audio
playback), and leak away all the RAM because the handle gets clobbered
by further calls and the memory can't be released.
Change-Id: Ic5b94dbc0277c42964ea85b4e9d0302a7c6f1fe4
Playlist was CRC-ing the path from the id3, which may have been
modified to remove "bogus dirs". This would cause a CRC mismatch
in the resume information.
Now, just use the current playlist's current index and call
playlist_get_filename_crc32() to get the original path when
updating resume info.
While technically correct, if this causes any issue(s) it's just
a one-line change and painless to revert.
Change-Id: Ie595ef6c40349c342bd7acac8c542829f9cd5d76
sonynwz: quirk for cpufreq broken driver
There was some redundancy between frequency_linux(cpu, true) and
current_scaling_frequency(), also I see no reason to compile the cpuinfo stuff
unconditionally and the scaling info only on DX since it was already printed
some partial scaling info anyway. Thus compile all the code unconditionally
and simplify the logic in the debug menu. Also avoid putting buffers of size
PATH_MAX on stack since it can be quite big and we only requires 64 bytes
for those paths.
On Sony NWZ, the cpu driver reports frequency in MHz instead of kHz thus we need
to make the cpuinfo code aware of that bug.
Change-Id: I61af45ab5f179ecc909b4841b9137a915a60193a
Simply extends the current isqrt() to be able to do fractional bits
and improves the initial estimate using clz(). iqrt() itself is
no more and is equivalent to fp_sqrt(x, 0). The original also had
a small bug where the guess comparision should have been >=, not >.
Uses no large integer math or division and is very accurate
(simply returns a truncated fraction).
Change-Id: I2ae26e6505df1770dc01e56220f7385369f90ae9
Aims to provide a lib/keymaps.h for plugins needing simple button
functionality beyond that provided by PLA. Currently used by puzzles
and xworld.
Change-Id: Icb3493aaf176d401762de834dd48fc76a3824c5a
The bug is due to a stupid make misfeature. The article [1] contains much more
information but in a nutshell, the following code:
a b: c
bla
is equivalent to:
a: c
bla
b: c
bla
This is bad because in parallel runs (make -j typically), "bla" can be run
TWICE and even worse, twice in PARALLEL. Obviously the result will be
completely unexpected. This is a real bummer because on the other hand,
the following code:
%.c %.h: %:in
bla
actually expresses the fact that bla produces two files. For some reasons,
pattern rules work differently from implicit rules.
This commit attempts to fix the problem with lang.h by rewriting (simplified):
lang.c lang.h: lang.in
genlang
as
lang.h: lang.in
genlang
lang.c: lang.h
This works (it correctly expresses the dependency chain and ensures genlang runs
once) but as one drawback: if one manually removes lang.c, then genlang will not
re-run since the second rule does nothing. This is minor drawback since no one
ever removes lang.c manually and "clean" removes lang.h which triggers a rebuild.
[1]: https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
Change-Id: Ic0bf7c7c203dc599b00fde457946d2316c70474e
Hopefully this will help narrow down the problem with LANG_* error message,
I have the feeling that lang.h is not generated in time but it's very hard to
reproduce.
Change-Id: I02b6c98ed9c7e7168fad10dcf1142e307fbc6093
Keylock is now toggled by the key combo User&Power for WPS and FMS.
Pitchscreen has been added as long press of User.
While in bookmark screen, short press of Power deletes bookmark.
While in (most) menus or tree, first press of MENU takes you back to the
main menu, second press to WPS (aka button_context_tree).
Removed ACTION_WPSAB_SINGLE as long press of USER is now Pitchscreen.
Change-Id: I6aee7f8655b1073ed8d74dabe73895a7c0e54bfe
Change-Id: I1ddb78bd267372617370cc36910fce9980b907cd
Calling the menu entry "Backlight Exemptions" as this better describes the functionality.
Adding the German translation.
This requires a few changes unrelated to the A860 because configure unsets
APPLICATION but the NWZ is an application!
Change-Id: Id91aa23193383ac95886b281653da5286edd9caf
SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10
NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader
since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested
TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but
probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal
POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver
Change-Id: Ic77d71e0651355d47cc4e423a40fb64a60c69a80
The dereference of entry->name was originally omitted, which meant
that only the password would ever be displayed.
Change-Id: If368a2d3dd9ddf0a253d28b9db5b98d639cfb30b
This brings puzzles up-to-date with Simon's tree, along with the
rockbox-specific changes I made. Note that I also got rid of some
of the ugly floating-point code in rbwrappers.c and replaced it
with wrappers for our fixed-point library.
Change-Id: Ibfb79acb15517116a26de1c3ea89e025146b9e2e
This patch disables the (deliberate) feature of "Select Level",
that selecting the current level wouldn't restart but rather
resume. (i.e. now selecting any level will always start this
from scratch).
There definitely should be a way to restart the current level
via menu. Currently the only possibility to do this is via
button presses, but (a) these are hard to remember combos, and
(b) they are not defined on all targets.
This patch is meant as a lightwight alternative to g#1356
(adding a "restart level" option to the menu).
Change-Id: I18ee5aff5c922f95c28d1edf2ba71dd2e50687d2
* Changed keymaps to PLA and added to SOURCES and CATEGORIES file
* improved keymaps: implement wrap-around and key repeat
* change keymap according to screen orientation
* fix font size calculation
* use blocking button query in main loop
* replace tabs with spaces
* added manual entry
* added original author to CREDITS
Change-Id: Id67ae99cbb7a737c7f4608e278b77a389ac2ffa6
This is pretty ad-hoc, but the only other ways are to rewrite
sprintf (which would use too much memory on the c200v2), or
implement support for floats in rockbox's formatter, neither of
which are acceptable.
Change-Id: I70d59fd3e90a16e2db9ae0a84cd8c14807f50b46
This is only really needed to save a few bytes on the c200v2, but
since it adds negligible overhead, so it's implemented for all
targets.
A stripped down version of the LZ4 reference implementation is found
in lz4tiny.c.
Change-Id: Ib914ba71c84e04da282328662c752e533912e197
- font caching is disabled
- font table is dynamically allocated
- side effect: tlsf isn't reset between runs anymore, memory leaks will have a bigger impact
Change-Id: I0b25c22665d956895e8007883d522256010d04ab