Commit graph

37651 commits

Author SHA1 Message Date
Solomon Peachy
6cb0bc3468 coldfire: Silence a warning generated by GCC >= 9
Basically, there are weak aliases for all possible IRQ handlers,
pointing at a NORETURN function. GCC complains that the aliases
don't have the same attribute, but that's actually what we want.

Change-Id: I7f877e00193ed457589c8442db82e93ddea0d60a
2024-10-12 13:54:22 -04:00
Solomon Peachy
62d6c7ecaa pdbox: Silence a spurious warning with GCC9 on hosted ARM
(pdbox seems to trigger a lot of false warnings...)

Change-Id: Ia24aa7ece4d6389dbdb36b30729a9372f872b034
2024-10-12 12:26:22 -04:00
Solomon Peachy
d4d74fda00 codecs: abs() --> llabs() in speex and libgme
We were calling abs() on 64-bit (ie long long) variables.

Change-Id: I8326910a4ce733e9e2251aa5f9047e336c8be6df
2024-10-12 12:01:36 -04:00
Solomon Peachy
8dc42711b4 libc: Correct definition of labs()' and add llabs()
Change-Id: Ie1f4a5660ef17ea3ba383441f257ad7ee02c2061
2024-10-12 12:01:36 -04:00
Solomon Peachy
e1bed147a3 build: Add advanced option to treat all warnings as errors.
Change-Id: I235f93d72bfc33243454edd04e45805b5c795f17
2024-10-12 10:34:45 -04:00
Solomon Peachy
94d6265df0 gcc9: Move structure packing to the struct definition
Silences GCC9 warnings about possible casting misalignments.

Change-Id: I2120638d4d143e9e539b7f240c31653ad55ae4e0
2024-10-12 09:23:37 -04:00
Christian Soffke
8b9ef7cf8d sdl: Remove SDL_RENDERER_ACCELERATED flag
The flag would apparently make hardware accelerated
rendering  mandatory. SDL2 will still attempt to use
hardware acceleration, if the flag is missing.

Change-Id: Icfdcad90591d2a5003a1540f2a669c7e54dcfc3b
2024-10-11 22:57:37 -04:00
Solomon Peachy
7d60b13584 pdf50606: Fix questionable code that GCC9 complains about
Instead of:

  bool &= ~bool;

do this:

  bool &= !bool;

Change-Id: I815f56c98596d6c58390e843a1e3290d3525db72
2024-10-11 22:56:44 -04:00
Solomon Peachy
49b6853c19 rockboxdev.sh: bump required version of GMP and MPFR
GMP 4.3.2 was quite old even at the time of the GCC 4.9.4 release, and
it refuses to compile out of the box on modern toolchains (eg GCC 14)
due to issues in the configure script.  Instead of trying to backport
fixes, just bump it up to 6.1.2, the final release in the 6.1.x series
that was current when GCC 4.9.4 was released.

Meanwhile, with the update to GMP, the also-quite-old MPFR 3.1.0 fails
to compile; instead bump it up to 3.1.6, which is the final release in
the 3.1.x series.

Change-Id: I356c07282b20629c90fb0de1b8be40d2c55bbefc
2024-10-11 13:01:26 -04:00
Solomon Peachy
edbcf0b0f4 erosq: Initial PM support for "hw4" variant
(They renamed the battery from 'battery' to 'axp_battery')

Change-Id: Ic42c31e1d5c01eafc3fe01b144d9f22d88933e04
2024-10-10 10:12:29 -04:00
Solomon Peachy
41abd8e32f sdlapp: Fix build with SDL2
Not sure why this didn't break in my earlier tests.

Change-Id: Idf643c7ace638d928d41606cec1b90762bc4909e
2024-10-07 12:36:44 -04:00
Solomon Peachy
56ec2e2e4a Only increase sigalthreads stack size for simulator or aarch64 builds.
The 12K-per-thread necessary on arm64 linux systems caused an
unnecessary 180K increase in RAM usage on the hibyos hosted ports.  So
back off to the old size unless we know it was needed.

