Commit graph

1344 commits

Author SHA1 Message Date
Paul Sauro
14a8f9a863 Integrate the new option to the theme engine and to the manual
Change-Id: I8890723a37f905727d068e484b841e1ddaf8f98c
2024-08-28 21:38:35 -04:00
Solomon Peachy
ceea52ce0f FS#13468: Updated Simplified Chinese translation for rbutil (王吉)
Had to make a minor edit to correct a syntax typo.

Change-Id: I5e4a3079c82ff72bd02ee368c4de0ba86f06dfeb
2024-08-14 11:03:14 -04:00
Solomon Peachy
f95427c081 FS#13457: Korean translation for the Rockbox Utility (Hoseok Seo)
Change-Id: I0a3ed46279a4606d6f6428131aadb4e6381ced7d
2024-07-26 20:51:27 -04:00
Solomon Peachy
2b7b4c24d5 FS#13448: Ignore directories with 'talkclips.ignore' file
Mirrors the functionality of the command-line 'voice.pl' script.

Change-Id: Ifd84e4ccb19e0330d701fb835990d6ae2ddc8d11
2024-07-20 11:24:15 -04:00
Solomon Peachy
e0b34a5c4d FS#13449: Generate standalone voice clips in rbutil
VOICE_INVALID_VOICE_FILE and VOICE_LANG_NAME need to be discretely
saved as "InvalidVoice_<langname>.talk" and "<langname>.lng.talk"
under the target .rockbox/langs directory

This mirrors what the standalone voice.pl and buildzip.pl do.

Change-Id: I70fda4ffe85b5bccc164ebcbb484eedf034f143b
2024-07-20 11:18:22 -04:00
Solomon Peachy
db8049d168 rbutil: Delete some obsolete entries from rbutil.ini
These are all sourced from build-info today.

Change-Id: I8dda9112e763c8b5561fb816e75aa6c52a20df1c
2024-07-19 18:26:28 -04:00
Sebastian Leonhardt
102c374248 added xrick game
original xrick code by 'BigOrno' at:
http://www.bigorno.net/xrick/

Rockbox port, plus bugfixes at:
https://github.com/pierluigi-vicinanza/xrick

Further changes:

 * Additonal fixes from g#3026
 * Port to modern plugin API
 * Add Pluginlib keymap fallback
 * Support all >1bpp screens
 * Fix build warnings in miniz
 * Better error message when resources are missing

Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
2024-06-30 17:24:16 -04:00
Solomon Peachy
57b3d2ffb1 FS#13358: Fix sansapatcher build against musl libc
Change-Id: I1824019f4eb30877e2883912ddb50bd420de9fb6
2024-06-18 10:55:27 -04:00
Solomon Peachy
c34076b2a5 Theme Editor: Make it compile with modern toolchains
Change-Id: Idc0ef3dd34ab186b4ea40f4d916a2addf87eb478
2024-05-05 14:05:13 -04:00
Solomon Peachy
47784a777e FS#13403: Fix compilation error in scsitools
Change-Id: I2aa402d09a482d9f559dece13f1acf75a658c4da
2024-03-31 20:12:12 -04:00
Marcin Bukat
7f455af905 hwstub lib: Introduce framework for device filtering
The rationale behind this was ability to filter usb device by
bus numer and device address. This allows to connect with selected
device in case there is more then one  connected device implementing
hwstub interface. For now only USB backend makes use of this
but the foundation is generic and can be easily extended to other
backends.

Change-Id: I618cfdeeb09162d5fa1002db00e40ea17c43e727
2023-11-09 02:06:18 -05:00
Solomon Peachy
0391f2410a FS13397: Fix ipodpatcher standalone build
Patch from revo

Change-Id: Ic41191c389d21861dec94f38418420d60f2596c3
2023-10-24 10:12:16 -04:00
Marcin Bukat
440fcb86d6 ATJ213x: minor changes to hwstub port
1) Make use of $gp addressing. This saves some bin size and makes
   code slightly faster.
2) Substitute jr with simple j instruction in exception handling.
   Code is small and j can easily encode target address.
