1
0
Fork 0
forked from len0rd/rockbox
Commit graph

38457 commits

Author SHA1 Message Date
Hairo R. Carela
69f27d4c66 rgnano: Use proper lcd depth and pixelformat
According to screen driver this device screen is actually 16 bit RGB565 (https://github.com/DrUm78/linux/blob/FunKey_S/drivers/staging/fbtft/fb_st7789v.c#L137).

This also fixes the color banding issues we had before and boomshine doesn't segfault anymore. Also building rockpaint now that's possible.

Change-Id: Icee49c347fbfabc79e0040314ec148cb77ca6325
2025-08-18 21:43:13 -04:00
Hairo R. Carela
e6ddf94fbd rgnano: Add simulator button click mappings
Was missing this in the fisrt commit.

Change-Id: I685c61cc419f720ece6ca4402839af0de70f8645
2025-08-18 19:06:04 -04:00
Christian Soffke
8145e326a3 tagcache: skip search roots that don't exist, instead of aborting
https://forums.rockbox.org/index.php/topic,55459

Change-Id: I0c3fa07f9920ed4caabf3013702b10e59c0b550e
2025-08-15 20:46:37 +02:00
Hairo R. Carela
c9e16e4888 rgnano: Sleep timer and idle poweroff support
Actually power off the handheld with the sleep timer and idle poweroff functions instead of closing rockbox.

This commit also moves setting system volume to max from the launch script to system-sdl.c so it works when running rockbox via instant play.

Change-Id: I174b67c6abef451faa05f4a8f52b8d9eeed98a22
2025-08-15 09:44:35 -04:00
Solomon Peachy
5ecb5832e1 as3525: Silence portability warning with GCC10+
Change-Id: I66ca05bd7b6029b7699d5534f82efe0c14da1291
2025-08-15 08:39:05 -04:00
Vencislav Atanasov
0781195c22 Add iPod Nano 2G post-mortem memory dumper by Michael Sparmann
The files are downloaded from https://www.rockbox.org/tracker/task/11701

Change-Id: Ic6415f76207868661c231cb534cb179160eb60e0
2025-08-14 20:45:19 -04:00
Solomon Peachy
bf2320d23b pdbox: Silence false warning with GCC10
Change-Id: I0d5e7d74e9aa27ca21cde739389a040a83505cf7
2025-08-14 20:43:09 -04:00
Solomon Peachy
472a6a69c6 IAP: Reset IAP state upon headphone or dock unplug
Provides a semi-automatic way of recovering from desynchronization

Change-Id: I527b0bacc22ef38c1e7213653e522ea1b0ac155d
2025-08-14 20:41:14 -04:00
Solomon Peachy
80eca90481 tagcache: Don't try to look up "deleted" filename entries
When a file is deleted from the database, the first character of that entry
is changed to \0.  However the entry's length is not updated,
because the entry is still using space in the index.

When checking for deleted files, we were only keying on "length == 0"
instead of also checking to see if the entry itself starts with \0.

Change-Id: Ic00a0b29c3857c597ee5ff6ec01a5f4fd9633447
2025-08-13 11:38:56 -04:00
Solomon Peachy
01860627bd test_codec: Fix crash due to missing strip_filesize function
Probably only affects mp3 files.

(Introduced in 38105860dc)

Change-Id: I1946e7be604784ec47ff21a47aab81e91d933a3d
2025-08-12 10:47:31 -04:00
Solomon Peachy
b40cf73d36 doom: Fix warning with RGNano Simulator
Change-Id: I311c7afb203d00a229d79ce655f41b702634a03f
2025-08-12 10:47:06 -04:00
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