Commit graph

38346 commits

Author SHA1 Message Date
Hairo R. Carela
707585e6c0 rgnano: Change ROCKBOX_DIR to /mnt/FunKey/.rockbox
For consistency's sake.

Change-Id: Ia2ef27dceaf143ab85adb22581c6461d50914a84
2025-08-10 14:47:17 -04:00
Christian Soffke
50f10681b3 playlist: remove support for PLAYLIST_COMMAND_CLEAR
Although this breaks compatibility with playlist control
file versions 3-5, i.e. control files generated by any RB
build between Jan 29 2023 (commit 25bd3bc) and Oct 26 2024
(commit 7592d2c), compatibility with v2 of the control file
that was in use from 2003 to 2023 is maintained.

Change-Id: I7fd3394e31131bb0563e41d921bcaf940dd999bc
2025-08-08 09:34:52 -04:00
Solomon Peachy
6265bbbd97 sdl: Explicitly disable the cursor for non-touchscreen devices
...Except for simulators, those always need the cursor

In practice this only affects the RG Nano as it is currently our
only SDL target that lacks a touchscreen.

Change-Id: I292f923848528c233da518b062d9ccd8a03515dd
2025-08-07 09:36:51 -04:00
Solomon Peachy
209f833c7a rgnano: Fix simulator build
Change-Id: I2e6dfae25a2dae18e672c5584e8bd52c7bbd279a
2025-08-06 21:25:57 -04:00
Hairo R. Carela
46d10dda33 rgnano: Instant play support and proper system brightness/volume handling
Instant play is a Funkey OS feature that allows it to relaunch at boot the last program it was running before shutting down, which means that if the handheld is powered off (holding the power button) while rockbox is running the next time it's powered on rockbox will launch at boot.

This commit also handles system brightness/volume in rockbox itself instead of the launch script, so the values are properly reset when powering off the handheld while rockbox is running.

Change-Id: Ie1adbf71069aeed5fbf6670971718a2f718716a3
2025-08-06 20:21:02 -04:00
Solomon Peachy
16a6ad032f pp502x: Restructure UART code
* Move to a structure instead of pointers to registers
 * Autobaud operates per-uart
 * When explitily setting uart speed, it applies to all uarts

This allows both UARTs to be enabled and serviced simultaneously,
allowing either accessory port to be used.  Note that the last
port to receive something is where subsequent transmits are directed,
and only one set of IAP state is maintained.

To change this, we will need to revamp IAP to support more than
one state machine, and then extend the serial API to allow for both
UARTs to be used independently.  Probably not worth the effort.

Change-Id: I0142f0906706fc0c4ee6d6d7aa6b0515e1a749dd
2025-08-06 08:27:58 -04:00
Christian Soffke
921abc7beb toolchains: mips: prevent failing build on MacOS
mips gcc will fail to build using the system's
BSD sed. Make sure the Homebrew-installed GNU sed
'sed' simlink is in the PATH. Otherwise, only 'gsed'
can be used to run GNU sed by default.

Change-Id: I0a793c692d9a6de4f326e447281892eb08e4f4cb
2025-08-05 18:37:19 -04:00
Christian Soffke
b713f1190a toolchains: fix building on MacOS with clang 17
The zlib version used by GCC 4.9.4 and binutils 2.26.1
is incompatible with clang 17 from the latest Xcode
command line tools, resulting in fdopen being defined
as NULL.

Remove the define for MacOS, as in zlib 1.31:

4bd9a71f35

Change-Id: Ic7f3108dc4fcaca4ae9a571f2bdb9039be095f36
2025-08-05 18:37:19 -04:00
Christian Soffke
2ddcc95423 tagtree: Fix FS#13651 database track titles not voiced with extensions turned off
regression introduced in commit 26c612f