3) Remove nop after eret in interrupt handler. According to mips32r2
   ISA manual eret does not have branch delay slot.

Change-Id: If63feb12eef189f08f7b50c832a8091be5e6f570
2023-09-28 22:04:11 +02:00
Marcin Bukat
0bfdb73b4d ATJ213x: Convert register description to v2 format 2023-09-27 22:49:38 +02:00
Marcin Bukat
609db995d5 hwstub: Remove code duplication in ATJ213x exception handling 2023-09-27 22:49:33 +02:00
Marcin Bukat
bf81914217 hwstub: Force alignment of the context buffer
Exception handling code assumes at least word alignment of the
context buffer. So far we were lucky that compiler placed it
correctly but after compiler upgrade I was hit by the bug
caused by missalignment of the context buffer.

Credit goes to pamaury
2023-09-27 22:49:09 +02:00
Solomon Peachy
6e05fcf4d0 FS#13551: Correct the native name for the Slovak language (in rbutil)
Change-Id: I01281b2ac8c8112e44d5fb6da208b18f703ba92e
2023-05-22 10:53:22 -04:00
Nikita Burnashev
e232f69214 atjboottool: gzipped fw files, option for big-endian fw, clarify ECIES in fwu
Added fw modifications required to unpack real world player dumps.


Documented more fwu header fields, magic numbers and finite field arithmetics (extended Euclidean for inverse, long division for reducing modulo field_poly).

v3 encryption used is standard RC4 with the key additionally ciphered by the Elliptic Curve Integrated Encryption Scheme.

Either sect233k1 (NIST K-233) or sect163r2 (NIST B-163) curves can be used, with the former overwhelmingly prevailing, being hardwired in SDK's maker.exe. Using a private/public key scheme is superfluous because both are stored in the firmware, with the added level of complexity likely serving the purpose of obfuscation. The private key is generated at random with each invokation.

None of KDF or MAC from ECIES are used, RC4 key is directly xored with the shared secret. The random number r used to calculate rG isn't stored, but that's unimportant since only krG == rkG is actually used in the encryption.

Change-Id: Ieacf8cc744bc90c7c5582dd724b2c10a41bfc191
2023-05-17 13:19:31 -04:00
Aidan MacDonald
ed7ab52e27 makefiles: Suppress stray backslash warnings with grep 3.8
GNU grep 3.8 warns about "\#" when compiling. The "#" has to be
escaped for Makefiles and shell, but it isn't special to grep so
grep thinks it's an invalid escape sequence.

Change-Id: Ieb2607d42b7daa1939ca0101b915ec0c7afd4298
2023-03-21 04:48:31 -04:00
James Le Cuirot
4917f764bb rbutil: Try to use system-wide QuaZIP in preference to building our own
QuaZIP is included in several major Linux distributions and packaging
policies strongly oppose bundling of libraries.

Change-Id: I8d454784dc4b244f4dd8aa18deb3350a29aaab77
2022-07-11 15:00:07 -04:00
Pavel Rzehák
b9e7075837 Rockbox Utility: updated Czech translation
translated missing strings and revised existing

Change-Id: I96b8e3ecb678715c04748b56e7038e96aa6536cc
2022-06-12 10:01:44 -04:00
Dominik Riebeling
f8d54d0d1e rbutil: Bump to 1.5.1.
Change-Id: Idfc846ee1922271a709a097989c7a9a31e9d7279
2022-04-18 21:02:12 +02:00
Dominik Riebeling
3ed515872c rbutil: Fix progress dialog abort changed too early.
Don't change the abort button to Ok after a successful bootloader
install, this will be done by the following steps.

Change-Id: I4275de1f44bddf0580b10b36240a36a43daa68d0
2022-04-18 19:35:36 +02:00
Dominik Riebeling
80ac6893c0 rbutil: Update changelog.
Change-Id: I0d3ad4cba8cc5393d86cf2b96fc755ad6ec90b01
2022-04-18 19:35:36 +02:00
Dominik Riebeling
e4cb1615f4 rbutil: run lupdate on all translations.
Change-Id: I676cddf93724e07790cd393b697c127928f3949b
2022-04-18 19:35:36 +02:00
Dominik Riebeling
e2dc0a2c07 rbutil: Make zip install log less noisy.
No need to show a separate entry when a cached file has been used, do it
the same way as bootloader downloads do.

