Commit graph

1363 commits

Author SHA1 Message Date
Aidan MacDonald
f44b6c78e0 misc: respect standard __ASSEMBLER__ define in CPU headers
The JZ47xx and S5L87xx processor families used their own
special defines (__ASSEMBLY__ and ASM respectively) in
their CPU headers to check if they were included from an
assembly source file.

For GCC the standard seems to be __ASSEMBLER__, so check
for that instead and remove the non-standard symbols.
Being more consistent across platforms makes it easier to
include cpu.h from cross-platform files (eg. plugin.lds).

Change-Id: I282930cad34e1a2ff18166f3b4338548b34f4a49
2026-03-05 21:13:50 +00:00
Alexander Polakov
7fdba68524 Add Shanling M0 Pro to jztool
Register the M0 Pro as an X1000 device in jztool for USB boot loading.
Uses Shanling USB IDs (0x0525/0xa4a5) for mass storage identification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change-Id: I5ab71d6e7dcce925a2c91c2779964b4302ef777e
2026-02-24 18:03:33 -05:00
Solomon Peachy
6f302083b5 cleanup: Get rid of erroneous execututable bit on various source files
Change-Id: I6382ba56dc6d99189c8647b010208c33fc2da7ca
2026-02-19 07:54:35 -05:00
Aidan MacDonald
58b186d6de Remove Creative Zen Vision and Vision:M ports
They haven't seen development activity for the better part
of two decades and apparently were never able to even boot
to Rockbox, although the Rockbox bootloader could load the
original firmware.

Change-Id: I5cfa5909c21feaf2825aa685a05e78044b893a13
2026-02-06 07:31:54 -05:00
Aidan MacDonald
ebd273832d Remove Mini2440 and Lyre prototype 1 ports
Both targets were part of the (presumably dead) Lyre project
and no longer build. The Mini2440 was much more complete than
the Lyre and doesn't seem terribly difficult to fix up to the
point where it at least builds, if someone still cares -- but
given it is a dev board in a box, it's unlikely it ever saw
much use.

Change-Id: I09745379d28db69ea9aaf77f0a62b049884260e1
2026-02-04 08:56:04 -05:00
Aidan MacDonald
53862c7eed Remove Sansa View port
It doesn't seem to have been functional ever and currently
doesn't build; eg. the last commit to the LCD driver added
a syntax error, and there's some duplicate functions between
mmu-armv6.S and system-pp502x.c. Doesn't seem worth the
effort to fix.

Change-Id: I82b5bec3ed9686f28aedbe283818af792b96daf4
2026-02-03 22:04:41 +00:00
Aidan MacDonald
1a33d7990a Remove Meizu M3/M6SL/M6SP and Samsung YP-S3 ports
These targets haven't seen any changes since 2008-09
have bitrotted to the point they don't compile anymore.
With only internal NAND flash for storage which doesn't
seem to have ever been accessible from Rockbox, they've
never been usable and there's probably not much point
keeping them around any more.

Change-Id: I2fc63da20682b439126672065ae013044cb2d1c4
2026-02-03 16:32:56 +00:00
Solomon Peachy
19fe7a4915 rbutil: Fix typo in changelog
Change-Id: I8f495f37ea4abb6509e0dcdb26ba38ad94096970
2026-02-03 07:12:14 -05:00
Solomon Peachy
3083277ee4 rbutil: Don't forget to bump the version for MacOS builds
(And a minor correction to the changelog)

Change-Id: Ic00e32444ee815b214755c8a17a511ce4310caca
2026-02-01 09:35:08 -05:00
Solomon Peachy
ee3e630efa rbutil: Upgrade bundled quazip from 0.9.1 to 1.1
Just reducing the delta a little bit.  Later versions are
more complicated.

Change-Id: If0452a529b840383333062ec2604ff257646627a
2026-01-30 20:42:21 -05:00
Solomon Peachy
e11a449031 rbutil: Pull the internal/external QUAZIP library stuff into the toplevel
Prevents a build failure when we have to build quazip as part of the build

Change-Id: I274cd4c358c50152bcfea2e33ad580fac0277e4a
2026-01-30 15:08:23 -05:00
Solomon Peachy
d9289e7f5c rbutil: Use lang-enum.txt in voicestrings.zip if present
With this change, the code that looks for the VOICE_INVALID_VOICE_FILE
and VOICE_LANG_NAME to produce standalone clips will finally work.

