Commit graph

34428 commits

Author SHA1 Message Date
Solomon Peachy
df14f12675 mkinfo: Make memory size computation more accurate
* imx233 had disjoint memory map
 * hosted binaries not computing start address properly

Change-Id: Ia45571e0c41f07f1d4f34f6e1a0067dcac530148
2020-07-15 14:08:14 -04:00
Solomon Peachy
058ba97f62 xduoox3: Add HID mappings for multimedia and presentation modes
Change-Id: I7264fed77c448db4b54104d81a10e118923c361d
2020-07-15 11:43:39 -04:00
Solomon Peachy
c54170e8f6 mips: Adjust stack sizes
Main/IRQ  from:   7.5/0.75   to:  7.25/1.0

With the reduction of the opus codec stack usage, giving the IRQ stack
some additional breathing room is now possible.

Change-Id: Id0cd3747fcaab70e2360667ac8c1a97ba7234ccf
2020-07-15 11:43:39 -04:00
Solomon Peachy
82943ea1c7 opus: shrink stack usage by nearly 700 bytes
By moving three structures to the heap.  None are in the hot decode
  loop, instead having to do with file sync / header state.

  Has neglible impact on performance (within measurement noise) on Clip+,
  Rocker, and Xduoo X3.

  On PP5022 (ipodmini2g) performance drops from 138.66% to 138.22% realtime.
  (0.3%)

  Unknown effect on Coldfire which lacks D$.

  Stack savings are pretty significant especially on lowmem devices.

Change-Id: Ic8a1e93062ff5a46230e824134032053c4e1986d
2020-07-15 15:09:08 +00:00
William Wilgus
8577d5aea3 Buflib_init Bugfix Minsize
when buflib_init is called with a buffer smaller than
sizeof(union buflib_data); size will be zero
Later when the alloc fails buflib will keep try to free items
in order to satisify the request this crashes in the sim
I suspect this behavior holds true on device as well
but I havent verified this as of yet.

patch adds minimal overhead to the buflib and panics when the size is too small