Change-Id: I42a21a37474a778975e82af0102e0152677a0343
2022-04-18 19:35:35 +02:00
Dominik Riebeling
1155851ffb rbutil: Make "Info" tab more responsive.
Loading the information can take a bit depending on the speed of the
disk. To make the application not appear as frozen update the UI more
often, and display a "Loading" text during data retrieval.

Change-Id: I012487d031ea71e62b583ca1c40220ea709e7034
2022-04-18 19:35:35 +02:00
Dominik Riebeling
fc38cd8215 rbutil: Fix uninstall not updating install log.
Change-Id: Icd71f1a2de73d23c6580523de8c810b5a10a194b
2022-04-17 23:21:19 +02:00
Dominik Riebeling
37a60d5461 rbutil: Enable themes install depending on theme selection.
Don't store the "Install Themes" option. Automatically enable themes
installation if the themes selection has at least one entry selected
instead.

Change-Id: Ib46e8b53b0204555b79dea51545dd7c380f003ff
2022-04-17 23:21:19 +02:00
Dominik Riebeling
62108a9613 rbutil: Use references to avoid creating temporary objects.
Get rid of some unnecessary object creating / copying by using
references.

Change-Id: Ia44e34f6f66d230caa9af7ef7c0eca73be12de2a
2022-04-17 23:21:19 +02:00
Dominik Riebeling
8c55ce62b9 rbutil: Move bootloader file check to base class.
Avoid constructing the bootloader file path in the caller. Pass filename
list and mountpoint separately so it can directly fall back to the
mountpoint.

Change some functions to use references instead of creating temporary
objects.

Change-Id: I09c9d755553a32de3d02a42a8ce1fcb94f831b2a
2022-04-17 23:21:19 +02:00
Dominik Riebeling
90960adf56 rbutil: Fix bootloader installation for various players.
Reworking handling of player specific data (static player configuration,
as well as information retrieved from the server) changed the behaviour
on a non-present configuration entry. This eventually caused the
mountpoint not being set for players that don't have a bootloader file
on disk. Fixing this accidentially removed the default-if-not-found
handling for the bootloader file.

Restore the old default value behaviour for both cases.

Change-Id: I627782ccdef198619fb507f8b09a64811b3bd18f
2022-04-15 21:03:44 +02:00
Dominik Riebeling
b9c3ab2e04 rbutil: Improve progress & responsiveness on (un)install.
- When uninstalling update the log file only at the end of removing all
  files. This gives a major speed improveness since othewise the log
  file is written after each file. This slows down things notably,
  especially on slow disks.
- Explicitly update the UI during install zip extraction. Avoids
  progress seemingly hanging due to the UI not getting updated often
  enough.

Change-Id: Ib353a92e02a7038d6e55f5f88dcfb5085602c0f2
2022-04-14 23:06:40 +02:00
Dominik Riebeling
97176d444e rbutil: Use progress bar on uninstall.
When uninstalling parts with lots of small files the process can take
quite some time. Update the progress accordingly.

Change-Id: Iecc4553b36abbc1cf9652a325ccb29b62a7fc4cc
2022-04-14 22:37:45 +02:00
Dominik Riebeling
6ef094c1a9 rbutil: Make QtMultimedia an optional component.
We only use it for playing the TTS sample so it's not too important.
Since this is a separate Qt module it might not be installed, so make it
optional.

Change-Id: I2c91dd5d587c8a984525b2297bbe7d597b816b4f
2022-04-14 22:23:35 +02:00
Dominik Riebeling
8a6ceff376 rbutil: Fix sansapatcher bootloader install on Windows.
During bootloader installation sansapatcher disk access is accidentially
set up twice. This is not a problem except on Windows, which will abort
with a "permission denied" error.