Change-Id: I1e25417433052027ae02a51903b0f5245819db44
2024-10-07 12:15:02 -04:00
Solomon Peachy
0222ed3639 simulator: Fix SDL2 simulator build of touchscreen-based targets
(cowond2, mrobe500, vx747, shanlingq1, zenxfi2)

Change-Id: Iae68fbf80300d0268f3027ca97b06f6c64170a48
2024-10-07 12:05:42 -04:00
Solomon Peachy
7927423e34 SDL: Migrate to SDL2
Incorporates large portions of g#5879 g#5282 g#5285 g#5286 g#5287

Differences from the above patches:

 * Removed all MacOS-specific stuff
 * Removed support for SDL1 entirely
 * Properly implement mousewheel support
 * Bumped up minimum stack size for sigalstack threading
 * Check for overflow before enqueing scrollwheel events

Tested on:

 * sdl application (Linux)
 * Simulator (x86_64, Linux) -- xduoox3/ipod4g/sansafuze
 * Simulator (i686, Windows) -- xduoox3
 * Simulator (arm64, Linux)

Change-Id: Ia3012dd1be123feb2888798a42d5b7cc149f382b
2024-10-06 12:05:53 -04:00
Solomon Peachy
d13029ebdd kernel: Add queue_full() API call
This allows callers to see if it's safe to enqueue something instead
of triggering a panic if the queue turns out to be full.

Change-Id: Idb887e7a47cfbfef998f27d9d85090f3c0ed2230
2024-10-06 11:17:54 -04:00
Solomon Peachy
2f3b9ab68a tms320dm320: Correct a warning with newer toolchains
Change-Id: Ic9d745b9117ee50d82f4c71e07753bf71afc559e
2024-10-06 09:30:32 -04:00
Christian Soffke
8808c42d6d Fix FS#13494
Change-Id: Ie306418431eb412dac00907eb2f59999d8b4dfb0
2024-10-03 14:03:29 +02:00
Christian Soffke
0cb0cb486f tagtree: remove superfluous code from insert_all_playlist
Code has no effect since commit a0e95c8.
Functionality is now handled by the playlist_insert_context_add function

Change-Id: Ie91f605bd7a7d03556fa70d195a06bc55866741d
2024-09-29 17:37:18 +02:00
William Wilgus
f09693b0be [Feature/BugFix] Dirplay never gets the file I selected
If you have say 1000 playlist entries and select the 1001 song in the directory
dirplay loads tracks 1-1000 shuffles them and track 1001 is never heard from again

Instead start at the file and loop through the directory mod dir len

Change-Id: Ieded5decdc1f7c44b1be8491dbd4f359ae21f79a
Hint: this is a good way to not wait on dirplay to load a ton of tracks
2024-09-26 03:29:15 -04:00
William Wilgus
f55cb77f89 [Bugfix] FS#13492 - Playback resume fails after USB insert
On usb plug system_flush() gets called before the other
threads get a chance to ACK the insert

system_flush() calls playlist_shutdown() (amongst other things)
playlist_shutdown closes the control file

the audio thread acks USB insert
audio_stop_playback is called which now can't look up the
filename from the now closed handle for control the control file

I left the guard for checking for USB insert but it appears to be
fine without it

Change-Id: I935dbf7aed38d4a57413c0063ad953f427e9b3bb
2024-09-26 01:34:56 -04:00
William Wilgus
e6313e4b8e tree.c remove strlcat in favor of strmemccpy
moved a conditional for reload_dir vs strcmp

Change-Id: I1635014fbbc6b9b0905abc3f9c60bbd2a1d08762
2024-09-26 00:38:54 -04:00
Solomon Peachy
9ebfb3fa5c FS#13493: Updated German translation (Wilfried Winkler)
Change-Id: Ib048b82438e81b9cd0a3bcab7f60b5c0556ad13e
2024-09-25 18:08:06 -04:00
Roman Artiukhin
ef6da7503a Codecs: mp4: Support object type 29 (AAC LC + SBR + PS).
Backport libfaad commit d35cf8f24d