Change-Id: Id2328a9f0de1fefdfddc7572524cb22a0668af96
2025-08-05 15:54:11 +02:00
Hairo R. Carela
7b0f408c71 rgnano: UI simulator support
Change-Id: Id488d16e01ef49a9d1b57641bc1c22ed2fef4931
2025-08-05 08:30:30 -04:00
Solomon Peachy
b52bf1bf65 gigabeats: Fix compilation with -fno-common
Change-Id: I02974bffd6def6bdfa6b15c593ac2eb82953ea73
2025-08-05 07:25:23 -04:00
Solomon Peachy
74508093f2 rk27xx: Fix compilation with -fno-common
Change-Id: I9fbe85fed23fe7b1b3fd88aa5e8a4a63c509fa62
2025-08-05 07:25:23 -04:00
Solomon Peachy
e4abe9177e build: Turn on -fno-common globally
Can make global variable access more efficient at the price of erroring
out if a variable is declared in more than one place.

Change-Id: I918eacf4a4c8c7827be64f7f2ee04cc6cc2009e0
2025-08-04 23:12:42 -04:00
Solomon Peachy
9f91f02159 sdl: Fix up build failures with -fno-common
Big pile of duplicate variable definitions in quake and duke3d

Change-Id: If5ef873c1dc1d7b3104536f657258e0a06574d53
2025-08-04 22:40:00 -04:00
Solomon Peachy
c33602375d pp500x: Switch to plain C sleep/wake code (instead of asm)
Supposedly this is responsible for startup crashes on ipod1g/2g.

Change-Id: I9d03ddc996f46db6fa782d1d8b1cd8baf9d23308
2025-08-04 10:02:52 -04:00
Hairo R. Carela
8e7fa2932e simulator: Fix battery level for targets with PERCENTAGE_MEASURE
Previous code returned 0 in targets using only `PERCENTAGE_MEASURE` which means the simulator closed itself (due to low battery) shortly after boot.

Change-Id: I8b66dd085e02a8e565893aad4c8b643233dd3852
2025-08-04 02:01:26 -04:00
Hairo R. Carela
20de670340 rgnano: Add manual images
Also sliding puzzle button labels.

Change-Id: Id6cf3e342da2e1b4b4ba170c003782f4e9fa4134
2025-08-03 12:39:46 -04:00
Hairo R. Carela
8dfd219598 rgnano: Fix duplicated target_id
The surfansf28 port was already using 120, my bad.

Change-Id: I40574d818e4bf5635996d6babce546172ff500ba
2025-08-02 19:06:50 -04:00
Solomon Peachy
543f2494dd builds: Indicate that the RG Nano now has a manual
Change-Id: I6acb4992ca2dd6b89d179c744148501ae54beb64
2025-08-02 13:51:15 -04:00
Hairo R. Carela
01a4f3eec9 rgnano: Add manual code and missing AB reset mappings
Cleaned up manual changes, and for some reason i forgot to add ACTION_WPS_ABRESET
mappings before so here it is, needed for the manual wps section.

Change-Id: If7ab8b146e84f91bb51a3ed03fb872ef3bab4d1f
2025-08-01 22:32:19 -04:00
Solomon Peachy
53ae37825f rgnano: Use the regular install, rather than 'fullinstall'
The difference is that 'fullinstall' installs the full set of
fonts.

Change-Id: Ifd0fb78c3b2e52cdd4c27ba746fddf54914375ae
2025-08-01 13:54:46 -04:00
Solomon Peachy
06d03d8e28 rgnano: More aggressively update the "installed" version
The current code checks the date listed in the "Version" string
in rockbox-info.txt, and updates if the new package has a newer date.

However this is not granular enough, especially when you are iterating
multiple builds on a single day.  It also prevents downgrading to
an older build.

So, instead of checking for a newer date, apply the update if the new
version string (including the commit id) is merely *different* than the
installed one.

Change-Id: Ie5d10ffe011afd1efb3c76c77a3ed19d36df9321
2025-07-31 08:32:31 -04:00
Solomon Peachy
340273a74c builds.pm: Add the new RG Nano port as an "unstable" build.
With this it will filter through the UI and hopefully get the
nightlies going.

Change-Id: I04638f31737ee69212ac966f38f4289f6fa30f87
2025-07-30 20:11:57 -04:00
neofright
7e2b129c64 Fix typo in database.c
Change-Id: I08e82013db80534284cebc054d0b6d705b473e33
2025-07-30 17:39:07 +01:00
Solomon Peachy
9bf5589d77 rgnano: Add an 'opk-zip' target that wraps the opk (and rockbox-info.txt) in a zip file.
Change-Id: Iae21b693f82d70e350a974138b710c093d24fc3e
2025-07-30 11:45:51 -04:00
Solomon Peachy
52e3fe4906 misc: Fix warble build
Change-Id: If5672285f2832ca6a5034e3f765785769e813409
2025-07-30 11:30:25 -04:00
Hairo R. Carela
fd9ab93178 xworld: Use ROCKBOX_DIR for data/save paths.
Hardcoded /.rockbox causing issues.