This is basically the same problem as for ipodpatcher bootloader install.

Change-Id: I03220e17d0e00a15fff23c02aba7da93d4781964
2022-04-14 22:22:46 +02:00
Dominik Riebeling
cc2f364926 rbutil: Fix ipodpatcher bootloader install on Windows.
During bootloader installation ipodpatcher disk access is accidentially
set up twice. This is not a problem except on Windows, which will abort
with a "permission denied" error.

Change-Id: I9a835ef0d49f24df741b7b2909c4bd87cb1c8341
2022-04-13 21:36:44 +02:00
Dominik Riebeling
4c1fe3a899 rbutil: Bump to 1.5.0.
Change-Id: I074da5a2ce33b65d554a7de22a993e536e93f48d
2022-03-27 20:46:54 +02:00
Dominik Riebeling
a490ff896f rbutil: Update german translation.
Change-Id: I5c5cd8a0496dced977c4ed1e7189d43c1b0314f1
2022-03-27 12:57:48 +02:00
Dominik Riebeling
493dce212d rbutil: Fix langstat script.
Change-Id: I323b0e8dbf87f1d53881f5b89f26c5906796fde4
2022-03-27 12:56:34 +02:00
Dominik Riebeling
aaf0f1c371 rbutil: Fix Qt6 Windows build.
It seems Qt6 doesn't require explicit linking to QSvgIconPlugin anymore,
and cmake has trouble finding it. On native Windows builds it isn't
required, so remove it.

Change-Id: I87651f51ab212511947ab9fca3297b0dff276577
2022-03-26 20:29:14 +01:00
Dominik Riebeling
6bc19c98ca rbutil: Fix implicit type conversion on Windows.
Change-Id: I30c5edd5ce0344c47c0f9514eda830a2be8992c4
2022-03-26 20:29:14 +01:00
Dominik Riebeling
238cd13469 rbutil: Fix build info list handling with Qt6.
With Qt6 we need to check the type differently or we'd convert a
stringlist to a string.

Change-Id: I00a7a73535503b97f40edb51099a332902e881e0
2022-03-23 20:11:31 +01:00
Dominik Riebeling
f3b19de594 rbutil: Disable TTS test on Qt6.
Qt6 has QMultimedia, but QSound has been removed. It's only use for
playing a TTS test sample. Disable that for now.

Change-Id: Id3b5c834f9579a43e390c0c00a4c1a35b59182bd
2022-03-23 19:34:30 +01:00
Dominik Riebeling
00ec195c26 rbutil: Qt6 fixes.
Change-Id: Ied6bdf1c5269b53ccfedc1d80f3f3f0d6b4011da
2022-03-23 19:34:30 +01:00
Dominik Riebeling
948637c42c rbutil: Fix TalkGenerator string correction.
- Fix regexp case insensitive option being inverted.
- Pass more objects by reference.
- Some const-ness.

Change-Id: I1c77ad22ab1e505c8dce8c083d9c52e76a6860be
2022-03-23 19:34:30 +01:00
Dominik Riebeling
215ba4abf7 rbutil: Remove unnecessary Q_OBJECT.
PlayerBuildInfo uses no signals/slots, so we don't need Q_OBJECT.

Change-Id: If4e264b733d912ecda3659ea0e1abb9d2b56950e
2022-03-23 19:34:30 +01:00
Dominik Riebeling
1aea2d5b7e rbutil: Test for talkgenerator string correction.
Change-Id: I4c21dbbdae492938061883f1694f9c0f7b6b0fd9
2022-03-23 19:34:30 +01:00
Dominik Riebeling
c7c9a0f069 rbutil: Minor code cleanup.
Change-Id: Ia1b05747e64b2122cfe17ee0c2f7bf5477f3ba09
2022-03-20 20:14:21 +01:00
Dominik Riebeling
04e22d8719 rbutil: Replace use of QRegExp with QRegularExpression.
Change-Id: Ie89057a9857bc66612cb15fef81d3ca6c3e71b4c
2022-03-20 20:12:20 +01:00