Change-Id: I0d637d2be36f5e4bb10d7d09adc442b470e81bf7
2024-09-25 14:01:57 +03:00
William Wilgus
9af325a541 [BugFix] tagcache_search() must be closed with tagcache_search_finish()
fix a couple of places where this could be left open

Change-Id: I43ac7d6b26d728c11f96e5415710341d60f07ab8
2024-09-25 01:33:47 -04:00
William Wilgus
a0e95c888d [Feature/Bugfix] Tagtree use insert context to speed up adding tracks to playlist
I forgot we had duplicated code between playlist.c and tagtree.c this saves
a bit of space and should speed up adding tracks a bit

further I noticed a buf here where there was the potential to return without closing
the opened track search

Change-Id: I15ed8447fc4fe13de5bfeb9fbb59b151e2fbf36a
2024-09-25 01:03:11 -04:00
William Wilgus
ffebb9e244 [Bugfix] Enable Progressive loading for talk clips on devices <= 8MB
our voiceclips are getting in the way of allocs for the tree
on these devices

Change-Id: I556400359df22a2643e6ee3f9a161bc364841002
2024-09-25 00:54:10 -04:00
Solomon Peachy
33495ef006 fonts: Major update for 12-Fixed-SemiCond (1767 -> 4531 codepoints)
Change-Id: Ibe9ea6eee5af0034c6786fec88f0fb2f9eff2ef5
2024-09-24 17:45:27 -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
William Wilgus
f0c208554c [BugFix] Playback.c OOM with large voice file
with our large voice file being loaded in its entirety to the buffer
there isn't enough room to allocate the required pcm buffer
well prior to this patch we looked for 1k free to allow the talk buffer
to be given away
well the pcm buffer expects something like 5-600 kb on the clipzip
and there is 1k allocatable but not 300 more

so instead get the required pcm buffer size and check against that

Change-Id: I40a056e4170c37bc3429f0cb37af221ae7f812e5
2024-09-24 10:47:34 -04:00
Solomon Peachy
c3f51b5fe9 opus: Re-add a ICONST_ATTR lost in 4c6bb798d6bebc80f07e863236adbaf8d156a9c
Change-Id: If1395d5b1d71c1bc0bb9104ff26d2addbfd1040f
2024-09-24 10:27:17 -04:00
Roman Artiukhin
56bd6cd634 fonts: 12-Adobe-Helvetica.bdf: adjust width for few letters
Add more spacing to avoid overlap with other letters (includes A/\W and some more)

Change-Id: I41c3b0ee022f3cb451687215803a16fcd76b6544
2024-09-24 07:44:38 -04:00
Roman Artiukhin
306110479c fonts: 12-Adobe-Helvetica.bdf: add missing Ukrainian letters
Added ІіЇїЄєҐґ

Change-Id: Ib9c130e54a3f4fef9f5e2acb72507f3b2bbc33d3
2024-09-24 07:44:38 -04:00
Roman Artiukhin
d9c491121c fonts: 12-Adobe-Helvetica.bdf: Fix metrics by gbdfed
These changes are made by saving the font in gbdfed without any explicit modifications

Change-Id: I0b756af9ad84cbc840b61a2c8f9eebe00e31a2c1
2024-09-24 07:44:38 -04:00
Roman Artiukhin
ff0ad4ca7d metadata: aac: support .aac files with mp4 container inside
Change-Id: Id982c58184197f6b2f9eeb0cf403cc2e30a97e24
2024-09-23 17:43:13 +03:00
Solomon Peachy
77ff799502 lang: Delete two completely redundant strings
Change-Id: Icedae2687688b8d042c9d9ca232b566ff8f65531
2024-09-22 16:44:08 -04:00
Solomon Peachy
8f8fb13edb dbtool: Fix build when we have HOTSWAP but not MULTIVOLUME
(Not sure how that can happen, but... eh)

