Commit graph

1321 commits

Author SHA1 Message Date
Aidan MacDonald
0f5c2877fe headergen_v2: generate register offsets and node addresses
Register offsets are defined as the address of the register minus
the address of the parent node. If enabled by the generator, these
will be emitted alongside defines for the node base addresses.

This allows the base address to be stored in a variable, and the
offset can be used to access registers relative to the base.

Change-Id: I15576aeb2945293a259007da7f00a26055f4d0f0
2025-04-20 15:53:54 -04:00
Solomon Peachy
f884f92234 rbutil: http:// -> https:// for all displayed Rockbox URLs.
Change-Id: I6afe427144681103e52cb976ac10fdbd939e2237
2025-04-05 13:58:56 -04:00
Pavel Rzehák
4d616be48b Rockbox Utility: updated Czech translation
translated two missing strings

Change-Id: Ib1f938c4b103d37c9c4b78767a4b22935748fa09
2025-04-03 14:16:23 -04:00
Solomon Peachy
87e9c3991a rbutil: Update tarball scripts
Change-Id: I33a42fc2535ddead1780bbceb2c4c048a3aba8de
2025-04-02 08:21:38 -04:00
Solomon Peachy
b6f8f31b7c rbutil: Fall back from 'development' to 'daily' for all non-firmware artifacts
Before we only fell back for manuals and fonts, whereas
we also needed to fall back for source and voices.  Given that
dev builds only produce the actual binaries, just fall back for
everything else.

Change-Id: Ibd84a942d380f69c86ca2243cb2c192de7efd047
2025-03-28 08:29:08 -04:00
Dana Conrad
19a636ddeb Add Eros Q OF V2.2 to known hw4 targets
Both rbutil and manual need to have entries for V2.2.

Change-Id: If1714456792820e119babe5176f405e273e764b5
2025-03-25 00:18:49 +00:00
Vencislav Atanasov
ca2e195a76 time-sync: Fix arguments order in linker command
Also adds the resulting binary to .gitignore

Change-Id: Ibe7e577873c231a5b950a7224eb1a4136a4cd987
2025-01-16 16:05:18 -05:00
Vencislav Atanasov
5d7c8a0df1 Convert non-ASCII characters to UTF-8
Comments and notes are converted to UTF-8. Already broken multibyte characters are fixed using common sense.

This patch contains no code changes.

Change-Id: Ia511ab84936cb2495ac17309493a9b98727a7902
2024-12-15 21:16:12 -05:00
William Wilgus
ebd1021fe4 [Bugfix] Pt doesn't return length of the next track
fix yellow in mp3_encoder

Change-Id: I1658250141d3ea00b56da0258e111ca76aa56b53
2024-12-08 00:28:16 -05:00
William Wilgus
eb3e5eb2bf [Feature] Skin engine Themes grab text from a file %ft(file, line)
allow the skin engine to read text files and return a particular line

you then can use ss on that string to allow display of strings from the file
(Playername comes to mind)

able to be used as conditional
%?ft(filename)<Found|Not Found>

if (selected) line of file is empty the tag is treated as #COMMENT

bugfix:
%t(n)%?x<text|text>
would ignore the specified timeout defaulting to 2 seconds

bugfix: cabbiev2.128x160x16.wps was missing %Sx()
for translation on 'Next Track:'

playername.txt generated at boot if it doesn't exist contents: 'Rockbox!'

Change-Id: I04ea4fd411f74c7c6e672657949aa520c2f86f95
2024-12-07 23:02:22 -05:00
Solomon Peachy
e6851a55ed Revert "[Feature] Skin engine Themes grab text from a file %ft(file, line) WIP"
This reverts commit 62b5dfd81d.

This was accidentally merged, and wasn't up-to-date anyway.

Change-Id: I4fcceb8dc4f86762701daab72498202cabd8295a
2024-12-07 13:48:05 -05:00
William Wilgus
62b5dfd81d [Feature] Skin engine Themes grab text from a file %ft(file, line) WIP
allow the skin engine to read text files and return a particular line

you then can use ss on that string to allow display of strings from the file
(Playername comes to mind)

able to be used as conditional
%?ft(filename)<Found|Not Found>

if (selected) line of file is empty the tag is treated as #COMMENT

scroll timeouts now persist thru trackchange

bugfix:
%t(n)%?x<text|text>
would ignore the specified timeout defaulting to 2 seconds

playername.txt generated at boot if it doesn't exist contents: 'RockBox!'

Change-Id: I961910e01be052ef902f77e6d92fc3e367ffe9d0
2024-12-07 13:21:21 -05:00
Vencislav Atanasov
a29b570ac4 S5L8702: Rename nor-* to norboot-*
Since the SPI NOR flash is only used for the bootloader, rename the files accordingly, This is a preparation for the nandboot driver will be introduced, since S5L8720+ don't have an SPI NOR flash anymore.

This is a part of the large iPod Nano 4G and iPod Touch 2G support patch.

Credit: Cástor Muñoz <cmvidal@gmail.com>
Change-Id: Iea835fd2029470bfe9f813631ad4f3db711facc3
2024-12-07 00:56:06 +02:00
William Wilgus
80c9d71556 rbutil changes for qt6
Change-Id: I742613b9a99a327c2efecc9ee308a95b1598bbbb
2024-12-04 23:41:48 -05:00
Solomon Peachy
c24862ab64 themeeditor: Get rid of another pile of deprecation warnings
Change-Id: Ifc6274d7f2f0de85db7b652f479ba7f9b7ef86bb
2024-12-04 15:45:36 -05:00
Solomon Peachy
a565734e47 themeeditor: Don't double-compile quazip, just use the same one as rbutil
Change-Id: I470364c4184b3e176bc30d7957dd1c7703bb6046
2024-12-04 15:10:06 -05:00
Solomon Peachy
27da734a73 themeeditor: Use the quazip and zlib provided by rbutilqt
Change-Id: I269c28ddcd2ac7870226ce8e0564b661c243d4ec
2024-12-04 14:45:28 -05:00
Solomon Peachy
61d70de7f4 tools: Fix up a bunch of compilation warnings
Plenty more to go.