Change-Id: I46e510367fc1cac19ce01ee6f92d8cf0d65ef914
2020-07-15 13:29:21 +00:00
Franklin Wei
7d005335ba puzzles: always reset input state before pause menu
We were improperly conditioning the state reset with `do_pausemenu'. We
should reset the input state no matter what.

Change-Id: Iaafc59b95e9f1f053b57a34f0f28f7c672c0e327
2020-07-14 23:04:46 -04:00
Franklin Wei
987c6575b3 puzzles: more verbose debug output in font loading
No functional changes.

Change-Id: I7baa7bf37b3bdd57064c654a72d0e4e0d5600245
2020-07-14 23:04:46 -04:00
Solomon Peachy
0e97132314 talk: only show the "failed reading .voice" splash if talking is enabled
Change-Id: I4046294e39c621ddeeceeb6f21eab05a1e687cb5
2020-07-15 03:02:28 +00:00
Solomon Peachy
4a1988d31b debug ata: Distinguish between Advanced power management and basic PM
The old debug menu item covered APM, which is optional in the ATA spec
However, despite basic power management being mandatory, several popular
ATA/CF->SD adapters do not advertise PM support and have problems when
it is used.

An earlier patch (g#2500 / 5462907) disabled sleep when the PM
capability bit was not set; this makes it visible in the debug menu.

Change-Id: I2f3dd1244798d7bbb8239ac159c6470774b0c05e
2020-07-15 01:43:07 +00:00
Solomon Peachy
385d2eaa19 FS#13215: Russian translation update (Alexander Levin)
Change-Id: I0c53ef10b7cd3488176ffd670ab273ba4638e8de
2020-07-14 22:38:55 +00:00
Solomon Peachy
a69acbb2c1 FS#13214: Update Italian translation (Alessio Lenzi)
Enable the Italian voice nightly build too.

Change-Id: I34f36202714c51ec65d6b5ce288a3e10a2b32f37
2020-07-14 16:13:13 +00:00
William Wilgus
c731674dd8 Pictureflow manual update
Change-Id: Id917971792fefb842f855e14ed809cc830ff518e
2020-07-14 13:24:49 +00:00
Solomon Peachy
66d7c21cde rbutil: Handle the new Retired target status.
It's considerd stable, but does not have dev builds any more

So don't display download options to get RC or dev builds.

Change-Id: I68ed6adc2dd72d54464d3ff8d8e8df28088f8020
2020-07-14 13:03:06 +00:00
Igor B. Poretsky
30fb53d47f Enabled hotkey for Sansa Clip players
Change-Id: Ic0fb331415bf0cc0fce5916befce64f4a41c46ee
2020-07-14 12:42:16 +00:00
William Wilgus
45915101d5 Pictureflow Bugfixes & Usability fixes
First I discovered a bug in the code to display the currently playing
album from the WPS
--on a NULL id3->albumartist field PF would crash
  now checks for a match in id3->albumartist and then id3->artist
  if neither exists then the search uses <untagged>
  ditto for album

The album index feature (recently added) did not check for enough
room in the buffer on restore
--save and restore code cleaned up a bit
  moved all buffers to their own struct

tracks with no title now show filename rather than <UNTAGGED>

Reworked album search function
 album search was going quadriatic resulting in some outrageous
 index build times [40mins+ for 4000 albums]
 building now done in stages and duplicates removed at end
 *MUCH FASTER*

Album art
 empty album art is no longer stored in the art cache

 PF will now allow you to cancel building album art without
 forcing a rebuild next run,
 it will continue searching for album art in the background
 album art is now updated in the background on each start as well

tracklist now rolls over at the end

artist_index is now discarded after album_index is created

Cleaned up some of the myriad of global variables

Added quit prompt for index building

Added sanity checking for album_index loaded from disk

Change-Id: I8494cb7abcb1ae8645c223fc3c11dc0ee749883a
2020-07-14 03:57:56 +00:00
Solomon Peachy
9adfab9b2b builds.pm: Enable Greek and Slovak voice builds.
Change-Id: Idf322dd4367cf250885b7f040b1e0de10ee8b945
2020-07-13 15:59:31 -04:00
Solomon Peachy
ead398a8f3 builds: Allow voices to be filtered by an 'enabled' flag.
(So only voices that are confirmed okay are built)

Change-Id: I78dae45182352e5939941744fba2c0e015866804
2020-07-13 10:52:50 -04:00
Solomon Peachy
cb3363f57d Fix warnings in Estonian language
Change-Id: I2ec07665a5d09703a67fa13852ed99bfb13d9f6e
2020-07-13 09:19:37 -04:00
Solomon Peachy
b84a153c76 lang: Fix boneheaded mistake in ca31bad8
Change-Id: Iee3842ab7b5d4660855b683141a45a09c187b29f
2020-07-13 09:19:37 -04:00
Solomon Peachy
ca31bad8a5 voice: Ensure all voicelist files in voicefiles.zip are complete
Backfill all missing strings from the English master translation.

Change-Id: Ie28f4cf804c22141a2c62f82ed8b2d71c822c74a
2020-07-13 08:26:53 -04:00
Solomon Peachy
73a0a9f5aa genlang: Skip strings not present in english in all voicelist modes
Change-Id: If4a4c8c42ce68ecac4aee4400ea82cc709e26c1a
2020-07-13 08:05:06 -04:00
Solomon Peachy
ab1cf209ec build: We don't want '-r' in MAKEFLAGS for toolchain builds.
Change-Id: Id1a96fb2274572ae7520a146b13f044f68e0c3aa
2020-07-12 22:24:32 -04:00
Solomon Peachy
980124ec73 voice: Ensure there are no missing strings when generating the voicelist.
If the translation is not 100% complete, we need to make sure anything
missing is copied from English so there won't be any gaps in the voice
files.

(This behavior is similar to what we do for the regular binary lang files)

Change-Id: I5fd2a50d08317eb8445926145a74a38033e0ebcc
2020-07-12 17:03:19 -04:00
Solomon Peachy
54629073ae ATA: Make sure "hard disk" supports power management
The FC-1307 CF->SD converter that is the basis of a lot of ATA->CF
devices (including several iflash iFlash models) claims to not support
ATA power management commands.

Rockbox unconditionally issues those commands as support is mandated by
the ATA spec.  This patch checks the capability bit, and if it's not
supported, does not attempt to put the ATA subsystem to sleep.

It is not clear if the problems lie with the SLEEP commands or the wakeup
process, but who knows where else the FC1307 violates the ATA specs, and
reliability is much more important than power savings.

Change-Id: I8b539c579d0449a8a3cfa63cdd1387db990fe820
2020-07-11 22:17:13 -04:00
Solomon Peachy
7249fabe63 fat: Validate FS Info Sector signature when attempting to mount volume
The "try to mount as superfloppy" fails with some partitioning layouts
because sector 0 can have a mostly-valid FAT32 signature.  However, in
all dumps I've looked at, sector 0's fsinfo offset value points at a place
which lacks the fsinfo signature.

Resolves FS#13213, no known regressions.

Change-Id: Ib323d35cca6ca54e11aca6ba77041bf33a05a277
2020-07-11 18:23:46 -04:00
Solomon Peachy
aa20b6af7a voice: Two more fixes.
Change-Id: I5aaf10c588f4396e61942b8fcd6c62c792ea175b
2020-07-11 18:28:54 +00:00
Solomon Peachy
b546d9d172 voice: More fixes, and add more languages
* Pass strings via stdin where possible
 * Add German, Italian, and Norweigan to the build list.
   (in other words, everything with >=95% coverage)

Change-Id: I0154b178b15ddd0b79566c1cb62f76ade32824aa
2020-07-11 17:22:06 +00:00
Solomon Peachy
aad57ea1cc voice: Further enhancements for multi-lingual voice generation
* configure: allow use of full tts engine names when making selection
 * voice.pl:  fixes for espeak-ng
 * build.pm:  Add a list of "standard" voices for tooling use

The latter will be used by the nightly builder infrastructure to
determine what voices to generate.

Change-Id: Iff55288f94a30fbe08d8345b730969b7264b5e0f
2020-07-11 15:01:33 +00:00
Solomon Peachy
185d2bbb6a voice: More voice generation fixes:
* espeak vs espeak-ng  (prefer the latter!)
 * voicepool was busted for most non-english strings

Change-Id: Iae6df0f5426155b7b1f444160814ff9ef4581f21
2020-07-11 01:33:04 +00:00
Solomon Peachy
938d820355 voices: Add tts language mappings for the top 19 languages
festival: english and spanish only
gtts:  all but nederlands
espeak: all (need espeak-ng for czech, greek, and japanese)

Change-Id: I7df1b3235b48f352b0af3c13e3742e85432bc692
2020-07-11 00:09:49 +00:00
Solomon Peachy
711bff47b7 voice: Enhance 'espeak' to automatically pick the language + voice
Most of the 'perfect' or 'good' translations are covered.

Also, don't override user-specified voice

Change-Id: I837bd67e9df2b8bcc7e020f12a2f411c9175565b
2020-07-10 23:28:25 +00:00
Solomon Peachy
c914b148e5 build: Get rid of svn vestiges from version script
Set 10-character git shortrevs for consistency with modern git
defaults

Change-Id: I694f09acd5da1c9b837c9a71a82bd7b72578efd7
2020-07-09 20:29:33 -04:00
Solomon Peachy
17a367e0c4 FS#12966: display '+' for positive replaygain values
Change-Id: I976d5511096c2d4d19eb14fa1c6adf8dd3cd9006
2020-07-09 22:18:25 +00:00
LiveboxAndy
77f8c9c9f1 Update to allow the Apple Radio Remote to function on iPod Video 5G.
This was broken when the major update to iap was comitted.
ia-lingo7.c created and various iap related files modified.
On 4G, 6G and Nano 1/2Gen iPods the remote will function
even though the radio won't.
Tested on 4G Greyscale, 4G Color, 4G Photo, 4G Mini 1st Gen,
4G Mini 2Gen, Nano 1G, Nano 2G, Video 5G, Video 5.5G

Change-Id: Ia74e3d07d9ab5edc6da8eafa96801ede722be331
2020-07-09 18:02:07 +00:00
Solomon Peachy
dcdf2713f6 Python3-related fixes in some of our scripts
Change-Id: I8acbe43e3f27e51159a7a78fcc361476d7406cbb
2020-07-09 14:39:27 +00:00
Amaury Pouly
278a76b3a6 add some documentation in usb.h and usb_drv.h
Change-Id: Icd39ee5c017fc219144b33ef96b0df85c5d430da
2020-07-09 14:09:10 +00:00
Peter Sealy
b64a286a81 voice file not loading
>
> I ran into an issue where my voice file would only load if I changed language while playing music. It seems to happen because when no other file is open, file.c alloc_filestr returns the first free handle which is 0. In talk.c this is treated as an invalid handle, so the voice file is not loaded.

Change-Id: I42db40b10cc7a900bdd72012d99265300e783e44
2020-07-09 14:07:37 +00:00
Solomon Peachy
65a91333ef FS#12082: Add Tuner support to the Nano2G (Bertrik Sikken)
(The serial portions of the patch were already present, this just pulls
 in the tuner enablements)

Change-Id: I8090e318f34835769ac0a56d7a48b9250631eb4f
2020-07-09 13:24:14 +00:00
Solomon Peachy
5d8a1a305d voice: Fix some perl warnings
(got lost in the output during my test runs)

Change-Id: I3467b96a9607a4d6cf1e26348cd496be508809d3
2020-07-09 11:35:06 +00:00
Solomon Peachy
2c3399537c voice: Add support for Google Translate's speech synthesizer
Uses the 'gtts-cli' command line client.  Supports a wide variety of
languages, including all "Complete" and "Good" Rockbox translations.

Additional changes:

 * voice synth script can accept pre-encoded mp3 files
 * Move language->synth options mapping into the voice script
 * Additional cleanups

Change-Id: I9523e2bca87cbcee2d8c4111f9892e8e458c7419
2020-07-08 23:16:57 +00:00
Solomon Peachy
5e98eba8ab FS#13211: Updated Serbian Translation (Boris Kovačević)
Change-Id: I4c893e3c6394c12067e07b1f3ed00f96b2deee9e
2020-07-08 20:40:25 +00:00
Solomon Peachy
e9a51ae28b Fix build errors introduced in a2fbccf
Change-Id: I413989858432cd206e09d6d71dec07b4f7e06836
2020-07-08 20:02:30 +00:00
Solomon Peachy
a2fbccf194 playback: Nothing should call ata_spinup_time() directly
Change-Id: I9d20b8bfd0f1e47f33ca402f80a9e08bd00fbcd8
2020-07-08 19:36:23 +00:00
Solomon Peachy
c79f658125 ATA: In picking PIO modes, word 64 is only valid if word 53 bit 1 is set.
Change-Id: I0a7681be7d703c1baa7f8bd7b5e31f04f20f299d
2020-07-08 17:08:08 +00:00
Franklin Wei
4dcd1a9ed8 puzzles: load cached fonts unconditionally
This works around an odd issue in Mines involving the zoom feature. The
chain of events leading to it is rather convoluted:

1. No save game is found, so no fonts are loaded from disk.
2. A new game is started.
3. The user selects the "Zoom" option.
4. The allocation of the zoom framebuffer causes the malloc code to grab
   the audiobuffer. This causes all further font_load() calls to FAIL, due
   to buflib allocations no longer working.
5. The user goes back to the normal view and uncovers a square.
6. Font loading fails, causing the drawing code to fall back to the system
   font.
7. An unrelated bug (not yet tracked down) causes font_get(FONT_UI) to
   return a different font.
8. font_getstringsize() returns the right size of the "wrong" font, leading
   to centering issues upon rb_draw_text().

The real solution to this would be to fix font_get(), but this fix should
prevent the issue from happening if Mines has been run and saved at least
once before.

Change-Id: Ib9ad51376eeb3ca1113a1f3786124b612db88cd7
2020-07-07 21:25:27 +00:00
Solomon Peachy
c0276c8352 yp-r1: Fix some of the simulator build issues.
Change-Id: I167b801acaff9d36f3fd2fa57ba295d05816c60d
2020-07-07 18:34:28 +00:00
Solomon Peachy
7381e8bd4d yp-r0: Silence a build warning in simulator build.
Change-Id: I024b6393d778261da151c9756ed38230054b0e7b
2020-07-07 18:34:14 +00:00
Lorenzo Miori
92a529b4d1 Samsung YP-R1: fix OF boot shortcut
ypr1 target should switch back to OF by pressing volume down,
since volume up is already mapped to the early/safe mode.

Change-Id: I18c4deed2c8982dbee18b081ecc59b970c654473
2020-07-07 17:52:17 +00:00
Lorenzo Miori
2dd6633d71 ypr0 - ypr1: dynamically move rockbox executable
This trivial patch wants to exploit /tmp filesystem to place
Rockbox executable. Why that? It will be then possible to
easily unlock & umount the storage partition, in order to provide
Rockbox itself a mean for RAW storage access. In turn, this will
allow a Rockbox-handled USB Mass Storage support, as well as other
goodies (storage info is one I can think of).

It takes way less than a second so it doesn't hurt boot time.
Moreover, YPR0/YPR1 targets have plenty (64MB) of RAM, so
the humble half meg executable won't hurt at all.

Change-Id: Ibc9d9a40712e924c8e19cfd7c62189b182f0401a
2020-07-07 17:51:41 +00:00
Lorenzo Miori
3016d74c5a Samsung YP-R0: remove deprecated kernel module
This patch removes the deprecated kernel module to manage
the fm-radio chip on the ypr0 target.
http://gerrit.rockbox.org/r/#/c/1594/ implements the interface to
the i2c bus by using the i2c-dev kernel driver, no need for
additional complexity.

Change-Id: I0d09e2e9d1714b3cb8a72b3d79a91602a627cc90
2020-07-07 16:51:05 +00:00