summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-04-02lastfm_scrobbler check for back to back repeat entriesbootloader_shanlingq1_v2bootloader_fiiom3k_v3William Wilgus1-4/+20
if you skip a track after the halfway point the scrobbler may double post with slightly different timestamps but the same track info take a crc of the non-unique part and check against the previously written track Change-Id: I676342c4cd76f632131d9cb6d9f7d2f59df357e6
2022-04-02lastfm_scrobbler check pointers for validityWilliam Wilgus1-4/+11
we need to make sure we don't deref NULL pointers Change-Id: I9c564b681cd20222c3a134680e60a310b2eb846c
2022-04-01system: update MEM_ALIGN_ATTR for targets with CPU cachesbootloader_erosq_v1Aidan MacDonald1-2/+2
MEM_ALIGN_ATTR should take advantage of cache line alignment on all native CPUs which define it, not just ARM CPUs. (This could arguably be done for hosted targets too, but we don't necessarily know the size of a cache line there.) Change-Id: Ife9302105ea57388afd55ce31da848b00b5b1b25
2022-04-01ErosQ Native: Make power delay bootloader-onlyDana Conrad1-0/+2
gotta go fast Change-Id: Ic01e4aa70a2bec4c48ae7cf8f32f8dfd366decad
2022-04-01Eros Q Native: Add Original Firmware Boot optionDana Conrad4-0/+65
Hold "Play" to boot the OF, or boot it from the recovery menu by holding "Vol. Up". If you had the hosted port installed on your player before installing the native port, you'll still have to go through the hosted bootloader. A couple notes: - When booting from the menu, the recovery menu disappears, then reappears before going into the OF. - You need to hold the play button for like a half second after the blue light comes on in order to get into the OF. The recovery appears to be there, but it doesn't seem to be intended for end users - it just says "Updater V1.1 - Insert TF Pls". I haven't tested it beyond seeing that it boots, so I'm going to comment it out for now. Change-Id: Ie271ee479bb628cc74141b7fe07273b3f193f358
2022-04-01playlist: use path_strip_last_volume, clarify path conventionsAidan MacDonald1-16/+16
The comment regarding Windows paths was fairly confusing as to its intent. What the code is trying to do is replace the drive letter with the volume containing the playlist, which appears reasonable. The middle of the comment was devoted to explaining why the code below was potentially incorrect which only served to add to the confusion. AFAICT the last volume specifier in a path will cause search to start from the root of that volume, so any incorrect result can be avoided by using the new function path_strip_last_volume(). Finally, add a comment at the top of the function that explains what it does. Change-Id: If4e4938801f2f81eb52f5d32b5461872995e5e83
2022-04-01Add path_strip_last_volumeAidan MacDonald2-2/+38
This gets the volume that the path eventually refers to by parsing the last volume specifier and returning the part of the path after it (which does not contain any volume specifiers). The initial part of the path therefore contains everything up to and including the last volume specifier. Change-Id: I9a935543256f8f22e0b8b1e3c88d4e47bd9dae8a
2022-04-01ImageViewer: M3K keymap allow scrolling up/downChristian Soffke2-0/+10
Change-Id: I385354688b1d8f8df4d44e7e177e23bdb6ed3df4
2022-04-01lastfm Scrobbler: Substitute album artist for empty artist.James D. Smith1-5/+6
Change-Id: I66dda13ec2cbb592ebe0d269f0c7eff749bc737a
2022-03-31hosted: call 'sync' before poweroffAidan MacDonald1-0/+1
Might be needed to avoid filesystem corruption with buggy OF kernels. Change-Id: I589eec6c1536beccf849716f11204b4b83a942a1
2022-03-31FS13338: Updated Slovak translation (Matej Golian)Solomon Peachy1-4/+3
Change-Id: I41f794a457435f0d02da180673e272438e3879b2
2022-03-31FS13441: Updated Italian translation (Alessio Lenzi)Solomon Peachy1-21/+107
Change-Id: I442d79842ca1d58d122058171175a6fee844a353
2022-03-31FS13340: Updated Polish Translation (Adam Rak)Solomon Peachy1-4/+105
Change-Id: I5b10231277c6c546400b3d74e3c0339f6026b729
2022-03-30alarm_menu share setter with settimeWilliam Wilgus5-157/+42
share the time picker with the alarm block the date portion, seconds are ignored Change-Id: Idc6974466772c33248ff532c8f3c62c744ee06d9
2022-03-27rbutil: Bump to 1.5.0.rbutil_1.5.0Dominik Riebeling2-3/+3
Change-Id: I074da5a2ce33b65d554a7de22a993e536e93f48d
2022-03-27x1000: Add multiboot supportAidan MacDonald4-0/+21
Enables multiboot for the FiiO M3K, Shanling Q1, and Eros Q native port. Note this requires an up-to-date Rockbox _and_ bootloader. Usage instructions will (eventually) be found on the wiki: https://www.rockbox.org/wiki/MultibootBootloader Change-Id: Ia2da1ad6ef611e499d2fbafa93838387bc1023ba
2022-03-27multiboot: Allow searching in volume 0 for redirect fileAidan MacDonald8-1/+13
Searching in volume 0 is necessary for multiboot targets with only one drive, like the M3K/Q1/ErosQ. Without this the search code will never look at the redirect file on these targets. The search bound is configured with a setting MULTIBOOT_MIN_VOLUME, which defaults to 0, but is defined to 1 for Sansa players so they keep their old behavior. Change-Id: I6dc5cf98db4258731de2c68c3ab1182b4a4a655b
2022-03-27PictureFlow: Configurable album sortingChristian Soffke2-49/+485
Now offers sorting by: - Album artist, then album name - Album artist, then album year - Album year - Album name Years are determined by the most recently released track appearing on an album, if the value differs between tracks. On the M3K, instead of by going into Settings, volume buttons can also be used for quickly adjusting the current sorting Change-Id: I2c50059617114fb418336c466fdd37415473ac7d
2022-03-27PictureFlow: Prevent queue overflow & simplify lockingChristian Soffke1-15/+9
Change-Id: I41f620a4fdaf155913a944e7caf4c015990a53d4
2022-03-27PictureFlow: Write bitmaps in one goChristian Soffke1-7/+1
Analogous to an earlier change w.r.t. reading bitmaps Change-Id: I68e71160b51eb893f18071cc77d9c9a3ef84de0f
2022-03-27rbutil: Update german translation.Dominik Riebeling1-246/+329
Change-Id: I5c5cd8a0496dced977c4ed1e7189d43c1b0314f1
2022-03-27rbutil: Fix langstat script.Dominik Riebeling1-20/+19
Change-Id: I323b0e8dbf87f1d53881f5b89f26c5906796fde4
2022-03-26rbutil: Fix Qt6 Windows build.Dominik Riebeling1-2/+4
It seems Qt6 doesn't require explicit linking to QSvgIconPlugin anymore, and cmake has trouble finding it. On native Windows builds it isn't required, so remove it. Change-Id: I87651f51ab212511947ab9fca3297b0dff276577
2022-03-26rbutil: Fix implicit type conversion on Windows.Dominik Riebeling1-1/+1
Change-Id: I30c5edd5ce0344c47c0f9514eda830a2be8992c4
2022-03-26lastfm_scrobbler fix yellow for targets w/o storage callbackWilliam Wilgus1-1/+2
Change-Id: I0a3dbcf8c8c0c72efa2506d1998fd24d228ed91d
2022-03-26Last FM scrobbler remove manual entryWilliam Wilgus1-12/+0
Change-Id: Ib49ceac9858c28813c596a38dd5376928330598f
2022-03-26lastfm_scrobbler fix red for devices w/o storage callbackWilliam Wilgus1-0/+7
Change-Id: I2062534b6e2a82171b856cc76efe8b78dbf9b13c
2022-03-26LastFm remove scrobbler from core make a TSR plugin WIPWilliam Wilgus12-355/+591
remove scrobbler from core make it a plugin Change-Id: I606810eba7d570dfb332789aed913c6f8adc7fb7
2022-03-25add way to lock portion of plugin buffer for TSR pluginsWilliam Wilgus2-0/+24
Some things in core that should probably be plugins steal the plugin buffer for their own use, TSR plugins have no way to detect or prevent this lock buffer reserves buffer_size bytes directly after the plugin itself returns the unreserved bytes still available from the plugin buffer Change-Id: I5a7849e209129b09400036a594569ef396b1b85f
2022-03-25x1000: remove the last vestiges of boot option supportAidan MacDonald4-57/+28
There should be no need for any compatibility hacks since this value was mostly used internally between the SPL and bootloader. clk_init() was the only user in the main Rockbox binary which accessed it, but when loaded by the Rockbox bootloader that code will not be reached since BOOT_FLAG_CLK_INIT is already set. Change-Id: Idd68b9834172e652b47432bfb1e00c923ea35407
2022-03-25x1000: spl: remove selectable boot option supportAidan MacDonald6-241/+65
Now the SPL boots the Rockbox bootloader unconditionally, which allows for some simplification. Change-Id: Id75c82db25a87e0e9043bb0771f622b1fc9482fb
2022-03-25x1000: spl: remove dual boot support codeAidan MacDonald4-220/+0
Removes the SPL's dual boot support code, and removes the dual boot selection code on the M3K and Q1 since they can now do it from the main bootloader. Change-Id: Ie1b27e98c6ed4b3e37db86cfb485d6f3a6c5b25e
2022-03-25x1000: spl: split off NAND storage to separate fileAidan MacDonald3-25/+53
Just tidying. No functional changes. Change-Id: I8aa85c789d1a6bd357797c6c95e38a7325eba809
2022-03-25x1000: bootloader: Add button handlers for OF bootAidan MacDonald2-10/+31
The SPL soon won't be paying attention to buttons, so the bootloader should check them. Change-Id: I2048ca9fd19193f329bebecfefd986760c33fd68
2022-03-25x1000: bootloader: set touchscreen to button modeAidan MacDonald1-0/+3
The touchscreen "buttons" are used for screenshots on the Q1. Change-Id: I6bff00976c614d203986e810e51f859e78e372ab
2022-03-25x1000: bootloader: accept button input during splashAidan MacDonald1-1/+9
This allows screenshots to be taken while a splash is displayed. Change-Id: Id494189283db1b6877416f5a1ef1a13c8b654507
2022-03-25Fix double define of BL_SCREENSHOT_NAME on fiiom3kDana Conrad1-1/+1
Change-Id: Iaee40887de19ac2d78ec9bdea08cee678b7e50ef
2022-03-25x1000: bootloader: add screenshot functionAidan MacDonald7-4/+47
Screenshots of the recovery menu will be useful for documentation. This can be disabled by turning off HAVE_BOOTLOADER_SCREENDUMP in the target config file if the bootloader should ever run up against max size limits. Change-Id: I62ec1e465df2ca7a8a0e78625d88b31f6c4ef078
2022-03-25x1000: bootloader: skip bad blocks when loading flashed kernelsAidan MacDonald1-25/+83
Bad blocks in a kernel flash partition seem to be handled by skipping ahead to the next block; this is a common bad block management scheme for simple software like bootloaders (and is the default method for reading NAND partitions in u-boot). Extend the uImage flash reader to skip bad blocks while reading. Change-Id: I815875e83a2418e2642f736e04a3437c31b354ba
2022-03-24x1000: add bad block marker position to nand_chip infoAidan MacDonald2-0/+4
Change-Id: I6f466d87f6f11bc3e23463c469f318ecb7049ba7
2022-03-24x1000: bootloader: add whole-chip flash dump optionAidan MacDonald3-0/+10
I don't expect this will be all that useful, but why not... Change-Id: Ieb486bb719c5cc61e0f3e95f9fb603a1c30c6528
2022-03-24x1000: bootloader: add debug tools menuAidan MacDonald1-15/+44
Add a debug menu to invoke two new actions, dumping the OF kernel and recovery images from flash to the SD card. Change-Id: I3ca943fac22e725a2d56b84d62f4a04821042fed
2022-03-24x1000: bootloader: add basic flash dump utilityAidan MacDonald2-0/+83
Change-Id: Id4ce0f00a78ef27399bdef6a7b32c23f89b9cb05
2022-03-24x1000: bootloader: display uimage load error codeAidan MacDonald1-2/+2
Change-Id: I08361aa85406303c10bb487636a6a61a93d2b127
2022-03-24x1000: bootloader: refactor splash/splash2Aidan MacDonald6-39/+82
Allow the use of printf formatting and multiple lines of text using newlines in the string. Change-Id: I65919bf29c16c34c38cf3995e02d2ddbbaa4bdf3
2022-03-24linuxboot: add meaningful error codesAidan MacDonald1-19/+41
Change-Id: Ied964e99c389902bb1786c414c5d0fa20056040d
2022-03-24fiiom3k: trim OF kernel arguments to fix boot hangsAidan MacDonald1-2/+8
The M3K's kernel has an incredibly stupid function that mangles the kernel args and copies them to a 100-byte buffer without any kind of bounds checking. So, if the kernel arguments are more than 99 chars the stack may be corrupted, sometimes crashing the kernel. Fortunately, most of the arguments the OF uses are useless, and the truly necessary arguments fit within the absurd 99-char limit. Change-Id: I01ef4513298f79d3c08538239802c21e88509631
2022-03-24x1000: bootloader: fix Linux self-extracting kernel bootAidan MacDonald4-3/+143
Basically, there's longstanding bug in Linux with self-extracting kernels on MIPS which just happened to manifest now on the M3K as a hang on boot. The fix is applied to the M3K and Q1 since they both use this type of kernel image. Change-Id: I17d2bad6eebd677cd6d2e0bf146450c71fcf1229
2022-03-24x1000: bootloader: add LCD dualboot cleanup for the M3KAidan MacDonald1-7/+5
Disable LCD interrupts before booting the OF - the OF kernel hangs at boot if they are enabled. Change-Id: I4f119818d0243953cdd620e17d9509b4fb16cc28
2022-03-24x1000: bootloader: add mainline Linux boot optionAidan MacDonald3-0/+93
This adds a *very basic* Linux loader to the Rockbox bootloader, which allows running a mainline Linux kernel using the following file layout on the SD card: - /uImage - /linux_cmdline.txt The command line arguments are listed in linux_cmdline.txt, all lines are concatenated together and whitespace is converted into spaces. Comments aren't supported however. The loader doesn't support the modern devicetree boot protocol, so it can only pass command line arguments. It would be easy to support an appended dtb though. Change-Id: I373f465dbbdafe94738f619748cbb0278fc2c25f