Change-Id: I65ec592a1d3a6c83f92efadec72657c42552b41a
2026-01-12 20:22:43 -05:00
Hairo R. Carela
8b6491db57 rbutil: fix stray rbutil.log creation when using a suffix
When instaling rockbox rbutil.log was still created in /sdcard/.rockbox

Change-Id: Iea987623a206d8c8f663e8ef0ee26a103ccc285f
2026-01-05 11:54:27 -04:00
Hairo R. Carela
f13f80c506 rbutil: more path suffix support
This commit adds suffix support for some missing components:
- Info widget
- Voice/talk files generation
- Backup
- Uninstall

Also fixes a crash in the uninstall window when there's no bootloader to select.

Change-Id: Ie97505a8cbd12dddf160bdebae2c04e738c373e5
2026-01-02 22:41:03 -05:00
Hairo R. Carela
64e0ced696 rbutil: path suffix support for devices with non-standard paths
Only for themes, fonts and voice files, includes rgnano implementation to test (can be in its own commit if needed, with the required manual updates and changes to install rockbox itself with rbutil).

Change-Id: I2481e6a3224912a298cf4c86011226e466490e08
2025-12-31 21:11:10 -05:00
Aidan MacDonald
7418e65138 echoplayer: add 'debug' and 'flash' targets to makefile
This replaces the gdb & openocd config in utils/stm32tools
and is easier to use. Remove the srst workaround; it seems
this was caused by the D1/D3 domains not being powered up
while the CPU was in sleep mode.

Change-Id: I28cc0273b3004c6e3146bb2447f0655cad8bb1c2
2025-12-31 08:10:40 -05:00
Solomon Peachy
afe128f4cc arm: Profile/variation detection improvements
* Detection of 64-bit Arm v8-a
 * Proper detection of integer division support
   * always on v7-m, v8-a, v9-a, v8-m.main
   * sometimes on v7-a, v7-r, v8-r
   * never on v8-m.base v6-m, v6 and older "classic"
   * tl;dr: Rely on toolchain preprocessor definition

For the most part these additional variations won't acutally work
for native target builds, but sane -A detection is needed for
"local" builds now. -R detection is left out as it's not likely
to matter.

Change-Id: I8f6a52edc4d14490fc00e2f487406eca701eef02
2025-12-04 20:43:30 -05:00
Solomon Peachy
26d22a64c9 mkzenboot: Add support for 1.21.03 (US) firmware on the ZEN
The EU variant was already listed, but the US was not.

Change-Id: I8445a9e906ecd891f1ca571a4a3d7aa146e69698
2025-11-28 16:38:23 -05:00
Solomon Peachy
3fdc731137 rbutil: Add Vietnamese to the list of languages
Change-Id: I46d74c7dce657d58268103433c6245f0fbb157a7
2025-10-20 16:51:46 -04:00
Hairo R. Carela
2a88253426 rbutil: add qt version check for setIniCodec
QSettings::setIniCodec was deprecated in qt6, this fixes building with it.
Change-Id: Icd2ac05bb0a9f56181823a25a9307ac791664d88
2025-09-11 21:39:52 -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
59a50d3964 rbutil: Correct ini entry for the ro_MD (Moldovian) language
Change-Id: Ie044c4cab55174e6d655526adfb7a7aa09c97152
2025-07-21 12:53:24 -04:00
Vencislav Atanasov
648675dd0c iPod 6G: add support for every possible bootloader version, for all revisions of the target
Change-Id: Ie602c096c26a0d71afae07b6460457eeebda154a
2025-07-07 03:31:02 +03:00
Solomon Peachy
944026f2b7 rbutil: Correct typos in the language names
Change-Id: Ib6f66d528a03e64255407fb4bba4aca4fde1ee8b
2025-05-11 09:38:51 -04:00
Solomon Peachy
1d7e9d4910 rbutil: Show language names in their native script
Change-Id: I02a9a05dc3cfe2484285868e1ead6c44d0e2989a
2025-05-09 11:36:12 -04:00
Solomon Peachy
077f44ca41 rbutil: Pull voice-corrections.txt out of voicestrings.zip
If the corrections file is not present on the target, then
fall back to the (probably outdated) compile-time builtin version.

