Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



whenwhatwherewho
Yesterday 15:56 0faf978c3d: build: Add an 'xz' target to generate a .tar.xz image

Improve the tarball generation a bit too
tools/root.make [diff]
Solomon Peachy
Yesterday 15:30 3831051c47: mknkboot: optimize verifyfirm

The checksum only needs to be calculated once. A small oversight on my initial implementation.
utils/MTP/beastpatcher/mknkboot.c [diff]
James Buren
Wednesday 21:37 2ed4bf8a43: FS #13299: Handle MP3 files with more than 128K of headers before audio data

Encountered a file with ~600K of ID3v1 headers.

Optimize the potential overhead by minimizing reverse seeks.
lib/rbcodec/metadata/mp3data.c [diff]
Solomon Peachy
Wednesday 20:58 fa9ddd5af9: Revert "FS #13299: Simplify VBR frame parsing in the metadata decoder."

This reverts commit 756c0d2ac82515ea8389c69f5f87ca395daca63d.
lib/rbcodec/metadata/mp3data.c [diff]
Solomon Peachy
Wednesday 20:22 7aade87863: Fix yellow from 9ccae042
apps/plugins/calculator.c [diff]
Aidan MacDonald
Wednesday 19:50 9ccae0421a: Implement x^y in calculator
apps/plugins/calculator.c [diff]
Moshe Piekarski
Wednesday 19:49 a3f2b64a46: Enable float formatting in printf

Needed for g#3415, and if the comment is to be believed, this needed updating for recent MIPS targets anyway.

Just blanket enable everything for all targets with >= 8 MiB of RAM. The only targets with less than this are the Sansa Clip, c200v2, and m200v4, which all have 2 MB of RAM.

The added code size is around 4 KiB to 7 KiB, depending on the target.
firmware/common/vuprintf.c [diff]
Aidan MacDonald
Tuesday 07:31 f6c7407cc3: DM320: Use SD/MMC data done interrupt

Wait on semaphore until DMA finishes instead of busy waiting. This allows the CPU to be used by other tasks during transfers.

Increase peripheral clock frequency, divide AHB by 2 instead of 3. Function clock frequency is AHB divided by MMC divider + 1.
firmware/export/dm320.h [diff]
firmware/target/arm/tms320dm320/sdmmc-dm320.c [diff]
Tomasz Moń
Monday 19:45 95408f2117: FiiO M3K: Add dual boot support
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.h [diff]
Aidan MacDonald
Monday 19:45 89f4064743: x1000: Extend CPM registers for dual boot
firmware/target/mips/ingenic_x1000/x1000/cpm.h [diff]
utils/reggen-ng/x1000.reggen [diff]
Aidan MacDonald
Monday 19:45 2d6ddd0c5b: x1000: NAND driver bugfixes

- Missing mutex unlock in nand_open()
- SET_FEATURE command incorrectly issued as a read operation
- Inverted protection bits, not sure how that happened...
- Block erase skipped ahead by a wrong amount, causing erases spanning multiple blocks to erase the wrong blocks

This code was buggy as hell... it's in need of a major overhaul. It's not very flexible or reliable, and access to the flash is useful during development of a new port, even if not useful once the port is complete.
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
firmware/target/mips/ingenic_x1000/sfc-x1000.c [diff]
Aidan MacDonald
Monday 12:48 02c4ec294c: Sansa Connect: Properly setup internal speaker

Switch to internal speaker when headphones are disconnected.
firmware/drivers/audio/aic3x.c [diff]
firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c [diff]
Tomasz Moń
Sunday 16:13 756c0d2ac8: FS #13299: Simplify VBR frame parsing in the metadata decoder.

The old code would seek forward by the frame length, expecting to see a frame header there, perform a validity check, and then seek back to the current header.

Unfortunately this doesn't handle situations where there is extra padding between the frames, leading us to potentially read garbage, causing the validity tests to fail and rejecting the file outright.

Instead, keep track of the previous valid header/position, and if we find
"valid" headers in a row return the first after seeking back to it.

This change allows the file referenced in FS13299 to be properly parsed, but further work is needed to get the file to be playable. (file reports itself as layer 1, variable bit rate, variable sample rate!)
lib/rbcodec/metadata/mp3data.c [diff]
Solomon Peachy
12th Jun 21:11 c067b344e8: FS #13297: M3K Autolock allows one action before disabling touchpad

Intercept buttonpress and action, and nullify both if the button is part of the touchpad. Only affects autolock functionality.

Adding removal of note about autolock in the manual - the lock button no longer needs to be pressed at least once to prime the autolock, if enabled, since commit 14f7a95
apps/action.c [diff]
manual/configure_rockbox/system_options.tex [diff]
Dana Conrad
12th Jun 14:47 f3f9d1fb95: USB Serial: Implement Abstract Control Management

On devices that can assign interrupt IN, bulk IN and bulk OUT endpoints this change results in the serial interface working out of the box on Linux and Windows. On Linux it is registered as ttyACM device and on Windows it is assigned a COM port number.

On devices that cannot assign the interrupt IN this change won't have any effect.

Implement minimum required interface control requests. Respond with whatever line coding was set to make terminal programs happy.
firmware/export/usb_ch9.h [diff]
firmware/usbstack/usb_serial.c [diff]
Tomasz Moń
12th Jun 13:54 663d846cf3: Sansa Connect: Disable endpoint double buffering

Disabling double buffering results in expected CPPI TX behaviour. With the double buffering enabled, sending single ZLP resulted in two ZLPs being available. The two ZLPs is problematic because this causes Windows to reset USB device after failed SCSI command.

The problematic sequence on Windows 10 was as follows:
* Host sends SCSI Mode Sense(6) Informational Exceptions Control(0x1C)
* Device sends ZLP
* Device sends command failed response

With endpoint double buffering enabled the ZLP was read twice by host. As host was expecting command response on the second read (and got ZLP instead), host attempts recovery by resetting USB device and retrying.
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c [diff]
Tomasz Moń
12th Jun 06:32 a90ef8195b: mknkboot/beastpatcher: implement basic firmware validation

This imports the MD5 code used by other utilities and creates a function for checking the provided NK.bin against known original firmware checksums. Integration into mknkboot and beastpatcher is also added.

For the sake of consistency with beastpatcher, mknkboot had its printf statements rewrote to print to stderr like beastpatcher does.
utils/MTP/beastpatcher/Makefile [diff]
utils/MTP/beastpatcher/beastpatcher.c [diff]
utils/MTP/beastpatcher/md5.c [new]
utils/MTP/beastpatcher/md5.h [new]
utils/MTP/beastpatcher/mknkboot.c [diff]
utils/MTP/beastpatcher/mknkboot.h [diff]
James Buren
11th Jun 19:32 fe9bcd0468: beastpatcher: fix some minor issues

This mainly fixes some compiler warnings and makes it work with mingw64.
utils/MTP/beastpatcher/Makefile [diff]
utils/MTP/beastpatcher/mtp_libmtp.c [diff]
James Buren
11th Jun 19:32 ab0f23c4b1: sendfirm: fix some minor issues

This patches some compile warnings and also makes it work correctly with modern mingw64.
utils/MTP/Makefile [diff]
utils/MTP/sendfirm.c [diff]
James Buren
11th Jun 19:09 d01f3192f2: Spin off common ft6x06 code to a driver

Allows for the i2c boilerplate to be shared between the M3K and Shanling Q1 ports. M3K-specific quirks remain in button-fiiom3k.
firmware/SOURCES [diff]
firmware/drivers/ft6x06.c [new]
firmware/export/config/fiiom3k.h [diff]
firmware/export/ft6x06.h [new]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
Aidan MacDonald
10th Jun 06:43 551c74da55: Sansa Connect: Remove fake battery voltage scale

Use battery percentage as reported by AVR.
firmware/SOURCES [diff]
firmware/export/config/sansaconnect.h [diff]
firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c [diff]
firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c [deleted]
Tomasz Moń
10th Jun 06:02 f26499bd67: Sansa Connect: Add missing include

Include usb.h to have usb_acknowledge() prototype.
firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c [diff]
Tomasz Moń
9th Jun 18:52 163e3507f8: Sansa Connect: Working USB Mass Storage

Acknowledge SYS_USB_CONNECTED in all queues so USB task can gain exclusive access to the storage.

Reduce CPPI requeue timeout to speed up disk access.
bootloader/sansaconnect.c [diff]
firmware/export/config.h [diff]
firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c [diff]
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c [diff]
firmware/target/arm/tms320dm320/sdmmc-dm320.c [diff]
Tomasz Moń
9th Jun 17:13 a11c88e0df: Sansa Connect: Fix sending ZLP on non-zero endpoint

This fixes panic when mass storage driver sends failed result.
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c [diff]
Tomasz Moń
9th Jun 10:21 efa173a923: Sansa Connect: Fix bulk transfers greater than 64 bytes

Correctly set endpoint maximum packet size so host will not consider end of transfer after receiving first packet when transfer is larger than 64 bytes (at High Speed the endpoint max packet size was set to 64 but according to descriptor it is 512).

Split DMA transfers up to CPPI_MAX_FRAG so we get single interrupt after each call to tnetv_cppi_send().
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c [diff]
Tomasz Moń
9th Jun 10:09 7f3d0ce814: DM320: Fix SDHC response format 2 handling

Return complete R2 response to caller. Due to incorrect bitfield handling only bits [127-96] were ever returned to caller.
firmware/target/arm/tms320dm320/sdmmc-dm320.c [diff]
Tomasz Moń
7th Jun 22:01 41ced369f6: ErosQ Simulator: fix keymap

The eros q simulator keys have been weird for a while, found out why.
uisimulator/buttonmap/erosq.c [diff]
Dana Conrad
7th Jun 21:28 55c95a9cf5: FiiO M3K: filter touchpad input when it's disabled

I had hoped this would fix FS #13297, but no luck. Might as well do this change anyway, because it's the "right" thing to do.
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
Aidan MacDonald
6th Jun 21:44 4c94c17913: ErosQ: undo ACTION_YESNO_ACCEPT button release

I accidentally left this in commit 8056b7f, and I think I'm giving up on this for now - it just gets too complicated in the usb use case. Revert to BUTTON_PLAY.
apps/keymaps/keymap-erosq.c [diff]
Dana Conrad
6th Jun 11:06 2b23d3ecaf: x1000: Allow setting IRQ handlers dynamically