Change-Id: I7754f1678698e8781df76c2f88bdf12cc43a5e0e
2024-09-22 10:41:25 -04:00
Solomon Peachy
e5d4e33403 manual: Additional notes about Flash/SSD mods
Change-Id: I2f54879cb2c0fe43179b59f5e5f3e8cf7dfc92e2
2024-09-22 09:20:57 -04:00
Solomon Peachy
1e7334a22c manual: Document the 128GB AppleOS limit of early ipod6g models.
(And do some minor massaging of the other storage limit language)

Change-Id: I73957b58cab9777dab0934215c743fd3d810db0f
2024-09-22 08:54:04 -04:00
Solomon Peachy
395311f7a1 simulator: Make sure we define the right stuff for sigaltstack()
We got some of this stuff through SDL1 implicitly.

Change-Id: I349be640ac15f79048d860bb58bae93a74a0e1ec
2024-09-21 19:08:32 -04:00
Solomon Peachy
a7fba55fcf warble: Fix build
Change-Id: I52028c2244a9951fc4a04f82cf1c85557539a50b
2024-09-21 19:08:31 -04:00
Solomon Peachy
6ed8b9091c Misc: Compiling under SDL2 uncovered a few issues unrelated to SDL itself
Change-Id: I625d5dd02d3f70bc6484a8641eafdaf13812f4a7
2024-09-21 16:32:58 -04:00
Christian Soffke
bc56e9a9dc SDL: Don't apply settings when starting DMA playback
This seems to be redundant since it
already happens in pcm.c

Change-Id: Ib27d1a225758e5f2919446ceb6de4a038abfa062
2024-09-21 15:14:54 -04:00
Roman Artiukhin
3f3ec8273a metadata: aac: Fix any file is treated as valid aac
Fixup for d50470bc

Change-Id: Ie96a636afd3f18e03d70601628c2731cb7314483
2024-09-21 14:51:50 -04:00
Solomon Peachy
1be795c9b1 fix red thanks to tex4htm being a doody-head
Change-Id: Ic29916cb88c224f4bfb78075a399df0d320abfc3
2024-09-21 13:15:58 -04:00
Solomon Peachy
babc1e57e1 manual: Add a blurb about Windows format tool limitations
Change-Id: I8b51ad4d92910f5b143da02b0db90a851c68f41d
2024-09-21 13:01:45 -04:00
Solomon Peachy
5d6e498178 manual: Document storage/capacity limits and "SSD Mods"
Change-Id: Ida3e4bc2129bfa3481ddcc961f4156c3033189a1
2024-09-21 11:00:53 -04:00
Solomon Peachy
9a714939e8 features: Add 'sd_storage' if the device uses SD cards
Change-Id: Ied3ca34ef497cf0eeb7db6d0f948e43ebd25359e
2024-09-21 10:48:24 -04:00
Solomon Peachy
a056150d52 updatelang: Flag '|' in voice strings too
Change-Id: Id82bf7bd19741e7275d188ceeea872ebeb30e1eb
2024-09-18 10:43:34 -04:00
Solomon Peachy
e0df9952fd ata: Alter ata_is_active() when drive doesn't support power management
Due to the heisenberg principle, we don't want to check the battery
level when the ATA drive is "spun up".

Unfortunately some ATA devices *cough most SD adapters cough* don't
support mandatory ATA power management commands like flushing caches and
(safely) shutting down so we have to leave them "spinning".

This leads to us never updating our battery status with these
out-of-spec devices.  Work around this issue by having is_active() always
return false if that's what we have.

Change-Id: I629f3fdbc7e5cffb0a4d546c80cb5fca8529c0e6
2024-09-18 08:26:14 -04:00
Solomon Peachy
c71b6265b0 Fix a mechanical error in the Simplified Chinese translation
Change-Id: Ibdd4b948ec8e2e6d761362e465a7117ef74e1520
2024-09-17 11:09:41 -04:00