Change-Id: I9904b81b2f3737149fc8a905ecd03ff54782bbdf
2025-05-09 09:26:14 -04:00
Solomon Peachy
bb20b5c6bf rbutil: Don't stub out PlayerBuildInfo in tests
Change-Id: I75667bc291828c1d4c548ab8f92c43a7a7fb892e
2025-05-09 08:38:24 -04:00
Solomon Peachy
22d72bf369 rbutilqt: Add missing 'Q_OBJECT' macros to three classes
Change-Id: I0999c286facc06039a456243f6f0525f939e97d6
2025-05-09 07:51:16 -04:00
Aidan MacDonald
6fc87143df stm32: add sample files for OpenOCD and GDB usage
Change-Id: I674ebab9c25a8dcd69bcebf665dc8d749c380b42
2025-04-21 18:15:15 -04:00
Solomon Peachy
c65050571e docs: Do a proper "merge" with the API docs
This keeps all the old descriptions etc that were there before.

Had to fix up the tools some more, honestly feels better to just
rewrite this crap in perl.

Change-Id: Ic15deae200c143ba5457423e12c81f871c0fef09
2025-04-21 15:59:00 -04:00
Aidan MacDonald
bf689e9b5d stm32h743: add intitial register definitions
Change-Id: I0c9f94103eedb333b2167a8ef49568c8e50c2218
2025-04-21 14:15:31 -04:00
Aidan MacDonald
bfa76dca9a arm: add ARM Cortex-M register definitions
Change-Id: Ifb90606d2b6c94c4f91798a41415c895e2888520
2025-04-20 20:19:10 -04:00
Solomon Peachy
6d656814dd api: Fix some basic syntax problems with the plugin API generator
Change-Id: I9e6afa5b75e7fb803ee4c29f8306b56d7f8d7f64
2025-04-20 17:07:40 -04:00
Aidan MacDonald
89a9b5cf39 reggen-ng: add support for floating instances and nochild flag
Change-Id: I790149587b622f95f575964cd29caab4a0cff6d4
2025-04-20 16:28:07 -04:00
Solomon Peachy
bcee6318f0 headergen_v2: Add additional generator types to help output
Change-Id: I070c9554958c45e78462b8515cdce56fcee1a5ed
2025-04-20 16:26:50 -04:00
Aidan MacDonald
ecfc62cda6 headergen_v2: add ST generator for STM32 family
Change-Id: Id8f06a6f77cc58d3f0f94b72108dc91ba8037813
2025-04-20 16:25:58 -04:00
Aidan MacDonald
2db0627d38 headergen_v2: add ARM Cortex-M generator
Change-Id: If9059b0964ce6f905aa230139eb78b800ff6a102
2025-04-20 16:25:58 -04:00
Aidan MacDonald
08f800d5b8 headergen_v2: only generate MT_REG_INDEX macro when needed
This is only needed if the generator sets has_sct() to true.

Change-Id: Ie7fcb6a1f0f9d27e9ef8a5558c12a66ab6da4394
2025-04-20 15:53:54 -04:00
Aidan MacDonald
af9156406d headergen_v2: only generate GET_VARIANT macro if needed
This is an internal macro which is only used if has_sct()
is set by the generator, so don't generate it if we don't
need to.

Change-Id: I7ad51ad34ecabd833b84a270b5046e77131dcb41
2025-04-20 15:53:54 -04:00
Aidan MacDonald
f50455f6a7 headergen_v2: increase macro argument limit to 20
When registers have lot of 1- and 2-bit fields it's possible
to exceed the 13 argument limit. Usually this only shows up
when programming a configuration register, but it's annoying
to have to split up the write. 20 arguments should be enough
to avoid that.

Change-Id: I6240fae4a51ae14600afcfb8a4e3f1e983cbffa6
2025-04-20 15:53:54 -04:00
Aidan MacDonald
cffd158ace headergen_v2: add helper macros for base+offset addressing
Add a relative version of the register/field read/write operations
which takes a base address (which may be a void pointer or integer)
and computes the register address using offsets.

Change-Id: I7c012192e67adcd675a0fc1975ca4b16ed87bcac
2025-04-20 15:53:54 -04:00
Aidan MacDonald
387f67cab6 headergen_v2: add floating instances and nochild flag
Floating instances don't have an address and will only generate
child nodes and registers with offsets. The 'nochild' flag will
disable generating the children for a node but will generate the
node's own address, which can be used to generate base addresses.

Change-Id: Ib1014de94531436d5708db46aa684741e7740ace
2025-04-20 15:53:54 -04:00
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