Avoids having to #define the names of GPIO pin interrupt handlers, as they can now be set at runtime instead.
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.h [diff]
firmware/target/mips/ingenic_x1000/msc-x1000.c [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
firmware/target/mips/ingenic_x1000/usb-x1000.c [diff]
Aidan MacDonald
6th Jun 11:06 e85bc74b30: x1000: GPIO refactor

The GPIO API was pretty clunky and pin settings were decentralized, making it hard to see what was happening and making GPIO stuff look like a mess, frankly.

Instead of passing clunky (port, pin) pairs everywhere, GPIOs are now identified with a single int. The extra overhead should be minimal as GPIO configuration is generally not on a performance-critical path.

Pin assignments are now mostly consolidated in gpio-target.h and put in various tables so gpio_init() can assign most pins at boot time.

Most drivers no longer need to touch GPIOs and basic pin I/O stuff can happen without config since pins are put into the right state. IRQ pins still need to be configured manually before use.
firmware/SOURCES [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/gpio-target.h [new]
firmware/target/mips/ingenic_x1000/fiiom3k/lcd-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.c [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.h [diff]
firmware/target/mips/ingenic_x1000/i2c-x1000.c [diff]
firmware/target/mips/ingenic_x1000/msc-x1000.c [diff]
firmware/target/mips/ingenic_x1000/msc-x1000.h [diff]
firmware/target/mips/ingenic_x1000/pcm-x1000.c [diff]
firmware/target/mips/ingenic_x1000/pwm-x1000.c [diff]
firmware/target/mips/ingenic_x1000/sd-x1000.c [diff]
firmware/target/mips/ingenic_x1000/sfc-x1000.c [diff]
firmware/target/mips/ingenic_x1000/usb-x1000.c [diff]
Aidan MacDonald
6th Jun 10:52 695d1701cd: jztool: add correct compiler flags for building on Mac
rbutil/jztool/Makefile [diff]
Aidan MacDonald
6th Jun 07:57 474293a12b: Sansa Connect: Initial TNETV105 driver port

Port USB driver from Sansa Connect Linux kernel sources. The device successfully enumerates and responds to SCSI commands but actual disk access does not work. The SCSI response sent to host mentions that both internal storage and microsd card are not present.
bootloader/sansaconnect.c [diff]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/sansaconnect.h [diff]
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_cppi.c [new]
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_cppi.h [new]
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c [new]
firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.h [new]
firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c [diff]
firmware/target/arm/tms320dm320/system-dm320.c [diff]
firmware/target/arm/tms320dm320/system-target.h [diff]
Tomasz Moń
5th Jun 18:41 77603c344d: DM320: Fix buffer overrun in sdmmc driver

Modify count, buffer and start address only after successful transfer. This makes the retry operation to use the same address and buffer as the just failed transfer.
firmware/target/arm/tms320dm320/sdmmc-dm320.c [diff]
Tomasz Moń
4th Jun 14:05 62098a0cc9: toolchain: To build GCC for hosted targets, we need -std=gnu++11 for stage2.

But for stage1 (and non-hosted targets) we can stick with -std=gnu++03.

This keeps everyone happy with no apparent regerssions on older host compilers.
tools/rockboxdev.sh [diff]
Solomon Peachy
4th Jun 13:06 49dfc8be27: rockboxdev.sh fixes for hosted MIPS toolchain

Add --with-sysroot= to the configure args of glib and dbus because otherwise they get confused and try to use host system dependencies.

Also fix the broken restart logic so you can actually restart a build.
tools/rockboxdev.sh [diff]
Aidan MacDonald
4th Jun 12:38 18288fcce6: toolchains: Fix gcc 4,9.4 compilation using GCC11.

Basically it defaults to using C++17, which breaks the GCC compilation. Instead, explicitly specify -std=c++03, which should work everywhere.
tools/rockboxdev.sh [diff]
Solomon Peachy
4th Jun 01:04 ce5fe4d108: ata: fix a typo in a definition that's thankfully not used.
firmware/drivers/ata.c [diff]
Solomon Peachy
4th Jun 01:03 00440f2137: ipod6g:: Get rid of magic command numbers in ata driver

Use CMD_* macros instead. Makes the code a bit easier to follow.

No functional change.
firmware/drivers/ata.c [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c [diff]
Solomon Peachy
4th Jun 00:00 14f7a958af: Softlock Improvements

Add a check to see if the keys are currently locked and allow them to be unlocked to ensure we don't get stuck when the current playlist ends while the WPS is locked.
(Original by Aidan MacDonald)

Adding initialization for unlock_combo and to arm the autolock
(if enabled) without the user needing to press the lock button at least once every boot (which is the prior behavior).

Removing screen_has_lock check from is_keys_locked()
apps/action.c [diff]
apps/action.h [diff]
apps/menus/settings_menu.c [diff]
apps/settings.c [diff]
Dana Conrad
3rd Jun 22:54 cec6422ace: x1000: LCD driver minor fixes & improvements

- Use unsigned bitfields in 'lcd_tgt_config'
- Set DTIMES when using an 8-bit bus width
- Allow using DMA big-endian mode
- Provide an #ifdef to avoid stopping DMA in the middle of a frame
- Correctly #ifdef LCD sleep code when target does not implement it
firmware/target/mips/ingenic_x1000/lcd-x1000.c [diff]
firmware/target/mips/ingenic_x1000/lcd-x1000.h [diff]
Aidan MacDonald
2nd Jun 22:52 a6b5de6a89: x1000: minor adjustments to PWM code

- Change busy loop to wait on the timer flag instead of hoping to catch the timer at exactly the right moment... unsurprisingly, that did not work well with higher frequency PWM outputs.
- Put GPIO data into a dedicated const array.
firmware/target/mips/ingenic_x1000/pwm-x1000.c [diff]
Aidan MacDonald
1st Jun 19:57 0187fca640: axp173 driver: rename to "axp-pmu" + other changes

The old name was a bit misleading. AXP173 is sort of the lowest common denominator of a series of related chips. The M3K uses an AXP192 which has a few extra features vs. the AXP173.

New voltage regulator stuff was added for the sake of the Shanling Q1 native port (that player also uses an AXP192).
firmware/SOURCES [diff]
firmware/drivers/axp-pmu.c [new]
firmware/drivers/axp173.c [deleted]
firmware/export/axp-pmu.h [new]
firmware/export/axp173.h [deleted]
firmware/export/config/fiiom3k.h [diff]
firmware/target/mips/ingenic_x1000/debug-x1000.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/i2c-target.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
Aidan MacDonald
31th May 23:26 2066465b78: FiiO M3K: minor fixes

- Drop obsolete NAND patch script (it's simpler to use 'dd' directly)
- Remove an outdated comment
- Fix missing 'void' in a function definition
- Reset the poweroff timer when we poke the backlight
firmware/target/mips/ingenic_x1000/fiiom3k/backlight-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
utils/fiio_m3k_tools/nand_patcher.py [deleted]
Aidan MacDonald
31th May 22:00 663c5268ac: AK4376 driver: refactoring

Some audiohw API calls are shared between playback and recording, eg. frequency settings. Implementing these in the DAC driver won't work for the M3K, as it uses a separate codec for microphone input.
firmware/drivers/audio/ak4376.c [diff]
firmware/export/ak4376.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c [diff]
Aidan MacDonald
30th May 19:17 f63edb52ef: x1000: refactor AIC initialization

Have pcm-x1000 handle most work, so target's audiohw code touches only the relevant settings.
firmware/target/mips/ingenic_x1000/aic-x1000.c [diff]
firmware/target/mips/ingenic_x1000/aic-x1000.h [diff]
firmware/target/mips/ingenic_x1000/dma-x1000.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/pcm-x1000.c [diff]
firmware/target/mips/ingenic_x1000/x1000/aic.h [diff]
utils/reggen-ng/x1000.reggen [diff]
Aidan MacDonald
29th May 15:35 c78ba1aa68: MIPS: add another mipsr2 endian function

Used by WAV and AIFF encoders for recording.
firmware/target/mips/mipsr2-endian.h [diff]
Aidan MacDonald
29th May 15:34 f64e8dc33c: x1000: Complete the register definitions

I think this covers everything now, although some fields are missing enum values. Those can be added in if and when they are needed.
firmware/target/mips/ingenic_x1000/x1000/aic.h [diff]
firmware/target/mips/ingenic_x1000/x1000/efuse.h [new]
firmware/target/mips/ingenic_x1000/x1000/pcm.h [new]
firmware/target/mips/ingenic_x1000/x1000/ssi.h [new]
firmware/target/mips/ingenic_x1000/x1000/uart.h [new]
utils/reggen-ng/x1000.reggen [diff]
Aidan MacDonald
28th May 00:58 8056b7fd1a: Yes/No Screen: Allow accept to be button release

Allows the ACTION_YESNO_ACCEPT action to be set to a button release by ignoring certain system events.

Moving USB init in main.c to the last thing to prevent getting stuck in the USB prompt, if enabled. Also changing ACTION_YESNO_ACCEPT to button release on erosq
apps/gui/yesno.c [diff]
apps/keymaps/keymap-erosq.c [diff]
apps/main.c [diff]
Dana Conrad
24th May 02:30 10d199f9d5: Allow Softlock to happen in most contexts

All this tested on erosq, I'm not sure if this will break on other targets or if there is a reason this shouldn't be done.

apps/menu.c:

Added CONTEXT_MAINMENU|ALLOW_SOFTLOCK in do_menu(), this allows the user to lock the keys in most places within the main menu tree.

apps/tree.c:

Added CONTEXT_TREE|ALLOW_SOFTLOCK in dirbrowse(), this allows locking the keys in most other contexts not covered by the above.

Notable exceptions I've found that still cannot be locked: View Playlist, any settings change screen (ex. Shuffle No/Yes, Volume Select dB)

Adding fix for Advanced Key Lock feature brought to light by this change in apps/action.c.

Expected behavior for Advanced keylock is now (according to my testing here): Volume: Can be exempted from keylock anywhere Skip/Scrollwheel: Can only be exempted in WPS Seek: Can only be exempted in WPS Play: Can only be exempted in WPS

Backlight exemption is same except the Volume exemption doesn't work outside the WPS, but I don't believe that is due to this change.
apps/action.c [diff]
apps/menu.c [diff]
apps/tree.c [diff]
Dana Conrad
23rd May 12:32 b66990cf77: manual: Migrate the manual from freenode to libera
manual/getting_started/main.tex [diff]
Solomon Peachy
22nd May 12:20 5cbeb88541: FiiO M3K: keymap improvements & fixes

- Add support for skip and seek while the player is locked.
(Thanks to @bahus for the suggestion)
- Fix touch zones because the down button zone ended up being a lot smaller than expected due to the touchpad's wonkiness. Also added a visual display of the touchpad to its debug menu.
- Fixes the pictureflow keymap because it was mostly unusable.
apps/keymaps/keymap-fiiom3k.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
Aidan MacDonald
22nd May 12:20 a2bac25a63: Allow alternative keymap when keys are locked

To enable support targets must define HAVE_LOCKED_ACTIONS and then handle the CONTEXT_LOCKED flag from get_context_mapping().
apps/action.c [diff]
apps/action.h [diff]
Aidan MacDonald
21st May 18:55 00b4626790: Sansa Connect: Clear recoverzap parameter

Clearing recoverzap parameter exists the Recovery Mode. This makes it possible to run Rockbox on Sansa Connect without relying on original Linux firmware.

Enable write-through cache on flash memory as write-back complicates handling without any real benefits. The flash memory accepts commands as series of writes at predefined addresses, so it is important that the cache does not interfere with the writes.
bootloader/sansaconnect.c [diff]
firmware/target/arm/tms320dm320/boot.lds [diff]
firmware/target/arm/tms320dm320/crt0.S [diff]
Tomasz Moń
21st May 00:52 5388607968: [Cabbiev2] If the 'Artist' tag is empty read the 'Album Artist' tag.
wps/cabbiev2.112x64x1.wps [diff]
wps/cabbiev2.128x128x16.wps [diff]
wps/cabbiev2.128x128x2.wps [diff]
wps/cabbiev2.128x160x16.wps [diff]
wps/cabbiev2.128x64x1.wps [diff]
wps/cabbiev2.128x96x16.wps [diff]
wps/cabbiev2.128x96x2.wps [diff]
wps/cabbiev2.132x80x16.wps [diff]
wps/cabbiev2.138x110x2.wps [diff]
wps/cabbiev2.160x128x1.wps [diff]
wps/cabbiev2.160x128x16.wps [diff]
wps/cabbiev2.160x128x2.wps [diff]
wps/cabbiev2.176x132x16.wps [diff]
wps/cabbiev2.176x220x16.wps [diff]
wps/cabbiev2.220x176x16.wps [diff]
wps/cabbiev2.240x320x16.mini2440.wps [diff]
wps/cabbiev2.240x320x16.wps [diff]
wps/cabbiev2.240x400x16.wps [diff]
wps/cabbiev2.320x240x16.mrobe500.wps [diff]
wps/cabbiev2.320x240x16.wps [diff]
wps/cabbiev2.320x480x16.wps [diff]
wps/cabbiev2.400x240x16.wps [diff]
wps/cabbiev2.480x800x16.wps [diff]
wps/cabbiev2.800x480x16.wps [diff]
wps/cabbiev2.96x96x16.wps [diff]
James D. Smith
20th May 03:29 e910f63bba: lua add a way to filter settings on read rather than dumping all the settings allow a filter function to choose desired settings

in menucoresettings you can see an how to do exact text matches or wilcard matches you can even use luas version of regex
apps/plugins/lua/include_lua/menucoresettings.lua [diff]
apps/plugins/lua/include_lua/rbsettings.lua [diff]
William Wilgus
19th May 23:28 dcff9b85a3: lua latebound function update

return the nextfunction and nil instead of pairs it allows a faster return to lua rather than calling the lua function pcall(fnpairs) from c and returning the result back into lua to kick off the search yeah, no clue why I didn't realize that before..

testing in x86 and ARM.. its more RAM efficient to do the initial creation of the stack in lua code for the __pairs functon its not faster but being that its a one time hit per iter creation the reduced churn alone should be worth it along with a reduced peak RAM usage

fix bug where a failed module can not be reloaded

optimize filetol

fix potential bug in splash scroller when no break character is found
apps/plugins/lua/lauxlib.c [diff]
apps/plugins/lua/loadlib.c [diff]
apps/plugins/lua/lparser.c [diff]
apps/plugins/lua/rockaux.c [diff]
William Wilgus
19th May 21:09 0c62177575: FS12845: Fix uninitialized read
firmware/drivers/synaptics-mep.c [diff]
Solomon Peachy
19th May 20:30 3ed035769c: FS #9093: Database initialization hangs if there's no music file on the player

Original patch by William Poetra Yoga Hadisoeseno
apps/tagcache.c [diff]
Solomon Peachy
18th May 12:43 0c4c1e6042: rbspeex: Fix build when using system speex libraries
tools/rbspeex/Makefile [diff]
Solomon Peachy
15th May 15:18 64bed8361d: FS #13289: Updated Polish translation (Adam Rak)
apps/lang/polski.lang [diff]
Solomon Peachy
14th May 10:30 ad64293ae6: X1000: fix SD driver issues

- Added panic check for unaligned addresses
- Properly set 50 MHz high-speed mode timings
firmware/target/mips/ingenic_x1000/msc-x1000.c [diff]
Aidan MacDonald
14th May 10:30 eb0336eded: FAT: align writes when bounce buffering is enabled

Motivation: turns out the DMA in the M3K's MSC controller is buggy, and can't handle unaligned addresses properly despite the HW docs claiming otherwise.

Extending the FAT driver bounce buffering code is the easiest way to work around the problem (but probably not the most efficient).
firmware/drivers/fat.c [diff]
Aidan MacDonald
14th May 01:40 ff28d238b8: ibasso: DX50/DX90 support 192KHz audio

Also bump max battery capacity to 7300mAh, to accomodate oversized aftermarket units that require case mods.
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
Solomon Peachy
13th May 17:33 237919f1c3: Fix invalid use of bool in doom

Settings code tries to cast the bool pointer to an int pointer and then write through it, which makes AddressSanitizer whine.
apps/plugins/doom/doomdef.c [diff]
apps/plugins/doom/doomdef.h [diff]
apps/plugins/doom/m_misc.c [diff]
Aidan MacDonald
12th May 22:22 942b1dd072: FS13094: Fix a divide-by-zero crash parsing zero-length WMA/ASF files
lib/rbcodec/metadata/asf.c [diff]
Solomon Peachy
12th May 11:01 84a3cbe24d: ErosQ: Small keymap changes

- Move WPS Stop to Power (Hold)
- Add WPS Hotkey to Wheel scroll Fwd/Back
- Add WPS Quickscreen to Play (Hold)
- Add Tree Hotkey to Play (Hold)
apps/keymaps/keymap-erosq.c [diff]
firmware/export/config/aigoerosq.h [diff]
Dana Conrad
12th May 10:52 b895fb6643: Add tm->yday to RTC ports missing it
firmware/common/timefuncs.c [diff]
firmware/drivers/rtc/rtc_d2.c [diff]
firmware/drivers/rtc/rtc_ds1339_ds3231.c [diff]
firmware/drivers/rtc/rtc_e8564.c [diff]
firmware/drivers/rtc/rtc_mr100.c [diff]
firmware/drivers/rtc/rtc_pcf50605.c [diff]
firmware/drivers/rtc/rtc_pcf50606.c [diff]
firmware/drivers/rtc/rtc_rx5x348ab.c [diff]
firmware/drivers/rtc/rtc_s35380a.c [diff]
firmware/drivers/rtc/rtc_s35390a.c [diff]
firmware/drivers/rtc/rtc_s3c2440.c [diff]
firmware/include/timefuncs.h [diff]
firmware/target/arm/s5l8700/ipodnano2g/rtc-nano2g.c [diff]
firmware/target/arm/s5l8702/ipod6g/rtc-6g.c [diff]
Moshe Piekarski
12th May 10:35 3f26fcf340: FiiO M3K: New bootloader

SPL and UCL-compressed bootloader are now packed into one output, bootloader.m3k, eliminating the separate SPL build phase.

The Rockbox bootloader now has a recovery menu, accessible by holding VOL+ when booting, that lets you back up, restore, and update the bootloader from the device.
bootloader/SOURCES [diff]
bootloader/fiiom3k.c [diff]
firmware/SOURCES [diff]
firmware/export/installer.h [deleted]
firmware/target/mips/ingenic_x1000/boot.lds [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/boot.make [new]
firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.h [new]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h [deleted]
firmware/target/mips/ingenic_x1000/nand-x1000-err.h [deleted]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
firmware/target/mips/ingenic_x1000/spl-start.S [new]
firmware/target/mips/ingenic_x1000/spl-x1000-defs.h [deleted]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.h [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
firmware/target/mips/ingenic_x1000/x1000boot.make [new]
tools/configure [diff]
tools/root.make [diff]
Aidan MacDonald
12th May 10:35 cc22df198d: jztool: Support new M3K bootloader
rbutil/jztool/Makefile [diff]
rbutil/jztool/README.md [diff]
rbutil/jztool/include/jztool.h [diff]
rbutil/jztool/jztool.c [diff]
rbutil/jztool/src/context.c [diff]
rbutil/jztool/src/device_info.c [diff]
rbutil/jztool/src/fiiom3k.c [diff]
rbutil/jztool/src/identify_file.c [diff]
rbutil/jztool/src/paramlist.c [deleted]
rbutil/jztool/src/usb.c [diff]
rbutil/jztool/src/x1000.c [deleted]
rbutil/libtools.make [diff]
Aidan MacDonald
12th May 10:35 3748117ee3: Add standalone UCL decompressor
firmware/common/ucl_decompress.c [new]
firmware/export/ucl_decompress.h [new]
Aidan MacDonald
12th May 10:30 9a19360398: Add microtar library (for use by M3K bootloader)

This is an MIT-licensed library for reading and writing v7 format tar files. The version here is my fork, which fixes security issues in the original code (it hasn't been updated in 4 years, probably abandoned by the author).
docs/CREDITS [diff]
lib/microtar/LICENSE [new]
lib/microtar/README.md [new]
lib/microtar/SOURCES [new]
lib/microtar/microtar.make [new]
lib/microtar/src/Makefile [new]
lib/microtar/src/microtar-rockbox.c [new]
lib/microtar/src/microtar-stdio.c [new]
lib/microtar/src/microtar.c [new]
lib/microtar/src/microtar.h [new]
Aidan MacDonald
7th May 01:36 adff45ca21: lua -- temp loader

fix a few bugs, improve memory usage
apps/plugins/lua/include_lua/create_kbd_layout.lua [diff]
apps/plugins/lua/include_lua/menubuttons.lua [diff]
apps/plugins/lua/include_lua/menucoresettings.lua [diff]
apps/plugins/lua/include_lua/printtable.lua [diff]
apps/plugins/lua/include_lua/temploader.lua [diff]
apps/plugins/lua/rockaux.c [diff]
apps/plugins/lua_scripts/print_lua_func.lua [diff]
William Wilgus
6th May 07:37 15ad1c42db: X1000: simplify NAND driver

- Removed unnecessary layers of generic code
- Software ECC is gone since we don't need it now (and maybe not ever)
- Removed bounce buffering, so callers must now align buffers
firmware/SOURCES [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/nand-fiiom3k.c [deleted]
firmware/target/mips/ingenic_x1000/fiiom3k/nand-target.h [deleted]
firmware/target/mips/ingenic_x1000/nand-x1000-err.h [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
Aidan MacDonald
5th May 01:56 244aad750c: Update the english-us "translation"
apps/lang/english-us.lang [diff]
Solomon Peachy
4th May 03:13 9b2f23319c: lua fix yellow and add temploader

temp loader allows some lua requires to be loaded and later garbage collected unfortunately the module needs to be formatted in such a way to pass back a call table in order to keep the functions within from being garbage collected too early

BE AWARE this bypasses the module loader which would allow code reuse so if you aren't careful this memory saving tool could spell disaster for free RAM if you load the same code multiple times
apps/plugins/lua/include_lua/create_kbd_layout.lua [diff]
apps/plugins/lua/include_lua/temploader.lua [new]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rocklib.c [diff]
William Wilgus
4th May 01:52 489a5f3ff7: lua add ability to use custom kbd layouts

bring custom keyboard layouts to lua conversion to the proper format requires create_kbd_layout.lua just pass a lua string with your desired layout
apps/plugins/lua/include_lua/create_kbd_layout.lua [new]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/lua_scripts/print_lua_func.lua [diff]
William Wilgus
3rd May 20:10 4f83e66cd4: FS #13287 - Load a newly saved playlist and resume where it was

Works from any playlist saving operation accessed from the While Playing Screen, all other playlist saving operations are unchanged.

Now a user-selectable setting! Located in General Settings -> Playlists -> Current Playlist -> Reload After Saving (Yes/No)
apps/filetree.c [diff]
apps/filetree.h [diff]
apps/iap/iap-lingo4.c [diff]
apps/lang/english.lang [diff]
apps/menus/playlist_menu.c [diff]
apps/onplay.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/configure_rockbox/playlist_options.tex [diff]
Dana Conrad
1st May 01:26 49edfc237b: lcd_putsxyofs 16 bit lcd_mono_bitmap_part [AS]

'Bugfix' mono_bitmap_part reads ahead in the buffer, if the height is <= char bit pixels other memory gets read found with [Address Sanitizer]

also g#3332 since this is clearly a problem across the code instead place the check for height < 8 in the lcd_mono_bitmap_part function
firmware/drivers/lcd-16bit-common.c [diff]
William Wilgus
30th Apr 13:38 20cd89908d: lua submenus add a way to dynamically add items

updated example script and renamed some functions as well

fixed bug in printtable cursor position if greater than maxlines for the screen would reset to item 1

now we move the list start and select it
(and try to center it on the screen)

fixed a few bugs in the add_menu code
apps/plugins/lua/include_lua/printsubmenu.lua [diff]
apps/plugins/lua/include_lua/printtable.lua [diff]
apps/plugins/lua_scripts/submenu_demo.lua [diff]
William Wilgus
29th Apr 19:31 48b77898dc: jztool: portability fixes for Mac
rbutil/jztool/Makefile [diff]
rbutil/jztool/src/x1000.c [diff]
Aidan MacDonald
28th Apr 19:04 16a1993cad: x1000: Remove some #ifdef SPL in the sfc/nand code
firmware/target/mips/ingenic_x1000/fiiom3k/nand-target.h [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/sfc-x1000.c [diff]
firmware/target/mips/ingenic_x1000/sfc-x1000.h [diff]
Aidan MacDonald
28th Apr 19:04 423fcf951a: x1000: Rewrite clk_get code so it's more data driven

This is not pretty, but at least it should be usable by the SPL.
firmware/target/mips/ingenic_x1000/clk-x1000.c [diff]
firmware/target/mips/ingenic_x1000/clk-x1000.h [diff]
Aidan MacDonald
28th Apr 19:04 20fc928221: x1000: Centralize common definitions, memory layout
apps/plugins/plugin.lds [diff]
firmware/export/cpu.h [diff]
firmware/export/x1000.h [new]
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
Aidan MacDonald
28th Apr 19:04 ed8c977e2f: x1000: Fix stupid bug in the SPL

This overwrote the first 2 instructions of crt0 in the bootloader! I'm really not sure how this *didn't* cause a fatal exception.

This address isn't special as far as I know, so just move it to the TCSM by making it a static variable.
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
Aidan MacDonald
28th Apr 04:37 63b6281505: lua add submenu module + cleanup

allows menus + submenus + context menus all with simple tables menu_t which is a table of strings func_t which are the corresponding functions to go with those strings

see lua_scripts/submenu_demo.lua
apps/plugins/lua/include_lua/menubuttons.lua [new]
apps/plugins/lua/include_lua/menucoresettings.lua [new]
apps/plugins/lua/include_lua/print.lua [diff]
apps/plugins/lua/include_lua/printmenus.lua [diff]
apps/plugins/lua/include_lua/printsubmenu.lua [new]
apps/plugins/lua/include_lua/printtable.lua [diff]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua_scripts/submenu_demo.lua [new]
William Wilgus
26th Apr 12:41 d5695822a7: MIPS: remove .MIPS.abiflags section

The abiflags data is only used to communicate ABI information to a program loader -- you can see what info is stored with readelf -A. Dropping it shaves 24 bytes off of every binary (including plugins).
apps/plugins/plugin.lds [diff]
firmware/target/mips/ingenic_jz47xx/app.lds [diff]
firmware/target/mips/ingenic_jz47xx/boot.lds [diff]
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
Aidan MacDonald
26th Apr 11:42 7d0d32dbc6: Nuke the never-functional iriver ifp-7xx port

It never worked, and hasn't compiled in something like a decade, Given the HW capabilities (limited onboard flash, no expandability) there's really no point in trying to fix/complete it.
apps/SOURCES [diff]
apps/keymaps/keymap-ifp7xx.c [deleted]
apps/lang/english.lang [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/greyscale.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/grey_core.c [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/rockblox.c [diff]
apps/plugins/rockboy/rockboy.c [diff]
apps/plugins/stopwatch.c [diff]
apps/plugins/text_viewer/tv_button.h [diff]
apps/plugins/zxbox/keymaps.h [diff]
apps/plugins/zxbox/zxbox_keyb.c [diff]
firmware/SOURCES [diff]
firmware/drivers/ata_flash.c [deleted]
firmware/export/config.h [diff]
firmware/export/config/iriverifp7xx.h [deleted]
firmware/export/gdb_api.h [diff]
firmware/export/ifp_usb_serial.h [deleted]
firmware/ifp_usb_serial.c [deleted]
firmware/rolo.c [diff]
...and 28 more files.
Solomon Peachy
26th Apr 11:41 3ba2f6e5c7: Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAX

They were never finished, never saw any release ever, and haven't compiled for the better part of a decade. Given their HW capabilities [1], they are not worth trying to fix.

[1] 1-2MB RAM, ~256MB onboard flash, no expandability
apps/SOURCES [diff]
apps/keymaps/keymap-c100.c [deleted]
apps/keymaps/keymap-iaudio67.c [deleted]
apps/keymaps/keymap-logikdax.c [deleted]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/polski.lang [diff]
apps/lang/russian.lang [diff]
apps/lang/slovak.lang [diff]
apps/lang/srpski.lang [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/plugin.lds [diff]
...and 73 more files.
Solomon Peachy
25th Apr 14:27 77188e41f5: X1000: remove bogus GPIO Z mutex

There's absolutely no way for gpio_config() to get called from two different threads due to the co-operative threading model, and it is unsafe to call from IRQ context no matter what we do.
firmware/target/mips/ingenic_x1000/gpio-x1000.c [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.h [diff]
Aidan MacDonald
25th Apr 14:16 a2dfafb2b2: X1000: disable SFC DMA
firmware/target/mips/ingenic_x1000/sfc-x1000.c [diff]
Aidan MacDonald
25th Apr 14:04 d6220f618b: MIPS: emulate -ffunction-sections with macros in mmu-mips

Using a macro to put each function in its own .icode-based section allows us to put the functions in IRAM _and_ have linker GC. This removes a troublesome #ifdef BOOTLOADER_SPL on the X1000 target.
firmware/target/mips/ingenic_jz47xx/app.lds [diff]
firmware/target/mips/ingenic_jz47xx/boot.lds [diff]
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/mmu-mips.h [diff]
Aidan MacDonald
25th Apr 13:42 c37555d30d: FiiO M3K: remove the bootloader install debug menu

This menu serves no useful purpose anymore. I plan on adding an improved version of this functionality to the bootloader instead.
apps/debug_menu.c [diff]
Aidan MacDonald
24th Apr 04:00 557ff6a981: lua print_button script

also allow splash_scroller to be used as static text display
apps/plugins/lua/rbdefines_helper.pl [diff]
apps/plugins/lua/rockaux.c [diff]
apps/plugins/lua_scripts/print_buttons.lua [new]
William Wilgus
23rd Apr 14:23 14c6bb798d: Sync opus codec to upstream git
lib/rbcodec/codecs/libopus/README.rockbox [diff]
lib/rbcodec/codecs/libopus/SOURCES [diff]
lib/rbcodec/codecs/libopus/analysis.c [new]
lib/rbcodec/codecs/libopus/analysis.h [new]
lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h [diff]
lib/rbcodec/codecs/libopus/celt/arch.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/arm2gnu.pl [new]
lib/rbcodec/codecs/libopus/celt/arm/arm_celt_map.c [new]
lib/rbcodec/codecs/libopus/celt/arm/armcpu.c [new]
lib/rbcodec/codecs/libopus/celt/arm/armcpu.h [new]
lib/rbcodec/codecs/libopus/celt/arm/armopts.s.in [new]
lib/rbcodec/codecs/libopus/celt/arm/celt_fft_ne10.c [new]
lib/rbcodec/codecs/libopus/celt/arm/celt_mdct_ne10.c [new]
lib/rbcodec/codecs/libopus/celt/arm/celt_neon_intr.c [new]
lib/rbcodec/codecs/libopus/celt/arm/celt_pitch_xcorr_arm.s [new]
lib/rbcodec/codecs/libopus/celt/arm/fft_arm.h [new]
lib/rbcodec/codecs/libopus/celt/arm/fixed_arm64.h [new]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv4.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv5e.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/mdct_arm.h [new]
lib/rbcodec/codecs/libopus/celt/arm/pitch_arm.h [new]
lib/rbcodec/codecs/libopus/celt/arm/pitch_neon_intr.c [new]
lib/rbcodec/codecs/libopus/celt/bands.c [diff]
lib/rbcodec/codecs/libopus/celt/bands.h [diff]
lib/rbcodec/codecs/libopus/celt/celt.c [diff]
lib/rbcodec/codecs/libopus/celt/celt.h [diff]
lib/rbcodec/codecs/libopus/celt/celt_decoder.c [diff]
lib/rbcodec/codecs/libopus/celt/celt_encoder.c [new]
lib/rbcodec/codecs/libopus/celt/celt_lpc.c [diff]
lib/rbcodec/codecs/libopus/celt/celt_lpc.h [diff]
...and 256 more files.
William Wilgus
23rd Apr 13:25 75d9393796: rockboy: Properly fix the GCC11 code style warnings.
apps/plugins/rockboy/cpu.c [diff]
Solomon Peachy
23rd Apr 13:07 aab72f969f: ata: Rework power management behavior a bit

After continued reports of corruption using iFlash adapters, I went digging for more clues, and this combination of changes seemed to solve data corruption with the iFlash adapters on the ipod video:

1) Instead of SLEEP, use STANDBY_IMMEDIATE when we detect drive as an SSD or CFA-compliant device. The latter is technically higher power than the former, but what this means in practice is unclear. 2) Don't check ATA powermanagement flag prior to issuing powermgmt commands. This reverts the previous "workaround" for the FC1307A -- and PM is a mandatory part of the ATA spec for any CFA device. 3) Prior to issuing SLEEP/STANDBY_IMMEDIATE, issue FLUSH CACHE. The ATA spec says this is redundant for the latter, but says nothing about the former. Either way it is always safe to call first. 4) Delete all other FC1307A_WORKAROUND code related to powermgmt flags.
firmware/drivers/ata.c [diff]
Solomon Peachy
23rd Apr 12:45 0271c0ed36: rockboy: Upstream code style trips GCC11 warnings.

Code in cpu.h is correct, so just disable -Wmisleading-indentation for the specific sections that matter.
apps/plugins/rockboy/cpu.c [diff]
Solomon Peachy
23rd Apr 12:42 ebb9090004: xzbox: Fix misleading indentation that triggered GCC11 warnings
apps/plugins/zxbox/zxbox_keyb.c [diff]
Solomon Peachy
23rd Apr 12:40 03695429cf: blackjack: Fix warning triggered by GCC 11
apps/plugins/blackjack.c [diff]
Solomon Peachy
23rd Apr 12:01 39939a164b: Promote FiiO M3K (native) to "unstable"

Now nightly and voice builds will show up.
tools/builds.pm [diff]
Solomon Peachy
23rd Apr 01:01 f968d6032a: ipodpatcher: fix warning for apple stop sign constant

Convert both instances of the apple stop sign constant to char array instances. This ensures sizeof will work as expected when applied to the constant.
rbutil/ipodpatcher/ipodpatcher.c [diff]
tools/scramble.c [diff]
James Buren
22nd Apr 23:30 79d1b68fe2: FiiO M3K: disable USB DMA

Although data transfer is reliable with DMA, it seems to cause hangs and lockups during the early stages of connection and it's not clear what the cause might be.
firmware/export/config/fiiom3k.h [diff]
Aidan MacDonald
21st Apr 18:32 a544c8467d: FiiO M3K: increase bootloader font size

The default font was very small and hard to read.
tools/configure [diff]
Aidan MacDonald
21st Apr 18:31 75cb8ba8a4: FiiO M3K/X1000: add USB support

This only required a minor patch to the usb-designware driver due to DMA requiring physical addresses -- on the X1000, these differ from virtual addresses so we have to do the usual conversion.

Both the mass storage and HID drivers work, but there are a few issues so this can't be considered 100% stable yet.

- Mass storage might not be detected properly on insertion, and USB has to be replugged before it shows up
- HID driver may occasionally panic or hang the machine
apps/keymaps/keymap-fiiom3k.c [diff]
bootloader/fiiom3k.c [diff]
firmware/SOURCES [diff]
firmware/drivers/usb-designware.c [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
firmware/target/mips/ingenic_x1000/usb-x1000.c [new]
firmware/target/mips/ingenic_x1000/x1000/cpm.h [diff]
utils/reggen-ng/x1000.reggen [diff]
Aidan MacDonald
21st Apr 18:31 088ebb5fac: Minor enhancements to axp173 driver

- Added register names to reduce usage of magic numbers
- Added function to control max charging current, needed for USB
- Corrected comment about axp173, since FiiO M3K has an axp192
firmware/drivers/axp173.c [diff]
firmware/export/axp173.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
Aidan MacDonald
21st Apr 18:28 f6d3680cb8: Make sure battery menu is shown if it contains settings

The #if statement didn't reflect all menu items in the battery menu, so if the USB charging enable setting was the only one present, the entire menu would be hidden.
apps/menus/settings_menu.c [diff]
Aidan MacDonald
21st Apr 18:10 9313274302: FiiO M3K: fix LCD weirdness when booting via RoLo
firmware/rolo.c [diff]
Aidan MacDonald
20th Apr 12:50 27b44bca73: configure: Get rid of the unused NOISEFLOOR option in voicefile generation
tools/configure [diff]
Solomon Peachy
20th Apr 03:30 acda37edd1: lua print table put_line a do_menu alternative

add stylized lines to lua

the exported do_menu has a severe limitation of 64 items it also requires double the memory

put_line is the way rockbox builds menus

update printtable

user config from core -- done code cleanup fixed for 1-bit screens changed button behavior fixed for 2-bit screens
apps/plugins/lua/include_lua/print.lua [diff]
apps/plugins/lua/include_lua/printmenus.lua [new]
apps/plugins/lua/include_lua/printtable.lua [diff]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rbdefines_helper.pl [diff]
apps/plugins/lua/rocklib_img.c [diff]
apps/plugins/lua_scripts.lua [diff]
apps/plugins/lua_scripts/file_browser.lua [diff]
apps/plugins/lua_scripts/fileview.lua [diff]
apps/plugins/lua_scripts/fileviewers.lua [diff]
apps/plugins/lua_scripts/printmenu.lua [deleted]
apps/plugins/lua_scripts/rlimg.lua [diff]
apps/plugins/lua_scripts/tagnav.lua [diff]
William Wilgus
18th Apr 17:45 c71a47f649: Move usb-designware out of ARM target tree
firmware/SOURCES [diff]
firmware/target/arm/usb-designware.c firmware/drivers/usb-designware.c [rename]
Aidan MacDonald
17th Apr 20:24 92140752d7: FiiO M3K: disable CPU frequency switching

After conducting some simplistic tests, I found that the power usage did not appear to be affected by the CPU frequency.

I tested by playing back a 44.1 KHz FLAC file on single track repeat, and measured current with the AXP173's battery discharge current ADC. The button and LCD backlights were set to always on. Headphones were unplugged and the volume was muted to eliminate any influence from the headphone amp.

On average the current usage was between 78-81 mA at 1008 MHz, 252 MHz, and 112 MHz. If anything, 1008 MHz drew _less_ current than the lower frequencies, by about 1-3 mA.

A possible explanation for this, assuming it's not just a bias of the test, is that the CPU idle state saves so much power that it's better to maximize the real time that the CPU spends idling. More systematic testing is needed to confirm this.
firmware/export/config/fiiom3k.h [diff]
firmware/target/mips/ingenic_x1000/kernel-x1000.c [diff]
Aidan MacDonald
17th Apr 20:24 fceffb7d4a: x1000: disable CPU idle stats by default

There's no point including this in normal builds: the stats are not used for anything, they are not really of interest to anyone except developers, and add a small overhead to the kernel tick.
firmware/target/mips/ingenic_x1000/debug-x1000.c [diff]
firmware/target/mips/ingenic_x1000/kernel-x1000.c [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
Aidan MacDonald
17th Apr 20:24 01d1eb4258: FiiO M3K/X1000: Do system clock initialization in the SPL

Initializing the clocks in the SPL brings Rockbox in line with how the FiiO M3K's original SPL works. It's likely other X1000 devices do this too.

There was a logic error in the previous setup: the code falsely assumed that DDR memory would always be running from MPLL, but it would be switched to APLL by the bootloader. Rockbox would then try to re-init APLL, albeit with the same parameters. Maybe this was the cause of the boot hang on some units.
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
Aidan MacDonald
17th Apr 20:23 e123c5d2f2: x1000: don't reset all GPIOs at boot

What we really want is to avoid any interrupts being generated before the drivers which handle them are properly initialized. Intead of trashing all GPIOs, search for the problem pins and fix them, leaving the others alone.

This fixes the M3K's button light flickering on boot and should stop the M3K from entering a potentially confusing "dead" state where all the lights are off but the CPU is still on.
firmware/target/mips/ingenic_x1000/gpio-x1000.c [diff]
Aidan MacDonald
17th Apr 20:23 b41d53792c: jztool: New utility for installing a bootloader on FiiO M3K

At present, this is just a command line tool for Linux only.

Integrating this with the Rockbox utility and porting to other platforms should be straightforward; the README contains more information.
.gitignore [diff]
rbutil/jztool/Makefile [new]
rbutil/jztool/README.md [new]
rbutil/jztool/include/jztool.h [new]
rbutil/jztool/jztool.c [new]
rbutil/jztool/src/buffer.c [new]
rbutil/jztool/src/context.c [new]
rbutil/jztool/src/device_info.c [new]
rbutil/jztool/src/fiiom3k.c [new]
rbutil/jztool/src/identify_file.c [new]
rbutil/jztool/src/jztool_private.h [new]
rbutil/jztool/src/paramlist.c [new]
rbutil/jztool/src/usb.c [new]
rbutil/jztool/src/x1000.c [new]
Aidan MacDonald
17th Apr 20:22 1b8542490d: x1000: Redesign SPL, and allow it to flash the bootloader

SPL is now designed so core X1000 code is in control of the boot, under the reasonable assumption that the device boots from flash. It should not be too hard to adapt to other X1000 ports.

The biggest functional change is that the SPL can now read/write the flash, under the control of a host computer. The SPL relies on the boot ROM for USB communication, so the host has to execute the SPL multiple times following a protocol.
bootloader/SOURCES [diff]
firmware/SOURCES [diff]
bootloader/fiiom3k-spl.c firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [rename]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-target.h [new]
firmware/target/mips/ingenic_x1000/spl-x1000-defs.h [new]
bootloader/x1000-spl.c firmware/target/mips/ingenic_x1000/spl-x1000.c [rename]
firmware/target/mips/ingenic_x1000/spl-x1000.h [new]
Aidan MacDonald
17th Apr 15:33 85fbbd9c7f: 16 bit lcd_mono_bitmap

'Bugfix' mono_bitmap_part reads ahead in the buffer, if the height is <= char bit pixels other memory gets read
firmware/drivers/lcd-16bit-common.c [diff]
William Wilgus
17th Apr 13:06 afe80742a5: Fix Pictureflow bugs

It turns out that aa_cache.buf, used to store decoded album art during background scanning, was not correctly allocated and overlapped with memory allocated for buflib. This was what caused all the segfaults.

Also fixed a logic error in read_pfraw(), which returns a buflib handle on success, but also returned 0 on failure -- since 0 is a valid buflib handle, it should return -1 on failure instead.
apps/plugins/pictureflow/pictureflow.c [diff]
Aidan MacDonald
17th Apr 12:09 4dc602dd7f: erosq: Tweak volume scale to be approximately correct

Tested on eros q, everything measured from line out, open circuit.

- volume steps were approximately double the dB they were labelled as, so "-2 dB" would result in a change of about -4 dB from maximum (0, +6.2dBV)
- maximum volume defining the line out volume only changed every 10 values, and then was not close to correct- "-10 dB" resulted in -2.5 dB from maximum

This gets the volume dB approximately correct, and maximum volume correctly sets the line out volume. I was unable to get odd values in the max volume to work, so set the step size to 2 instead of one.

For "consumer level" (-10dBV), set to -16. For "Pro level" (+4dBu -> ~1.8dBV), set to -4.
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/export/erosqlinux_codec.h [diff]
Dana Conrad
16th Apr 14:10 a9d3e9a13d: The Matrix plugin -- Bugfix

Off by one errorS in the matrix plugin

might even say its the matrix plugin re-loaded
apps/plugins/matrix.c [diff]
William Wilgus
14th Apr 01:39 42dba708e3: hosted: Don't open alsa control device directly

It was just being used as a proxy "yeah, we called hw_init()" so just use a flag for that directly.

affects rocker, erosq, xduoo x3ii/x20, and fiiom3klinux
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/fiiolinux_codec.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
13th Apr 14:28 ec4b5c794e: ibasso: Found a reliable way to determine if SD card is present at startup
firmware/target/hosted/ibasso/vold-ibasso.c [diff]
Solomon Peachy
12th Apr 21:54 c0a49d9bdf: ibasso: Default to assuming the external SD card is inserted

Detection at startup is proving to be unreliable. Even if card is not present at startup, upon insertion it will sort itself out properly.
firmware/target/hosted/ibasso/vold-ibasso.c [diff]
Solomon Peachy
12th Apr 18:19 b6fce99046: ibasso: Implement proper PIVOT_ROOT filesystem access

Including direct use of the external SD card mount

Known issue: If SD card is inserted at startup, it must be ejected and reinserted to be registered.
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/target/hosted/ibasso/system-ibasso.c [diff]
firmware/target/hosted/ibasso/vold-ibasso.c [diff]
firmware/target/hosted/ibasso/vold-ibasso.h [diff]
Solomon Peachy
11th Apr 02:59 e4345f2db8: build: Make the lang.h and genlang.h depend on the genlang tool

(So if genlang is updated, regenerate the language headers)
apps/lang/lang.make [diff]
Solomon Peachy
11th Apr 01:06 6ae2b7140c: Fix red in bc416ff590

Most of it was due to checkwps breaking, the rest was m68k with radios.
apps/gui/skin_engine/skin_parser.c [diff]
apps/radio/presets.c [diff]
Solomon Peachy
10th Apr 16:08 bc416ff590: misc: Only include rbpaths.h and string-extra.h in places that need it

(Don't include rbpaths.h in settings.h, or string-extra.h in rbpaths.h)

Build-tested on rocker, erosq, mini2g, nano2g, xduoox3, clipzip, dx50, and uisim
apps/gui/icon.c [diff]
apps/gui/skin_engine/skin_engine.c [diff]
apps/menus/eq_menu.c [diff]
apps/menus/playlist_menu.c [diff]
apps/menus/recording_menu.c [diff]
apps/menus/settings_menu.c [diff]
apps/menus/theme_menu.c [diff]
apps/playlist_catalog.c [diff]
apps/radio/presets.c [diff]
apps/radio/radioart.c [diff]
apps/scrobbler.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/shortcuts.c [diff]
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/export/rbpaths.h [diff]
firmware/font.c [diff]
Solomon Peachy
10th Apr 14:25 1303be3437: ibasso: Get rid of #include "settings.h" in the button code

(It mucks with paths causing the input device open to fail)
firmware/target/hosted/ibasso/button-ibasso.c [diff]
Solomon Peachy
10th Apr 01:13 448f98d9c0: pp: fix adc mistake where base 10 was used instead of base 16
firmware/target/arm/pp/adc-pp5020.c [diff]
James Buren
9th Apr 23:21 13dbcab6c0: erosq: When mucking with the clickwheel, ensure we keep the screen awake!
firmware/drivers/button.c [diff]
firmware/target/hosted/button-devinput.c [diff]
Solomon Peachy
9th Apr 19:54 cd64aa2b10: xduoox3: Global volume_limit now applies to the line output as well

The X3's line out is a bit hot, at ~4.3Vpp, so allow it to be backed off.

(On my X3, backing it off to -6dB brings Vpp down to ~3.4V)
firmware/target/mips/ingenic_jz47xx/codec-jz4760.c [diff]
manual/configure_rockbox/sound_settings.tex [diff]
Solomon Peachy
9th Apr 10:53 10facef17b: Skin engine: respect volume decimalization

This is basically the same problem as FS #13272, except it happens on certain themes, eg. rayboradio. The issue only affects targets with decimal volume levels.

Tested the fix using the rayboradio theme on the FiiO M3K and the Fuze+ simulator. Volume was displayed correctly on both.
apps/gui/skin_engine/skin_tokens.c [diff]
Aidan MacDonald
9th Apr 10:53 9847f9c85e: x1000: don't add pointless '1' after SPL signature

I added this because it is present on the FiiO M3K's SPL, but nothing in Ingenic docs suggest this means anything.

Just get rid of it; the M3K boots fine without it.
tools/mkspl-x1000.c [diff]
Aidan MacDonald
9th Apr 10:53 c0a823e2ab: x1000: Trim unused cache functions from the SPL build
firmware/target/mips/ingenic_x1000/system-target.h [diff]
Aidan MacDonald
9th Apr 10:52 54b8e9131c: Revert "sound: add sound_numdecimals() to round out the sound setting query API"

There is already a sound_numdecimals() function, according to Git it's been around since 2005. No need to add another one :).

This reverts commit 92a0ab8789c622afecc47f3b399eda8abf26ee9e.
firmware/export/sound.h [diff]
firmware/sound.c [diff]
Aidan MacDonald
9th Apr 03:58 1e2a9a651c: erosq: Switch to 32-bit PCM output, and do volume scaling in driver

Should improve audio output quality, especially at lower volumes.
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/export/config/aigoerosq.h [diff]
firmware/export/erosqlinux_codec.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
9th Apr 03:10 e86d90905b: alsa: Fix an #ifdef typo in 54fcb907c1

HAE_ALSA_32BIT -> HAVE_ALSA_32BIT
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
9th Apr 03:02 54fcb907c1: alsa: instead of per-target tests, use HAVE_ALSA_32BIT

Affects all Sony NWZ (linux) and the fiio m3k linux targets.
firmware/export/config/fiiom3klinux.h [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/pcm-alsa.h [diff]
Solomon Peachy
9th Apr 01:58 e17337c9aa: ErosQ: fix panic on startup caused by ad55da5f

It turns out #include "settings.h" pulls in rbpaths.h which ends up remapping open() to the path-mangling rockbox open().

By defining RB_FILESYSTEM_OS we prevent the remap. My mistake for not testing this before committing!
firmware/drivers/audio/erosqlinux_codec.c [diff]
Solomon Peachy
8th Apr 18:37 ad55da5f87: ErosQ: Set Line Level Output volume

With a full-scale 440Hz tone, the line out voltage measured approx. 5.8Vpp at the 0 setting. WAY too hot!
(9 dBV, in fact)

For 0.894Vpp (-10 dBV - consumer devices), -18 appears to be about right for line level signals, but for "pro" equipment a different level may be desired.

Therefore, the user to cap the line out level by re-using the global volume limit setting.
firmware/drivers/audio/erosqlinux_codec.c [diff]
Dana Conrad
8th Apr 04:15 c77cd7027f: lua print_table add ability to draw a line separator

allows you to draw a line between items
apps/plugins/lua/include_lua/print.lua [diff]
apps/plugins/lua/include_lua/printtable.lua [diff]
William Wilgus
8th Apr 01:50 f8ce18c286: Update the english-us "translation"
apps/lang/english-us.lang [diff]
Solomon Peachy
8th Apr 01:48 d2f694696f: configure: Enable easy use of AddressSanitizer with sim builds
tools/configure [diff]
Solomon Peachy
7th Apr 21:02 1b82ebc6e4: Fix: Directory stream not closed in Shortcuts menu
apps/shortcuts.c [diff]
Christian Soffke
7th Apr 18:59 4b26372591: MIPS: make sure to fill 'jr' branch delay slot with 'nop'

Inline assembly in RoLO and the FiiO M3K bootloader used 'jr' to jump to a newly loaded Rockbox binary, but incorrectly left the branch delay slot open. That gives GCC an opening to place illegal instrutions, etc, which might cause an unhandled exception.
bootloader/fiiom3k-spl.c [diff]
bootloader/fiiom3k.c [diff]
firmware/rolo.c [diff]
Aidan MacDonald
7th Apr 18:38 213d372c92: FS #13272: Fix up volume_limit to respect decimilaztion.
apps/menus/sound_menu.c [diff]
firmware/sound.c [diff]
Solomon Peachy
7th Apr 16:22 c5cf15ed02: menu.c submenu items should be limited to MAX_MENU_SUBITEMS

maybe someone is checking somewhere but pretty sure the error message is a buffer overflow
apps/menu.c [diff]
William Wilgus
7th Apr 14:42 da542020c4: FS #13285: Updated Italian Translation (Alessio Lenzi)
apps/lang/italiano.lang [diff]
Solomon Peachy
7th Apr 11:02 8b56476a2c: list: After drawing scrollbars, explcitly switch back to old viewport.

The viewport used for the scrollbar is allocated on the stack, and falls out of scope before the next call to set_viewport(), which sets a flag in the now-out-of-scope "last" viewport.
apps/gui/bitmap/list.c [diff]
Solomon Peachy
6th Apr 16:27 28c89386af: x1000: Improve NAND driver API

- Proper error codes are now returned from all functions. These codes will be used by a host-side flash tool for error reporting.

- nand_erase_block() was replaced by nand_erase_bytes(). The caller can't know how big an eraseblock is with the current API, so next best thing is to verify the correct alignment inside the call and reject the erase if it isn't properly aligned.

- Fixed typo in nandcmd_block_erase() which would cause an SFC error to be interpreted as success. Yikes.
firmware/target/mips/ingenic_x1000/fiiom3k/installer-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000-err.h [new]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
amachronic
6th Apr 16:27 b5558c1cf9: x1000: place SPL's NAND bounce buffers in DRAM

This frees up 2 KiB in the SPL's memory map, leaving more room for code.
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
amachronic
6th Apr 16:27 1b314502c8: Remove a duplicate const
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
amachronic
6th Apr 16:27 0fb333c85e: rbcodec: Fix typo in include guard
lib/rbcodec/codecs/libgme/m3u_playlist.h [diff]
amachronic
5th Apr 13:57 74ae18cc8a: fiiom3k_linux: Enable HAVE_TOUCHPAD and add in missing bits
firmware/export/config/fiiom3klinux.h [diff]
firmware/target/hosted/fiio/button-fiio.c [diff]
firmware/target/hosted/fiio/button-target.h [diff]
Solomon Peachy
5th Apr 11:09 1aed109fa8: Add ability to always have autolock on

Tested on ErosQ

Added a setting in the Advanced Softlock menu to always have autolock on, rather than having to "arm" it with the softlock button. Lock/Unlock still works the same with this on, but when the screen turns off, the device always ends up in the locked state. Requires Autolock On to be set as well, and the normal Autolock functionality is unchanged with this off.

Caveat: the power/softlock button must be pressed at least once after powering on the device or enabling the feature. After that, it should consistently always "arm" the autolock.

Added feature to manual in manual/configure_rockbox/system_options.tex. Also updated some labels I had changed in the Advanced Key Lock menu and added information for Disable All Lock Notifications in a previous commit. Shared items also updated in manual/configure_rockbox/display_options.tex for selective backlight.
apps/action.c [diff]
apps/action.h [diff]
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
manual/configure_rockbox/display_options.tex [diff]
manual/configure_rockbox/system_options.tex [diff]
Dana Conrad
4th Apr 13:27 962d412917: hdd1630/hdd6330: update battery capacities

Ensure the default setting reflects what the service manual says the official battery capacity is. Change the ranges to reflect what replacement batteries are actually available.

This range is actually much shorter in reality due to these units requiring the rarer 3 pin battery type that uses a thermistor. As such there's only one real replacement battery for each.

So the HDD1630 caps out around 700 mah while the HDD6330 caps out around 680 mah.
firmware/export/config/gogearhdd1630.h [diff]
firmware/export/config/gogearhdd6330.h [diff]
James Buren
4th Apr 09:14 4bc7bafc68: Enable QuickScreen in filtered dir modes & playlist viewer

Will allow the QuickScreen to be accessed in the playlist catalogue and when editing a playlist using the playlist viewer.
apps/playlist_viewer.c [diff]
apps/tree.c [diff]
Christian Soffke
3rd Apr 22:14 4f374b3862: QuickScreen: Update status bar after changing volume

So that (e.g.) a skin's custom volume bar doesn't appear choppy during volume adjustments
apps/gui/quickscreen.c [diff]
Christian Soffke
3rd Apr 00:28 e09df1ce5b: Fix accidental fallthrough in FiiO M3K simulator keymap
uisimulator/buttonmap/fiio-m3k.c [diff]
Aidan MacDonald
2nd Apr 15:29 5d292d9283: README: Update cross-toolchain info
docs/README [diff]
Solomon Peachy
2nd Apr 15:25 2ebfbd3b7c: docs: Add myself to revelant parts of the MAINTAINERS file.
docs/MAINTAINERS [diff]
Solomon Peachy
2nd Apr 15:16 39db911164: h300: Fix html manual generation
manual/platform/iriverh300.tex [diff]
Solomon Peachy
2nd Apr 00:24 afec380a0d: gigabeats: Fix hang on startup caused by a stack overflow

headphone ADC thread stack was slightly too small. Bump it up a bit.

(it was _perfectly_ sized for the prior older toolchain+optimization flags...)
firmware/target/arm/imx31/gigabeat-s/headphone-gigabeat-s.c [diff]
Solomon Peachy
1st Apr 19:45 9e15c19891: build: Make it easier to disable plugins

Instead of 'ifdef ENABLEPLUGINS' (which always gets set) use
'ifeq(yes,$(ENABLEPLUGINS))' which means any value other than 'yes' is treated as a negative.
tools/root.make [diff]
Solomon Peachy
1st Apr 14:57 2f785c7797: PP: More cache invalidation fixes

Take into account the size of the pointer in the loop termination condition.
firmware/target/arm/pp/system-pp502x.c [diff]
Solomon Peachy
1st Apr 12:45 9f7f1a841a: PP: Use CURRENT_CORE instead of IF_COP_CORE(CPU)

Use of IF_COP_CORE was mistakenly introduced as part of 89acde6af2, effectively short-circuiting multiple tests resulting in the code paths always being executed, on both cores.

Use the correct macro, so per-CPU paths are handled properly.
firmware/target/arm/pp/system-pp502x.c [diff]
Solomon Peachy
1st Apr 10:54 0b20038d87: FiiO M3K: Hopefully fix the sim build
firmware/export/config/fiiom3k.h [diff]
Solomon Peachy
1st Apr 05:57 674c07d654: (Fix FS #13281) Revert "Restore playlist state as necessary before checking whether current playlist has been modified"

This reverts commit 46085c897854d145b5313c009fb70af428f0e6bd.
apps/playlist.c [diff]
Christian Soffke
1st Apr 04:52 89acde6af2: H10 PP Crash -- Fixed

This appears to finally fix the issue turns out the status register we were writing was only for the CPU COP cache flush wiped out the CPU cache
--

Added some defines to cut down on the magic numbers Added some comments explaining such

Set the address to full 20 bit address 0x1FFFFF which is then left shifted 11 internally -- somewhere around 4GB?

Link explains the cache status bits https://daniel.haxx.se/sansa/memory_controller.txt
firmware/export/pp5020.h [diff]
firmware/target/arm/pp/system-pp502x.c [diff]
William Wilgus
28th Mar 16:08 058a9ec945: Add M3K native to the simulator
apps/debug_menu.c [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-fiiom3k.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/fiio-m3k.c [new]
Solomon Peachy
28th Mar 14:46 afd8361d08: Add native FiiO M3K to builds.pm

Note: It's marked as 'unusable' right now, so it won't show up on build.rockbox.org, nor will daily & voice files be created.
tools/builds.pm [diff]
Solomon Peachy
28th Mar 00:01 3ec66893e3: New port: FiiO M3K on bare metal
.gitignore [diff]
apps/SOURCES [diff]
apps/debug_menu.c [diff]
apps/features.txt [diff]
apps/gui/option_select.h [diff]
apps/keymaps/keymap-fiiom3k.c [new]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/keymaps.h [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
...and 113 more files.
Aidan MacDonald
27th Mar 21:18 83fcbedc65: rk27xx: Take advantage of STORAGE_NEEDS_BOUNCE_BUFFER

(And get rid of its custom realignment code)
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
firmware/target/arm/rk27xx/system-target.h [diff]
Solomon Peachy
27th Mar 19:02 961ffa61dd: Use STORAGE_NEEDS_BOUNCE_BUFFER instead of STORAGE_NEEDS_ALIGN

Enable its use in the jz47xx MIPS targets.

(accidently committed g#3249 before making these changes)
firmware/drivers/fat.c [diff]
firmware/target/mips/ingenic_jz47xx/system-target.h [diff]
Solomon Peachy
27th Mar 18:43 c96dc1c886: xduoox3ii: Wrap the remote key detection in USE_REMOTE

Makes it straightforward to disable for debugging or defective hardware
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
27th Mar 18:43 ea1aef9b82: Have FAT filesystem respect storage buffer alignment on reads

This is just a minor cleanup of Solomon Peachy's code, and using per-filesystem buffers instead of a single static buffer.

Tested and working on the FiiO M3K.
firmware/drivers/fat.c [diff]
Aidan MacDonald
26th Mar 01:58 f00eea4434: ErosQ: Fix text entry keymap

Text entry keymap was almost completely backwards, and it was impossible to submit without adding one last character.
apps/keymaps/keymap-erosq.c [diff]
Dana Conrad
25th Mar 18:26 018372bf39: usb: implement macro for initializing USB strings

This uses the new unicode string literal feature that is available now to greatly simplify the initialization of these special string types. This makes them much more readable at a quick glance.
firmware/export/usb_drv.h [diff]
firmware/usbstack/usb_core.c [diff]
utils/hwstub/stub/main.c [diff]
utils/hwstub/stub/usb_drv.h [diff]
James Buren
25th Mar 16:23 7652e6f8df: rk27xx: Get rid of duplicate STORAGE_WANTS_ALIGN
firmware/export/config/ihifi770.h [diff]
firmware/export/config/ihifi770c.h [diff]
firmware/export/config/ihifi800.h [diff]
Solomon Peachy
25th Mar 16:20 d5cc74ebd8: build: Get rid of suplerflous '-Os' references in linker calls

We should be using global optimization flags, and -Os is already our default.
firmware/target/hosted/agptek/rocker.make [diff]
firmware/target/hosted/aigo/erosq.make [diff]
firmware/target/hosted/fiio/fiio.make [diff]
firmware/target/hosted/samsungypr/ypr0/ypr0.make [diff]
firmware/target/hosted/samsungypr/ypr1/ypr1.make [diff]
firmware/target/hosted/sonynwz/sonynwz.make [diff]
firmware/target/hosted/xduoo/xduoo.make [diff]
tools/root.make [diff]
Solomon Peachy
25th Mar 16:20 d121aa3fe8: build: We don't need sh-specific flags in the pictureflow build.
apps/plugins/pictureflow/pictureflow.make [diff]
Solomon Peachy
25th Mar 06:34 3d9d2de34d: Revert "lcd framebuffer - Bugfix #2 ensure proper alignment"

This reverts commit 3a5c5edbf6cb3ac5e4b65fe036ca50b41fabaa89.

Reason for revert:pulling in system.h breaks SDL

:(
firmware/export/lcd.h [diff]
William Wilgus
25th Mar 04:32 3a5c5edbf6: lcd framebuffer - Bugfix #2 ensure proper alignment

-- apparenty 0x4 aligned doesn't work properly

requires 0x8 alignment at least for the h10 20gb but enabled for all processors that define MEM_ALIGN_ATTR
firmware/export/lcd.h [diff]
William Wilgus
24th Mar 18:50 a53864ed4a: build: Don't overwrite autoconf.h unless it has actually changed

This way we only rebuild the world if something relevant changed.
tools/configure [diff]
Solomon Peachy
24th Mar 18:44 ed99b305a9: Revert "lcd framebuffer - Bugfix ensure proper alignment"

This reverts commit ffee661ab70e9622a05c9c2f24ecf474dad8f042.

Reason for revert: <INSERT REASONING HERE> iAudio M5 `IRAM' overflowed by 48 bytes
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-color-common.c [diff]
William Wilgus
24th Mar 18:22 ffee661ab7: lcd framebuffer - Bugfix ensure proper alignment

-- apparenty 0x4 aligned doesn't work properly

requires 0x8 alignment at least for the h10 20gb but enabled for all arm processors

assign the default framebuffer to the default_vp as well
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-color-common.c [diff]
William Wilgus
23rd Mar 15:42 94b40ed314: Add asynchronous I2C bus API

The driver core is based off of the i.MX233 I2C implementation and should work on any platform.
firmware/SOURCES [diff]
firmware/drivers/i2c-async.c [new]
firmware/export/i2c-async.h [new]
Aidan MacDonald
23rd Mar 13:01 eedc8934a9: FS13279: Update Polish Translation (Adam Rak)
apps/lang/polski.lang [diff]
Solomon Peachy
23rd Mar 13:01 9a8ec7e0df: Update english-us "translation"
apps/lang/english-us.lang [diff]
Solomon Peachy
23rd Mar 04:17 e862816773: Fix FS #13278: error message when playing a song with Rockbox for the very first time

The function to check whether a playlist has been modified will now only try to resume a playlist, if the global resume index is not -1.

This also means that replacing a finished (modified) playlist will not produce a warning anymore if Rockbox has been restarted in between. In that respect, the behavior is identical to what it was *before* 46085c897854.
apps/playlist.c [diff]
Christian Soffke
23rd Mar 03:09 3682891772: FS13277: Updated Polish translation (Adam Rak)
apps/lang/polski.lang [diff]
Solomon Peachy
23rd Mar 03:03 4d83f7a192: Call powermgmt_init_target() before polling the battery

In the old position of the call, the first battery reading would be made before initializing the target's power management code.

If the target needs to initialize before giving a battery reading, then the first reading would be wrong and the power thread might inappropriately shut down based on a false zero reading.

The new position avoids forcing special-case logic onto the target power management code.
firmware/powermgmt.c [diff]
Aidan MacDonald
23rd Mar 02:05 1c54c5227b: Add disable setting for all softlock notifications

Tested on erosq

Added ability to disable all softlock notifications. Setting is
"Disable All Lock Notifications" under Advanced Key Lock Settings.

Tested to make sure it doesn't interfere with backlight exemptions, keylock exemptions, or first press enables backlight only. When enabled, this overrules the existing Disable Notify setting, which only disables the reminders when a button is pressed while the device is already locked.

Also changed phrases in the Advanced Key Lock settings menu to make it more obvious what the options do. Changed LANG_ACTION_PLAY, LANG_ACTION_SEEK, and LANG_ACTION_SKIP from
"[button]" to "Exempt [button]". These language changes will also affect the Backlight Exemptions list, but the wording should be appropriate there as well.

Added LANG_SOFTLOCK_DISABLE_ALL_NOTIFY and LANG_ACTION_VOLUME, changed LANG_VOLUME to LANG_ACTION_VOLUME in display_menu.c for consistency.
apps/action.c [diff]
apps/action.h [diff]
apps/lang/english.lang [diff]
apps/menus/display_menu.c [diff]
apps/menus/settings_menu.c [diff]
Dana Conrad
22nd Mar 13:22 bf9fdb13c4: Remove some HAVE_FUNCTIONAL_MODE bits

This was dead code introduced by 0662793c, and got missed by 08ab3aea which should've removed it.
apps/menus/sound_menu.c [diff]
apps/settings.h [diff]
Aidan MacDonald
22nd Mar 13:22 90ad920d44: debug_menu: revise how the ATA device bit is reported

According to the ATA specification this bit is used to indicate either an ATA device or a CF compatible card. We use it currently to indicate CF compatible status. So let's change the wording accordingly.
apps/debug_menu.c [diff]
James Buren
22nd Mar 13:00 55805e13a4: Add new audiohw capability: POWER_MODE_CAP

This allows the user to make use of the DAC's power-saving abilities. The two modes are "high performance" and "battery saver". This feature is supported by the AK4376 DAC in the upcoming FiiO M3K port.

The setting is only a manual toggle right now, but in the future it could be hooked up to the battery level (via another setting) so it can be toggled automatically when the battery gets too low.
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/menus/sound_menu.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/drivers/audio/sdl.c [diff]
firmware/export/audiohw.h [diff]
firmware/export/audiohw_settings.h [diff]
firmware/export/sound.h [diff]
firmware/sound.c [diff]
Aidan MacDonald
22nd Mar 11:30 3a254a92c7: debug_menu: Fix compile error from previous commit
apps/debug_menu.c [diff]
James Buren
22nd Mar 10:51 3f88512b3b: debug_menu: report on ATA device type bits

This reports the ATA device type bits in a human readable format so that users can easily identify what their ATA device is claiming to be. This is mainly useful for troubleshooting a possible source of compatibility issues with their DAP. As such this is mainly an aid to CF modders.
apps/debug_menu.c [diff]
James Buren
22nd Mar 02:50 a8846e3003: Increase id3v2 max item size on high mem targets

As per multiple user requests: https://forums.rockbox.org/index.php/topic,53319.msg

The acceptable size for id3v2 fields currently maxes out at 240 bytes on targets with more than 2MB of memory.

The comments field, especially for Podcasts, can sometimes contain significantly more characters than Rockbox allows.

The limit for devices with more than 8MB of memory is increased to 500 bytes for individual fields, and to 1800 bytes for the buffer containing all fields.
lib/rbcodec/metadata/metadata.h [diff]
Christian Soffke
20th Mar 03:10 d5676fcd90: If backlight is off and keys are unlocked, power button wakes screen only

tested on erosq

On devices with both a backlight and a softlock button, currently pressing the softlock button while the screen is off and the keypad is unlocked will wake the screen and also lock the keypad. Presumably, the user's intention is to use the device when they hit the softlock button in this state, so wake the screen without locking the keypad.
apps/action.c [diff]
Dana Conrad
18th Mar 17:23 775645e649: Shortcuts.c fix regression from last bugfix

wiped out the lang id check which causes shortcuts menu to pop error message when browsing to folders

shortcut menu uses the return to check for validity
apps/open_plugin.c [diff]
William Wilgus
18th Mar 04:46 48952d498d: shortcuts menu bugfix wps context plugin fallthrough

if you ran a plugin from shortcut menu that originated from the WPS next time you pressed select in the wps it would attempt to run the wps context plugin
apps/root_menu.c [diff]
William Wilgus
18th Mar 02:39 29fa47d43d: Open Plugin cache plugin entry when possible

leave plugin entries in ram and try not to save them unless necessary doesn't use more space just a bit of careful ordering with the buffer
apps/misc.c [diff]
apps/open_plugin.c [diff]
apps/open_plugin.h [diff]
apps/root_menu.c [diff]
William Wilgus
17th Mar 22:09 10b873c407: xduoox3: In ROLO, allow the ADC to be shut down.

The hang we were seeing was due to IRAM wonkiness. that's fixed.
firmware/rolo.c [diff]
Solomon Peachy
17th Mar 13:29 e049099165: erosq: Move ACTION_TREE_WPS to list context for use in Files and Database

The ACTION_TREE_WPS (held back button) was a part of the mainmenu context, moved to list context so it would work in Files and Database as well for consistency.
apps/keymaps/keymap-erosq.c [diff]
Dana Conrad
17th Mar 12:13 25c9f716ce: Manual: Mention/reference viewing playlists through the File Browser
manual/working_with_playlists/main.tex [diff]
Christian Soffke
17th Mar 11:49 cdf99f8564: Manual: update description of Current Playlist menu options

- note that availability of options depends on player state
- present options that only insert tracks separately from those that also remove tracks
- add short intro for the latter.
manual/working_with_playlists/main.tex [diff]
Christian Soffke
16th Mar 15:11 3bb78b468d: Resume audio after user selects a new song

Music currently doesn't begin playing after the user has selected a new song from a playlist or using the database/file browser, unless another item was already playing or the previous player state was "stopped" but not "paused". This results in an inconsistent user experience. The user's likely intention is to immediately listen to a song they select regardless of the previous player state.
apps/playlist.c [diff]
Christian Soffke
16th Mar 13:05 576b56b35a: Offer function to Clear List & Play Shuffled when playback is stopped

(as per multiple user requests)

When playback is stopped, Rockbox will display an option to clear the current playlist and add selected tracks in random order, if Shuffled Adding options are enabled in Settings.

Insert options will not be displayed anymore when playback is stopped to lessen confusion.
apps/lang/english.lang [diff]
apps/onplay.c [diff]
manual/working_with_playlists/main.tex [diff]
Christian Soffke
16th Mar 12:56 46085c8978: Restore playlist state as necessary before checking whether current playlist has been modified

Rockbox would previously not present a warning when you were about to replace a modified playlist after restarting the player, unless you first resumed playback.
apps/playlist.c [diff]
Christian Soffke
15th Mar 12:17 efe493de3d: FS13274: Bump max battery capacity for iPod Videos to 3000mAh

3rd party batteries can go this high for users that have performed SSD mods.
firmware/export/config/ipodvideo.h [diff]
Solomon Peachy
14th Mar 23:36 2d8e0f7c90: Customizable Current Playlist Submenu

Options to add shuffled tracks and to queue tracks in the Current Playlist Submenu can now be hidden, or the latter can also be put into its own submenu. Users can customize this in Settings by going to
"General Settings - Playlists -> Current Playlist" and choosing from "Show Shuffled Adding Options" (No / Yes) or "Show Queue Options" (No / Yes / In Submenu).

Allows for the paring down of the set of choices to a minimum of the 4 more common ones for adding tracks to a dynamic playlist (coming from the current total of 11).

Defaults have been set so that users have to actively modify their settings to notice any difference, which makes it unlikely that anybody's workflow would be negatively affected by this change.
apps/lang/english.lang [diff]
apps/menus/playlist_menu.c [diff]
apps/onplay.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/appendix/config_file_options.tex [diff]
manual/configure_rockbox/playlist_options.tex [diff]
manual/main_menu/main.tex [diff]
manual/working_with_playlists/main.tex [diff]
Christian Soffke
14th Mar 17:06 99383a0f9b: erosq: change keymap to fix back button

Back button's ACTION_TREE_WPS state in the mainmenu context causes a jump back to the main menu root from anywhere in the settings tree. Changing it to a held button fixes this.

Also changed the ACTION_STD_CANCEL functionality of the back button in the standard context to be on release, just because I think it feels better to use.

Also added myself to docs/CREDITS
apps/keymaps/keymap-erosq.c [diff]
docs/CREDITS [diff]
Dana Conrad
14th Mar 17:04 6b39e23074: Updated Italian Translation (Alessio Lenzi)
apps/lang/italiano.lang [diff]
Solomon Peachy
14th Mar 17:04 406136f7c7: Update english-US "translation"
apps/lang/english-us.lang [diff]
Solomon Peachy
14th Mar 16:33 92a0ab8789: sound: add sound_numdecimals() to round out the sound setting query API

A necessary prerequisite for fixing FS #13272
firmware/export/sound.h [diff]
firmware/sound.c [diff]
Solomon Peachy
14th Mar 03:17 714f7a21da: erosq: Have tree context fall back to list context rather than mainmenu.

Allows 'back' to cancel vs always popping into wps, for example.
apps/keymaps/keymap-erosq.c [diff]
Solomon Peachy
14th Mar 03:17 b44dd11b6b: Add soft-keylock to standard context on the x20/x3ii/erosq targets

tap power to lock!
apps/keymaps/keymap-erosq.c [diff]
apps/keymaps/keymap-xduoox20.c [diff]
apps/keymaps/keymap-xduoox3ii.c [diff]
Solomon Peachy
12th Mar 18:20 3d2783f367: Update manual (Working with Playlists)

- Bring description of "Create Playlist" command up to date
- Explain that entries added by Insert Shuffled aren't contiguous
- Introduce Queue options in a short paragraph
manual/working_with_playlists/main.tex [diff]
Christian Soffke
12th Mar 15:04 2743bde09b: ATA: Increase delay to power-off when device doesn't support ATA SLEEP

The storage subsystem aggressively issues SLEEPNOW events when idle and power off happened a fixed 2s later. This turns out to not be enough time for FC1307A (eg iFlash) adapters to flush outstanding writes.

So, when we detect a lack of PM support, increase the poweroff delay to 5 seconds to compensate for not being able to issue the ATA SLEEP command.

Hopefully this is enough time. If not, we will have to re-disable PM entirely when we detect these popular adapters. Thankfully that is now just an #ifdef away.
firmware/drivers/ata.c [diff]
Solomon Peachy
12th Mar 14:39 04c29984ce: ipod6g: increase max battery capacity

It's possible to get up to 3000mAh batteries for this device, although it requires that you use an iFlash adapter to make enough space.

Signed-off-by: Caleb Connolly
docs/CREDITS [diff]
firmware/export/config/ipod6g.h [diff]
Caleb Connolly
11th Mar 19:43 043e8a0c5c: Manual: Updates to Playlist Catalogue menu

Keeping in sync with how Rockbox currently works:
- Context menu doesn't include an option to "View Catalogue" anymore
- What used to be the "Playlists" menu is now the context menu of the "Playlist Catalogue"
- Context menu includes an option to "Reset Playlist Catalogue Directory"

Also updated info regarding the "Create Playlist" option.
manual/main_menu/main.tex [diff]
manual/rockbox_interface/wps.tex [diff]
Christian Soffke
11th Mar 19:43 76c9e3f558: Use "Save" instead of "Save Current Playlist" in Playlist Viewer

LANG_SAVE_DYNAMIC_PLAYLIST refers to dynamic playlists.

A playlist being edited is only the "current playlist" in case of a dynamic playlist. When other playlists are edited, the current playlist is different from the edited/selected playlist.

(A possible motivation for differentiating between the two here is because "Current Playlist" is already the title of a submenu in that same context menu where the name refers to the dynamic playlist and not to the selected playlist. "Save Current Playlist" is also used in the Playlist Catalogue's context menu for example, referring to the dynamic playlist.)
apps/playlist_viewer.c [diff]
Christian Soffke
11th Mar 19:43 adac2c8880: Fix "Create Playlist" option in context menu of "Playlist Catalogue"

If the previously selected directory in the file browser was the playlist directory, creating a playlist with all files wouldn't work due to the fact that PLAYLIST_CATALOG_DEFAULT_DIR has an unexpected duplicate leading '/'.

The initialize_catalog function makes sure to remove this from playlist_dir.
apps/playlist_catalog.c [diff]
Christian Soffke
11th Mar 19:43 49c230f630: Manual: fix spelling
manual/rockbox_interface/main.tex [diff]
Christian Soffke
11th Mar 19:28 bd507fc7b4: ATA: When device doesn't support powermgmt, only gate ata sleep command.

The FC1307A ATA->SD chipset (used by the common iFlash adapters) doesn't support mandatory ATA power management commands, leading to massive data corruption if they were issued.

A workaround was identified (54629073ae) that basically disabled all of rockbox's power management code for these adapters, which extends well beyond the specific ATA commands issued.

This patch moves the gating test to the issuance of the actual SLEEP, so that the rest of rockbox's PM code can function as intended. This allows the device to get powered down when idle, yielding potentially significant improvements in battery life.
firmware/drivers/ata.c [diff]
Solomon Peachy
11th Mar 03:43 eb9f05f835: ImageViewer Fix jpeg decoder

Image viewer compiles decoders as a plugin and removes CRT0 A resuklt static vars do not get initialized in decoders
apps/plugins/imageviewer/jpeg/yuv2rgb.c [diff]
William Wilgus
11th Mar 02:35 87e37a4d48: xduoo_x3ii: Improvements in the meymappings!

* PREV/NEXT now swapped so they do what is expected in most contexts
* List and setting context retains prior behavior
* Enable the ADC that reads the headset remote and map the keys.
* As ADC-based remote "events" arrive as press/release pairs, delay the button release.
apps/keymaps/keymap-xduoox20.c [diff]
apps/keymaps/keymap-xduoox3ii.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/target/hosted/button-devinput.c [diff]
firmware/target/hosted/xduoo/button-target.h [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
11th Mar 00:01 a87abdb28f: Special-case the storage names for hibylinux-based hosted targets
apps/features.txt [diff]
apps/lang/english.lang [diff]
Solomon Peachy
11th Mar 00:01 7201c3a685: fiiom3klinux: Fix a build warning.
firmware/target/hosted/power-linux.c [diff]
Solomon Peachy
10th Mar 23:29 555299af9f: hosted: Consolidate the code that polls the battery charging status

affects all hiby targets, fiiom3k, and ibasso dx50/dx90

As well as deduplicating a small pile of code, this also implements hysteresis so we're not doing a sysfs read/lookup multiple times back-to-back every time the power management tick fires.
firmware/SOURCES [diff]
firmware/export/config/fiiom3klinux.h [diff]
firmware/export/config/hibylinux.h [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/target/hosted/agptek/power-agptek.c [diff]
firmware/target/hosted/agptek/power-agptek.h [diff]
firmware/target/hosted/agptek/powermgmt-agptek.c [diff]
firmware/target/hosted/aigo/power-erosq.c [diff]
firmware/target/hosted/aigo/power-erosq.h [diff]
firmware/target/hosted/aigo/powermgmt-erosq.c [diff]
firmware/target/hosted/fiio/power-fiio.c [diff]
firmware/target/hosted/fiio/power-fiio.h [diff]
firmware/target/hosted/fiio/powermgmt-fiio.c [diff]
firmware/target/hosted/ibasso/power-ibasso.c [diff]
firmware/target/hosted/power-linux.c [new]
firmware/target/hosted/xduoo/power-xduoo.c [diff]
firmware/target/hosted/xduoo/power-xduoo.h [diff]
firmware/target/hosted/xduoo/powermgmt-xduoo.c [diff]
Solomon Peachy
10th Mar 13:10 b3b8310e4e: Move "View" option for playlists up one level

The "View" option for playlists/.m3u files is currently part of the "Current Playlist" submenu even though it refers to the selected file/playlist and has nothing to do with the current playlist. It has been relocated to the context menu of the playlist file where it makes more sense and is easier to get to.
apps/onplay.c [diff]
manual/rockbox_interface/browsing_and_playing.tex [diff]
Christian Soffke
10th Mar 13:10 73ec3971f7: Fix "Playlist" vs. "Current Playlist" menu terminology in manual

The manual has been updated to reflect the fact that the current title of the submenu for adding music in the context menu is "Current Playlist". (The WPS context menu has a different submenu called "Playlist")
manual/rockbox_interface/browsing_and_playing.tex [diff]
manual/working_with_playlists/main.tex [diff]
Christian Soffke
10th Mar 10:09 0ba174789b: usb_hid: switch Battery Strength to use feature reports

This means we will no longer send them routinely and instead rely on the HID driver to send them when the host requests it. This also moves the reporting out of the power management code where it probably did not belong in the first place.
firmware/export/powermgmt.h [diff]
firmware/powermgmt.c [diff]
firmware/usbstack/usb_hid.c [diff]
James Buren
9th Mar 20:04 777f63d529: Move MIPS cache management functions to IRAM

Previously these were placed in DRAM, which is overwritten by RoLo when it loads a new image, but RoLo must call commit_discard_idcache() after loading the image.
firmware/target/mips/mmu-mips.h [diff]
Aidan MacDonald
9th Mar 17:24 4e6609e9f2: Update english-US translation.
apps/lang/english-us.lang [diff]
Solomon Peachy
9th Mar 15:10 b2d13f1793: UI: Rename "Play Next" to "Clear List & Play Next"

The "Play Next" function replaces the current dynamic playlist, so it makes sense to convey that information to the user when displaying the option in a context menu.
apps/lang/deutsch.lang [diff]
apps/lang/english.lang [diff]
apps/onplay.c [diff]
manual/working_with_playlists/main.tex [diff]
Christian Soffke
9th Mar 14:48 f4b891e408: Shortcuts Menu -- remove debug statements
apps/shortcuts.c [diff]
William Wilgus
9th Mar 13:26 f348d921b6: Shortcuts Menu -- Update2

make shortcuts menu drop back into WPS on exit different icons for plugins and files versus folders
apps/gui/wps.c [diff]
apps/shortcuts.c [diff]
William Wilgus
9th Mar 11:28 d0ab6b24dc: Updated Italian translation (Alessio Lenzi)
apps/lang/italiano.lang [diff]
Solomon Peachy
9th Mar 11:26 6387d0352e: FS #13263: Rockbox deletes wrong file

The WPS calls onplay() with a pointer to the path of the current track . We need to make a copy of the path so it isn't affected by track changes.
apps/onplay.c [diff]
Christian Soffke
9th Mar 11:18 5c3bbc6a9c: Reset filetype colors when resetting theme colors

Even though filetype colors can't currently be changed by going to Settings->Theme Settings->Colors, a user likely wishes to still reset them when selecting 'Reset Colors' after a .colours file may have been applied by a theme.
apps/menus/theme_menu.c [diff]
Christian Soffke
9th Mar 11:18 3b9a803a5b: Show 'Play Next' option when playback is stopped

1) The Insert functionality was changed in abebc6b to not delete unfinished dynamic playlists anymore. "Play Next" has now been added as an option when playback is stopped. The behavior of
"Play Next" as such has not changed and it is now the consistent way to replace a current playlist in all playback modes.

2) The 'Insert' and 'Insert Shuffle' options will now only be displayed if there is a resumable dynamic playlist
apps/onplay.c [diff]
manual/working_with_playlists/main.tex [diff]
Christian Soffke
9th Mar 03:17 13178d23b8: Shortcuts Menu Update

Change Browser shortcut to the plugin icon drop back into WPS on opx return allow same action to exit shortcut menu as entered -- might be problematic
apps/menu.c [diff]
apps/root_menu.c [diff]
apps/shortcuts.c [diff]
William Wilgus
8th Mar 00:42 c9e8d96e77: ibasso: Fix the dx50/dx90 build (and usb_mode selection)

(The usb_mode selection setting was actually broken even though it had been previously compiling...)
apps/menus/settings_menu.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
Solomon Peachy
7th Mar 23:31 7c58b6f0db: usb_mode: Missed a #define that led to some sim build failures.
apps/menus/settings_menu.c [diff]
Solomon Peachy
7th Mar 23:12 bbd85cf0c1: settings: Fix inconsistent #ifdefs wrapping the usb_mode stuff

It should be:

#if defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR)
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
Solomon Peachy
7th Mar 15:07 9712d375ce: Shortcuts.c -- Update

Fix returns from shortcuts -- should now run plugins Fix formatting of file names to remove path from browser shortcuts
apps/gui/quickscreen.c [diff]
apps/gui/quickscreen.h [diff]
apps/gui/wps.c [diff]
apps/menu.c [diff]
apps/root_menu.c [diff]
apps/shortcuts.c [diff]
apps/tree.c [diff]
William Wilgus
7th Mar 13:22 0dce973729: OpenPlugins Allow opx shortcuts

Allow opx shortcuts to be run through the shortcut menu
apps/open_plugin.c [diff]
apps/plugins/open_plugins.c [diff]
William Wilgus
7th Mar 12:51 207514fb25: voice: Allow voice prompt volume to be configurable

It defaults to 100%, allow it to be dialed back
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/voice_thread.c [diff]
apps/voice_thread.h [diff]
manual/configure_rockbox/voice.tex [diff]
Solomon Peachy
7th Mar 04:10 c16f9142f7: build: Make all other language files "depend" on english.lang

If we update english.lang, we need to re-run genlang on the other language files so any changes are picked up.
apps/lang/lang.make [diff]
Solomon Peachy
6th Mar 18:00 308dd4ffee: Open_plugins.c fix red

rb->strncasecmp
apps/plugins/open_plugins.c [diff]
William Wilgus
6th Mar 17:21 87ad55b06e: Open_Plugins Add Features

Added an entry 'Add' to the main screen to lessen confusion

side note: its actually a shortcut back to this plugin with flag '-add' passed as a parameter
apps/plugins/open_plugins.c [diff]
William Wilgus
6th Mar 04:15 f647cde3c7: usb_hid: add support for Battery Strength

This allows rockbox to report its battery status through the HID Battery Strength method that is available through the Device Controls usage page.
firmware/export/powermgmt.h [diff]
firmware/powermgmt.c [diff]
firmware/usbstack/usb_hid.c [diff]
firmware/usbstack/usb_hid_usage_tables.h [diff]
James Buren
6th Mar 02:12 9cf45374e0: Announce_status plugin bugfix use artist prior to albumartist

give id3->artist higer precedence than id3->albumartist
apps/plugins/announce_status.c [diff]
William Wilgus
5th Mar 17:43 bac897381c: updatelang: Handle/flag the bad data that led to english-us breaking
tools/updatelang [diff]
Solomon Peachy
5th Mar 17:37 0c958d2b4a: announce_status trackchange bugfix

!Properly remove callback! don't play voice prompt at startup if something is actively playing
apps/plugins/announce_status.c [diff]
William Wilgus
5th Mar 17:20 83111eeece: English-US language had some issues that caused it to fail.
apps/lang/english-us.lang [diff]
Solomon Peachy
5th Mar 05:11 925dc59126: OOM on Audio_Reset_Buffer

Allow the talk file to be unloaded
apps/playback.c [diff]
William Wilgus
5th Mar 04:31 895ed92496: Talk.c, playlist.c fix bugs

fix bug in talk.c

playlist.c only dump voice buffer if we are out of space
apps/playlist.c [diff]
apps/talk.c [diff]
William Wilgus
5th Mar 03:55 03ae4e6019: Announce_status plugin make USB plug aware

Announce_status was blocking USB from working it now quits on USB plug
apps/plugins/announce_status.c [diff]
William Wilgus
5th Mar 02:57 10b6707131: Talk Fix outright disable after first clip

Oops Sorry bout that ;P
apps/talk.c [diff]
William Wilgus
5th Mar 02:22 b2732222e9: Talk.c Guard against use after free / failure to load voicefile

load_voicefile_data wasn't checked for success leading to a use after free situation

get_clip now checks for valid index_handle before using it
apps/talk.c [diff]
William Wilgus
4th Mar 22:37 56a1e87501: ata: Make ata_disk_is_active() only special-case powermgmt-less devices.

SSDs that respect powermgmt commands should be treated the same, as the powermgmt commands are an important part of ensuring it's safe to shut down.

And greatly expand the comment explaining things.
firmware/drivers/ata.c [diff]
Solomon Peachy
4th Mar 21:50 be99033cbb: Always indicate inactive ata disk if device is solid state or doesn't support power management

Commit 5462907 made sure that SLEEP commands weren't issued on devices that don't support ATA power management commands (e.g. certain CF->SD converters including several iFlash models).

Since Rockbox waits for the disk to become inactive in shutdown_hw(), which won't happen in this case, the OS would previously stall during the shutdown process until a timeout was reached.
firmware/drivers/ata.c [diff]
Christian Soffke
4th Mar 19:39 fb99d890a8: Fix typo in MIPS cache discard
firmware/target/mips/mmu-mips.c [diff]
Aidan MacDonald
4th Mar 17:00 cbace906c6: mips: Revert to commiting the cache when we're told to discard an unaligned block.

The filesystem API often passes in unaligned receive buffers, and some code (eg BMP reader) processes data in-place, leading to data loss when we dropped the cache.

(And document exactly what we're doing, so we don't go through this again at $future_date)
firmware/target/mips/mmu-mips.c [diff]
Solomon Peachy
4th Mar 14:49 bcee955169: rolo: use audio_hard_stop() instead of audio_stop()

This kills the audio thread entirely, including voice stuff.
firmware/rolo.c [diff]
Solomon Peachy
4th Mar 14:25 a4a5f5f33f: Check core max allocations for valid handle

fix rolo warnings
apps/radio/radioart.c [diff]
apps/tagtree.c [diff]
firmware/rolo.c [diff]
William Wilgus
4th Mar 14:14 2628155fc9: Clean up places that use #if defined(CPU_ARM | CPU_COLDFIRE | CPU_MIPS)

Since that encompasses _all_ of our native targets in a post-archos world, either replace it with #if (CONFIG_PLATFORM & PLATFORM_NATIVE) or delete it altogher as appropriate.
firmware/rolo.c [diff]
lib/rbcodec/codecs/libtremor/oggmalloc.c [diff]
lib/rbcodec/codecs/vorbis.c [diff]
Solomon Peachy
4th Mar 13:58 15b4d22913: ROLO check for OOM

Splqash failure and return on OOM
firmware/rolo.c [diff]
William Wilgus
4th Mar 13:32 80be135d0d: OOM on playlist_resume

Discovered on ClipZip but applicable to other LOW MEM targets

Back off voice buffer on playlist_resume
apps/playlist.c [diff]
William Wilgus
4th Mar 02:47 de53965e3f: Third try fixing MIPS cache code

Changing this to be a pure discard operation after discussion on IRC
firmware/target/mips/mmu-mips.c [diff]
Aidan MacDonald
4th Mar 02:44 b82298ae2c: jz4740: Fix incorrect dcache flush in the USB RX DMA code.
firmware/target/mips/ingenic_jz47xx/usb-jz4740.c [diff]
Solomon Peachy
3rd Mar 23:57 8cb4c18310: Really fix the MIPS cache bug this time

In fixing the original bug I tried to optimize discard_dcache_range() to minimize writeback and inadvertently introduced a second bug, which typically ends in a TLB refill panic.

It occurs only if the range fits within one cache line, and when both the start and end of the range are not aligned to a cache line. This causes ptr to be incremented and end to be decremented, so ptr > end, and the loop can't terminate.
firmware/target/mips/mmu-mips.c [diff]
Aidan MacDonald
3rd Mar 22:37 cde5ae755f: iPods: Allow using scroll wheel to change volume on QuickScreen

As suggested by forum user yuuiko
apps/action.h [diff]
apps/gui/quickscreen.c [diff]
apps/keymaps/keymap-ipod.c [diff]
manual/main_menu/main.tex [diff]
Christian Soffke
3rd Mar 22:05 0f439bee99: ihifi: use STORAGE_WANTS_ALIGN rather than STORAGE_NEEDS_ALIGN
firmware/export/config/ihifi770.h [diff]
firmware/export/config/ihifi770c.h [diff]
firmware/export/config/ihifi800.h [diff]
Solomon Peachy
3rd Mar 20:50 74a3d1f5be: Fix MIPS cache operations and enable HAVE_CPU_CACHE_ALIGN on MIPS

- The range-based cache operations on MIPS were broken and only worked properly when BOTH the address and size were multiples of the cache line size. If this was not the case, the last cache line of the range would not be touched!

Fix is to align start/end pointers to cache lines before iterating.

- To my knowledge all MIPS processors have a cache, so I enabled HAVE_CPU_CACHE_ALIGN by default. This also allows mmu-mips.c to use the CACHEALIGN_UP/DOWN macros.

- Make jz4760/system-target.h define its cache line size properly.
firmware/export/system.h [diff]
firmware/target/mips/ingenic_jz47xx/system-target.h [diff]
firmware/target/mips/mmu-mips.c [diff]
Aidan MacDonald
3rd Mar 18:37 f906df017d: Open Plugin -- Make first run show at least one item to user

Open plugin needs the context menu to allow the user to add an item on the first run there are no items and therefore nothing to pop the context menu from
apps/plugins/open_plugins.c [diff]
William Wilgus
3rd Mar 03:11 5317953f4a: Battery Icon, Remove Hardcoded Overall Width

Icon no longer showed 100% with some fonts
apps/gui/statusbar.c [diff]
William Wilgus
3rd Mar 02:58 2cde135cfe: flac fix dumb typo
lib/rbcodec/codecs/libffmpegFLAC/decoder.c [diff]
William Wilgus
3rd Mar 02:36 93d8be80ce: Remove a couple more stragglers from the Archos purge
apps/player/icons.h [deleted]
apps/player/keyboard.c [deleted]
Solomon Peachy
3rd Mar 00:47 118191479d: Nudge flac towards upstream FS #13266 -- Fix the Yellow still?
lib/rbcodec/codecs/libffmpegFLAC/decoder.c [diff]
William Wilgus
3rd Mar 00:20 2252bde144: Nudge flac towards upstream FS #13266 -- Fix Yellow

unused variables
lib/rbcodec/codecs/libffmpegFLAC/decoder.c [diff]
William Wilgus
2nd Mar 23:48 a017219488: Nudge flac towards upstream FS #13266

Some flac encoded files contain junk that our decoder picked up

upstream has some sign and overflow fixes too
lib/rbcodec/codecs/libffmpegFLAC/decoder.c [diff]
lib/rbcodec/codecs/libffmpegFLAC/decoder.h [diff]
lib/rbcodec/codecs/libffmpegFLAC/golomb.h [diff]
William Wilgus
2nd Mar 18:33 7d78958f9d: Reset unknown file color when resetting filetype colors

The unknown file color is handled as a special case and also needs to be reset here
apps/filetypes.c [diff]
Christian Soffke
2nd Mar 12:51 22cc4e4fcf: Fixed bug in Fiio M3K port where up button didnt work in some menus
apps/keymaps/keymap-fiiom3klinux.c [diff]
docs/CREDITS [diff]
spencer-brennessel
2nd Mar 02:10 a6eafc86f8: Remove execute bit from file permissions from recent commit
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/playback.c [diff]
apps/radio/radioart.c [diff]
apps/recorder/jpeg_load.c [diff]
William Wilgus
2nd Mar 00:36 73cee8f177: Add RegGen-NG tool and definitions for Ingenic X1000
utils/reggen-ng/reggen-ng.py [new]
utils/reggen-ng/x1000.reggen [new]
Aidan MacDonald
1st Mar 19:02 7418ec5009: FS #13267: Fix crash when enabling Perceptual Bass Enhancment during playback

I think the assumption is that during playback, the DSP is already running so it assumes PBE needs to be flushed before it is properly enabled.
lib/rbcodec/dsp/pbe.c [diff]
Solomon Peachy
1st Mar 12:33 640b14c08c: Fix inability to reset filetype colors without restarting

0ce42df prevented read_color_theme_file() from being executed when applying settings (from a cfg file) if the filetype colors setting was set to "-". Resetting custom filetype colors happens in that function though and thus wouldn't work. You had to restart Rockbox for the setting to be applied (at which point read_color_theme_file() is called from filetype_init() which is called by the init() function in main.c)

The safety check has been moved from settings.c directly into read_color_theme_file(). This has the added advantage that it will also apply during the init process where there existed no check before (prevents the problem mentioned in 2e3a8c7).
apps/filetypes.c [diff]
apps/settings.c [diff]
Christian Soffke
28th Feb 16:11 670812a44a: Support MP3 audiostreams embedded in ASF containers.

Full credit to Igor Poretsky
lib/rbcodec/codecs/codecs.make [diff]
lib/rbcodec/codecs/libasf/asf.h [diff]
lib/rbcodec/codecs/mpa.c [diff]
lib/rbcodec/metadata/asf.c [diff]
lib/rbcodec/metadata/metadata.h [diff]
Solomon Peachy
28th Feb 02:52 13c7f482ce: Add ingenic_tools/usbboot utility

This is essentially an expanded version of jz4760_tools/usbboot, able to support both X1000 and JZ4760 CPUs and easily extended to handle other Ingenic CPUs using the same boot protocol.
.gitignore [diff]
utils/ingenic_tools/Makefile [new]
utils/ingenic_tools/usbboot.c [new]
Aidan MacDonald
27th Feb 23:53 a3d41098c7: Adding myself to the credits
docs/CREDITS [diff]
Aidan MacDonald
27th Feb 23:53 aacb0811d9: Rename symbols of FiiO M3K Linux-based port

Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX.
apps/SOURCES [diff]
apps/bitmaps/native/SOURCES [diff]
apps/debug_menu.c [diff]
apps/keymaps/keymap-fiiom3k.c apps/keymaps/keymap-fiiom3klinux.c [rename]
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/keymaps.h [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/oscilloscope.c [diff]
...and 35 more files.
Aidan MacDonald
27th Feb 23:39 55dc86f5db: Specify correct dependencies for tools/descramble

Fixes the red introduced in 6224efb2
tools/tools.make [diff]
Solomon Peachy
27th Feb 23:29 dad23a0607: database: Database tool was excluding all SWCODECs!

When fixing this, I used this this opportunity to clean up the Makefile
tools/database/database.make [diff]
Solomon Peachy
27th Feb 22:53 ef685cc6da: Update manual to reflect new behavior from abebc6b

When playback is stopped and the user inserts songs, Rockbox will not erase a dynamic playlist anymore, unless it has finished playing.
manual/working_with_playlists/main.tex [diff]
Christian Soffke
27th Feb 22:51 6224efb238: Fix build system not respecting TOOLSET

It seems that 'toolset=' in tools/configure was set but not used, with the build system only generating a hardcoded set of tools. This change fixes the issue by exporting the required tools in the TOOLSET variable, and having root.make append those to the TOOLS list.
tools/configure [diff]
tools/root.make [diff]
Aidan MacDonald
27th Feb 22:03 96019d23aa: Add regtools binaries to gitignore
.gitignore [diff]
Aidan MacDonald
27th Feb 22:02 b8945734f5: Make headergen_v2's output include what it uses
utils/regtools/headergen_v2.cpp [diff]
Aidan MacDonald
27th Feb 14:41 7d7a3156d3: Fix skin rendering issue entering dirbrowse

If the custom UI viewport (for displaying lists) changes size when entering dirbrowse, other viewports won't be correctly rendered and require a redraw.

The following is a minimal test case for an example SBS where (the specified background color for) the viewport at the top of the screen won't appear after the user has entered the (root menu of the) file or database browser:

%?if(%cs,=,1)<%VI(main)|%VI(other)>

%V(0,0,-,21,-)
%Vb(ededed)

%Vi(main,0,22,-,-,-)

%Vi(other,0,60,-,-,-)
apps/tree.c [diff]
Christian Soffke
27th Feb 14:38 7d7850368e: Disable UDMA 2 on iPod4G target

ATA DMA was enabled for all PP502x targets in d118f47 after previously reported instabilities were thought to have been fixed. The iPod 4G target remains unstable when UDMA 2 is enabled. File system corruption will eventually occur even using stock hardware in normal usage, according to both my own experience and that of several other forum users. UDMA 1 appears to be stable.
firmware/target/arm/pp/ata-target.h [diff]
Christian Soffke
27th Feb 14:38 317908e8c3: Warn before permanently reshuffling the current playlist

Reshuffling a playlist using the WPS context menu for the current playlist is a destructive operation since the previous order of items can't be restored. A warning should be displayed, so that the user can still cancel the operation in case they intended to select another menu item (e.g. one of the harmless "Playing Time" or "Save Current Playlist" items right next to it).
apps/onplay.c [diff]
Christian Soffke
21st Feb 04:23 05f1006246: Convttf makefile: Replace freetype-config with pkg-config

Freetype-config has been deprecated and is no longer included in libfreetype-dev. Pkg-config serves as its replacement.

Convttf isn't built as part of Rockbox by default, but manually doing so will currently fail even when libfreetype-dev is installed.
tools/Makefile [diff]
tools/tools.make [diff]
Christian Soffke
19th Feb 13:35 bdc3dd4fca: MP4: append mdat sections together in metadata parser

mp4 files can have multiple 'mdat' chunks. This is common for audiobooks, where there is often a secondary mdat containing the chapter names, but it's also legal to have multiple mdat chunks for a single logical "track"

This confuses the mp4 metadata parser, which assumes there is only a single mdat, and always uses the last mdat seen to determine the "filesize" of the data we're trying to decode.

Work around this by appending each mdat's size to result in the final
"filesize"
lib/rbcodec/metadata/mp4.c [diff]
Solomon Peachy
19th Feb 13:35 8c76c1b1c2: Revert "Always resume audio after user picks a new song from a playlist"

This reverts commit 69746d840086c3e9e4499c3c19257cd981a9203a.
apps/playlist.c [diff]
Solomon Peachy
17th Feb 11:34 436e64e09e: Fix playback queue bug when "Insert Next" is used with multiple songs at once

After using “Insert Next” to insert multiple songs at once (e.g. an album from the database browser or folder from the file browser), subsequent Insert operations will incorrectly insert items after the first song of all items that were previously inserted, instead of after the last song of the previously inserted items.

A bug fix was originally written by Costas Calamvokis for the file browser only. I adopted the original fix and added code analogous to it so that it works from the database browser as well.

See FS #7898, FS #7363 or this forum post for more info: https://forums.rockbox.org/index.php/topic,53741.0.html
apps/playlist.c [diff]
apps/tagtree.c [diff]
Christian Soffke
17th Feb 11:33 abebc6b9ac: Don’t erase a user’s stopped dynamic playlist when inserting/queuing songs

Rockbox would unexpectedly and without warning erase the current dynamic playlist (when it hadn’t finished playing) if the user inserted or queued up items while playback was stopped.

This fix ensures that the playlist is only deleted if it has either finished playing or can't be resumed.
apps/onplay.c [diff]
Christian Soffke
17th Feb 11:32 69746d8400: Always resume audio after user picks a new song from a playlist

Music currently doesn't begin playing after the user has selected a new song in a playlist, unless another item was already playing or the previous player state was "stopped" (but not "paused"). This results in an inconsistent user experience. The user's likely intention is to immediately listen to the song they select for playback regardless of the previous player state.
apps/playlist.c [diff]
Christian Soffke
5th Feb 17:29 422aa56243: rockboxdev: fix issues with relative paths for commandline options

I wanted to build into a 'toolchain' directory like this:

$ tools/rockboxdev.sh --dlwhere=toolchain --builddir=toolchain/build --prefix=toolchain/bin

This failed twice:

a) the extraction stage could not uncompress because of the relative paths, so convert them to absolute paths in the script to fix the issue.

b) patches could not be applied because 'rockboxdevdir' was assigned a string with the directory twice and '\n' in the middle. Using readlink, this now works.
tools/rockboxdev.sh [diff]
Wolfram Sang
5th Feb 17:29 a67c6934c1: rockboxdev: better error message for unknown compression

I hit this error and its message confused me because I interpreted it as
"bzip2 executable could not be found". The message was also outdated because xz is supported meanwhile. Update the message to something hopefully more helpful.
tools/rockboxdev.sh [diff]
Wolfram Sang
5th Feb 17:29 e23d45536e: rockboxdev: fix summary output of options

'--download' is now named '--dlwhere' and 'target' was missing the '='
tools/rockboxdev.sh [diff]
Wolfram Sang
5th Feb 17:27 165d926a63: rbutil: Add a new entry for the Hifiwalker H2 v1.3 variant
rbutil/rbutilqt/rbutil.ini [diff]
Solomon Peachy
4th Feb 21:47 e7e9cbb852: puzzles: only build manual for color targets

'SUBDIRS' file has puzzles inside a 'HAVE_LCD_COLOR' block. I found this issue because sgt-puzzles was in the Clip+ docs while they were not installed on the target.
docs/CREDITS [diff]
manual/plugins/main.tex [diff]
Wolfram Sang
27th Jan 17:21 278e7457ea: skin_engine: Fix %if() when comparing against a negative number.

If the tag being checked returns a negative number (e.g. %LI does that when the current list item does not have an icon) the tag's value would always end up being 1.
apps/gui/skin_engine/skin_tokens.c [diff]
docs/CREDITS [diff]
Georg Gadinger
21st Jan 14:27 befae2909f: Make delete_file_dir() more threadsafe

This should fix FS #13263
apps/onplay.c [diff]
Moshe Piekarski
21st Jan 13:39 fe10830384: hiby_patcher: Tweak the fix needed to work around v1.31 AGPtek Rockers.
tools/hiby_patcher.pl [diff]
Solomon Peachy
2nd Jan 20:31 707f77c6a7: rbutil: Update german translation.
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
Dominik Riebeling
2nd Jan 20:31 95cfa9a8c4: rbutil: Rework action texts for ipod6g bootloader installation.

The logging entries do word wrapping, so no need to add hard line breaks. Those will become problematic for translations and in some cases on UI scaling. Instead add an empty line after the header to make things clearer.
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
Dominik Riebeling
2nd Jan 20:31 e74cde1c6e: rbutil: Remove unused function.
rbutil/rbutilqt/base/progressloggerinterface.h [diff]
rbutil/rbutilqt/progressloggergui.cpp [diff]
rbutil/rbutilqt/progressloggergui.h [diff]
Dominik Riebeling
2nd Jan 20:31 bf17c347fc: rbutil: Fix some texts.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2nd Jan 20:31 f9d23bfd41: rbutil: Modernize connect() to new pointer-to-member syntax.
rbutil/rbutilqt/base/talkfile.cpp [diff]
rbutil/rbutilqt/base/ttsfestival.cpp [diff]
rbutil/rbutilqt/base/ttssapi.cpp [diff]
rbutil/rbutilqt/base/voicefile.cpp [diff]
rbutil/rbutilqt/base/zipinstaller.cpp [diff]
Dominik Riebeling
2nd Jan 20:31 022bbad762: rbutil: Fix cleaning cache.

As with calculating the size cleaning the cache folder needs to be recursive.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2nd Jan 20:31 ec01c57022: rbutil: Fix cache size calculation.

We're using Qt's caching mechanism since long, which uses subfolders, so we need to recursively traverse that to get the size of the cache folder.
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/utils.h [diff]
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2nd Jan 20:31 65d0867a25: rbutil: Add option to langstat to pass git hash.

Don't always operate on the remote head, instead default to the local HEAD, and allow passing a hash to use for calculating statistics.
rbutil/rbutilqt/langstats.py [diff]
utils/common/gitscraper.py [diff]
Dominik Riebeling
2nd Jan 20:31 eaf86a22d3: rbutil: Add missing Q_OBJECT macro to PlayerBuildInfo.

Needed to make translated strings actually get translated.
rbutil/rbutilqt/base/playerbuildinfo.h [diff]
Dominik Riebeling
31th Dec 13:11 10e2f53ff5: bspatch: Fix the standalone build

(broken by 1e12990)
rbutil/libtools.make [diff]
Solomon Peachy
25th Dec 17:47 ca09f91f64: Fix deadlocks when trying to buffer large album art.

Internally, buffering tries to load the entire album art file into the audio buffer, which will fail if the file is larger than the buffer. Playback.c interprets a file failing to buffer to mean that the buffer is full, so it waits for more space and tries again. This results in a deadlock since the file will never fit.

Change bufopen to return a new error condition when an image file will not fit on the buffer because it is too large: ERR_BITMAP_TOO_LARGE. Note that we arbitrarily set "too large" to be within 64KB of the entire buffer size or larger, this could be adjusted if needed.

Change audio_load_albumart to pass through error messages from bufopen.

In playback.c, check to see why audio_load_albumart fails. If it fails because the file is too large to buffer, simply ignore the file. If it fails because the file would fit but the buffer is full, try again later.
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/playback.c [diff]
apps/radio/radioart.c [diff]
Michael Giacomelli
24th Dec 05:40 b5e6c30a61: USB: Reset poweroff timer for all USB events

Without this, if a device is left plugged in and idle, unplugging it will trigger an immediate shutdown.
firmware/usb.c [diff]
Solomon Peachy
17th Dec 18:29 c842a13651: voice: Fix accidental warnings
apps/voice_thread.c [diff]
Solomon Peachy
17th Dec 18:11 1aaa2824b6: voice: Increase voice thread stack size on hosted targets

Fixes a stack overflow on Sony NWZ players when loading the voice file
apps/voice_thread.c [diff]
Solomon Peachy
16th Dec 19:54 02119357dc: erosq: Enable HAVE_SCROLLWHEEL for saner scroll wheel handling

Basically no longer treat SCROLL_FWD/BACK as "button" events, instead relying on the scrollwheel hooks to handle things properly.
firmware/export/config/aigoerosq.h [diff]
firmware/target/hosted/button-devinput.c [diff]
Solomon Peachy
14th Dec 19:19 0215c37ceb: rbutil: Remove logo that isn't used anymore.
rbutil/rbutilqt/icons/rblogo.png [deleted]
Dominik Riebeling
14th Dec 19:18 2b00166a00: rbutil: Always use svg icon for Window icon.

Since we now have svg support enabled (and used) for all platforms we can simply use the svg one, and bring it in line with the rest of the icon.
rbutil/rbutilqt/icons/rockbox-128.png [deleted]
rbutil/rbutilqt/icons/rockbox-16.png [deleted]
rbutil/rbutilqt/icons/rockbox-256.png [deleted]
rbutil/rbutilqt/icons/rockbox-32.png [deleted]
rbutil/rbutilqt/icons/rockbox-48.png [deleted]
rbutil/rbutilqt/icons/rockbox-64.png [deleted]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.qrc [diff]
Dominik Riebeling
14th Dec 17:29 7ae98845f0: rbutil: Change style to Fusion on Windows.

The default UI style has some issues with HiDPI support. Use the Qt built-in Fusion instead. This looks somewhat different to the native Windows UI, but works better on HiDPI displays.
rbutil/rbutilqt/main.cpp [diff]
Dominik Riebeling
14th Dec 17:29 f3371c1d78: rbutil: Improve HiDPI support.

Since we embed a manifest file on Windows we also need to indicate HiDPI support in it. Otherwise it will only work partially.
rbutil/rbutilqt/rbutilqt.manifest [diff]
Dominik Riebeling
14th Dec 04:14 64cc9aad73: Do not resize images greater than 32767 pixels in either dimension

Internally, the resizing code uses the rockbox dim structure, which uses signed shorts.
apps/recorder/jpeg_load.c [diff]
Michael Giacomelli
14th Dec 01:46 56f4ec9668: voices: Enable Russian in the nightly voice builds.

It's using espeak-ng's default 'zle/ru' voice, which have to do until someone suggests better settings or engine.
tools/builds.pm [diff]
Solomon Peachy
14th Dec 00:21 da1fbb6d1a: skinengine: Make sure logical IF operator doesn't compare a garbage value
apps/gui/skin_engine/skin_tokens.c [diff]
Solomon Peachy
14th Dec 00:20 b6a16949e8: playlist: Fix out-of-bounds array access when the directory is blank
apps/playlist.c [diff]
Solomon Peachy
14th Dec 00:19 ce7731527a: announce_status: Fix incorrect function prototype definition
apps/plugins/announce_status.c [diff]
Solomon Peachy
13th Dec 04:17 72e9b61061: manual: Replace all rockbox.org urls with https.

In the process, utilize the \download{} and \wikilink{} commands instead of direct URLs.
manual/advanced_topics/main.tex [diff]
manual/appendix/appendix.tex [diff]
manual/configure_rockbox/theme_settings.tex [diff]
manual/getting_started/gigabeat_install.tex [diff]
manual/getting_started/h10_install.tex [diff]
manual/getting_started/iaudio_install.tex [diff]
manual/getting_started/installation.tex [diff]
manual/getting_started/iriver_install.tex [diff]
manual/getting_started/main.tex [diff]
manual/getting_started/mpio_install.tex [diff]
manual/getting_started/mrobe100_install.tex [diff]
manual/getting_started/samsungyh_install.tex [diff]
manual/getting_started/vibe500_install.tex [diff]
manual/getting_started/xduoox3_install.tex [diff]
manual/intro/main.tex [diff]
manual/plugins/pdbox.tex [diff]
manual/plugins/sgt-puzzles.tex [diff]
manual/preamble.tex [diff]
manual/rockbox-html.cfg [diff]
Solomon Peachy
13th Dec 03:26 b459ded533: updatelang: Fix a couple of typos in the output used by the translate site
tools/updatelang [diff]
Solomon Peachy
13th Dec 03:10 55d301184d: Get rid of a _long_ obsolete tool.
tools/svnupcheck.pl [deleted]
Solomon Peachy
12th Dec 18:43 f7005eb4e4: voice: Generate Dutch voice file now that the translation is complete
tools/builds.pm [diff]
tools/voice.pl [diff]
Solomon Peachy
12th Dec 18:43 afad2c1dcc: FS #13261: Update Dutch Translation (Issa Beganović)
apps/lang/nederlands.lang [diff]
docs/CREDITS [diff]
Solomon Peachy
12th Dec 05:36 512be370c6: list: reset viewport to avoid corrupting the text in the first line

While using Rockbox for a while on my 1st-gen iPod mini I noticed that the first entry of a list sometimes displays a wrong character at the 18th column. For example, the ':' character would display as 'z', the
'-' character as 'm', 0x00 would display '@' and so on. Oddly enough this only occurred when the scrollbar was enabled.

I figured that the call to `display->set_viewport(list_text_vp);` in the for loop inside `list_draw(...)` causes this. Digging deeper I noticed that in the `lcd-bitmap-common.c` driver the `current_viewport` was pointing to the start of the line's text. From what I can tell the cause of this was that the viewport was set to a struct with a shorter scope than the entire function.

The actual fix for this is quite straightforward -- once the scrollbar has been drawn the viewport is now changed back to the default one.
apps/gui/bitmap/list.c [diff]
Georg Gadinger
11th Dec 21:26 b339400531: voice: Last commit didn't work from a clean build.
apps/lang/lang.make [diff]
Solomon Peachy
11th Dec 21:15 227ac2b715: voice: Add voice-corrections.txt to voicestrings.zip

This is in keeping with un-hardcoding stuff from rbutil.
apps/lang/lang.make [diff]
Solomon Peachy
11th Dec 20:39 60139cf9f1: FS #9273: Add a bunch of voice corrections for Japanese.

Heavily modified from the original patches.
tools/voice-corrections.txt [diff]
Solomon Peachy
11th Dec 20:35 e4b514917e: lang: The "InvalidVoice" language file wasn't being included properly

It ended up inside the 'langs/voicestrings.zip' with an absolute path when it should of landed in langs/ directly.
apps/lang/SOURCES [diff]
tools/buildzip.pl [diff]
Solomon Peachy
10th Dec 20:30 9ad1ef0e55: rbutil: Fix encoding for themes info data.

The themes info data uses utf-8 encoding, while QSettings defaults to ASCII and uses escape sequences, resulting in non-ASCII characters being garbled. Use the correct encoding.
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
10th Dec 04:46 52d437b33e: FS13260: Updated Polish Translation (Adam Rak)
apps/lang/polski.lang [diff]
Solomon Peachy
10th Dec 04:31 d99320047c: Correct the filenames for the Sony NWZ-A680 pictures
manual/rockbox_interface/images/sonynwa860-front.pdf manual/rockbox_interface/images/sonynzwa860-front.pdf [rename]
manual/rockbox_interface/images/sonynwa860-front.png manual/rockbox_interface/images/sonynzwa860-front.png [rename]
manual/rockbox_interface/images/sonynwa860-front.svg manual/rockbox_interface/images/sonynzwa860-front.svg [rename]
Solomon Peachy
10th Dec 03:40 c07c08506b: SVG image of the Sony NWZ-A860 and other formats for the manual.
manual/rockbox_interface/images/sonynwa860-front.pdf [new]
manual/rockbox_interface/images/sonynwa860-front.png [new]
manual/rockbox_interface/images/sonynwa860-front.svg [new]
Szymon Dziok
10th Dec 03:40 dac0610626: SVG image of the FiiO M3K and other formats for the manual.
manual/rockbox_interface/images/fiiom3k-front.pdf [new]
manual/rockbox_interface/images/fiiom3k-front.png [new]
manual/rockbox_interface/images/fiiom3k-front.svg [new]
Szymon Dziok
8th Dec 21:13 0b8c6bd5f0: rbutil: Fix log strings in s5l bootloader installation.

We can't use a ternary expression within the tr() function. While this initially might work as expected it completely breaks translating the actual string -- we need to use separate strings here, and replacing a single word in a sentence will also not work for translations.
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
Dominik Riebeling
8th Dec 21:13 d148afca3b: rbutil: Improve HiDPI support.

Replace the Rockbox logo with an svg version. Since the file size (i.e. the page size in the svg) that isn't intended for use as icon we need to enable scaling, and since scaling the label content doesn't keep the aspect ratio we need to explicitly set the desired values.

Notably improves representation on HiDPI monitors. Now only the player icons are still raster images.
rbutil/rbutilqt/rbutilqtfrm.ui [diff]
Dominik Riebeling
8th Dec 19:12 792f05f82a: lcd: Wrap anonymous union initializer in braces

GCC 4.9.4 is apparently smart enough to compile this, but 4.4.4 is not.
firmware/drivers/lcd-color-common.c [diff]
Franklin Wei
7th Dec 07:11 40b6897f4f: puzzles: tooling to automate the resyncing process

This adds a resync.sh script that handles most of the resyncing process: copying new sources, regenerating help, and staging for commit. I also took this opportunity to make the process more efficient and consistent by only selecting the types of files that we care about and ignoring any autogenerated temporary files that may be in the upstream tree.
apps/plugins/puzzles/genhelp.sh [diff]
apps/plugins/puzzles/resync.sh [new]
Franklin Wei
7th Dec 07:11 b7ce408f65: puzzles: update frontend for new midend_get_cursor_location semantics

midend_get_cursor_location now returns a bool indicating success.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
7th Dec 07:08 84cd812ccd: puzzles: resync with upstream

This updates the upstream sources to include a modified get_cursor_location patch that I anticipate Simon will merge shortly. Also, I've streamlined the resync process to only copy the exact files we need to reduce clutter.
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
apps/plugins/puzzles/help/signpost.c [diff]
apps/plugins/puzzles/help/singles.c [diff]
apps/plugins/puzzles/help/sixteen.c [diff]
apps/plugins/puzzles/help/slant.c [diff]
...and 139 more files.
Franklin Wei
5th Dec 18:11 ae59995553: rbutil: Update changelog.

Add changes that haven't been added yet.
rbutil/rbutilqt/changelog.txt [diff]
Dominik Riebeling
5th Dec 18:11 731c5db875: rbutil: Fix autodetection messing up with multiple players.

When multiple players are connected, and at least one of them has a USB ID that is shared between multiple targets the resulting list would be off. Fix that by avoiding to modify a list while iterating over it, that's usually not a good idea.
rbutil/rbutilqt/base/autodetection.cpp [diff]
Dominik Riebeling
5th Dec 18:11 82b53ebf54: rbutil: Merge finding player by USB ID with PlayerBuildInfo.

Remaining rework of player info data handling.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/playerbuildinfo.cpp [diff]
rbutil/rbutilqt/base/playerbuildinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [deleted]
rbutil/rbutilqt/base/systeminfo.h [deleted]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/installtalkwindow.cpp [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
Dominik Riebeling
5th Dec 12:44 0e315e848a: rbutil: Rework handling of available voice languages.

- Move Rockbox voice language names handling to PlayerBuildInfo, and handle it similarly to the rest of the device specific values. Rework internal handling to simplify things.
- Enable language list from build server for installing prerendered voice files other than english.
- Extend unit tests.
rbutil/rbutilqt/base/playerbuildinfo.cpp [diff]
rbutil/rbutilqt/base/playerbuildinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/ttssapi.cpp [diff]
rbutil/rbutilqt/createvoicewindow.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/test/test-playerbuildinfo.cpp [diff]
Dominik Riebeling
5th Dec 10:19 ac5fc26085: rbutil: Make target list part of new player info.

Also remove the unused cases.
rbutil/rbutilqt/base/playerbuildinfo.cpp [diff]
rbutil/rbutilqt/base/playerbuildinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
4th Dec 20:26 c51c6c1eb3: rbutil: Add MIDI patchset to plugin data installation.

Add installing the MIDI patchset, and subsequently rename from Game Files to Plugin Data Files.
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/rbsettings.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidgetfrm.ui [diff]
Dominik Riebeling
3rd Dec 21:25 7739bb31b3: rbutil: Convert RockboxInfo unit test to data driven QTest.
rbutil/rbutilqt/test/test-rockboxinfo.cpp [diff]
rbutil/rbutilqt/test/test-rockboxinfo.pro [diff]
Dominik Riebeling
3rd Dec 21:25 3300815c44: rbutil: Update and fix unit tests.

- Fix changed dependencies and provide real stubs.
- Update to use QTest global data for test table, so individual test vector entries show up as individual tests. That way a single comparison failing doesn't make all appear as failed and provide better indication what went wrong.
rbutil/rbutilqt/test/stubs/stubs-compareversion.cpp [new]
rbutil/rbutilqt/test/test-compareversion.cpp [diff]
rbutil/rbutilqt/test/test-compareversion.pro [diff]
Dominik Riebeling
3rd Dec 21:25 b064a6cbb5: rbutil: Rework and merge player and build server info handling.

Handling the data for players from rbutil.ini and the build-info data from the server is closely related. Splitting things up into different classes only creates tightly coupling, which is unnecessary, and the need to differentiate between them in the application.

Merge both classes into a single one and rework handling so the application doesn't have to deal with two separate classes anymore.

Furthermore, change URL templates to use new values from build-info instead of hard coding them.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
rbutil/rbutilqt/base/playerbuildinfo.cpp [new]
rbutil/rbutilqt/base/playerbuildinfo.h [new]
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/serverinfo.cpp [deleted]
rbutil/rbutilqt/base/serverinfo.h [deleted]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/talkgenerator.cpp [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/voicefile.cpp [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
rbutil/rbutilqt/test/stubs/stubs-playerbuildinfo.cpp [new]
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [deleted]
rbutil/rbutilqt/test/test-playerbuildinfo.cpp [new]
rbutil/rbutilqt/test/test-serverinfo.pro rbutil/rbutilqt/test/test-playerbuildinfo.pro [rename]
rbutil/rbutilqt/test/test-serverinfo.cpp [deleted]
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
3rd Dec 21:25 78a01db47c: rbutil: Get rid of configure_modelname in rbutil.ini.

The target selection string used for configure is the same as the internally used player string, minus the (optional) variant suffix. Don't duplicate things, simply strip the suffix.
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
2020-11-29 10f05b3b27: build-info: Replace %MODEL% with %TARGET%
tools/build-info.pl [diff]
Solomon Peachy
2020-11-29 a5961c944b: FS #5320: Keypad hold doesn't let go until scrolling is used (ipod 4g/5g)

Patch by Boris Gjenero
firmware/target/arm/ipod/button-clickwheel.c [diff]
Solomon Peachy
2020-11-27 c8da2bc145: rbutil: Treat Aigo Eros clones as variant of it.

Fixes installing those builds, since they relied on the broken buildserver_modelname. Also simplifies internal handling.
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-27 8765650fe0: rbutil: Remove buildserver modelname string.

This isn't needed anymore, and the only player it was actually used for were the 8MB modded Archos ones, for which the usage was broken.
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-27 716643572d: rbutil: Remove Archos 8MB modded players.

The Archos Recorder has 2MB RAM and can be modded to 8MB. While we previously had separate builds for those the last release which it was built for is 3.4; installing for 8MB modded players was broken and installed the normal 2MB build.

Since we never provided builds for other hardware mods (like Ondio backlight mod, h100 series RTC mod) there isn't much reason to do so for the 8MB mod. Furthermore, given that the current state is broken and nobody complained the number of users of the mod can be assumed to be very low, and people with a modded player also building Rockbox on their own.
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-26 3ee6ce956f: rbutil: Remove duplicated enum entry.

SystemInfo::PlatformName and Name actually retrieve the same value. That's not usefule, so remove one of both.
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2020-11-23 185dfb42c2: rbutil: Fix wrong format string.

Only caused a warning, but no need to pass format parameters if there is no format string.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2020-11-23 9a52991bbd: rbutil: Add support for installing daily builds.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
Dominik Riebeling
2020-11-23 1ba6785e46: rbutil: Modernize connect() to new pointer-to-member syntax.
rbutil/rbutilqt/sysinfo.cpp [diff]
rbutil/rbutilqt/systrace.cpp [diff]
Dominik Riebeling
2020-11-23 ec730f1609: rbutil: Fix selecting the previously selected build type.

When starting Rockbox Utility select the same build type that was used during the previous run. This broke during refactoring, fix it.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2020-11-22 64fe7e03a8: build-info: Additions for new rbutil.
tools/build-info.pl [diff]
Solomon Peachy
2020-11-22 f598ef9c27: rbutil: Add support for installing daily builds.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-22 0ea8f074ed: rbutil: Remove Install Voice button from Accessibility tab.

Installing the voice file is now done via the main installation.
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.h [diff]
rbutil/rbutilqt/rbutilqtfrm.ui [diff]
Dominik Riebeling
2020-11-22 0b911b7500: rbutil: Fix wrong section name in installation log.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2020-11-22 ff7e8b4293: deploy: Update sources list for Rockbox Utility.
utils/common/deploy-rbutil.py [diff]
Dominik Riebeling
2020-11-22 25529e4fe0: lang: More automated rejiggering, USB_MODE_* is no longer ibasso-specific
apps/lang/bulgarian.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/norsk.lang [diff]
apps/lang/polski.lang [diff]
apps/lang/portugues.lang [diff]
apps/lang/slovak.lang [diff]
apps/lang/srpski.lang [diff]
apps/lang/svenska.lang [diff]
apps/lang/turkce.lang [diff]
apps/lang/vlaams.lang [diff]
tools/updatelang [diff]
Solomon Peachy
2020-11-22 e8f8df4ee0: rbutil: Update Iriver h100 / h300 series bootloader paths.

The patching code now requires the new version 8.0 bootloaders.
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-22 1b9eebb39d: rbutil: Update Windows application icon.

Bring it in line with the other icons and always show the same image, regardless of size.
rbutil/rbutilqt/icons/rockbox.ico [diff]
Dominik Riebeling
2020-11-22 ba2bbd60bd: rbutil: Move Manual installation to main tab.

The manual tab didn't show the manual, so it's clearer to have that as part of the main tab.

Also fixes the wrong manual getting downloaded for releases.
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/rbsettings.h [diff]
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/gui/manualwidget.cpp [deleted]
rbutil/rbutilqt/gui/manualwidget.h [deleted]
rbutil/rbutilqt/gui/manualwidgetfrm.ui [deleted]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidgetfrm.ui [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.h [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
rbutil/rbutilqt/rbutilqtfrm.ui [diff]
Dominik Riebeling
2020-11-22 5f36aed4bf: rbutil: Unify template parameter for release version.

Don't use different parameter names for the same parameter.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2020-11-22 dfe9d63640: rbutil: Modernize connect() to new pointer-to-member syntax.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2020-11-22 1a3d12ceea: rbutil: Don't try to install voice file if it's not available.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
Dominik Riebeling
2020-11-22 0d2257d1f7: rbutil: Replace stringly types build type handling with enum.

Avoid having to repeat the same strings for lookup again and again and use an enum instead, which is also less error prone.
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
Dominik Riebeling
2020-11-22 c2dacf6736: rbutil: Add voice installation to main widget.

Add checkbox for installing the prerendered voice file to the main install widget. Current limitations:
- only english for now. The available languages are available from the build server but are not yet taken into account.
- only for releases. This is the same limitations we had before. We do have voices for daily builds, but that requires adding daily builds again (those have been removed some time back.)
- Old voice installation dialog still present.
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/rbsettings.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidgetfrm.ui [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
Dominik Riebeling
2020-11-22 ad37655687: rbutil: Use pattern replacement for SystemInfo build type.

Use pattern replacement for lookup instead of expanded values. Will allow simplifying things later for better handling of different build types.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-22 6b3b4df6f6: rockbox: move firmware checksum algorithms into a common header

Before this was just implemented inline wherever it was needed. Now it is provided as 2 inline functions in a header called checksum.h. There should be no differences in actual behavior.
apps/plugins/crypt_firmware.c [diff]
apps/plugins/iriver_flash.c [diff]
firmware/common/rb-loader.c [diff]
firmware/include/checksum.h [new]
James Buren
2020-11-22 2eb191a3f4: manual: hopefully fix html generation

(by using the 'scrhack' package)
manual/preamble.tex [diff]
Solomon Peachy
2020-11-22 9d33ed10ab: manual: Remove some (very) obsolete latex style files.

* scrreprt.4ht
* booktabs.sty
* optional.sty
* pdfdraftcopy.sty

Use system-provided stuff instead.
manual/booktabs.sty [deleted]
manual/optional.sty [deleted]
manual/pdfdraftcopy.sty [deleted]
manual/scrreprt.4ht [deleted]
Solomon Peachy
2020-11-22 332433eb3d: fix a few manual warnings
manual/appendix/config_file_options.tex [diff]
manual/frontpage/frontpage.tex [diff]
manual/getting_started/main.tex [diff]
manual/intro/main.tex [diff]
manual/preamble.tex [diff]
manual/rockbox_interface/main.tex [diff]
Moshe Piekarski
2020-11-22 4641d86c46: xduoox3: Fix a few issues with the manual
manual/platform/keymap-xduoox3.tex [diff]
manual/plugins/pegbox.tex [diff]
manual/plugins/wormlet.tex [diff]
Solomon Peachy
2020-11-21 efacce58eb: rbutil: Modernize connect() to new pointer-to-member syntax.
rbutil/rbutilqt/base/bootloaderinstallams.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallbase.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallchinachip.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallfile.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallhex.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallimx.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallipod.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallmi4.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallmpio.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstalltcc.cpp [diff]
Dominik Riebeling
2020-11-19 f29b81d521: rbutil: Avoid creating temporary object.

There's a static function for that.
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/systrace.cpp [diff]
Dominik Riebeling
2020-11-19 fb6840e572: rbutil: Remove done() signal from Themes Install window.

This shadows a slot from the base class. Since it isn't used simply remove it.
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
rbutil/rbutilqt/themesinstallwindow.h [diff]
Dominik Riebeling
2020-11-19 12764781c6: rbutil: Modernize code to use C++11 nullptr.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/autodetection.h [diff]
rbutil/rbutilqt/base/bootloaderinstallams.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallbase.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallbspatch.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallchinachip.h [diff]
rbutil/rbutilqt/base/bootloaderinstallhelper.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallhex.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallhex.h [diff]
rbutil/rbutilqt/base/bootloaderinstallimx.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallipod.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallsansa.h [diff]
rbutil/rbutilqt/base/bootloaderinstalltcc.cpp [diff]
rbutil/rbutilqt/base/encoderexe.h [diff]
rbutil/rbutilqt/base/encoderrbspeex.cpp [diff]
rbutil/rbutilqt/base/encoderrbspeex.h [diff]
rbutil/rbutilqt/base/httpget.h [diff]
rbutil/rbutilqt/base/mspackutil.cpp [diff]
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/system.cpp [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/talkfile.cpp [diff]
rbutil/rbutilqt/base/ttsbase.cpp [diff]
rbutil/rbutilqt/base/ttsespeak.h [diff]
rbutil/rbutilqt/base/ttsespeakng.h [diff]
rbutil/rbutilqt/base/ttsexes.h [diff]
rbutil/rbutilqt/base/ttsfestival.h [diff]
rbutil/rbutilqt/base/ttsflite.h [diff]
rbutil/rbutilqt/base/ttsmimic.h [diff]
...and 28 more files.
Dominik Riebeling
2020-11-19 f608de723c: rbutil: Convert ServerInfo to singleton.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/manualwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-19 f8fb4274ee: rbutil: Rework server info data handling.

Remove map that isn't used anymore.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
Dominik Riebeling
2020-11-19 497618e51e: Add libraries to native MIPS toolchain to enable bluetooth support

libffi, zlib, glib, expat, and dbus
tools/rockboxdev.sh [diff]
Solomon Peachy
2020-11-19 b7b0c7c648: languages: convert recording_swcodec -> recording
apps/features.txt [diff]
apps/lang/arabic.lang [diff]
apps/lang/basque.lang [diff]
apps/lang/bulgarian.lang [diff]
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/czech.lang [diff]
apps/lang/dansk.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/finnish.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/hrvatski.lang [diff]
apps/lang/islenska.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/lietuviu.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/norsk-nynorsk.lang [diff]
apps/lang/norsk.lang [diff]
apps/lang/polski.lang [diff]
...and 17 more files.
Solomon Peachy
2020-11-19 6d62a7a1bd: Clean out some obsolete strings from the Russian translation
apps/lang/russian.lang [diff]
Solomon Peachy
2020-11-18 3027cead01: hosted: Improve buffer underrun handling in the ALSA driver

* Bump internal mix buffer size by 4x, to 1K frames (matching ALSA period)
* Handle an underrun that occurs when filling the audio buffer
* Log underruns and make them available in the debug info
firmware/export/pcm_mixer.h [diff]
firmware/target/hosted/agptek/debug-agptek.c [diff]
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/pcm-alsa.h [diff]
Solomon Peachy
2020-11-18 473aa615de: Minor additions to g#3035
manual/plugins/main.tex [diff]
Moshe Piekarski
2020-11-18 0aa702836b: Manual: remove most HWCODEC artifacts

This causes 3 changes in layout. 2 I can't track down and 1 is better this way.
manual/advanced_topics/main.tex [diff]
manual/appendix/appendix.tex [diff]
manual/appendix/config_file_options.tex [diff]
manual/appendix/file_formats.tex [diff]
manual/appendix/wps_tags.tex [diff]
manual/configure_rockbox/bookmarking.tex [diff]
manual/configure_rockbox/display_options.tex [diff]
manual/configure_rockbox/main.tex [diff]
manual/configure_rockbox/playback_options.tex [diff]
manual/configure_rockbox/recording_settings.tex [diff]
manual/configure_rockbox/sound_settings.tex [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/configure_rockbox/theme_settings.tex [diff]
manual/getting_started/installation.tex [diff]
manual/main_menu/fmradio.tex [diff]
manual/plugins/lrcplayer.tex [diff]
manual/plugins/main.tex [diff]
manual/plugins/oscilloscope.tex [diff]
manual/plugins/pictureflow.tex [diff]
manual/plugins/text_viewer.tex [diff]
manual/plugins/theme_remove.tex [diff]
manual/rockbox_interface/main.tex [diff]
manual/rockbox_interface/tagcache.tex [diff]
manual/rockbox_interface/wps.tex [diff]
Moshe Piekarski
2020-11-18 7c87467ba4: configure: Add prompt for USB Serial into the advanced mode

And explicitly disable USB_ENABLE_SERIAL when HAVE_USBSTACK is not define
firmware/logf.c [diff]
tools/configure [diff]
Solomon Peachy
2020-11-17 20774d88b5: Update english-US language
apps/lang/english-us.lang [diff]
Solomon Peachy
2020-11-17 170f72156b: lang: Drop all deprecated strings, and rename LANG__NEVER to LANG_NEVER
apps/lang/arabic.lang [diff]
apps/lang/basque.lang [diff]
apps/lang/bulgarian.lang [diff]
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/czech.lang [diff]
apps/lang/dansk.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/eesti.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/esperanto.lang [diff]
apps/lang/finnish.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/hindi.lang [diff]
apps/lang/hrvatski.lang [diff]
apps/lang/islenska.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/lietuviu.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/norsk-nynorsk.lang [diff]
...and 17 more files.
Solomon Peachy
2020-11-17 7ff3c94e13: lang: Make all swcodec &| lcd_bitmap strings default.
apps/lang/afrikaans.lang [diff]
apps/lang/arabic.lang [diff]
apps/lang/basque.lang [diff]
apps/lang/bulgarian.lang [diff]
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/czech.lang [diff]
apps/lang/dansk.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/eesti.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/esperanto.lang [diff]
apps/lang/finnish.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/hindi.lang [diff]
apps/lang/hrvatski.lang [diff]
apps/lang/islenska.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/lietuviu.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
...and 19 more files.
Solomon Peachy
2020-11-17 0400a391d3: usb: increase the stack size.

It's not large enough on some targets.

(this will be revisited when the USB insertion prompt stuff is moved out of the USB helper and over to the main thread)
firmware/usb.c [diff]
Solomon Peachy
2020-11-16 ad665a04d2: Manual Bugfix SetWPSContextPlugin
manual/configure_rockbox/wps_context_plugin.tex [diff]
William Wilgus
2020-11-16 4fd1e4364b: fwpatcher: fix compile errors and warnings on modern Linux
tools/fwpatcher/Makefile [diff]
tools/fwpatcher/main.c [diff]
James Buren
2020-11-16 84086af957: update fwpatcher and rbutil checksums for iriver h1x0/h300 V8 bootloader
rbutil/rbutilqt/irivertools/h100sums.h [diff]
rbutil/rbutilqt/irivertools/h120sums.h [diff]
rbutil/rbutilqt/irivertools/h300sums.h [diff]
tools/fwpatcher/h100sums.h [diff]
tools/fwpatcher/h120sums.h [diff]
tools/fwpatcher/h300sums.h [diff]
James Buren
2020-11-16 adee6a11bf: rockbox: fix iriver firmware validation for larger bootloaders

It turns out the code for the firmware size validation was incorrectly using the total length of the firmware file to check if it was too big for the flash rom which caused it to incorrectly flag larger bootloaders as too big even though they would still fit.

As it happens this situation can only really arise after mkboot has been run on the decoded firmware image. Because mkboot writes the actual binary size to the ESTFBINR header we will be using that to check if the firmware image is too large for the flash rom.

Now because this information is embedded in the decrypted / encrypted region we have to collect it as the region is processed so the validation is also moved to after the data processing loop.
tools/fwpatcher/iriver.c [diff]
tools/iriver.c [diff]
James Buren
2020-11-16 64ea644269: mkboot: fix the buffer size used for constructing the final firmware image

It was short by a fair number of bytes which could be reached when attempting to insert bootloaders near the maximum size of 64k. This ensures even the largest acceptable bootloader will not overflow the buffer.
tools/mkboot.c [diff]
James Buren
2020-11-16 63691ad106: Fix the fix, which managed to make things _worse_
apps/settings.c [diff]
Solomon Peachy
2020-11-16 3e32521be5: Fix the red introduced in 9c68c69
apps/settings.c [diff]
Solomon Peachy
2020-11-16 9c68c69cf0: FS13257: Fix inconsistent defaults in the USB mode selection
apps/settings.c [diff]
apps/settings_list.c [diff]
firmware/export/usb.h [diff]
firmware/usb.c [diff]
Solomon Peachy
2020-11-16 5252523937: fwpatcher: fix a few issues with the mksums.pl script

First, the way it was invoking mkboot was no longer correct so it was not producing files used in the later commands.

Second, support for the H300 1.31k firmware was added sometime ago but not to this script.
tools/fwpatcher/mksums.pl [diff]
James Buren
2020-11-16 c79ddb6bf4: iriver_flash: update valid bootloaders table

This removes all the pre-release bootloader of version 7 and replaces them with production releases of version 8. The pre-releases have their own problems and should be left behind as they were never officially released.
apps/plugins/iriver_flash.c [diff]
firmware/export/eeprom_settings.h [diff]
James Buren
2020-11-15 dec5421ca2: rbutil: Rework server info data handling.

Return status as int, not as string, and provide a separate function for converting to string. This allows to filter based on the actual status, not a (localized) status string, which is more robust.

Fix a regression that made players with missing status value show up as retired.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-15 af766ae10e: rbutil: Fix style warnings.
rbutil/rbutilqt/base/systeminfo.cpp [diff]
Dominik Riebeling
2020-11-15 6c2780e709: rbutil: Rework server info data handling.

Allow constructing release candidate URL from configuration the same way we construct the URL for releases.

Note that the server path used does not exist, taken from old release candidate builds not available anymore.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-15 9bb60b7d85: rbutil: Rework server info data handling.

Allow extracting release candidate version even if no URL is present. Avoids a special case for version handling.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-15 104ff3433a: rbutil: Rework server info data handling.

Don't create our own in-memory map with server data. Instead use the configuration file retrieved from the download server, and do the resolve / replacement on the fly.

Simplifies things, and prepares for cleaner handling for different build types.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-15 2b2a7b9ae3: rbutil: Simplify manual download URL handling.

- Don't construct the URL directly. The ServerInfo already has it, use that instead.
- Don't manually construct the output filename. ZipInstaller will use the server filename automatically.
rbutil/rbutilqt/gui/manualwidget.cpp [diff]
Dominik Riebeling
2020-11-15 687edc1866: rbutil: Extend test for ServerInfo.

- Further extend stubs, pull in less non-stubbed implementations.
- Change some test URLs to make sure the code actually uses the correct ones.
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.pro [diff]
Dominik Riebeling
2020-11-15 cb71e2154c: rbutil: Extend test for ServerInfo.

- Add tests for missing info values.
- Extend stubs, pull in less non-stubbed implementations.
rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp [new]
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
rbutil/rbutilqt/test/test-serverinfo.pro [diff]
Dominik Riebeling
2020-11-15 7d1078a9d5: rbutil: Fix unit test.
rbutil/rbutilqt/test/test-serverinfo.cpp [diff]
Dominik Riebeling
2020-11-15 1bc68d5ad7: h1x0/h300: change when the hold switch and failsafe are used

After reviewing the code awhile I realized that the failsafe and hold switch have no impact on the boot process when the usb or charger is connected. That makes no real sense to me. If these are connected then neither will be used at all. The boot process will never revisit it either once those other modes end and resume the boot process. It will just continue to try to boot from disk as if these emergency settings never existed.

I have decided it makes more sense for them to be evaluated once the higher priority charge and disk mode have finished their roles. Given how the code was originally written it seems to be they were not intended to run prior to these at the very least since the logical conditions preclude that possibility as they include the inverse of the conditions that trigger the charge and disk modes.
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-15 fc5c8192ff: h1x0/h300: fix h300 bootloader hold switch check

This fixes an early boot bug on the h300 where hold_status is read before it has a chance to properly check whether the hold switch is even active. This was accomplished by porting over the method the h1x0 uses to perform the same check.
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-15 29a20bd209: h1x0/h300: consolidate a few code paths to logical equivalents

This saves a few bytes of precious space by consolidating paths where they can be combined with no change to the underlying algorithm.
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-15 3ef8455626: Remove some SWCODEC artifacts
apps/plugins/text_viewer/readme.txt [diff]
firmware/export/config/fiiom3k.h [diff]
Moshe Piekarski
2020-11-14 c10eea46a9: iriver_flash: add macros to reduce the rom chip table

The table is now gated by the FLASH_SIZE macro as any given target will not have a known rom chip of a differing size than the FLASH_SIZE. This will reduce the resulting code a bit as well.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-11-14 7d9ac021b5: h1x0/h300: bring the two bootloaders more in sync

The most major change here is the porting of the failsafe boot menu and eeprom settings support from the h1x0 bootloader to the h300 bootloader. This has been successfully tested already and indeed works about the same as it does on the h1x0 bootloader.

The other major change is the addition of new code to both bootloaders that will retry the flash boot function after exitting disk mode. It still falls back to booting from disk if this either fails or is not configured to boot from flash.

There were also various other modifications to bring the two closer in sync so there are fewer differences.
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-14 33d42c20de: iriver_flash: do not let the backlight timeout while running

I discovered it was doing this on the H300 during longer operations and I freaked out at first. This disables this feature until the program is finished so as to not give anyone else an unnecessary fright while using it. It will also cut down on frivilous reports.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-11-14 be1be797b2: rbutil: Rework player configuration.

Rename config entries and remove now unnecessary default value handling.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/talkgenerator.cpp [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/manualwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
2020-11-14 2509def164: rbutil: Rework player configuration.

- Split internal configuration into player specific and common parts. Always require passing the player for player specific data instead of implicitly assuming the currently selected one; only use the currently selected one if the player name is explicitly passed as empty.
- Similarly adjust handling of server info data; prepare for splitting into build type specific values so the naming becomes cleaner.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstalls5l.cpp [diff]
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.h [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.h [diff]
rbutil/rbutilqt/base/talkgenerator.cpp [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/gui/manualwidget.cpp [diff]
rbutil/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
2020-11-14 440083af87: rbutil: Show HTTP error string on download failure.

Also show the error string, which usually is more helpful than just showing the HTTP error code.
rbutil/rbutilqt/base/zipinstaller.cpp [diff]
Dominik Riebeling
2020-11-14 aaa9a2ccee: h1x0/h300: clean up the bootloader source a bit

First this removes most of the conditionals for the CPP as they are always true for the targets that use the bootloader source.

Second this moves some global variable references around to reduce some redundancy in the h1x0 bootloader source.

All of this is done to make it easier to compare the two bootloaders as they are very heavily related to each other.
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-14 37eabbfe51: h1x0/h300: remove trailing whitespace from bootloaders
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
James Buren
2020-11-14 5a223080fa: h300: enable usb charging for charge mode and disk mode

This enables USB charging when the bootloader is in charge mode or disk mode. As a byproduct there is a small change in behavior where charge mode is all that is available if it is triggered by the USB cable insertion. Disk mode only becomes available if the user requests to continue the boot process by pressing the power button. It had to be done this way as there's no way to tell this early whether the user wants to simply charge or trigger disk mode as well.
bootloader/iriver_h300.c [diff]
James Buren
2020-11-14 d5a2aeb6c4: rockbox: revise charger_inserted and power_input_present functions

This makes it so the thread cached variable is only read if building the regular firmware. For bootloaders the data is now read directly.

This fixes the functions for bootloaders so they do not have to import the power management code just so these functions will work when in the bootloader.
firmware/powermgmt.c [diff]
James Buren
2020-11-14 03cd773051: ibasso: Hopefully hack usb into building again.
apps/menus/settings_menu.c [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/target/hosted/ibasso/usb-ibasso.c [diff]
firmware/usb.c [diff]
Solomon Peachy
2020-11-14 43f90746d5: synclist add method for setting selection color
apps/gui/bitmap/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
William Wilgus
2020-11-13 610ad6f6e3: ibasso: Fix red introduced in 60f581e
firmware/target/hosted/ibasso/usb-ibasso.c [diff]
Solomon Peachy
2020-11-13 60f581e8f5: usb: Add ability to prompt user about what to do upon usb insertion

v3: Add in config option v4: Bugfixes v5: Force a redraw upon exiting v6: keypress-in-chargeonly mode enables mass storage (and vice versa) v7: Fix bootloader builds v8: Update manual, and have bootloader respect keypresses v9: Change default to mass storage (ie no change in behavior)

todo:
* test-build dx50/dx90
* Switch from yes/no to proper menu?
* prevent WPS progress bar from drawing over us


...
apps/lang/bulgarian.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/norsk.lang [diff]
apps/lang/polski.lang [diff]
apps/lang/portugues.lang [diff]
apps/lang/russian.lang [diff]
apps/lang/slovak.lang [diff]
apps/lang/srpski.lang [diff]
apps/lang/svenska.lang [diff]
apps/lang/turkce.lang [diff]
apps/lang/vlaams.lang [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/usb.h [diff]
firmware/target/hosted/ibasso/usb-ibasso.c [diff]
firmware/target/hosted/ibasso/usb-ibasso.h [diff]
firmware/usb.c [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/rockbox_interface/main.tex [diff]
Solomon Peachy
2020-11-13 fc4fff0b81: builds: Enable German voicefile generation in the nightly builds
tools/builds.pm [diff]
Solomon Peachy
2020-11-13 6c3cc1cbb9: Skin_engine optimize element switches

it takes a lot of code to check validity and dereference a pointer for every numeric tag branch in get_token_value

apparently about 900 bytes actually
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
William Wilgus
2020-11-13 47e1f96427: Bugfix Backlight_init should be called after lcd_init

the rest..
bootloader/ipod.c [diff]
bootloader/ipodnano2g.c [diff]
bootloader/iriver_h1x0.c [diff]
utils/atj2137/adfuload/test_binary/lcm/test_lcm.c [diff]
William Wilgus
2020-11-13 f65fb2a64a: h300, Others Bugfix Bootloader backlight_init()

backlight_init needs to be called after lcd_init when using lcd_enable()
bootloader/creativezvm.c [diff]
bootloader/iriver_h300.c [diff]
bootloader/meizu_m3.c [diff]
bootloader/mini2440.c [diff]
bootloader/sansaconnect.c [diff]
firmware/target/coldfire/iriver/h300/lcd-h300.c [diff]
William Wilgus
2020-11-13 8ac46f844f: h300: fix one long-standing bootloader bug

This was introduced in e13c6001332882291363bdf2f1155875439fe187 back when the author was trying to optimize the LCD code with DMA. For whatever reason this broke the bootloader for the last 10 years or so and no one could figure out why. This is now fixed.

However the bootloader is still currently broken in HEAD due to recent changes to the LCD code. A fix for that is not yet known.
firmware/target/coldfire/iriver/h300/lcd-h300.c [diff]
James Buren
2020-11-12 362f7a3220: Quickscreen: don't apply glabal settings
apps/gui/quickscreen.c [diff]
Moshe Piekarski
2020-11-12 b912ad5088: plugin: Un-export find_next_frame()

No in-tree users
apps/plugin.c [diff]
apps/plugin.h [diff]
docs/PLUGIN_API [diff]
Solomon Peachy
2020-11-12 388adff3cc: pcm: Further cleanup of unused bits of the PCM ACPI:

* pcm_get_bytes_remaining()
* pcm_calculate_peaks()
* pcm_get_peak_buffer()

Nothing in-tree uses these at all (except for the lua plugin wrapper)
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lua/include_lua/pcm.lua [diff]
apps/plugins/lua/rocklib.c [diff]
docs/PLUGIN_API [diff]
firmware/export/pcm.h [diff]
firmware/pcm.c [diff]
firmware/target/arm/as3525/pcm-as3525.c [diff]
firmware/target/arm/imx233/pcm-imx233.c [diff]
firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c [diff]
firmware/target/arm/pcm-telechips.c [diff]
firmware/target/arm/pnx0101/pcm-pnx0101.c [diff]
firmware/target/arm/pp/pcm-pp.c [diff]
firmware/target/arm/rk27xx/pcm-rk27xx.c [diff]
firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c [diff]
firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c [diff]
firmware/target/arm/s5l8700/pcm-s5l8700.c [diff]
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c [diff]
firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c [diff]
firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c [diff]
firmware/target/coldfire/pcm-coldfire.c [diff]
firmware/target/hosted/android/pcm-android.c [diff]
firmware/target/hosted/ibasso/pcm-ibasso.c [diff]
firmware/target/hosted/maemo/pcm-gstreamer.c [diff]
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/sdl/pcm-sdl.c [diff]
firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c [diff]
firmware/target/mips/ingenic_jz47xx/pcm-jz4760.c [diff]
Solomon Peachy
2020-11-12 1a68856f52: Rocker Add WPS and Tree Hotkey, button codes in debug menu VolUp+VolDown becomes the wps and tree (file browser) hotkey
apps/keymaps/keymap-agptekrocker.c [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/target/hosted/agptek/debug-agptek.c [diff]
William Wilgus
2020-11-12 4e5499606b: Russian translations update
apps/lang/russian.lang [diff]
Igor B. Poretsky
2020-11-12 b7560ce0af: Czech translations fix
apps/lang/czech.lang [diff]
Igor B. Poretsky
2020-11-12 b8ada839ee: Voice strings fixes
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/esperanto.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/islenska.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/polski.lang [diff]
apps/lang/portugues.lang [diff]
apps/lang/romaneste.lang [diff]
apps/lang/russian.lang [diff]
apps/lang/srpski.lang [diff]
apps/lang/tagalog.lang [diff]
apps/lang/vlaams.lang [diff]
apps/lang/walon.lang [diff]
Igor B. Poretsky
2020-11-11 869a8bfbe7: YesNo: Clear the button queue so a latent keypress doesn't skip the prompt
apps/gui/yesno.c [diff]
Solomon Peachy
2020-11-11 4aa749b59d: iriver_flash: refactor code to be easier to understand

This overhauls most of the code to be easier to understand in terms of the interactions with the flash. I found the original to be rather confusing with how it kept switching between byte and word offsets.

My solution was to make all external access to the flash in terms of sectors and bytes. Whatever the flash uses internally is now handled by the subroutines for performing the erase, program, and verify operations.

This helps make it far more consistent for the code that actually uses these operations as they do not need to concern themselves with word sizes and offsets anymore.

As a side effect of this change the flash operations are now done entirely by subroutines; even the batch operations that used to use custom loops.

Additionally some functions were merged with other functions in order to reduce the amount of functions as well as consolidating common code fragments.
apps/plugins/iriver_flash.c [diff]
firmware/export/config/iriverh100.h [diff]
firmware/export/config/iriverh120.h [diff]
firmware/export/config/iriverh300.h [diff]
firmware/export/system.h [diff]
James Buren
2020-11-08 c4254d10fc: Fuze+: Fix misplaced rectangle when lcd_flip set
firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c [diff]
Moshe Piekarski
2020-11-07 9fcdb44e55: rbutil: Show the license of all libraries included.

Replace the Speex license tab in the about dialog with one that lists all used libraries and their respective licenses, including Speex.

Previously only Speex required including the license in binary distribution; the recently added bspatch also wants this. Show the license for all used libraries so we can more easily add new ones in the future.
rbutil/rbutilqt/aboutbox.ui [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.qrc [diff]
Dominik Riebeling
2020-11-07 db7c4424e4: bspatch: Store license text in separate file.

Allow to easily show the license by having it in a separate file.
rbutil/bspatch/LICENSE [new]
Dominik Riebeling
2020-11-07 4820072a42: bzip: Add missing license to our copy of bzip2.
rbutil/bzip2/LICENSE [new]
Dominik Riebeling
2020-11-07 ba34b0fac3: rbutil: Modernize HttpGet implementation.

- Change signal-slot connections to new style, and fix renamed signal for Qt6.
- Make more use of RAII.
rbutil/rbutilqt/base/httpget.cpp [diff]
rbutil/rbutilqt/base/httpget.h [diff]
Dominik Riebeling
2020-11-07 4815a64f93: rbutil: Explicitly enable svg module.

Since most icons are svg now we need this. Linux implicitly enables it, Windows doesn't.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2020-11-07 87325ff957: rbutil: Enable HiDPI support on MacOS.

Since we provide our own Info.plist file we need to enable HiDPI support here.
rbutil/rbutilqt/Info.plist [diff]
Dominik Riebeling
2020-11-07 2e6a0df40e: rbutil: Enable HiDPI support on recent Qt versions.
rbutil/rbutilqt/main.cpp [diff]
Dominik Riebeling
2020-11-07 2e96657c36: rbutil: Replace most icons with their svg variant.

Replace png icons with svg ones for better HiDPI support.
rbutil/rbutilqt/configure.cpp [diff]
rbutil/rbutilqt/configurefrm.ui [diff]
rbutil/rbutilqt/createvoicefrm.ui [diff]
rbutil/rbutilqt/encttscfggui.cpp [diff]
rbutil/rbutilqt/gui/backupdialogfrm.ui [diff]
rbutil/rbutilqt/gui/changelogfrm.ui [diff]
rbutil/rbutilqt/gui/selectiveinstallwidgetfrm.ui [diff]
rbutil/rbutilqt/icons/audio-input-microphone.png [deleted]
rbutil/rbutilqt/icons/audio-input-microphone.svg [new]
rbutil/rbutilqt/icons/audio-volume-high.svg [new]
rbutil/rbutilqt/icons/bootloader_btn.png [deleted]
rbutil/rbutilqt/icons/dialog-error.png [deleted]
rbutil/rbutilqt/icons/dialog-error.svg [new]
rbutil/rbutilqt/icons/dialog-information.png [deleted]
rbutil/rbutilqt/icons/dialog-information.svg [new]
rbutil/rbutilqt/icons/dialog-warning.png [deleted]
rbutil/rbutilqt/icons/dialog-warning.svg [new]
rbutil/rbutilqt/icons/document-save.png [deleted]
rbutil/rbutilqt/icons/document-save.svg [new]
rbutil/rbutilqt/icons/doom_btn.png [deleted]
rbutil/rbutilqt/icons/edit-clear.svg [new]
rbutil/rbutilqt/icons/edit-find.png [deleted]
rbutil/rbutilqt/icons/edit-find.svg [new]
rbutil/rbutilqt/icons/font_btn.png [deleted]
rbutil/rbutilqt/icons/go-next.png [deleted]
rbutil/rbutilqt/icons/go-next.svg [new]
rbutil/rbutilqt/icons/input-gaming.svg [new]
rbutil/rbutilqt/icons/media-eject.png [deleted]
rbutil/rbutilqt/icons/media-eject.svg [new]
rbutil/rbutilqt/icons/multimedia-player.svg [new]
...and 34 more files.
Dominik Riebeling
2020-11-06 4f1888dfc8: rbutil: Redo MacOS application icon.

Don't use different icons depending on the display size and recreate properly including all scaled formats.
rbutil/rbutilqt/icons/rbutilqt.icns [diff]
Dominik Riebeling
2020-11-06 f9d8a0e210: rbutil: Simplify qmake check.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2020-11-06 6bc737cb1d: rbutil: Enable use of libmp3lame on macOS.

Since we're now automatically falling back to using the command line lame if we cannot load the library we can enable it on macOS as well.
rbutil/rbutilqt/base/encoderbase.cpp [diff]
Dominik Riebeling
2020-11-06 07604d62ab: rbutil: Command line fallback on libmp3lame failure.

When loading libmp3lame fails fall back to using the command line lame. Avoids an unresolvable error when trying to create voice / talk files for Archos. Modernize code a bit.
rbutil/rbutilqt/base/encoderbase.cpp [diff]
rbutil/rbutilqt/base/encoderlame.cpp [diff]
rbutil/rbutilqt/base/encoderlame.h [diff]
Dominik Riebeling
2020-11-04 bb7aa6f311: rk27generic: keymap tweaks
apps/keymaps/keymap-rk27xx-generic.c [diff]
Marcin Bukat
2020-11-04 235cdeca73: qeditor: add better fallback mecanism for icons
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2020-11-04 b200cd7e4a: test_mem: fix asm variant of read/write test
apps/plugins/test_mem.c [diff]
Mihail Zenkov
2020-11-04 db87e1aae5: Fix typos and wording
apps/plugins/text_viewer/readme.txt [diff]
apps/plugins/text_viewer/tv_settings.c [diff]
Avi Eisenberg
2020-11-04 5db83c155a: pp5020: use ipod firmware timings for ATA PIO.

Some mSATA adapters seem to have trouble working with Rockbox using our normal PIO timings; the timing value we use is probably out of spec and is different to the OF. Switch to using the OF's timings according to which PIO mode we select. This may not completely resolve problems with these adapters but allows Rockbox to boot and play audio.
firmware/drivers/ata.c [diff]
firmware/export/ata.h [diff]
firmware/target/arm/pp/ata-pp5020.c [diff]
firmware/target/arm/pp/ata-target.h [diff]
Torne Wuff
2020-11-03 090bd9592d: Remove the firmware decompressor and a few more other SH-stragglers.
apps/plugins/chessbox/chessbox.make [diff]
firmware/decompressor/Makefile [deleted]
firmware/decompressor/decompressor.c [deleted]
firmware/decompressor/link.lds [deleted]
firmware/decompressor/sh_nrv2e_d8.S [deleted]
firmware/decompressor/startup.S [deleted]
gdb/linker.cfg [diff]
gdb/start.s [deleted]
tools/configure [diff]
Solomon Peachy
2020-11-03 066d471ae6: ATA: Check to see if the ATA device is solid-state (WIP)

Not all devices advertise this flag, unfortunately.
firmware/drivers/ata.c [diff]
Solomon Peachy
2020-11-03 8029c89808: erosq: Fix scrollwheel regression introduced in 125e97b0
firmware/target/hosted/button-devinput.c [diff]
Solomon Peachy
2020-11-03 611c18704c: FuzePlus USB+screen dump overflows usbstack

Bump USB stack by 128 bytes

adds USB_EXTRA_STACK
firmware/export/config/sansafuzeplus.h [diff]
firmware/usb.c [diff]
William Wilgus
2020-11-01 0c99a3f9fb: Skin engine Onda Vx747

Fixing issues that existed before framebuf rewrite

Fix swap issue
apps/gui/skin_engine/skin_engine.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
William Wilgus
2020-11-01 f9ba96cade: rbutil: Remove unneeded includes.
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
Dominik Riebeling
2020-11-01 1fa826738d: rbutil: Simplify extenal encoder binary handling.

We only use lame as external encoder for voice on the Archos targets. Simplify the implementation by removing (unused) handling of (potential) other encoders.
rbutil/rbutilqt/base/encoderexe.cpp [diff]
rbutil/rbutilqt/base/encoderexe.h [diff]
Dominik Riebeling
2020-10-31 daefd5686f: Rocker: Fix a boneheaded bug introduced in dd82f13fa1
firmware/drivers/audio/rocker_codec.c [diff]
Solomon Peachy
2020-10-31 1058ed5b25: tomcrypt: Set target macOS version.

Make sure the target version isn't the default one so it also runs on older macOS version than the current one.
utils/tomcrypt/Makefile [diff]
Dominik Riebeling
2020-10-31 5aa7245077: rbutil: Create more fancy dmg on macOS using dmgbuild.

Add target to build a dmg containing Rockbox Utility, ipodpatcher and sansapatcher as single app bundle, and create a more fancy dmg using dmgbuild.
rbutil/rbutil.pro [diff]
rbutil/rbutilqt/dmgbuild.cfg [new]
Dominik Riebeling
2020-10-31 125e97b0bf: hosted: Consolidate common /dev/input code shared by the hiby targets

* Enable dynamic number of input devices, needed for bluetooth support
firmware/SOURCES [diff]
firmware/target/hosted/agptek/button-agptek.c [diff]
firmware/target/hosted/agptek/button-target.h [diff]
firmware/target/hosted/aigo/button-erosq.c [diff]
firmware/target/hosted/aigo/button-target.h [diff]
firmware/target/hosted/button-devinput.c [new]
firmware/target/hosted/fiio/button-fiio.c [diff]
firmware/target/hosted/xduoo/button-target.h [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-31 dd82f13fa1: nwz/alsa: various improvements

Also audiohw driver to specific device name, rewrite alsa controls code to cache more data, thus making the code easier and use less stack. Avoid using short/long in pcm alsa code since it's the wrong size on 64-bit (simulator for example)
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/fiiolinux_codec.c [diff]
firmware/drivers/audio/nwzlinux-codec.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/target/hosted/alsa-controls.c [diff]
firmware/target/hosted/alsa-controls.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/pcm-alsa.h [diff]
firmware/target/hosted/sonynwz/debug-nwz.c [diff]
Amaury Pouly
2020-10-31 ce9e7e7122: hosted: fix warning when LOGF is enabled
firmware/target/hosted/system-hosted.c [diff]
Solomon Peachy
2020-10-31 8e5c57a822: plugins: bump api version (missed it in fe2d52c)
apps/plugin.h [diff]
Solomon Peachy
2020-10-31 60f642ba4f: lcd_framebuffer bugfixes, sanity checks

several issues I saw that could pontentially cause problems scroll engine doesn't take text height into account when checking bounds

NBELEMS was one whole row too large hopefully I got them right this time
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
William Wilgus
2020-10-31 202f9df0c1: Test_Viewports BUGFIX

putting a framebuffer on the stack is never a good idea

Added comments
apps/plugins/test_viewports.c [diff]
William Wilgus
2020-10-31 7eee526e6a: fix red introduced in the android pcm driver (rev fe2d52c)
firmware/target/hosted/android/pcm-android.c [diff]
Solomon Peachy
2020-10-31 fe2d52cc7d: pcm: Get rid of pcm_play_pause() and associated APIs

Nothing in the core has used it for some time. It's exported to the plugin API but the last plugins to use it were switched to the mixer API back in 2011.

This allows us to get rid of pcm_play_dma_pause() from all audio drivers
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lua/include_lua/pcm.lua [diff]
apps/plugins/lua/rocklib.c [diff]
docs/PLUGIN_API [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/export/fiiolinux_codec.h [diff]
firmware/export/pcm-internal.h [diff]
firmware/export/pcm.h [diff]
firmware/export/rocker_codec.h [diff]
firmware/export/xduoolinux_codec.h [diff]
firmware/pcm.c [diff]
firmware/pcm_sw_volume.c [diff]
firmware/target/arm/as3525/pcm-as3525.c [diff]
firmware/target/arm/imx233/pcm-imx233.c [diff]
firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c [diff]
firmware/target/arm/pcm-telechips.c [diff]
firmware/target/arm/pnx0101/pcm-pnx0101.c [diff]
firmware/target/arm/pp/pcm-pp.c [diff]
firmware/target/arm/rk27xx/pcm-rk27xx.c [diff]
firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c [diff]
firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c [diff]
firmware/target/arm/s5l8700/pcm-s5l8700.c [diff]
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c [diff]
firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c [diff]
firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c [diff]
firmware/target/coldfire/pcm-coldfire.c [diff]
firmware/target/hosted/android/pcm-android.c [diff]
firmware/target/hosted/ibasso/pcm-ibasso.c [diff]
...and 5 more files.
Solomon Peachy
2020-10-30 2d85c72151: iriver_flash: fix issues with DoUserDialog

First the argument should be const since the original parameter is.

Second the pointer arithmetic for detecting whether rockbox is running from ROM or not is incorrect. It ends up being at a location twice as far as intended since the arithmetic does not account for the pointer type's underlying size. It should also be dependent on the target's FLASH_SIZE.

Third the LCD setup is moved to the entry point since it is the best place to setup and restore the LCD changes.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-30 fa3184f951: iriver_flash: make most remaining functions static

This increases opportunities for optimizations as well.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-30 7c498b9043: iriver_flash: revise valid_bootloaders and detect_valid_bootloader

The main change is revising how the checksums are guarded by macros. But both are also converted to static linkage so they can be better optimized by GCC. I also change the types around to reflect how the space the data types actually need. Furthermore I make use of C99 changes to how variables can be declared to move them closer to where they are used.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-30 6bc6af6a0e: iriver_flash: revise load_firmware_file function

This moves the checksum into the local stack and turns the second parameter into an optional argument. This also reads the model segment that was previously unused so it can also be checked as an extra safeguard in the event the checksum somehow matches yet the model is incorrect.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-30 07fcced4fb: Fix volume handling of steps in radio
apps/radio/radio.c [diff]
Amaury Pouly
2020-10-30 44023eb430: Volume adjustment in LISTS ignored AUDIOHW_SETTING values

AUDIOHW_SETTING() defines number of decimals and step size. This is taken into account in sound menu but ignored in lists
(had been recently fixed in WPS). This was not a problem so far since all drivers used 0 decimal places and step size equal 1.
apps/gui/list.c [diff]
Johannes Rauh
2020-10-29 f1bfbb52f1: iriver_flash: revise cfi_read_id and cfi_get_flash_info

First neither of these functions can fail on supported targets so they have become void functions. Their return values were not being used anyway.

Second support for other flash chips not even used on the supported targets has been removed. It appears they were only ever used on the discontinued Arch devices.

Third cfi_read_id was restructured to remove obsolete code for error checking that is not necessary at all. The datasheets appear to indicate that the commands used cannot fail.

Fourth cfi_get_flash_info was restructured to use a new approach to initializing the flash_info struct. It no longer initializes the structure twice.

Fifth the relevant code has been updated to use the full 16 bits that are exposed by the flash rom ID interface.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-29 96f82f828a: rbutil: More Qt6 compatibility.

Qt6 doesn't contain QTextCodec anymore but instead provides it in the optional core5compat module.
rbutil/rbutilqt/quazip/quazip.h [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
rbutil/rbutilqt/themesinstallwindow.cpp [diff]
Dominik Riebeling
2020-10-29 4594541b5f: rbutil: Simplify search.

No need to get keys from the map to search a key, we can check directly.
rbutil/rbutilqt/base/systeminfo.cpp [diff]
Dominik Riebeling
2020-10-29 2d62f2d017: rbutil: More Qt6 compatibility.

Replace QProcess::pid() which has been replaced with QProcess::processId() starting with Qt5.3 and removed from Qt6.
rbutil/rbutilqt/base/ttsfestival.cpp [diff]
Dominik Riebeling
2020-10-29 86420bbe2b: rbutil: Remove unused assignment.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2020-10-29 f65e410497: iriver_flash: rewrite how the flash commands wait for the ROM

This uses the toggle bit method referenced in the datasheets for the supported ROM chips and moves the code to a reusable subroutine. It also introduces a short delay to give the bus a chance to recover. The older ROM datasheet doesn't mention this delay as necessary but the newer one does so it now does this for both.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-29 c5c17fa799: Fix display regression from c85d8e2

Basically setting a null buffer is valid but it must be selected into a screen to initialize to the default buffer

I wrongly assumed screen type wouldn't matter but since I decided to reference backdrops directly to the default buffer
(since they are saved as an offset from what it later assumes to be the default framebuffer) SCREEN_MAIN/SCREEN_REMOTE are not longer optional
apps/gui/skin_engine/skin_backdrops.c [diff]
William Wilgus
2020-10-28 c7fb319151: fix checkwps build (introduced in a5a8e00)
apps/gui/skin_engine/skin_parser.c [diff]
Solomon Peachy
2020-10-28 a5a8e00b6d: Fix a crash introduced in a605cdf70

Pretty subtle problem; looks like the skin core was relying on a destructor to actually help initialize things.
apps/gui/skin_engine/skin_parser.c [diff]
Solomon Peachy
2020-10-28 8c8284bbe6: Fix statusbar display regression from a605cdf700
apps/gui/skin_engine/skin_parser.c [diff]
Solomon Peachy
2020-10-28 c85d8e2865: Framebuffer_viewport Rewrite -- BUG FIX

stride was not initialized for the skin_viewport

fixed a few other questionable areas
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
William Wilgus
2020-10-28 a605cdf700: Fix multiple potential null pointer dereferencess

GCC's optimizer thinks all of these _will_ fail at some point
apps/gui/bitmap/list-skinned.c [diff]
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/gui/statusbar-skinned.c [diff]
apps/plugins/chessbox/chessbox_pgn.c [diff]
apps/plugins/reversi/reversi-gui.c [diff]
Solomon Peachy
2020-10-28 621e363e70: libgme: Fix yellow in hosted MIPS builds
lib/rbcodec/codecs/libgme/nsfe_info.c [diff]
Solomon Peachy
2020-10-28 41a6da6043: builds: Enable -fno-delete-null-pointer-checks globally

* arm failures in lua, wolf3d, quake, flac
* m68k failures in lua, wmapro
* mips ???

I still think that most of these are actually due to latent bugs or ambiguous code.
tools/configure [diff]
Solomon Peachy
2020-10-28 bcbf8bbf0a: wmapro: Backport multiple fixes

upstream commits:

780d454 b28c678 9166f48 97a5add b21ba20 f734671 b86dd1 b4027d9 50f0a6b 4c0080b c7a7605 5dcb990 7ad698e
lib/rbcodec/codecs/libwmapro/wmaprodec.c [diff]
Solomon Peachy
2020-10-28 a5a19a3370: dircache: Fix a NULL pointer dereference

if idx == 0, get_idx_dcvolp() will return NULL.
firmware/common/dircache.c [diff]
Solomon Peachy
2020-10-27 7dbfda6c55: iaudiom5: Fix build.

Basically we're overflowing IRAM by 48 bytes. Shrink the stack by 48 bytes to compensate.

Fixing this properly will require careful decisions about what
(code and/or data) to eject from IRAM.
firmware/target/coldfire/app.lds [diff]
Solomon Peachy
2020-10-27 bee736f3ea: iriver_flash: make cfi_read_id use FB directly
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-27 e5b963b8e1: iriver_flash: remove trailing whitespaces
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-27 61f698715d: coldfire: We need -fno-delete-null-pointer-checks in flash controller code
firmware/target/coldfire/debug-coldfire.c [diff]
Solomon Peachy
2020-10-27 f62eee569c: iriver_flash: we need -fno-delete-null-pointer-checks
apps/plugins/iriver_flash.c [diff]
Solomon Peachy
2020-10-26 804a49886a: statusbar: Make statusbar height equal SYSFONT_HEIGHT

And size elements horizaontally based on SYSFONT_WIDTH

Unfortunately we need 16px icons to make 16px statusbar look right but at least it _works_ properly now.

Also: all targets currently use 8-px SYSFONT, except some hosted bootloaders
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar.c [diff]
apps/gui/statusbar.h [diff]
apps/recorder/icons.h [diff]
apps/recorder/peakmeter.c [diff]
tools/configure [diff]
Solomon Peachy
2020-10-26 299c237075: 'Fix RED e200 Framebuffer_viewport_rewrite

Free malloc in checkwps too
firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c [diff]
tools/checkwps/checkwps.c [diff]
William Wilgus
2020-10-26 04e7bacc4c: FIX RED Framebuffer_viewport_rewrite
apps/plugins/reversi/reversi-gui.c [diff]
tools/checkwps/checkwps.c [diff]
William Wilgus
2020-10-26 ada919fc11: FIX RED framebuffer viewport rewrite
apps/plugins/rockboy/lcd.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/target/coldfire/iaudio/x5/lcd-x5.c [diff]
William Wilgus
2020-10-26 9b295ce135: FIX RED/YELLOW framebuffer viewport rewrite
apps/plugins/reversi/reversi-gui.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
William Wilgus
2020-10-26 40e98a2e49: Whitespace cleanup on fb_viewport Rewrite
apps/gui/pitchscreen.c [diff]
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/splash.c [diff]
apps/gui/viewport.c [diff]
apps/gui/viewport.h [diff]
apps/gui/yesno.c [diff]
apps/plugins/lib/xlcd_draw.c [diff]
apps/plugins/lib/xlcd_scroll.c [diff]
apps/plugins/lua/rocklib_img.c [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
apps/screens.c [diff]
bootloader/common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/export/config/mrobe500.h [diff]
firmware/export/lcd.h [diff]
William Wilgus
2020-10-26 3237ae4a4f: LCD core move buf ptr and address look up function viewport struct

I'm currently running up against the limitations of the lcd_draw functions I want these functions to be able to be used on any size buffer not just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear scrolling viewports no longer trigger wps refresh also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_) LCD_STRIDE(w, h) same as STRIDE_MAIN LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH) test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags
apps/alarm_menu.c [diff]
apps/gui/bitmap/list.c [diff]
apps/gui/color_picker.c [diff]
apps/gui/pitchscreen.c [diff]
apps/gui/quickscreen.c [diff]
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_engine.c [diff]
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/splash.c [diff]
apps/gui/statusbar.c [diff]
apps/gui/usb_screen.c [diff]
apps/gui/viewport.c [diff]
apps/gui/viewport.h [diff]
apps/gui/yesno.c [diff]
apps/menus/time_menu.c [diff]
apps/misc.c [diff]
apps/onplay.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fire.c [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/imageviewer/jpeg/yuv2rgb.c [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/lib/grey.h [diff]
apps/plugins/lib/grey_core.c [diff]
apps/plugins/lib/grey_parm.c [diff]
...and 44 more files.
William Wilgus
2020-10-26 12f3ed1699: make the plugin API frambuffer agnostic
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fire.c [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/imageviewer/jpeg/yuv2rgb.c [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/lib/grey_core.c [diff]
apps/plugins/lib/osd.c [diff]
apps/plugins/lib/xlcd_draw.c [diff]
apps/plugins/lib/xlcd_scroll.c [diff]
apps/plugins/lua/rocklib_img.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/pacbox/pacbox.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/plasma.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/rockboy/lcd.c [diff]
apps/plugins/rockboy/sys_rockbox.c [diff]
apps/plugins/sdl/src/video/rockbox/SDL_rockboxvideo.c [diff]
apps/plugins/test_resize.c [diff]
apps/plugins/xworld/sys.c [diff]
apps/plugins/zxbox/zxvid_16bpp.c [diff]
apps/plugins/zxbox/zxvid_2bpp.c [diff]
firmware/export/lcd.h [diff]
Moshe Piekarski
2020-10-26 5d5f8169b5: statusbar: Respect 'numdecimals' when displaying the volume setting

eg with numdecimals=1, a value of "-300" actually means "-30.0" So divide it down appropriately, and only display the whole integer portion.
apps/gui/statusbar.c [diff]
Solomon Peachy
2020-10-26 845e5a4f03: sonynwz: A10 and A20 series support high bitrates
firmware/export/config/sonynwzlinux.h [diff]
Solomon Peachy
2020-10-26 dd3ea521ad: iriver_flash: correctly calculate when to stop erasing the bootloader

It was originally hard-coded at 0x200 which is 512 sectors. This only works for the H100 and H120. The larger ROM of the H300 is 1024 sectors in size. In either case the bootloader starts 16 sectors before the end of the ROM so rely on this fact to correctly calculate where to stop the bootloader erasure.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-26 c5d7cd5f9f: h300: add support for ROM image generation
firmware/export/config/iriverh300.h [diff]
firmware/rom.lds [diff]
tools/configure [diff]
James Buren
2020-10-26 28b9c8bfeb: rocker: Disable mute-on-pause, due to a platform kernel bug.

In short, the display fading back in after a pause resuming interferes with the audio codec, causing BadThings(tm) that cannot be recovered from

This really is just avoiding a known trigger; there's no guarantee this condition won't occur under random circumstances during normal use, and there's no good way to work around this from within rockbox.

I suspect the underlying problem is that both the display control and codec control share an i2c bus, but the kernel drivers implementing them isn't using proper linux bus access/locking.
firmware/drivers/audio/rocker_codec.c [diff]
firmware/export/rocker_codec.h [diff]
Solomon Peachy
2020-10-26 bde72efa30: coldfire: make the RAM and ROM image locations configurable by macros
firmware/export/config/iaudiom3.h [diff]
firmware/export/config/iaudiom5.h [diff]
firmware/export/config/iaudiox5.h [diff]
firmware/export/config/mpiohd200.h [diff]
firmware/export/config/mpiohd300.h [diff]
firmware/target/coldfire/crt0.S [diff]
James Buren
2020-10-26 129001909d: h300: enable support for iriver_flash

This also modifies the configuration file to include macros defined in the H100 / H120 implementation.
apps/plugins/SOURCES [diff]
apps/plugins/iriver_flash.c [diff]
firmware/export/config/iriverh300.h [diff]
James Buren
2020-10-26 f7e0ce8fb9: h300: expose the firmware functions in the plugin API
apps/plugin.c [diff]
apps/plugin.h [diff]
James Buren
2020-10-26 39a0d8bf86: x3ii/x20/rocker: Fix volume scaling.
firmware/export/rocker_codec.h [diff]
firmware/export/xduoolinux_codec.h [diff]
Solomon Peachy
2020-10-26 49c4577fa6: Get rid of another vestigal SH remnant in the rom linker script
firmware/rom.lds [diff]
Solomon Peachy
2020-10-25 1419070b3d: iriver_flash: add support for SST39VF3201 ROM chips

These are used in the iRiver H300 series.
apps/plugins/iriver_flash.c [diff]
James Buren
2020-10-25 3fbca49929: Revert Non-Alpha Updated 8x8 tango icons

The new icons have no alpha channel thus these are being removed in favor of the old icons (that have alpha and match the rest of the set too)

This reverts commit 326b7a5c0c00b1d13cfd1319c1f290d18da8d824.
docs/CREDITS [diff]
icons/tango_icons.8x8.bmp [diff]
William Wilgus
2020-10-25 d4a80ce94b: pcm-alsa: fix red.
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-25 4afd1f9aa6: hosted: Document HW capabilities of audio drivers

One surprise: X3ii is capable of 384KHz playback
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-25 e7a492ef55: hosted: alsa: Fix two bugs when recording
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-24 ec2a34b321: pcm_mixer: Fix an idle frame calculation bug introduced in 2e708c48c5

Resulted in playback sometimes hanging after switching tracks
firmware/pcm_mixer.c [diff]
Solomon Peachy
2020-10-24 d78a37676e: ClipPlus BOOTLOADER DONT FIT!

REMOVED FROM ALL NATIVE BOOTLOADERS: finish removing the text scrolling pare down printf to a minimal subset (%c %s %l %d %u and %x(%p)) remove diacritic and rtl language support

GOAL 134000

START 135305

CURRENT 133700

SUCCESS! (ASSUMING IT WORKS -- UNESTED)
bootloader/SOURCES [diff]
bootloader/format.c [new]
bootloader/format.h [new]
bootloader/snprintf.c [new]
firmware/common/diacritic.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/scroll_engine.c [diff]
William Wilgus
2020-10-23 a8aa8403ad: samsungyp: Enable recording feature. No idea if it works. :D
firmware/export/config/samsungypr0.h [diff]
firmware/export/config/samsungypr1.h [diff]
Solomon Peachy
2020-10-23 46e357f1bb: ALSA: Further rework:

* Get rid of non-async (ie tick task) mode due to inherent brokenness
* Get rid of nonblock mode; we never write if buffers aren't sufficient
* Move driver init into pcm_open() instead of pcm_init()
* Much better underrun handling
* Better error handling in some situations
* Add in recording functionality
* Use smaller audio buffers to avoid glitching
* Don't start audio buffer with silence
* Allow device name to be overridden by target

Recording portions based on work done by Lorenzo Miori in g#633
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/pcm-alsa.h [diff]
Solomon Peachy
2020-10-23 2cf75bf008: fire: exit out of the plugin with both PLA_EXIT and PLA_CANCEL
apps/plugins/fire.c [diff]
Solomon Peachy
2020-10-23 3a7a46d1c0: Hosted targets Fix timer cycle calculation overflow

at 1 GHZ the intermediate calculation for cycles overflows 32 bits this makes timer fail even with sensible values solution divide both sides by 100
apps/plugins/lua/rocklib_events.c [diff]
firmware/target/hosted/kernel-unix.c [diff]
William Wilgus
2020-10-23 186dbb4527: Convert FFT plugin to using PLA keymapings

Based on an old patch (g#188) by Jean-Louis Biasini
apps/plugins/fft/fft.c [diff]
Solomon Peachy
2020-10-23 7c06a9e208: SVG image of the Aigo Eros Q and other formats for the manual.
manual/rockbox_interface/images/aigoerosq-front.pdf [new]
manual/rockbox_interface/images/aigoerosq-front.png [new]
manual/rockbox_interface/images/aigoerosq-front.svg [new]
Szymon Dziok
2020-10-22 1e12990ba9: rbutil: Rename libbzip2.a to libbz2.a.

When cross compiling for Windows (at least mxe) links bz2, causing both our copy and the system one getting linked, resulting in symbol clashes. Make sure we use the same name as the system one, so the linker can pick one of both.
rbutil/bspatch/Makefile [diff]
rbutil/bzip2/Makefile [diff]
rbutil/rbutilqt/Makefile.libs [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2020-10-22 02c5dd3641: fiio: Another bugfix in the mute code.
firmware/drivers/audio/fiiolinux_codec.c [diff]
Solomon Peachy
2020-10-22 97b8692b65: fiio: add in a missing audiohw_mute() call.
firmware/drivers/audio/fiiolinux_codec.c [diff]
Solomon Peachy
2020-10-21 ce3da6238f: rbutil: Fix linking zlib on Windows.

With Qt4 zlib was linked implicitly (and explicitly linking it caused errors). This was a Qt issue that has been resolved with (at least current) Qt5, now we need to explicitly link zlib on native Windows.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2020-10-21 1801dcc999: rbutil: Fix native Windows build for tools.

- When make on Windows finds sh.exe it will try to use that. We use cmd.exe calls when detecting Windows, so make sure we use cmd.exe as shell.
- Add missing Windows compatibility to tomcrypt Makefile.
rbutil/libtools.make [diff]
tools/rbspeex/Makefile [diff]
tools/ucl/src/Makefile [diff]
utils/tomcrypt/Makefile [diff]
Dominik Riebeling
2020-10-21 884d8922e3: hosted: Allow ALSA driver to switch output device at runtime

* Allow output device name to be specified
* Set hw/swparams prior to actual playback start, not at init
* If told to open a new device, cleanly close down old one.
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-21 6b13437aff: Add UI Simulator for Eros Q / K series
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-aigoerosq.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/erosq.c [new]
Solomon Peachy
2020-10-20 6834d1a02f: xduoox20: Start unmuted, as the least-worst option
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/export/xduoolinux_codec.h [diff]
Solomon Peachy
2020-10-19 dfae5d881d: nwza860: fix simulator build
apps/audio_path.c [diff]
Amaury Pouly
2020-10-18 08513103c6: nwzstools: add NW-A820 nvp nodes
firmware/target/hosted/sonynwz/nwz-db.c [diff]
utils/nwztools/database/nvp/nwz-a820.txt [new]
Amaury Pouly
2020-10-18 1a1338c379: rbutil: Fix ipodpatcher qmake based build on macOS.

On macOS we need to pass the used frameworks, otherwise linking will fail.
rbutil/ipodpatcher/ipodpatcher.pro [diff]
Dominik Riebeling
2020-10-18 a05d061aa3: rbutil: Pass isysroot to rbutil libs on macOS.

On macOS we pass the full path to the compiler. On recent versions this causes the compiler to not find its SDK path, this needs to get passed via the isysroot option.
rbutil/libtools.make [diff]
rbutil/rbutilqt/Makefile.libs [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
tools/rbspeex/Makefile [diff]
tools/ucl/src/Makefile [diff]
utils/tomcrypt/Makefile [diff]
Dominik Riebeling
2020-10-18 d097742155: sbtools: Change crypto wrapper implementation to C.

There's nothing C++ left.
rbutil/mkimxboot/Makefile [diff]
utils/imxtools/sbtools/Makefile [diff]
utils/imxtools/sbtools/crypto.cpp utils/imxtools/sbtools/crypto.c [rename]
Dominik Riebeling
2020-10-18 2037b837f8: sbtools: convert crypto to libtomcrypt.

Replace the use of crypto++ with tomcrypt, which is much smaller and C. This gets rid of various build issues for systems that don't ship crypo++ (i.e. everything except Linux.)
rbutil/mkimxboot/Makefile [diff]
rbutil/rbutilqt/Makefile.libs [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
utils/imxtools/sbtools/Makefile [diff]
utils/imxtools/sbtools/crypto.cpp [diff]
utils/imxtools/sbtools/crypto.h [diff]
Dominik Riebeling
2020-10-18 815b289cb3: imxtools: Replace use of "byte" with its underlying uint8_t.

libtomcrypt uses a macro "byte" which conflicts with this type. Since the underlying type is uint8_t and there's no real benefit from using a custom type use the actual underlying type.
rbutil/mkimxboot/mkimxboot.c [diff]
utils/imxtools/sbtools/crc.c [diff]
utils/imxtools/sbtools/crypto.cpp [diff]
utils/imxtools/sbtools/crypto.h [diff]
utils/imxtools/sbtools/dbparser.c [diff]
utils/imxtools/sbtools/misc.c [diff]
utils/imxtools/sbtools/misc.h [diff]
utils/imxtools/sbtools/sb.c [diff]
Dominik Riebeling
2020-10-18 387a45923c: utils: Add Makefile for our copy of libtomcrypt.
utils/tomcrypt/Makefile [new]
Dominik Riebeling
2020-10-18 caa9d9c1c5: utils: Add (partial) libtomcrypt.

Add the parts of libtomcrypt that we're about to use.
docs/CREDITS [diff]
utils/tomcrypt/LICENSE [new]
utils/tomcrypt/README.ROCKBOX [new]
utils/tomcrypt/src/ciphers/aes/aes.c [new]
utils/tomcrypt/src/ciphers/aes/aes_tab.c [new]
utils/tomcrypt/src/hashes/sha1.c [new]
utils/tomcrypt/src/headers/tomcrypt.h [new]
utils/tomcrypt/src/headers/tomcrypt_argchk.h [new]
utils/tomcrypt/src/headers/tomcrypt_cfg.h [new]
utils/tomcrypt/src/headers/tomcrypt_cipher.h [new]
utils/tomcrypt/src/headers/tomcrypt_custom.h [new]
utils/tomcrypt/src/headers/tomcrypt_hash.h [new]
utils/tomcrypt/src/headers/tomcrypt_mac.h [new]
utils/tomcrypt/src/headers/tomcrypt_macros.h [new]
utils/tomcrypt/src/headers/tomcrypt_math.h [new]
utils/tomcrypt/src/headers/tomcrypt_misc.h [new]
utils/tomcrypt/src/headers/tomcrypt_pk.h [new]
utils/tomcrypt/src/headers/tomcrypt_pkcs.h [new]
utils/tomcrypt/src/headers/tomcrypt_private.h [new]
utils/tomcrypt/src/headers/tomcrypt_prng.h [new]
utils/tomcrypt/src/misc/compare_testvector.c [new]
utils/tomcrypt/src/misc/crypt/crypt_argchk.c [new]
utils/tomcrypt/src/misc/crypt/crypt_cipher_descriptor.c [new]
utils/tomcrypt/src/misc/crypt/crypt_cipher_is_valid.c [new]
utils/tomcrypt/src/misc/crypt/crypt_register_cipher.c [new]
utils/tomcrypt/src/misc/zeromem.c [new]
utils/tomcrypt/src/modes/cbc/cbc_decrypt.c [new]
utils/tomcrypt/src/modes/cbc/cbc_encrypt.c [new]
utils/tomcrypt/src/modes/cbc/cbc_start.c [new]
Dominik Riebeling
2020-10-18 7603533f7f: tools: Modernize rbspeex Makefile.

- Replace echo with make internal info function.
- Make dependency generation implicit to avoid another compiler call.
- Align object handling with libtools.make.
tools/rbspeex/Makefile [diff]
Dominik Riebeling
2020-10-18 6a94f1e995: sonynwz: Properly support multidrive, with hotswap of the SD card
firmware/export/config/samsungypr0.h [diff]
firmware/export/config/sonynwa20.h [diff]
firmware/export/config/sonynwza10.h [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/target/hosted/sonynwz/system-nwz.c [diff]
Solomon Peachy
2020-10-18 5f75c493e3: xduoox20: Remove a duplicate config option
firmware/export/config/xduoox20.h [diff]
Solomon Peachy
2020-10-18 edbdefa09a: hosted: Drop a bootloader version string in /etc, and report it in debug menu
firmware/target/hosted/agptek/debug-agptek.c [diff]
tools/hiby_patcher.pl [diff]
Solomon Peachy
2020-10-18 4cdb28c167: Fix sim build for STORAGE_USB
uisimulator/common/sim_tasks.c [diff]
Solomon Peachy
2020-10-18 b1e21bbd7a: hosted: Consolidate common config of hiby-based units into a common header

* Enabled MULTIDRIVE and ROOTFS_HOTPLUG for full hotswap!
(Requires updated bootloader/integration!)
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/aigoerosq.h [diff]
firmware/export/config/hibylinux.h [new]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
tools/hiby_patcher.pl [diff]
Solomon Peachy
2020-10-17 7d3e39cfd8: hiby_patcher: Fix a couple of bugs in the hotplug scripts
tools/hiby_patcher.pl [diff]
Solomon Peachy
2020-10-17 6f9a157fca: hosted: Fix USB mounting code to work with HAVE_MULTIDRIVE enabled
firmware/target/hosted/fiio/usb-fiio.c [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/hosted/usb-hiby.c [diff]
Solomon Peachy
2020-10-17 f3ec58c05b: hosted: Support hot-swappable internal and external storage
firmware/target/hosted/fiio/system-fiio.c [diff]
firmware/target/hosted/system-hosted.c [diff]
Solomon Peachy
2020-10-17 d8d37ffdb8: Define a USB storage type, and hook it up for hosted targets
firmware/common/pathfuncs.c [diff]
firmware/export/config.h [diff]
firmware/export/hostfs.h [diff]
firmware/export/mv.h [diff]
firmware/export/storage.h [diff]
firmware/target/hosted/fiio/system-fiio.c [diff]
firmware/target/hosted/system-hosted.c [diff]
Solomon Peachy
2020-10-17 0a4a920029: hosted: ROLO: Fixes for PIVOT_ROOT targets
firmware/target/hosted/rolo.c [diff]
Solomon Peachy
2020-10-17 012908e064: hosted: Fix HAVE_MULTIDRIVE to work properly with PIVOT_ROOT
firmware/export/config/samsungypr0.h [diff]
firmware/target/hosted/filesystem-app.c [diff]
Solomon Peachy
2020-10-17 a68fc3b6c2: xduoox3ii/erosq: Fix CPU frequency declared in header

(108 MHz -> 1008 MHz)
firmware/export/config/aigoerosq.h [diff]
firmware/export/config/xduoox3ii.h [diff]
Solomon Peachy
2020-10-17 13f5e123f9: samsung yp-r0/r1: use os-native opendir() in the low-level driver code

Fixes blank LCD on both R0/R1 and the PMU on the R1
firmware/target/hosted/samsungypr/lcd-ypr.c [diff]
firmware/target/hosted/samsungypr/ypr1/powermgmt-ypr1.c [diff]
Solomon Peachy
2020-10-17 0e667ff5b0: sonynwz: use os-native opendir() in the low-level input driver code

instead of the rockbox opendir() wrapper.
firmware/target/hosted/sonynwz/button-nwz.c [diff]
Solomon Peachy
2020-10-17 cd721754d0: Fix configure target name for the erosq/k series.
rbutil/rbutilqt/rbutil.ini [diff]
tools/configure [diff]
Solomon Peachy
2020-10-17 1b110daf08: rbutil: Add in the EROS Q / EROS K and clones
rbutil/rbutilqt/rbutil.ini [diff]
Solomon Peachy
2020-10-17 ce40ef42ff: hosted: Make sure we don't call mixer/etc controls when we're not ready

(Might fix the rocker crash-on-shutdown bug)
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/fiiolinux_codec.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-16 d993448c9f: Add Samsung YP-R1 to the builds.pm file, as an unstable (but usable) target.
tools/builds.pm [diff]
Solomon Peachy
2020-10-16 318229e742: rbutil: Fix incorrect USB IDs for the xDuoo X3ii and X20
rbutil/rbutilqt/rbutil.ini [diff]
Solomon Peachy
2020-10-16 c6d2a0358f: hosted: open input device as read-only.
firmware/target/hosted/agptek/button-agptek.c [diff]
firmware/target/hosted/aigo/button-erosq.c [diff]
firmware/target/hosted/fiio/button-fiio.c [diff]
firmware/target/hosted/sonynwz/button-nwz.c [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-15 1a76bc403e: erosq: Fix up builds.pm to match what we actually call the target
tools/builds.pm [diff]
tools/configure [diff]
Solomon Peachy
2020-10-15 df8b817c96: nwztools/scsitool: fix incorrect declaration in header file
utils/nwztools/scsitools/para_noise.h [diff]
Amaury Pouly
2020-10-15 2e07223690: m3k: Fixes for the M3K.

* Cannot turn off the LCD directly (have to rely on backlight)
* Only insmod/rmmod the usb gadget modules if state changes
firmware/export/config/fiiom3k.h [diff]
firmware/target/hosted/fiio/usb-fiio.c [diff]
Solomon Peachy
2020-10-15 455a23bdab: Promote the eros q/k to "unstable"
tools/builds.pm [diff]
Solomon Peachy
2020-10-15 82787709bd: update the hibi patcher script to handle initial m3k stuff
firmware/drivers/audio/fiiolinux_codec.c [diff]
tools/hiby_patcher.pl [diff]
Solomon Peachy
2020-10-15 0cde20fadb: xduoox3: Disable the DAC's digital de-emphasis filter.

Whether or not this is correct depends on how the source material was mastered, digitized, and/or encoded. There is no setting appropriate for everything.

Eventually I'd like to make this configurable, but I'd want to have it shared with more than one target first.
firmware/target/mips/ingenic_jz47xx/codec-jz4760.c [diff]
Solomon Peachy
2020-10-15 d544ce46a7: hosted: Unify the USB code for the hiby-based players.

* Specify exported USB VID/PID in target config header
* Don't fail if the sd filesystem has already been remounted
(ie due to platform hotplug)
firmware/SOURCES [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/aigoerosq.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/target/hosted/aigo/usb-erosq.c [deleted]
firmware/target/hosted/agptek/usb-agptek.c firmware/target/hosted/usb-hiby.c [rename]
firmware/target/hosted/xduoo/usb-xduoo.c [deleted]
Solomon Peachy
2020-10-15 4873a1ac61: fiiom3k: Temporarily disable filter rolloff programming

(Hardware control isn't wired into ALSA properly)
bootloader/rocker_linux.c [diff]
firmware/drivers/audio/fiiolinux_codec.c [diff]
Solomon Peachy
2020-10-14 ca4d63d4d9: m3k: Fixes to the launcher/loader.

* Execute the correct OF player binary
* We don't have adb, so error out
bootloader/rocker_linux.c [diff]
Solomon Peachy
2020-10-14 1b449abf39: erosq: Add battery discharge curve and initial runtime estimation.

(playing mp3 with headphones inserted lasted just over 13 hours)
firmware/export/config/aigoerosq.h [diff]
firmware/target/hosted/aigo/powermgmt-erosq.c [diff]
Solomon Peachy
2020-10-14 19d45c9257: Work around wonky inline asm issue with creativezenvm build.

The right thing here probably to just not bother at all, as this bootloader can't launch rockbox yet anyway.
firmware/target/arm/system-arm.h [diff]
Solomon Peachy
2020-10-14 105a0eb0b7: mrobe500 bootloader fix
bootloader/mrobe500.c [diff]
Solomon Peachy
2020-10-14 cddd8d66e2: Silence warnings that happen on newer GCCs

(code is presumably correct)
apps/plugins/pdbox/PDa/src/m_obj.c [diff]
apps/plugins/rockboy/mem.c [diff]
Solomon Peachy
2020-10-13 26bebd77ab: Fix more red.
firmware/drivers/isp1583.c [diff]
firmware/target/arm/rk27xx/hm60x/button-hm60x.c [diff]
Solomon Peachy
2020-10-13 e2adc6781f: bootloader: Work around linker wonkiness that broke PP bootloader builds.
bootloader/bootloader.make [diff]
Solomon Peachy
2020-10-13 09785a8499: fix more yellow
apps/debug_menu.c [diff]
apps/plugins/iriver_flash.c [diff]
firmware/drivers/isp1583.c [diff]
firmware/target/arm/rk27xx/hm801/button-hm801.c [diff]
firmware/target/arm/sandisk/sansa-c200/button-c200.c [diff]
firmware/target/coldfire/mpio/hd300/button-hd300.c [diff]
Solomon Peachy
2020-10-13 b94db707fb: Fix more warnings.
apps/plugins/iriver_flash.c [diff]
bootloader/ipod6g.c [diff]
firmware/drivers/rtc/rtc_e8564.c [diff]
firmware/target/arm/pbell/vibe500/button-vibe500.c [diff]
firmware/target/arm/samsung/button-yh82x_yh92x.c [diff]
firmware/target/arm/usb-drv-arc.c [diff]
firmware/target/coldfire/iaudio/m3/button-m3.c [diff]
firmware/target/coldfire/iriver/h100/button-h100.c [diff]
firmware/target/coldfire/iriver/h300/button-h300.c [diff]
firmware/target/coldfire/mpio/ata-mpio.c [diff]
firmware/target/coldfire/mpio/hd200/button-hd200.c [diff]
Solomon Peachy
2020-10-13 431caa4311: imx31: Work around an apparently not-quite-kosher abuse of CPP

(we were trying to foward-declare functions from within static initializer context. GCC no longer accepts this)
firmware/export/mc13783.h [diff]
firmware/target/arm/imx31/gigabeat-s/gpio-target.h [diff]
firmware/target/arm/imx31/gigabeat-s/mc13783-target.h [diff]
firmware/target/arm/imx31/gpio-imx31.h [diff]
Solomon Peachy
2020-10-13 f8bd54d575: iaudiox5: Fix red, due to slightly bogus asm
firmware/target/coldfire/iaudio/x5/button-x5.c [diff]
firmware/target/coldfire/iaudio/x5/lcd-as-x5.S [diff]
Solomon Peachy
2020-10-13 ca326896d0: Fix compile warnings (set-but-not-used) on big endian targets
apps/plugins/lib/jhash.c [diff]
apps/talk.c [diff]
Solomon Peachy
2020-10-13 4a3d046545: Fix a pile of yellow in the bootloader
firmware/drivers/rtc/rtc_e8564.c [diff]
firmware/target/arm/iriver/h10/button-h10.c [diff]
firmware/target/arm/s3c2440/gigabeat-fx/button-meg-fx.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/tcc780x/cowond2/button-cowond2.c [diff]
firmware/target/arm/tms320dm320/mrobe-500/powermgmt-mr500.c [diff]
firmware/target/arm/tms320dm320/system-dm320.c [diff]
firmware/target/coldfire/iaudio/m3/button-m3.c [diff]
firmware/target/coldfire/iaudio/m5/button-m5.c [diff]
Solomon Peachy
2020-10-13 b4865b05b0: Build: Bump all toolchains to GCC 4.9.4 + Binutils 2.26.1

GCC 4.9.4 was already used for MIPS and all hosted targets; this enables it across the board for everything (ie m68k and arm native)

Other changes:

* Use '-Os' as the default optiomization for all targets
(was only disabled for arm native)
* Enable -funit-at-a-time and -Wextra
* Drop all obsolete toolchain patches
* Update ARM multilib/exception patch
* Bump toolchain libs (gmp, mpfr, mpc) to recommended versions, and add 'isl' to enable better optimization & vectorization opportunities.

(Will revisit optimization for the codecs and plugins at a later date)

Confirmed working:

* armv4t (ipodmini2g and many other PP502x targets)
* arm >= v5 (sansaclipplus, ipod6g, ipodnano2g, sansafuzeplus)
* m68k (ihp100)
lib/rbcodec/codecs/codecs.make [diff]
tools/configure [diff]
tools/rockboxdev.sh [diff]
tools/toolchain-patches/binutils-2.16.1-texinfo-fix.diff [deleted]
tools/toolchain-patches/binutils-2.20.1-ld-thumb-interwork-long-call.diff [deleted]
tools/toolchain-patches/binutils-2.20.1-texinfo-fix.diff [deleted]
tools/toolchain-patches/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff [deleted]
tools/toolchain-patches/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.9.4.diff [new]
Solomon Peachy
2020-10-13 e91f89a410: xduoox3ii: Update battery curve.
firmware/export/config/xduoox3ii.h [diff]
firmware/target/hosted/xduoo/powermgmt-xduoo.c [diff]
Solomon Peachy
2020-10-12 f68463c53e: quickscreen: Get rid of a vestigal remnant of the Archos code.
apps/gui/quickscreen.c [diff]
apps/gui/quickscreen.h [diff]
Solomon Peachy
2020-10-12 688575368c: rocker: Fix red introduced in 01dc81c
firmware/drivers/audio/rocker_codec.c [diff]
Solomon Peachy
2020-10-12 17244177ee: hosted: Fix a corner case in umuting the x3ii and erosq
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-12 b5c2a4ab96: Add support for new bootloaders for iRiver h1x0 series

This resolves a long-standing issue with ATA errors in certain situations, mostly in CF card modified units.
apps/plugins/iriver_flash.c [diff]
docs/CREDITS [diff]
James Buren
2020-10-12 078c34e951: hosted: More PCM muting work

* Track mute state, only call hw if actual change is needed
* Don't unmute in audiohw_postinit()
* sample rate tracking fixes
* erosq: Don't start up muted
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/export/erosqlinux_codec.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-12 01dc81cd94: rolo: hosted: Make display output non-glitchy
firmware/target/hosted/rolo.c [diff]
Solomon Peachy
2020-10-12 141e91ef1f: Hosted PCM: Rework auto-muting code a bit

* If AUDIOHW_MUTE_ON_PAUSE, no meaningful change
* Unconditionally unmute on playback start
* xduoox3ii: Mute on sample rate change
* rocker/xduoo: Stay muted after startup

This avoids the nasty "pop" on startup, without doing the full mute-on-pause stuff that causes unacceptable dropouts on the X3ii.
firmware/drivers/audio/erosqlinux_codec.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/export/xduoolinux_codec.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-12 9ad30869b8: xduoox3ii/x20: Work around a nasty OF interaction bug

...that can result in your sd card getting wiped at startup
tools/hiby_patcher.pl [diff]
Solomon Peachy
2020-10-11 135b3f6416: Fix inverted test that made SDL_APP unhappy
firmware/target/hosted/filesystem-app.c [diff]
Solomon Peachy
2020-10-11 e1bc36ca31: Turn on ROLO for M3K too
firmware/export/config/fiiom3k.h [diff]
firmware/target/hosted/rolo.c [diff]
Solomon Peachy
2020-10-11 db6f21e295: hosted: sanitize handling of HOME_DIR

* HOME_DIR is now either "/" or special "<HOME>"
* target-specific "home dir path" is defined solely by PIVOT_ROOT
* PIVOT_ROOT path is now defined in toplevel config files
* Make Samsung YP-R0/R1 and SONY_NWZ use PIVOT_ROOT too
* Do not prepend PIVOT_ROOT path if the path already has it!
* Do not play these games for __PCTOOL__ builds
apps/plugins/battery_bench.c [diff]
apps/scrobbler.c [diff]
bootloader/rocker_linux.c [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/aigoerosq.h [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/export/config/samsungypr0.h [diff]
firmware/export/config/samsungypr1.h [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/export/rbpaths.h [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/hosted/rolo.c [diff]
Solomon Peachy
2020-10-11 a5add3982b: Fix red introduced from keymap typos
apps/plugins/battery_bench.c [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/xobox.c [diff]
Solomon Peachy
2020-10-11 2a471e288c: New port: AIGO EROS Q / EROS K

The Q and K have a slightly different case, but the hardware under the shell is completely identical.

These models are rebadged versions:

* Hifiwalker H2 (== Q)
* AGPTek H3 (== K)
* Surfans F20 (== K)

Other notes:

* Significant improvements in the shared Hiby-platform launcher/loader
* SD card can theoretically be hot-swapped now
* Support external USB mass storage!
* Some consolidation of Hiby-platform targets
* Some consolidation of plugin keymaps

Todo/known issues:

* Keymaps need to be gone over properly
* Convert to HAVE_SCROLLWHEEL?
apps/SOURCES [diff]
apps/bitmaps/native/SOURCES [diff]
apps/debug_menu.c [diff]
apps/keymaps/keymap-erosq.c [new]
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/keymaps.h [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
...and 56 more files.
Solomon Peachy
2020-10-11 5efaa9ef80: rbutil: Use globalPos() for getting mouse position.

globalX() / globalY() are deprecated for Qt6. Use globalPos() instead, which gives the same result.
rbutil/rbutilqt/preview.cpp [diff]
rbutil/rbutilqt/preview.h [diff]
Dominik Riebeling
2020-10-11 4e89e0e0ea: nwztools: fix wrongly generate MD5 files

When generating the MD5 using -z index,name the tool would add the entry but forgot to increase the file size, hence truncating the file.
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 6533d983ca: hosted: Add ROLO support for hosted targets
apps/filetree.c [diff]
firmware/SOURCES [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/export/rolo.h [diff]
firmware/rolo.c [diff]
firmware/target/hosted/rolo.c [new]
Solomon Peachy
2020-10-11 fcdfeb2a45: nwztools: re-implement MD5 on Windows

I forgot to fixup the windows up and missed it because of conditional compilation
utils/nwztools/upgtools/mg.cpp [diff]
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 e371dee4a3: nwztool: fix computation

It turns out the calculation gives the right result for the wrong reason, this fixes it.
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2020-10-11 8ce60c54f7: nwztools/upgtool: add support for MD5

When compressing, it is possible to tell the tool to add an entry to the MD5 file (index 1), it is still necessary to give an empty file for that index. To do so, pass the option "-z idx,name" insteas of "-z idx". This will create an entry of the form "size md5 name". For instance "-z 6,system.img". When decompressing, if one passes "-z idx,name" instead of "-z idx", the tool will decompress and check against the value in the MD5 file.
utils/nwztools/upgtools/mg.cpp [diff]
utils/nwztools/upgtools/mg.h [diff]
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 7cba599106: nwztool/upgtools: add NW-A55 and DMP-Z1 KAS, reorganize list
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2020-10-11 1b5e824405: nwztool/upgtool: add support for compression

To decompress some output file(s), simply pass -z <idx> where idx is the index of the file to decompress, starting from 0. For example upgtool -e NW_WM_FW.UPG -o tmp/ -m nw-wm1a -z 6 -z 7 to decompress files 6 and 7. To compress file, use the same options: upgtool -c NW_WM_FW.UPG -m nw-wm1a -z 2 script.sh md5sum.txt system.img
utils/nwztools/upgtools/Makefile [diff]
utils/nwztools/upgtools/make_release.sh [new]
utils/nwztools/upgtools/upg.c [diff]
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 1f338f7078: nwztools/upgtools: add support for windows

In order to avoid the crypto++ mess, the code uses the Windows Cryptography API, which is standard. There is also some makefile magic to cross-compile: make PREFIX=i686-w64-mingw32- EXE_EXT=.exe I selected the option so that it should statically link supports libraries used by gcc (slsj and libwinpthread).
utils/nwztools/upgtools/Makefile [diff]
utils/nwztools/upgtools/keysig_search.h [diff]
utils/nwztools/upgtools/md5.cpp [deleted]
utils/nwztools/upgtools/md5.h [deleted]
utils/nwztools/upgtools/mg.cpp [diff]
utils/nwztools/upgtools/mg.h [diff]
utils/nwztools/upgtools/misc.c [diff]
utils/nwztools/upgtools/upg.c [diff]
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 05fa8fc343: scsitools: typo
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2020-10-11 53d2742a48: nwztools: add support for new UPG format on post-WM1/A30 devices

The new code supports reading and writing UPG files. I kept the old keysig search code but it only supports the old format (the new format has too long keys anyway). Since we now have to support two types of encryption(DES and AES), I reorganized the crypto routines and clean-up some code.
utils/nwztools/upgtools/Makefile [diff]
utils/nwztools/upgtools/fwp.c [deleted]
utils/nwztools/upgtools/fwp.h [deleted]
utils/nwztools/upgtools/keysig_search.c [diff]
utils/nwztools/upgtools/keysig_search.h [diff]
utils/nwztools/upgtools/mg.cpp [diff]
utils/nwztools/upgtools/mg.h [diff]
utils/nwztools/upgtools/upg.c [diff]
utils/nwztools/upgtools/upg.h [diff]
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2020-10-11 cda16f9439: scsitools: const correctness and add "get_dnk_nvp all" subcommand.
utils/nwztools/scsitools/Makefile [diff]
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2020-10-11 76fbb33adf: nwztools: fix MW-WM1/A30 KAS, fix KAS length

Split WM1A/WM1Z because they don't have the same KAS. On newer devices, the KAS is actually 64 bytes, not 60. The strange thing is that "get_dnk_nvp kas" returns 60 bytes whereas "get_dnk_prop kas" returns 64, not sure why.
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/nvp/nw-wm1.txt utils/nwztools/database/nvp/nw-wm1a.txt [rename]
utils/nwztools/database/nvp/nw-wm1z.txt [new]
utils/nwztools/database/series.txt [diff]
utils/nwztools/scsitools/scsitool.c [diff]
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2020-10-11 c8fa53050d: rbutil: Add project file for building multiple binaries.

To use ipodpatcher and sansapatcher as external binaries (so we can do proper permission elevation) we need to build them using qmake as part of the main build. Add a subdirs template based project file to do that, and project files for the patchers.

Move Linux appimage rules one level up, since it needs to include the patchers as well.
rbutil/ipodpatcher/ipodpatcher.pro [new]
rbutil/rbutil.pro [new]
rbutil/rbutilqt/rbutilqt.pro [diff]
rbutil/sansapatcher/sansapatcher.pro [new]
Dominik Riebeling
2020-10-11 cd192f239b: rbutil: Fix encoding of turkish translation.

The file encoding was messed up long ago. Since the translation wasn't updated since reimport the original patch (FS #8407).
rbutil/rbutilqt/lang/rbutil_tr.ts [diff]
Dominik Riebeling
2020-10-11 5cfd3ae4e6: hosted: Use O_CLOEXEC for all open() and "e" for fopen() calls

This way we'll automatically close the files upon exec()
firmware/target/hosted/agptek/button-agptek.c [diff]
firmware/target/hosted/cpufreq-linux.c [diff]
firmware/target/hosted/cpuinfo-linux.c [diff]
firmware/target/hosted/fiio/button-fiio.c [diff]
firmware/target/hosted/fiio/system-fiio.c [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/hosted/filesystem-unix.c [diff]
firmware/target/hosted/ibasso/sysfs-ibasso.c [diff]
firmware/target/hosted/lcd-linuxfb.c [diff]
firmware/target/hosted/rtc.c [diff]
firmware/target/hosted/sdl/pcm-sdl.c [diff]
firmware/target/hosted/sonynwz/system-nwz.c [diff]
firmware/target/hosted/sysfs.c [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-11 4f8736909a: SVG image of the xDuoo X3 and other formats for the manual.
manual/rockbox_interface/images/xduoox3-front.pdf [new]
manual/rockbox_interface/images/xduoox3-front.png [diff]
manual/rockbox_interface/images/xduoox3-front.svg [new]
Szymon Dziok
2020-10-10 7c00e9b30b: puzzles: improve frontend documentation

What it says on the tin.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2020-10-10 4b10aacbc2: xduoox3ii/x20: headphones take precedence over line out

so if both are plugged in, assume headphones (and respect volume)
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-09 6c6642e8d5: m3k: Fix red bootloader build
firmware/target/hosted/fiio/button-target.h [diff]
Solomon Peachy
2020-10-09 02a49386a9: Fix the FILTER_ROLL_OFF build; got a test inverted.
apps/settings_list.c [diff]
Solomon Peachy
2020-10-09 aabc8aca47: New port: FiiO M3K

Most credit goes to: Roman Skylarov Additional integration and refactoring by myself.

*** COMPLETELY UNTESTED ***
apps/SOURCES [diff]
apps/bitmaps/native/SOURCES [diff]
apps/bitmaps/native/fiioicon.130x130x16.bmp [new]
apps/features.txt [diff]
apps/keymaps/keymap-fiiom3k.c [new]
apps/lang/english.lang [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/keymaps.h [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
...and 54 more files.
Solomon Peachy
2020-10-09 4231c2c83f: codecs: Add support for the 'VTX' ZX Spectrum chiptunes format.

This codec requires floating point.

Original author: Peter Sovietov Ported to Rockbox: Roman Skylarov Further integration and bugfixes: Solomon Peachy
apps/filetypes.c [diff]
apps/plugins/sdl/sdl.make [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/android.h [diff]
firmware/export/config/gigabeats.h [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/export/config/nokian8xx.h [diff]
firmware/export/config/nokian900.h [diff]
firmware/export/config/sdlapp.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
lib/rbcodec/SOURCES [diff]
lib/rbcodec/codecs/SOURCES [diff]
lib/rbcodec/codecs/codecs.make [diff]
lib/rbcodec/codecs/libayumi/SOURCES [new]
lib/rbcodec/codecs/libayumi/ayumi.c [new]
lib/rbcodec/codecs/libayumi/ayumi.h [new]
lib/rbcodec/codecs/libayumi/ayumi_render.c [new]
lib/rbcodec/codecs/libayumi/ayumi_render.h [new]
lib/rbcodec/codecs/libayumi/libayumi.make [new]
lib/rbcodec/codecs/libayumi/lzh.c [new]
lib/rbcodec/codecs/libayumi/lzh.h [new]
lib/rbcodec/codecs/vtx.c [new]
lib/rbcodec/metadata/metadata.c [diff]
lib/rbcodec/metadata/metadata.h [diff]
lib/rbcodec/metadata/metadata_parsers.h [diff]
lib/rbcodec/metadata/vtx.c [new]
tools/configure [diff]
Solomon Peachy
2020-10-09 278522f811: plugins: Enable overlay features for all targets
apps/plugins/lib/SOURCES [diff]
Solomon Peachy
2020-10-09 c18839e3f8: Fix red, hopefully.
apps/plugins/SOURCES [diff]
apps/plugins/lib/overlay.h [diff]
Solomon Peachy
2020-10-09 7ad8b2eb3c: Clean up some of the plugin SOURCES
apps/plugins/SOURCES [diff]
Solomon Peachy
2020-10-09 88b2a45b5f: xduoox3ii/x20: Define a sane BUTTON_LEFT/RIGHT alias
firmware/target/hosted/xduoo/button-target.h [diff]
Solomon Peachy
2020-10-09 7a1bf01541: Undo the hacks that allowed targets without LEFT/RIGHT (UP/DN) to build.

Replaced them with warnings until they are fixed *PROPERLY*
apps/action.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/rockboy/rockboy.c [diff]
firmware/drivers/button.c [diff]
firmware/target/arm/rk27xx/ihifi2/button-target.h [diff]
firmware/target/arm/s5l8700/meizu-m3/button-target.h [diff]
firmware/target/mips/ingenic_jz47xx/onda_vx767/button-target.h [diff]
firmware/target/mips/ingenic_jz47xx/xduoo_x3/button-target.h [diff]
Solomon Peachy
2020-10-08 dc81f96fd1: Don't compile audio codecs into native bootloader builds.
firmware/SOURCES [diff]
firmware/target/hosted/agptek/rocker.make [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
firmware/target/hosted/xduoo/xduoo.make [diff]
Solomon Peachy
2020-10-08 ff6e175c20: get rid of ACTION_F3 (leftover from Archos days)
apps/action.h [diff]
apps/gui/wps.c [diff]
apps/keymaps/keymap-mpio-hd200.c [diff]
apps/keymaps/keymap-mpio-hd300.c [diff]
apps/radio/presets.c [diff]
apps/tree.c [diff]
Solomon Peachy
2020-10-07 2e2e899869: more DEBUG build fixes
firmware/drivers/fat.c [diff]
Moshe Piekarski
2020-10-06 cb9280c9e1: Fix DEBUG builds
apps/plugins/announce_status.c [diff]
Moshe Piekarski
2020-10-05 914114fd21: FS13241: Get rid of the hacky hold switch emulation on the X3ii & X20

It doesn't work properly and interferes with the power button in the keymap.

Rework WPS keymap a bit to make single-tap power emulate lock.
apps/keymaps/keymap-xduoox20.c [diff]
apps/keymaps/keymap-xduoox3ii.c [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/target/hosted/xduoo/button-target.h [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-05 c6f66cf696: agptekrocker: Rework WPS keymap a bit; replace direct pitchscreen access with browse
apps/keymaps/keymap-agptekrocker.c [diff]
Solomon Peachy
2020-10-05 ef34126913: lua add better memory stats

lua gives you a memory used number that only reflects the current allocations if fact it doesn't even give you a way to get the amount of ram free

rb.mem_stats() seeks to fill this gap by marking the memory allocated for lua with a sentinel value which can later be checked to get a high water mark of the ram used by lua and a pretty good idea of how much ram is available

Also includes an example script usage: used, allocd, free = rb.mem_stats()
apps/plugins/lua/rocklib.c [diff]
apps/plugins/lua/tlsf_helper.c [diff]
apps/plugins/lua_scripts/memchk.lua [new]
William Wilgus
2020-10-04 74258fca31: rbutil: Replace sysinfo filesystem cluster size with type.

The cluster size isn't too useful. Show the filesystem type instead, since that makes it easier to identify a device not showing up because of its filesystem type.
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/utils.h [diff]
rbutil/rbutilqt/base/zipinstaller.cpp [diff]
rbutil/rbutilqt/sysinfo.cpp [diff]
Dominik Riebeling
2020-10-04 1aa739e3c3: lua misc tweaks and cleanup

checks button_status in rockev strpbrk_n custom implementation allows setting max search len in source string add some branch prediction where appropriate fix formatting in splash_scroller script
apps/plugins/lua/rockaux.c [diff]
apps/plugins/lua/rocklib_events.c [diff]
apps/plugins/lua/strpbrk.c [diff]
apps/plugins/lua/strtol.c [diff]
apps/plugins/lua/strtoul.c [diff]
apps/plugins/lua_scripts/splashscroller.lua [diff]
William Wilgus
2020-10-04 f3ae48f552: hosted: control buttonlights along with the display backlight.
firmware/target/hosted/backlight-unix.c [diff]
Solomon Peachy
2020-10-04 7642184fd9: alsa: Refactor pcm_dma_apply_settings_nolock()
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-03 80c3b84e08: lua Add scrollable stack traceback WIP

lua currently splashes a stack traceback on error for deep tracebacks and especially on devices with smaller screens this leaves out a lot of vital information

in the past I have resorted to splitting the traceback string or even saving the return to a file

This patch provides a scrollable buffer with rudimentary text reflow to allow you to read the whole traceback string

Upon traceback if you press nothing the screen will display for 5 seconds If you press OK or CANCEL it will quit immediately PREV/NEXT scrolls the list on button press timeout is disabled

lua now provides rb.splash_scroller(timeout, str)

example script provided too
apps/plugins/lua/rockaux.c [diff]
apps/plugins/lua/rockconf.h [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/lua/rocklua.c [diff]
apps/plugins/lua_scripts/splashscroller.lua [new]
William Wilgus
2020-10-03 1916aca7f3: imx233: Enable 96/192K playback for all imx233 targets that have room
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenmozaic.h [diff]
firmware/export/config/creativezenv.h [diff]
firmware/export/config/creativezenxfi.h [diff]
firmware/export/config/creativezenxfi2.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/creativezenxfistyle.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sonynwze360.h [diff]
firmware/export/config/sonynwze370.h [diff]
firmware/export/fiiolinux_codec.h [new]
Solomon Peachy
2020-10-03 c1d4bf290c: coldfire: Fix iAudio M5 build
firmware/target/coldfire/pcm-coldfire.c [diff]
Solomon Peachy
2020-10-03 d5167b1221: coldfire: Allow building when 88KHz audio is disabled
firmware/drivers/audio/uda1380.c [diff]
firmware/target/coldfire/pcm-coldfire.c [diff]
Solomon Peachy
2020-10-03 2b358ffa7f: Disable 88/96KHz from targets that lack the IRAM to hold the mix buffers
firmware/export/config/gogearhdd1630.h [diff]
firmware/export/config/iaudiom5.h [diff]
firmware/export/config/ipodmini1g.h [diff]
firmware/export/config/ipodmini2g.h [diff]
firmware/export/config/iriverh10.h [diff]
firmware/export/config/iriverh100.h [diff]
firmware/export/config/iriverh120.h [diff]
firmware/export/config/vibe500.h [diff]
Solomon Peachy
2020-10-03 2e708c48c5: pcm: Dynamically-size the mixer buffer at higher audio bitrates.

Basically, existing sizes apply for <= 48KHz audio. Up to 96K, we double the mix buffer. up to 192K, we double it again.

Will help reduce the interrupt load and overall latency, keeping it roughtly constant as a function of time, regardless of bitrate.

(It is acutally a fixed-size buffer, statically-allocated to handle the worst-case bitrate the player supports. However, at runtime if we are using a lower bitrate we will only use a portion of it in order to keep latancies down)
firmware/pcm_mixer.c [diff]
Solomon Peachy
2020-10-03 d4a620e85a: alsa: introduce AUDIOHW_MUTE_ON_PAUSE, and have rocker use it.
firmware/drivers/audio/rocker_codec.c [diff]
firmware/export/rocker_codec.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-03 d18157608d: xduoo codec cleanups
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-03 1824f8b103: xduoox3ii/x20: Rework the mute control to actually function properly.

(By switching the output away from the audio jacks)
firmware/drivers/audio/xduoolinux_codec.c [diff]
Solomon Peachy
2020-10-03 90c30bc7ef: alsa: Explicitly mute the output when we stop playing, and unmute after playback starts

Allows us to avoid hearing the codec powering on and off.
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-03 c7eceea183: alsa: Handle underruns when starting a new stream

Unsure why this is happening, but now we detect and recover errors at startup.

Also clean up the mismash of printf(), DEBUGF(), etc in favor of panicf() for the really serious stuff and logf() for everything else.
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-02 b0e1b245b4: alsa: Use larger playback buffers for higher bitrates

(existing ones apply up to 48KHz, scale up linearly to 192KHz)
firmware/target/hosted/pcm-alsa.c [diff]
Solomon Peachy
2020-10-02 90af40e90c: imx233: Hardware codec supports up to 192KHz. Make it so!
firmware/target/arm/imx233/audioin-imx233.c [diff]
firmware/target/arm/imx233/audioout-imx233.c [diff]
Solomon Peachy
2020-10-02 9892e468d5: hosted: Don't use O_SYNC for the framebuffer handle.
firmware/target/hosted/lcd-linuxfb.c [diff]
Solomon Peachy
2020-10-02 b5cb99a7bf: For backlights that have a wide control, support skipping steps.

the rocker, x3ii, and x20 now take advantage of this, and fades are far faster now.
firmware/backlight-sw-fading.c [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
Solomon Peachy
2020-10-02 9ee618e889: hosted: Fix overzealous spamming of backlight and lcd enable

This caused random delays in LCD activity, and also caused key inputs to go nuts
firmware/target/hosted/backlight-unix.c [diff]
firmware/target/hosted/lcd-linuxfb.c [diff]
Solomon Peachy
2020-10-01 f4f3255edf: xduoox3: Work out clocks for 176/192KHz support.

Note: PCM mix buffer sizes are _way_ too small for these high bitrates

(We really need to make the mixer stuff use dynamic buffer sizes based on the bitrate. Maybe pre-allocate a max size based on upper bitrate limit, but use only part of it at lower bitrates? So we can have sane latency..)
firmware/export/config/xduoox3.h [diff]
firmware/target/mips/ingenic_jz47xx/codec-jz4760.c [diff]
Solomon Peachy
2020-10-01 db22dae2f9: fix more red.
firmware/drivers/audio/sdl.c [diff]
Solomon Peachy
2020-10-01 a96eb1a7f7: Fix warnings and errors introduced in b030bf5
apps/misc.c [diff]
firmware/drivers/audio/sdl.c [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-01 b030bf5885: xduoox3ii/x20: Proper lineout detection and volume mangling.

hotplugging hp and lineout works, without blowing out eardrums.
apps/playback.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/export/audiohw.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/export/xduoolinux_codec.h [diff]
firmware/target/hosted/agptek/debug-agptek.c [diff]
firmware/target/hosted/alsa-controls.c [diff]
firmware/target/hosted/xduoo/button-xduoo.c [diff]
Solomon Peachy
2020-10-01 6d47dc9a88: fix some of the red introduced in e43726d
apps/debug_menu.c [diff]
firmware/drivers/audio/nwzlinux-codec.c [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/target/hosted/sonynwz/debug-nwz.c [diff]
Solomon Peachy
2020-10-01 e43726df2c: hosted pcm-alsa improvements

* xduoo x3ii/x20: Better line out support
* less granular volume settings (too many steps before)
* Better handling of swiching sample rates
* Log actual sample rate in debug menu

Most credit goes to Roman Stolyarov Additional integration [re]work by myself
apps/debug_menu.c [diff]
apps/playback.c [diff]
firmware/drivers/audio/rocker_codec.c [diff]
firmware/drivers/audio/xduoolinux_codec.c [diff]
firmware/export/audiohw.h [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
firmware/export/rocker_codec.h [diff]
firmware/export/system.h [diff]
firmware/export/xduoolinux_codec.h [diff]
firmware/target/hosted/agptek/debug-agptek.c [diff]
firmware/target/hosted/pcm-alsa.c [diff]
firmware/target/hosted/pcm-alsa.h [diff]
firmware/target/hosted/xduoo/debug-xduoo.c [diff]
Solomon Peachy
2020-10-01 6459fa0765: scrobbler: Fix logfile location on most hosted targets.
apps/scrobbler.c [diff]
Solomon Peachy
2020-10-01 021b55735b: hosted: fix shutdown crash in framebuffer code.
firmware/target/hosted/lcd-linuxfb.c [diff]
Solomon Peachy
2020-10-01 0a7b23097a: Hosted: Improvements in the LCD code. (Roman Stolyarov)

* Kill LCD when turning off the backlight
* Fix logic errors in lcd_enable() calls
* Use ioctls instead of sysfs to twiddle lcd enable
firmware/target/hosted/backlight-unix.c [diff]
firmware/target/hosted/lcd-linuxfb.c [diff]
Solomon Peachy
2020-10-01 cb9b5d3b50: Add 192 and 176KHz to mikmod and test_sampr plugins
apps/plugins/mikmod/mikmod.c [diff]
apps/plugins/test_sampr.c [diff]
Solomon Peachy
2020-10-01 1cd004ff5b: pcm: Missed a file for the 192/176K playback.
firmware/pcm_sampr.c [diff]
Solomon Peachy
2020-10-01 01650b8bc9: audio: Add support for 192 and 176KHz playback

* SAMPR_CAPS_ALL -> SAMPR_CAPS_ALL_48/96/192
* All targets claiming SAMPR_CAPS_ALL now get appropriate subset
* No need to explicitly define HAVE_PLAY_FREQ
* Rates that are a multiple of 44 or 48KHz can be used for playback

Inspired by a patch by Roman Stolyarov, but substantially rewritten by myself.
apps/enc_config.c [diff]
apps/playback.c [diff]
apps/settings_list.c [diff]
firmware/export/config.h [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenmozaic.h [diff]
firmware/export/config/creativezenv.h [diff]
firmware/export/config/creativezenxfi.h [diff]
firmware/export/config/creativezenxfi2.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/creativezenxfistyle.h [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/export/config/samsungypz5.h [diff]
firmware/export/config/sansac200v2.h [diff]
firmware/export/config/sansaclip.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansae200v2.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/export/config/sansam200v4.h [diff]
firmware/export/config/sonynwze360.h [diff]
firmware/export/config/sonynwze370.h [diff]
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3.h [diff]
firmware/export/config/xduoox3ii.h [diff]
...and 2 more files.
Solomon Peachy
2020-10-01 c2c59457e1: lua: fix ipod builds broken by 127862c
apps/plugins/lua/lua.make [diff]
Solomon Peachy
2020-10-01 127862c947: lua: Include $TARGET when preprocessing the headers for the button helper
apps/plugins/lua/lua.make [diff]
Solomon Peachy
2020-09-30 91197dd59b: xduoox3: Fix an error in a comment
apps/keymaps/keymap-xduoox3.c [diff]
Solomon Peachy
2020-09-30 728299e322: rbutil: Fix unnecessary implicit cast.
rbutil/rbutilqt/base/utils.cpp [diff]
Dominik Riebeling
2020-09-30 c8f79d31b1: rbutil: Add postinstall hint for rocker and xduoo player.
rbutil/rbutilqt/base/bootloaderinstallhelper.cpp [diff]
Dominik Riebeling
2020-09-30 ff408fd717: Leave HOME_DIR out of default recording and playlist paths

The hosted filesystem code will automatically prepend HOME_DIR.
firmware/export/rbpaths.h [diff]
firmware/target/hosted/filesystem-app.c [diff]
Solomon Peachy
2020-09-30 1c0648c603: lua rockevents reduce context switching for action and buttons

check if any buttons are waiting in the queue before triggering the event thread for action & button events

makes button events quicker and also spend less time interrupting lua both wins
apps/plugins/lua/rocklib_events.c [diff]
apps/plugins/lua_scripts/playback.lua [diff]
William Wilgus
2020-09-29 a511917f18: configure: Compact the target selection a bit
tools/configure [diff]
Solomon Peachy
2020-09-29 977a03a1a4: fix x20 and yp-r1 builds.
firmware/powermgmt.c [diff]
Solomon Peachy
2020-09-29 0ebfe3dfcf: xduoo: x3ii and x20 have filter_roll_off support
apps/features.txt [diff]
Solomon Peachy
2020-09-29 0fe7db2460: xduoo: x3ii and x20 also have their CPUs clocked at 1008 MHz.
firmware/export/config/xduoox20.h [diff]
firmware/export/config/xduoox3ii.h [diff]
Solomon Peachy
2020-09-29 ae58b5aafe: xduoox20: UI Simulator support
firmware/export/powermgmt.h [diff]
firmware/powermgmt.c [diff]
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-xduoox20.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/xduoo-x20.c [new]
Solomon Peachy
2020-09-29 43980bb877: rocker: CPU is actually running at 1008MHz, not 532.
firmware/export/config/agptekrocker.h [diff]
Solomon Peachy
2020-09-29 7719010ed7: hosted: Slightly cleaner shutdown; kill the display first.
firmware/target/hosted/system-hosted.c [diff]
Solomon Peachy
2020-09-29 fd2e65e94d: rocker: Increase the long-press shutdown delay a bit.
firmware/target/hosted/agptek/button-target.h [diff]
Solomon Peachy
2020-09-28 466156f0b5: SVG image of the xDuoo X20 and other formats for the manual.
manual/rockbox_interface/images/xduoox20-front.pdf [new]
manual/rockbox_interface/images/xduoox20-front.png [new]
manual/rockbox_interface/images/xduoox20-front.svg [new]
Szymon Dziok
2020-09-27 018e0051bc: lua playback example

cool little lua based audio player creates dynamic playlist of 10 mp3s found on device if no music loaded

I had to limit the depth of search to 3 levels due to the recursive nature of the current dirbrowser functions this could be rectified with a bit more code

fixed a bug in print.lua that kept scrolling text even after screen clear
apps/plugins/lua/include_lua/print.lua [diff]
apps/plugins/lua_scripts/playback.lua [new]
William Wilgus
2020-09-27 201e9bcde8: rbutil: Fix some minor issues found by clazy.
rbutil/rbutilqt/base/bootloaderinstallmi4.cpp [diff]
rbutil/rbutilqt/base/talkfile.cpp [diff]
rbutil/rbutilqt/base/ttsexes.cpp [diff]
rbutil/rbutilqt/base/ttssapi.cpp [diff]
rbutil/rbutilqt/base/uninstall.cpp [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
Dominik Riebeling
2020-09-27 f1f72ff8df: rbutil: Code cleanup.

- Fix naming.
- Remove non-functional functionality to set cache folder.
- Use URL filename part when copying the file if target filename is not set.
rbutil/rbutilqt/base/zipinstaller.cpp [diff]
rbutil/rbutilqt/base/zipinstaller.h [diff]
Dominik Riebeling
2020-09-27 9d8bcbeb2a: sansapatcher: rework exit code handling.

- #define all exit codes and use them for indicating further errors.
- only enable interactive (i.e. wait for keypress before exiting) mode when built with bootloaders.
rbutil/sansapatcher/main.c [diff]
rbutil/sansapatcher/sansapatcher.h [diff]
Dominik Riebeling
2020-09-27 af76fa3e7a: ipodpatcher: Rework exit codes.

- #define all exit codes used so they can be checked more easily.
- Use exit codes to indicate more error states.
rbutil/ipodpatcher/ipodpatcher.h [diff]
rbutil/ipodpatcher/main.c [diff]
Dominik Riebeling
2020-09-27 3806f57ed8: ipodpatcher: Fix some type warnings.
rbutil/ipodpatcher/ipodpatcher.c [diff]
rbutil/ipodpatcher/ipodpatcher.h [diff]
Dominik Riebeling
2020-09-26 0f23cadbca: lua -- add sort by name, size, date to filebrowse include

I had previously added the fuctionality to luadir but I didn't update the examples

also breaks out the file_browser function to be a bit more accessible
apps/plugins/lua_scripts/file_browser.lua [new]
apps/plugins/lua_scripts/filebrowse.lua [diff]
William Wilgus
2020-09-20 1f9e16e4df: InvalidVoice prompt Fix red for devices w/o physical hold buttons

left in there from debugging
apps/talk.c [diff]
William Wilgus
2020-09-20 2ffe87902d: Add Invalid Voice Announcement to the voice system FS #13216

When a voice file is invalid or fails to load the voice system splash a message 'Invalid Voice'

Now we supply a single voice file (currently only english is used) the support for other languages is in but I haven't set it up to look for anything but InvalidVoice_english.talk

Also adds a one time kill voice thread function ie. it doesn't allow re-init after killing the voice thread & queue
apps/lang/InvalidVoice_english.talk [new]
apps/lang/SOURCES [diff]
apps/lang/lang.make [diff]
apps/main.c [diff]
apps/talk.c [diff]
apps/talk.h [diff]
apps/voice_thread.c [diff]
apps/voice_thread.h [diff]
tools/buildzip.pl [diff]
William Wilgus
2020-09-20 c528c01312: plugin: Fix pile of warnings.

(Bad Solomon)
apps/plugin.c [diff]
Solomon Peachy
2020-09-20 5d40d97585: voice: rename mp3_play_* functions to voice_play_*

Remove mp3_is_playing() entirely, in favor of pcm_is_playing() Remove mp3_play_pause() entirely, as it's a dummy/no-op call Remoce some archos-specific comments
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/talk.c [diff]
apps/voice_thread.c [diff]
apps/voice_thread.h [diff]
docs/PLUGIN_API [diff]
Solomon Peachy
2020-09-18 e404026308: jz4760: Implement USB DMA RX

Can be disabled at runtime by setting hold switch.

Boosts sysbench sequential write performance by 34-58%
firmware/target/mips/ingenic_jz47xx/usb-jz4760.c [diff]
Solomon Peachy
2020-09-18 2df3a5b04c: Headphone / lineout pause/resume #FS13237

Allow Lineout to behave like headphone port in regards to plug/unplug pause/resume
apps/audio_path.c [diff]
apps/misc.c [diff]
apps/root_menu.c [diff]
apps/settings.h [diff]
firmware/drivers/button.c [diff]
firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c [diff]
William Wilgus
2020-09-17 4fa945d810: disktest_sysbench script

a script to help make disk benchmarks across USB
tools/disktest_sysbench.sh [new]
William Wilgus
2020-09-17 ec413f7692: jz4760: