summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-04puzzles: fix blitting when zoomedFranklin Wei
Both blitter_save() and blitter_load() functioned incorrectly when zoomed in -- blitter_save() would copy from the wrong location, and blitter_load() would ignore the y-coordinate of the destination. Change-Id: I7c85debf5953575f72c4a81e3dbcf514202c3aed
2017-11-04puzzles: clarify code and documentationFranklin Wei
This adds no functionality, but instead cleans up the source and adds some more substantial documentation. Change-Id: I77328c171a61db7729bdf928ba094cfbed4ec0dd
2017-11-04puzzles: fix title drawingFranklin Wei
This fixes two separate bugs: The first was that the drawmode was not reliably set when drawing the title, occasionally leading to a black rectangle where the title should be; the second that the title bar's space wasn't being cleared before drawing, leading to artifacts when the length of the title string changed. Change-Id: I3859125b14d568e1098b095ab134645a504b2d45
2017-11-01nwztools/scsitools: print device list when listing seriesAmaury Pouly
Change-Id: Ic46c724c5d89a775dc20853410c8fe6f0ff9a4c8
2017-11-01nwztools: add NW-A46 to the databaseAmaury Pouly
Change-Id: I85dc2080e0be07ff689384c0445f4f1595baf4ac
2017-10-30AMS: Convert ascodec_endofch() to use bit mod function's return value.Michael Sevakis
It cleans up the code and it was the initial inspiring reason to change them. Change-Id: I299499117b8a12d93d13d6563683bab89ab80555
2017-10-30Make atomic bit modification functions return previous value.Michael Sevakis
Change-Id: I19a94cf946735e1d9e51c3207cd82198fd4dfc1a
2017-10-30puzzles: add an interaction mode to the "Zoom In" featureFranklin Wei
This makes it possible to play the game while zoomed in. Read the manual entry if you want to know more. Change-Id: Iff8bab12f92ebd2798047c25d1fde7740aa543ce
2017-10-29puzzles: sync with upstreamFranklin Wei
This includes the fix for Map's incorrect cursor positioning when zoomed in. Change-Id: I7d7d1f3031bbe1390e89340039996f99efaa8ef5
2017-10-29Revert "tlsf: pack info structs"Franklin Wei
This reverts commit 8a6d7cefc9bf45b979ff064d87141949e9b81ca4. Packing the structs was mostly a precautionary measure, tlsf should still work without it.
2017-10-29Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUMEWilliam Wilgus
Adds the ability to load firmware from other drives on MULTIVOLUME targets Mihail Zenkov <mihail.zenkov@gmail.com> had posted a hard coded patch to allow this on several Sansa players, I made it more universal Redirect file rockbox_main.<name> should placed in root of drive you would like to be main, if this file empty or there a single slash '/' firmware will be loaded from /.rockbox in root of this drive If instead a /<*DIRECTORY*> is supplied in rockbox_main.<name> then firmware will be loaded from /<dir>/.rockbox/ NOTES* The directory can have multiple levels however.. leading slash MUST be included trailing slash can be omitted (eg. /test/.rockbox would be simply '/test' in the redirect file) Redirect file will not work on internal drive (whatever is default boot drive) Volume with the highest index containing redirect file will be loaded first. Firmware file is checked for boot data region, if missing, firmware image will not be loaded. On failure or if no redirect file is found load will fallback to internal drive Currently only Sansa Fuze+, Sansa Clip+, Sansa Clip Zip, Sansa Fuzev2, and Sansa Fuzev1 are implemented. Players (with HAVE_MULTIVOLUME) will need #define HAVE_BOOTDATA and #define BOOT_REDIR "rockbox_main.<name>" added to their config file boot_data is implemented in crt0.s file (See g#1552) ARM and IMX233 have aleady been implemented Once these conditions are met <HAVE_MULTIBOOT> will be defined by config.h Partitions on the drives are able to have a redirect as well. Change-Id: Iada3263919f6bcad7d0d7d8279b4239aafa07ee9
2017-10-29Add boot data to MOST AS3525 DevicesWilliam Wilgus
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-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