Change-Id: I13bfcda753afda33700ff2d88dfac6d607d3a9dd
2025-07-30 11:16:53 -04:00
Solomon Peachy
8e9125ee28 configure: re-export FUNKEY_SDK_PATH
Change-Id: I41bb5ba91fd69a40f2136315c6f27b00c78a7792
2025-07-30 10:46:49 -04:00
Vencislav Atanasov
68a5524a48 iPod 6G: Disable usage of deep standby mode on LCD type 2 and 3
This caused the devices to crash a few seconds after sending the command. A small power consumption increase is possible when the screen is off with this patch, but Rockbox doesn't crash anymore. Type 0 and 1 are not affected as they use a completely different sequence.

Tested on iPod 6G LCD type 1 and LCD type 2. Type 0 is similar to Type 1, Type 3 is similar to Type 2, so it should cover all available LCD types.

Change-Id: I3e8a653ca22bf59e3db38e1d26e747b358e62cb2
2025-07-30 09:51:15 -04:00
Solomon Peachy
5fa3b1ada3 SDL_MAJOR_VERSION isn't defined when parsing SOURCES
use RG_NANO instead for now.

Change-Id: I289432bfcd797b555da6e6e0e21fd62e5f342387
2025-07-29 23:03:21 -04:00
Solomon Peachy
2c0d70ccb2 build: Fix the large pile of yellow (and false red)
Introduced in 48392bab94

Change-Id: I848dad7ef8e830dafbe604909a4e8376890edc8e
2025-07-29 21:28:26 -04:00
Solomon Peachy
3dda9bd99b sdl: Turn on debugf in sdl-threads by default
Change-Id: I688732ad9bb52bd4eeb77d989e1a20e50ddd4a2c
2025-07-29 21:05:53 -04:00
Solomon Peachy
dc72190d88 otp: Correct some 64-bit time_t warnings
Change-Id: Ic2c00168170cee797a8ac7de1df2cb6650a9184d
2025-07-29 21:03:52 -04:00
Hairo R. Carela
48392bab94 New port: Anbernic RG Nano
A bit of context, this device is a clone of the FunKey-S with a different form factor, hardware is mostly identical, the relevant difference is it has audio out (via usb-c, adapter to 3.5mm is included), this is the reason why the FunKey-SDK is needed for bulding.

This port is based on the old SDL 1.2 code because the device doesn't have SDL2 support. Alongside what was supported in the SDL 1.2 builds this port supports battery level, charging status and backlight control.

Change-Id: I7fcb85be62748644b667c0efebabf59d6e9c5ade
2025-07-29 21:01:53 -04:00
Solomon Peachy
9d3e286454 ipod4g: Explicitly initialize both UARTs
This should allow either accesspory port to be used for IAP comms.

No regressions on an ipodphoto and mini2g through the dock connector,
but I don't have any headset-attached accessories to test against.

Change-Id: If217d8147ee871b20ad5f81ba95542379eb9f2dc
2025-07-28 11:05:13 -04:00
Solomon Peachy
8a04d02a1e FS#13648: Update Chinese (Simplified) translation (王吉)
Change-Id: I57b58a0e4a62e0443b0903ade7459610a1bce9c7
2025-07-28 10:36:01 -04:00
Vencislav Atanasov
d40be8404b SDL: Prevent SDL_FreeSurface from freeing the LCD buffer
In direct mode, the statically allocated Rockbox LCD framebuffer is used and should never be freed. Otherwise, ROCKBOX_VideoQuit takes care of freeing the dynamically allocated hidden buffer, used for scaling.

This fixed hanging of Rockbox when quitting an SDL app.

Change-Id: Ib9cd8c04cc0d2d6ccedaa582a5a85ef211d0273c
2025-07-25 22:17:19 +02:00
Solomon Peachy
f27de46472 PP502x: Hacky technique to switch UARTs based on which IRQ was triggered
This lets us have multiple serial ports enabled, which will help with
4th-gen ipods that have a serial port in the HP jack as well in the dock.

