Commit graph

15581 commits

Author SHA1 Message Date
William Wilgus
efb71ed0ce Add boot data to MOST AS3525 Devices
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
2017-10-29 17:52:40 +01:00
William Wilgus
41869a6534 Add boot data support to rockbox.
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
2017-10-29 17:50:59 +01:00
Franklin Wei
47ebf623cb puzzles: improve zoom rendering
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
2017-10-29 12:49:39 -04:00
Franklin Wei
9ba899f850 puzzles: fix clipping and 24-bit handling
Should fix the build.

Change-Id: I68f06702570389c2c9d0d76acc064c324cac457b
2017-10-27 20:17:28 -04:00
Franklin Wei
8b8e25f195 puzzles: add "Zoom In" option to improve usability
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
2017-10-27 19:10:53 -04:00
Franklin Wei
3ad9caeb2a puzzles: make Untangle's input code return UI_UPDATE instead of ""
This was changed upstream and slipped by when I was merging the
changes.

Change-Id: I3a53cd2db5a5cd2ffef52719a048b8ff4c80d1aa
2017-10-24 19:36:19 -04:00
Franklin Wei
a644489ccf puzzles: adapt frontend to upstream changes
Change-Id: Idd911ac4ac6c2efa3c6b064be6058979d7a15447
2017-10-23 17:41:11 -04:00
Franklin Wei
ef1306764e puzzles: resync with upstream
There have been some improvements with regard to small screen sizes,
which will be nice to have.

Change-Id: I30c740514156258d2818fde325c1a751500f7611
2017-10-23 17:19:29 -04:00
Amaury Pouly
7a8c9daf7e test_mem: increase dram buffer if possible, cap number of iterations
Change-Id: Ie034433184d0dfcd50e3b783b2b6d0b6a44d001f
2017-10-22 15:36:13 +02:00
Michael Sevakis
81f5a225f7 Fix plugin core_alloc_maximum functionality
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
2017-10-14 06:07:09 -04:00
Michael Sevakis
ff62528d05 Make playlist CRC the correct path when saving resume info
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
2017-10-07 14:38:46 -04:00
Amaury Pouly
4382f8773e cleanup linux cpuinfo code
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
2017-10-06 18:31:35 +02:00
Michael Sevakis
b2a373eb64 Replace fp_sqrt function with one that only uses shift, or and sub.
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
2017-10-01 20:29:38 -04:00
Franklin Wei
23e7d0ef19 xworld: support diagonal buttons on Zen X-Fi
Change-Id: Ia738ecd2a39c0c0772d6f939d549dd5d0eda055e
2017-09-30 20:50:33 -04:00
Franklin Wei
bb55fceb70 Remove old keymaps from xworld and puzzles
They've been replaced by the one in apps/plugins/lib/

Change-Id: Icb54ec4caae1149dfddad8c754087686792a8bc2
2017-09-30 20:49:18 -04:00
Franklin Wei
752f7b1698 Harmonize plugin keymaps
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
2017-09-30 20:13:49 -04:00
Franklin Wei
b9386109e8 puzzles: resync with upstream
This brings puzzles to upstream commit 84d3fd2.

Change-Id: I808a197f868032d771fc101a15666c5ec4b9f94b
2017-09-30 20:06:50 -04:00
Amaury Pouly
13364c5525 Fix make race conditions reharding lang.h
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
2017-09-24 23:32:47 +02:00
Amaury Pouly
acc3ef3b6f Print "GEN lang.h" when generated language header.
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
2017-09-22 21:06:30 +02:00
Johannes Rauh
638eaeb884 Fix keymap for YP-R0 regarding broken keylock, add more key maps
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
2017-09-20 21:22:24 +02:00
Johannes Rauh
c1097cc847 Rename "Selective Backlight" to "Backlight Exemptions" and add German translation
Change-Id: I1ddb78bd267372617370cc36910fce9980b907cd