Change-Id: I3f6e6686d3e581bb97493d40dcb7df74650ba96c
2024-12-03 20:37:55 -05:00
Solomon Peachy
00d7a93987 themeeditor: Fix compilation
This thing is suffering from some serious bitrot, but at least
it compiles again.

Change-Id: Ie2c55697dddbca3a758ace5047d1c372ee478a07
2024-12-03 20:16:30 -05:00
Dana Conrad
77888b0f24 erosqnative: Add Hifiwalker H2 V2.0 to manual and rbutil labels
Change-Id: I8a830aa3c21965d0b7461a57ef7219abbf36002a
2024-12-03 15:50:10 -05:00
Vencislav Atanasov
9e2c85e076 Merge s5l8700.h and s5l8702.h into s5l87xx.h
This is part of the preparation to add support for iPod Nano 3G and Nano 4G. There are some optimisations left, like merging similar blocks of registers that share the same layout, but the base address have changed between SoC generations.

Change-Id: I4f06727b4061977141b65d39ae19591bd5b29680
2024-11-24 15:56:23 +02:00
Dana Conrad
253eb79db3 erosqnative: hw4 support
Support hw4 units with AXP2101 PMU

Bootloader successfully compiles and loads onto device.
The LCD appears to be identical to hw3 units.
Scroll wheel and buttons work
Audio output works, including volume.
HP/LO detect works
Rockbox build is generic
GPIO gating logic seems to be working as intended now.

 - Added new GPIO definitions - some significant overlaps with pins
    from previous hardware revisions...
 - Added some GPIO definitions for older players we didn't know about
 - Add register definitions for AXP2101 from datasheet
    (these are very different from AXP192!)
 - Add AXP2101 regulator definitions, need to support multiple step
    sizes per regulator.
 - Verify AXP2101 voltage set multi-range logic
 - Verify AXP2101 voltage get multi-range logic
 - Make AXP2101 its own driver
 - AXP2101 driver should be "minimally viable", though I think
    there is some extra functionality that could be implemented.
 - Disabling the coulomb counter stuff - we could maybe make
   the E-Gauge work for the same purpose, but it only appears to
   be used on the debug screen at the moment so it doesn't seem
   like it's worth the effort.
 - Found new button GPIOs
 - Found error in my GPIO setting logic, blue light works now!
 - Set LDO/DCDC output voltages to OF's settings, as far as
   I can tell.
 - Determined we probably want TCS1421_CFG1:0 to be 0x00,
   for UFP behavior
 - Tested this rb build with both old and new bootloaders on hw1.5,
   hw2, hw4 in as many configurations as I can think of, works across
   the board.
 - Bootloader can install itself on hw4, so nand chip isn't novel
 - Uninstallation file can be made by patcher script, works on hw4
 - Installation file can be made by patcher script, works on hw4
 - Added HW4 to rbutil, manual

Change-Id: I5b75782273e81c2c6f2b9c79501c8b7cbf88391f
2024-11-22 17:01:39 -05:00
Vencislav Atanasov
6691214e51 Rename iPod 6G bootloader from ipod6g.c to ipod-s5l87xx.c
This is part of the preparation to introduce support for iPod Nano 3G and iPod Nano 4G.

Change-Id: I0f07f26a00a0b880507418d712a386377bc71c06
2024-11-22 16:45:29 -05:00
Uwe Kleine-König
bf90197717 rk27xx-utils: fix compiler warning on amd64
sizeof(...) has type size_t which is long unsigned int on amd64, and so
the conversion specifier d without length modifier isn't suitable. There
is the length modifier 'z' for size_t arguments, but this is only
available on Linux. So casting to unsigned long and using 'lu' is the
portable fix.

This fixes:
	rkboottool.c:215: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
2024-10-27 11:25:51 -04:00
Amaury Pouly
b8d35c042d rknanotools: fix rknano stages processing
Change-Id: Ia88f5aa2a6c56b312f80b31afab41d1dc68b871b
2024-10-27 09:12:31 -04:00
Amaury Pouly
d2dbd36db4 Add atj generator to headergen_v2
This requires a small change to support headers without supports macros. This
generates much simpler macros but disable more advanced macros such as BF_SET,
BF_WR and friends.

Change-Id: Icb5470c3f3e816e83335b4ecfa465be6c26be007
2024-10-27 09:07:59 -04:00
Dana Conrad
5d2692375d rbutil: Add erosqnative
- Give each brand its own entry, and make ranges
  of OF versions correspond to hardware changes.
- Temporarily disabled target aigoerosq.
- Post-install hint enabled.
- Added pre-install hint function
- Added optional parameter themename, in case
  the target name does not match the themesite name.
- Made Port Status (statusAsString()) only care about platform
  string prior to first '.'
- Manual: Remove note that rbutil does not support this model

Issues:

 - Cannot uninstall the bootloader - manual instructions are available

Change-Id: I574aad7943ea3d1e543e9449f68240446fec0709
2024-09-24 10:48:58 -04:00
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