Change-Id: I6a00a776020848a6908413e05a6f27bad65b2d8e
2025-07-25 14:26:08 -04:00
Solomon Peachy
85f731c1e0 Translation updates:
* Italian (Alessio Lenzi)
 * Korean (Hoseok Seo)
 * Latvian (Renalds Belaks)
 * Moldavian (Mihai Alexandru Vasiliu)
 * Polish (Adam Rak)
 * Romanian (Mihai Alexandru Vasiliu)
 * Slovak (Matej Golian)

Change-Id: Ia8df6f4948967c46de716f4c6f1e0d63ac54ea07
2025-07-25 11:28:47 -04:00
Vencislav Atanasov
843ac237c1 ROLO: Ensure messages are not covering each other, change punctuation
Change-Id: I7c9a96afce39d95f120c8349d489f0b649f1ae11
2025-07-24 14:13:07 -04:00
Vencislav Atanasov
a901b530e0 Require HAVE_LCD_SLEEP when HAVE_LCD_SLEEP_SETTING is defined
Change-Id: I5429c538b8c46ab857100f3a290c4241c8991038
2025-07-23 20:46:41 +02:00
Solomon Peachy
e181ebfb2d Udpate english-us "translation"
Change-Id: I16557a3befab65dc35d39f1411b21fe6d679848e
2025-07-23 12:27:57 -04:00
Christian Soffke
f6cdcc8ca9 voice: LANG_PLUGIN_CANT_OPEN
Change-Id: Icbcbd7ed2dff88065726ce2520fbcc718bc3eba0
2025-07-23 11:13:13 -04:00
Paul Sauro
f2356303d9 [Tagtree] Add a new button to list automatically all tracks in all albums of the current view
This feature allow easily to start playing all albums from an artist by following the albums tracks orders, just like the Stock OS does on the iPods when you try to listen to all songs from an artist.

It is just a new opportunity, I did not touch the former "All tracks" button which sorts everything by title automatically since it is also very useful (and stock OS don't have this one, and sorting Alphabetically is very useful to listen to all versions of one track from an artist view).

Change-Id: Icf2a29bffe49c4e72f9c81d9727310b84c1150e4
2025-07-23 11:12:54 -04:00
Vencislav Atanasov
620a190baf iPod S5L87xx bootloader: Enable LCD sleep/awake test depending on target config, not on model
Change-Id: I7a3d86814e5f5b1c84ef73636f2094514aaf0120
2025-07-22 10:47:37 -04:00
William Wilgus
bf286ef373 Revert "Splash modified playername.txt on device startup"
This reverts commit 9d92d161d8.

Reason for revert: going to end up changing this might as well just revert

Change-Id: I914f61a5e79f80ff1bf40c06253c85dba25cc305
2025-07-22 10:27:34 -04:00
Solomon Peachy
59a50d3964 rbutil: Correct ini entry for the ro_MD (Moldovian) language
Change-Id: Ie044c4cab55174e6d655526adfb7a7aa09c97152
2025-07-21 12:53:24 -04:00
William Wilgus
9d92d161d8 Splash modified playername.txt on device startup
if playername.txt is modified its now splashed on device start-up

should be less confusing than having it in the WPS theme I hope..

Change-Id: Ifcec491f75a0c977a98d26292509f4ca62d79dac
2025-07-20 12:16:15 -04:00
William Wilgus
6df48c5f7f Revert^2 "Remove flashing text with the player name from the Next track label in WPS"
This reverts commit 1c0cfcee70.

Reason for revert: Going to put a splash at start-up

Change-Id: I9dcee79737f91161d7911923cec841f40e36e81d
2025-07-20 11:54:21 -04:00
William Wilgus
1c0cfcee70 Revert "Remove flashing text with the player name from the Next track label in WPS"
This reverts commit 614c6e9500.

Reason for revert: Just because you find it confusing doesn't mean it doesn't have a purpose..

make YOUR own theme if you don't like it seems like just as useful as the previous commit

Change-Id: I1555f483baaae77e396e88af6973c90414ee11dc
2025-07-20 11:38:09 -04:00