Calling the menu entry "Backlight Exemptions" as this better describes the functionality.
Adding the German translation.
2017-09-20 21:17:39 +02:00
Frank Gevaerts
cee7f5c793 Fix some warnings due to the previous commit
Change-Id: I2858a1f0f730be732c9fff64eabaf3866486a686
2017-09-20 21:17:07 +02:00
Frank Gevaerts
c2698c67f3 Update Greek, Swedish, Italian and Serbian.
Thanks to Constantine Mountantonakis, Jonatan Nyberg, Alessandro Stoppani and Ivan Pesic
(FS#13130, FS#13124, FS#13126, FS#13112)

Change-Id: I0581c38b0dab75b1192278ec84b973250b5c3e69
2017-09-20 20:27:00 +02:00
Amaury Pouly
a0fca0c7bf Add simulator support for the A860
This requires a few changes unrelated to the A860 because configure unsets
APPLICATION but the NWZ is an application!

Change-Id: Id91aa23193383ac95886b281653da5286edd9caf
2017-09-17 00:03:45 +02:00
Amaury Pouly
ac57f96838 Add support for the NWZ-A860
Change-Id: Ibf0c5168ac31d4ba2aeaa86cbeca37a1011b75fa
2017-09-17 00:03:02 +02:00
Johannes Rauh
0291db372e For Sony players that have explicit volume keys, make better use of the up and down button
Longpress Up:  pitch screen
Down:          playlist view

Change-Id: Ibb1032cefd32ce7a3fc309d6ee8d1ba0914583f6
2017-09-16 23:57:50 +02:00
Frank Gevaerts
28591f2e92 Explicitly provide both cases in conditional (fixes warning)
Change-Id: Iedca64432103af5407a7c7bac83e92ca1ae8992b
2017-09-07 10:38:42 +02:00
Amaury Pouly
1d121e8c08 Initial commit for the Sony NWZ linux port
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
2017-09-05 21:42:12 +02:00
Franklin Wei
25a29e71d8 Silence warnings in mp3_encoder
`const' only needs to be used once (a const pointer to const data is
`const type * const').

Change-Id: I47a0d69755cb7753ac64b82b930d14b4a19b7527
2017-09-01 22:03:06 -04:00
Franklin Wei
5a724bb6dc Fix typo in goban
Pointer wasn't dereferenced as it should be.

Change-Id: I4b4993fef2290c22ab8f36ba8aafe7dcafcbfa2e
2017-09-01 22:00:59 -04:00
Franklin Wei
34dd278758 Add missing strings Italian translation
Should make us all green once again.

Change-Id: Icee92fa0a0e214a0e905e4df30739e22e623733e
2017-09-01 20:33:21 -04:00
Franklin Wei
3a39f24b8c puzzles: remove unused overlay loader
Just cluttering the plugins directory as there is no COMBINED support
anymore.

Change-Id: I05591d457055e67cd1a01e007bec7ce77dcecb4a
2017-09-01 20:33:20 -04:00
Franklin Wei
1cd96b4931 Keybox: display the entry name along with the password
The dereference of entry->name was originally omitted, which meant
that only the password would ever be displayed.

Change-Id: If368a2d3dd9ddf0a253d28b9db5b98d639cfb30b
2017-08-27 15:43:11 -04:00
Amaury Pouly
b31ae4554a fix yellow, commit f2f1889 left a variable unused
Change-Id: I128bf509cb68860cc2c12b42d032621a5bc71008
2017-08-27 19:25:56 +02:00
Franklin Wei
3c514f8e20 puzzles: misc. changes and sync with upstream
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
2017-08-23 14:22:09 -04:00
Franklin Wei
4dd300d9f0 puzzles: remove old combined build code
We don't really need it anymore.

Change-Id: I7c8149faa6b80807ca718b73483bdb2e41830cbd
2017-08-23 14:22:09 -04:00
Franklin Wei
ec1a74a37c puzzles: faster, smaller sqrt()
Change-Id: I18e170ee49bff131fe76fa4bb1b9e0f120818b82
2017-08-23 14:22:09 -04:00
Sebastian Leonhardt
f2f1889b10 Sokoban: enable restarting level via "Select Level"
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
2017-08-23 01:15:50 +02:00
Sebastian Leonhardt
28ae700444 FS#11922: Lua game - Pixel Painter
* 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
2017-08-23 00:25:11 +02:00
Franklin Wei
7944969ff7 puzzles: fix build
Change-Id: Ifb6d7938968a48a1492483b33c84050abcfb75e0
2017-08-16 15:01:38 -04:00
Franklin Wei
71850e8e69 puzzles: various useless tweaks
Change-Id: Ibf9769f99d61581b184d0ffa4ef0614eb976f0e8
2017-08-16 11:40:42 -04:00
Franklin Wei
d0c4ef4b78 puzzles: enable long-press in Map
This allows for stippling regions.

Change-Id: If8f271b66f6f350c843d6669918ea39712acd818
2017-08-16 11:40:42 -04:00
Franklin Wei
ef9c2f4457 puzzles: fix polygon drawing in Inertia
Yet another hack to accommodate our polygon algorithm...

Change-Id: Ic5d304be23d30c380b19771ab68cf01c416261b4
2017-08-16 11:40:42 -04:00
Franklin Wei
f31a400bac puzzles: add more parameter validation checks
Fixes some annoying crashes.

Change-Id: If3c293bd90e301c3e697d1e5fcb1b0aa2ea320fb
2017-08-16 11:40:42 -04:00
Franklin Wei
c78ff7f615 puzzles: fix floating-point formatting
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
2017-08-16 11:40:42 -04:00
Franklin Wei
bf25f3e6e7 puzzles: compress extensive help text
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
2017-08-16 11:40:37 -04:00
Franklin Wei
ca228d3d87 puzzles: cut size for c200v2
- 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
2017-08-09 21:51:23 -04:00
Franklin Wei
51984098ef puzzles: enable Mines
It should work now that arm memset() has been fixed for negative
values. This is the last puzzle that was disabled due to a crash.
2017-07-27 19:09:50 -04:00
Franklin Wei
076cf0aa9b puzzles: new input scheme for Mines and Magnets
Both these puzzles now have long press mapped to spacebar.
2017-07-27 19:09:50 -04:00
Franklin Wei
f1b82b1acf puzzles: polish up the config menus 2017-07-27 19:09:50 -04:00