summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-29Add boot data support to rockbox.William Wilgus
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-29tlsf: remove memset() call in add_new_area()Franklin Wei
This call was not needed in the first place, but was causing crashes in sgt-puzzles. Removing it fixes the crashes. Change-Id: I1149d5600e1c97e0e848fdd34bf65d54c930adab
2017-10-29tlsf: pack info structsFranklin Wei
This should make it build cleanly under -Wcast-align, which should hopefully avoid any alignment issues on ARM. Change-Id: Ie147323d2d8cb980dcbb94710387b7ee80826c4d
2017-10-29puzzles: improve zoom renderingFranklin Wei
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-28imx233: Implement mutex for cpu_boost_lock/unlockWilliam Wilgus
Playing AAC-HE files resulted in a race condition between audio/codec/buffering for set_cpu_frequency Change-Id: I35e1c1fd18db623e2990c305acdca03f57184d0d
2017-10-28SVG image of the Sony NWZ-E580 and other formats for the manual.Szymon Dziok
Change-Id: I30453398ab317f5c263371aa5798463f26ac4dbb
2017-10-27puzzles: fix clipping and 24-bit handlingFranklin Wei
Should fix the build. Change-Id: I68f06702570389c2c9d0d76acc064c324cac457b
2017-10-27puzzles: add "Zoom In" option to improve usabilityFranklin Wei
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-26Fix a few missed things in 16454efc (and hopefully clear the red).Michael Sevakis
Change-Id: I2ce88e4c41e6e08efbfbdf261122318dfb0f8b0f
2017-10-26Unify storage threads into oneMichael Sevakis
* Editing a bunch of drivers' thread routines in order to implement a new feature is tedious. * No matter the number of storage drivers, they share one thread. No extra threads needed for CONFIG_STORAGE_MULTI. * Each has an event callback called by the storage thread. * A default callback is provided to fake sleeping in order to trigger idle callbacks. It could also do other default processing. Changes to it will be part of driver code without editing each one. * Drivers may sleep and wake as they please as long as they give a low pulse on their storage bit to ask to go into sleep mode. Idle callback is called on its behalf and driver immediately put into sleep mode. * Drivers may indicate they are to continue receiving events in USB mode, otherwise they receve nothing until disconnect (they do receive SYS_USB_DISCONNECTED no matter what). * Rework a few things to keep the callback implementation sane and maintainable. ata.c was dreadful with all those bools; make it a state machine and easier to follow. Remove last_user_activity; it has no purpose that isn't served by keeping the disk active through last_disk_activity instead. * Even-out stack sizes partly because of a lack of a decent place to define them by driver or SoC or whatever; it doesn't seem too critical to do that anyway. Many are simply too large while at least one isn't really adequate. They may be individually overridden if necessary (figure out where). The thread uses the greatest size demanded. Newer file code is much more frugal with stack space. I barely see use crack 50% after idle callbacks (usually mid-40s). Card insert/eject doesn't demand much. * No forcing of idle callbacks. If it isn't necessary for one or more non-disk storage types, it really isn't any more necessary for disk storage. Besides, it makes the whole thing easier to implement. Change-Id: Id30c284d82a8af66e47f2cfe104c52cbd8aa7215
2017-10-26atjboottool: document more header fields and crypto codeAmaury Pouly
The encryption definitely uses some standard elliptic curve encryption over binary fields (163 and 233 bits, standard polynomials). It is still unclear how this is used in the actual encryption, the key authentification and derivation do not look standard. Change-Id: I6b9180ff7e6115e1dceca8489e986a02a9ea6fc9
2017-10-24puzzles: make Untangle's input code return UI_UPDATE instead of ""Franklin Wei
This was changed upstream and slipped by when I was merging the changes. Change-Id: I3a53cd2db5a5cd2ffef52719a048b8ff4c80d1aa
2017-10-24nwztools: add NW-A45Amaury Pouly
Change-Id: I75a7723498564ee73c3682391582e354ad672fd7
2017-10-24nwztools: add NW-ZX300AAmaury Pouly
Change-Id: I8b311ed6b48b92b9ecf4fb25c19119cfb2d5beb1
2017-10-23puzzles: adapt frontend to upstream changesFranklin Wei
Change-Id: Idd911ac4ac6c2efa3c6b064be6058979d7a15447
2017-10-23puzzles: resync with upstreamFranklin Wei
There have been some improvements with regard to small screen sizes, which will be nice to have. Change-Id: I30c740514156258d2818fde325c1a751500f7611
2017-10-22test_mem: increase dram buffer if possible, cap number of iterationsAmaury Pouly
Change-Id: Ie034433184d0dfcd50e3b783b2b6d0b6a44d001f
2017-10-22nwztools/upgtools: make the tool print the whole kas, not just 16 bytesAmaury Pouly
Change-Id: I9daca9148b7aaea905a765dfeb95faf6fb7198b1
2017-10-20atjboottool: add support for FwuTailAmaury Pouly
Change-Id: Ib01a2ff92294dd0bb59439c23f26bc31eafa4a39
2017-10-20nwztools: add KAS for NW-A40 seriesAmaury Pouly
Change-Id: I6e22ba0a58eb62dcc9f2025ee7233f5afae1bbec
2017-10-17nwztools/scsitools: don't try to get nodes when we don't know about the deviceAmaury Pouly
Change-Id: Id35671f1e039a94e2b319262e4faa51d73f12afd
2017-10-17nwztools/scsitool: slightly rework of help_us and helpAmaury Pouly
Now print list of devices immediately even if the rest of the command line is empty (ie 'scsitool -s ?' works, whereas before one would need an actual device to even get a list). Add more information in the help_us command: print kas, lyr and fpi. Change-Id: Icfeeaeebe28c774a74ca54661357fafa25c3d114
2017-10-17sonynwz: add NW-A47 to the database and regenerate nwz_db.{c,h}Amaury Pouly
Change-Id: I6331a48a4d336348e90a32cf151427b29eeedb2b
2017-10-14Fix plugin core_alloc_maximum functionalityMichael Sevakis
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-12PBE+Surround: Localize some variables and fixup some flush opsMichael Sevakis
Change-Id: I9fba5b8cbf69d261a7ca1c66e080c08d2fc6d9db
2017-10-12Nitpick configuration code in a few DSP filters to fix some bugsMichael Sevakis
Most importantly is surround shouldn't operate in mono mode. Have it watch and (de)activate itself on relevant format changes as it should. Other changes to better handle buffer allocation failure. PBE was set internally at 100 by default; SBZ. Change-Id: I328e0b674e56751a255eae817d7892d685796b06
2017-10-07sonynwz: add api and debug entries for "acoustic" and "cue/rev" modeAmaury Pouly
We don't really know what those are supposed to do. They seem to change the volume curve but it is not very clear what is the intended purpose. Change-Id: I65f5d18aba139844c23df092277ba17ee8518f96
2017-10-07Add alsa wrappers to get control valuesAmaury Pouly
Change-Id: Ic870261888f35717bfa939029dcd64bfe1a3df33
2017-10-07nwztools: add NW-ZX300 KAS, extracted from a deviceAmaury Pouly
Now this is very weird, is it yet another format/encryption? Change-Id: I119dec1e6d636a99508fb1394de27237ca3ab814
2017-10-07Make playlist CRC the correct path when saving resume infoMichael Sevakis
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-07nwztools/scsitools: fix databaseAmaury Pouly
I forgot to add the NW-ZX300 to its series Change-Id: I78fd9440492e1868b887f6a2e137d4d0c2ff199a
2017-10-07Add Sony NW-ZX300 model id to databaseAmaury Pouly
Change-Id: I8e7a14b86408c52cbd4a059e2db6a9c9d0966fc6
2017-10-06cleanup linux cpuinfo codeAmaury Pouly
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-06fix typoAmaury Pouly
Change-Id: Ic357f82d61cc0004ac6193fa9dbbc90976042574
2017-10-06nwztools/scsitool: various improvementsAmaury Pouly
The tool now provides more useful information for developers when the device is not supported. Is also has a new verb "help_us" that also prints all this information (notably the device info and model ID). Change-Id: I04baec8fff23eb83a0408add6296b5d42e9aa8e7
2017-10-06sonynwz: add nvp nodes for NW-A40/ZX300, various fixes for toolsAmaury Pouly
We still miss the model IDS for those device so scsitool won't be able to recognize them automatically. Change-Id: I17ae0f0d95c011cea8e289def63c7673b6c4b667
2017-10-02xworld: only build manual for color targetsFranklin Wei
Change-Id: Ia6aeddfcae21afaed13debb487bc8b46d515d031
2017-10-01Need limits.h for hosted buildsMichael Sevakis
Change-Id: Iac1433957de80ad5db51396f74acf1f4f8d45bf3
2017-10-01Replace fp_sqrt function with one that only uses shift, or and sub.Michael Sevakis
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-01sonynwzlinux: print debug info to log on crashAmaury Pouly
Print the crash info and dump the memory map from /proc/self/maps Change-Id: I99de32e5e6cca3bf1aca4fa253834ca4ad599fbe
2017-10-01sonynwza10/a20: enable pcm frequency selectionAmaury Pouly
Change-Id: I335fcdbb652253e777d0d7406545d0d44d98f4f0
2017-10-01sonynwzlinux: enable software tone controlsAmaury Pouly
As far as I know, they are not supported by the hardware Change-Id: I71be60ef5461fc9fea151cc9ae9de385b8e08eda
2017-09-30xworld: support diagonal buttons on Zen X-FiFranklin Wei
Change-Id: Ia738ecd2a39c0c0772d6f939d549dd5d0eda055e
2017-09-30Remove old keymaps from xworld and puzzlesFranklin Wei
They've been replaced by the one in apps/plugins/lib/ Change-Id: Icb54ec4caae1149dfddad8c754087686792a8bc2
2017-09-30Harmonize plugin keymapsFranklin Wei
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-30puzzles: resync with upstreamFranklin Wei
This brings puzzles to upstream commit 84d3fd2. Change-Id: I808a197f868032d771fc101a15666c5ec4b9f94b
2017-09-29atjboottool: put afi and fw code in its own filesAmaury Pouly
Change-Id: I16347ebee0f82d5fdf32f5aa8f955c07fe148eba
2017-09-29atjboottool: split fwu code into its own fileAmaury Pouly
Slightly cleanup the code by removing the old and dangerous --force option. Change-Id: I776633a9924797fcd509b8b80623bcd64b391672
2017-09-24Fix make race conditions reharding lang.hAmaury Pouly
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-23Rockbox Utility: updated Czech translationPavel Rzehák
translated missing strings and revised existing Change-Id: I1814b31b18cda700fb34f23f818ccbe031b4251f