Commit graph

34495 commits

Author SHA1 Message Date
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
Lorenzo Miori
03e6cbec8f Samsung YP-R0/YP-R1: use Linux i2c-dev for radio chip access
Linux offers the high-level i2c-dev driver to directly access the
i2c bus(ses) on the system. This system device is used to get rid
of the (rather silly) radio chip kernel module for ypr0 target and
correctly enables radio access also for the ypr1 target.
fm-radio chip is located on i2c-0 bus on the ypr0 target while it
is located on i2c-1 bus on the ypr1 target.
Power-up (RST) pin is also handled for both targets, which is wired
to another GPIO of the i.MX 37 platform.
Additionally, this patch simplifies the RDS low-level handling by
exploiting the Si4709 debug interface which comes with a mutex
protection as free bonus.

Change-Id: I839282bec4a27ad0ad8403c5a8dd86963b77e1bf
2020-07-07 16:50:42 +00:00
Lorenzo Miori
b1c72afd4d Samsung YP-R0: fix simulator build
Protect source code files which are not meant to be built on simulator builds.

Change-Id: I81ad440d8f86e9eda27807e6b71647ced5071b44
2020-07-07 16:50:19 +00:00
Solomon Peachy
8fc5e33ae1 FS#9788: Include timestamp in logf filename (Yoshihisa Uchida)
For example, logf_202007071157.txt

Change-Id: Ia50c0ca67772e3d26b49dd8e1a3519816e5211c6
2020-07-07 15:58:51 +00:00
Solomon Peachy
52325a7c01 docs: Get rid of the long-obsolete KNOWN_ISSUES file
Change-Id: I6ed1a96f690f6ff227e9abb1e9815e9e36914f32
2020-07-07 05:31:25 +00:00
Franklin Wei
5094aaa4d4 puzzles: Follow cursor in zoom mode and general code cleanup.
Frontends now have a way to retrieve the backend cursor position with some
changes I've submitted upstream. With this information, we can now follow
the cursor around in "interaction mode" while zoomed in, eliminating (most)
need for mode switching.

Also does some cleanup of the frontend code.

Change-Id: I1ba118f67564a3baed95435f5619b73cfa3ae87a
2020-07-06 23:00:13 -04:00
Sebastian Leonhardt
443ad25e75 plugin windows_lnk: fix missing return-on-error
(found by peachy & clang's static analyzer)

Change-Id: Idcc9b3bd0c3c1164892002b8f814d74b4a6b2a2d
2020-07-07 02:36:33 +00:00
Solomon Peachy
4fa57d7661 sdl: Get rid of duplicate instantiation of 'button_queue'
(Caused a build failure under GCC10's stricter '-fno-common' default)

Change-Id: I7d49c630771e8294e2ad8c740a4ada136a6befd7
2020-07-06 18:16:19 +00:00
Franklin Wei
5b8198d147 2048: use larger bitmaps on 96x96 screens (e.g. Clip Zip)
Apparently the smallest bitmaps are hard to see.

Change-Id: I0265ce4da15677f9c4c64457b1a1f849a0f3a7f8
2020-07-06 17:39:47 +00:00
Solomon Peachy
2d57bfba36 portalplayer: Fix three set-but-not-used warnings.
(They show up when building with gcc494)

Change-Id: Id5e2bccf18114ed78a557ac1b369f46b4f07d042
2020-07-05 17:15:57 +00:00
Solomon Peachy
495c8e2a69 imx31: Fix regression in bootloader caused by cd9906
Change-Id: I1b561c9136a727f49e02e53798e46ef9197a3958
2020-07-05 04:52:29 +00:00
Solomon Peachy
8105d7659f imx233: Fix bootloader link regression caused by cd9906
Change-Id: I6341069aa3855a8a3ea9ed021c27aaa742cab698
2020-07-05 04:17:17 +00:00
Solomon Peachy
cd9906847b arm: Fix PortalPlayer linker scripts with binutils 2.21+
For reasons that are still unclear, the 'ncbss' region was overlapping
the "audiobuffer" when linked with 2.21, but okay with 2.20.

Fixed it by making the audiobuffer explcitly use the current position
instead of relying on it being implicit.

With this change, portalplayer-based targets generate working binaries
when built with binutils 2.21 or newer.

This bug also theoretically affects imx233/imx31 targets as they
also have NOCACHE_BASE games in their linker scripts, but I lack
access to one to test with.

Change-Id: Idb38ab20f03599b9ed3d4bc0eafe519f38677438
2020-07-05 03:34:30 +00:00
Solomon Peachy
905e19905b ARM: Rejigger the asm corelock functions
This appears to solve _some_ of the crashes experienced when using
gcc494 on the multicore PP targets (eg most older ipods).

(With this change, the asm vs plain-C versions behave identically)

corelock_lock(), corelock_unlock(), and corelock_trylock() were declared
with the 'naked' attribute.  However, naked functions are only allowed
to have 'Basic Asm' components, and we used some extended asm, but
without declaring clobbered registers, making assumptions about register
arguments, and also directly returned to the caller via asm code.

This is what the GCC docs have to say about this stuff:

"While using extended asm or a mixture of basic asm and C code may
 appear to work, they cannot be depended upon to work reliably and are
 not supported."

Change-Id: I79a9c4895584f9af365e6c2387595e9c45d89c7d
2020-07-03 21:36:41 +00:00
Moshe Piekarski
9cf2492407 Fix logf warnings in more codecs
Change-Id: I7e83a9979aedadf3b7c2b162a8202efdc6227e88
2020-07-03 03:43:47 +00:00
Solomon Peachy
08c6f9104c build: add '-fcommon' to the toolchain build flags.
This allows binutils 2.16 to build successfully with GCC10.

Change-Id: Iddcd4156720f4fa05936ea459991866fc6e1524d
2020-07-02 20:04:10 +00:00
Franklin Wei
051eb3ea31 puzzles: enhancements to mouse mode, zoom feature
- zoom now remembers position between activations (but not when exiting the
  plugin)
- key repeat enabled when panning
- moving mouse out of frame while zoomed will pan
- mouse can be moved diagonally

Change-Id: I39380ef7f36238700b6baa54cac036832933df67
2020-07-02 19:07:16 +00:00
Solomon Peachy
385a917e20 FS#13208: More Polish language improvements (Adam Rak)
Change-Id: I7938375711703a545c8c555232db37e34b893e64
2020-07-02 15:15:55 +00:00
Solomon Peachy
c1485455ea imageviewer: Fix potential null pointer dereference
(caught by clang-analyzer)

Change-Id: Ie24b7cd75c5e9814007674925f33b1a321f1d06d
2020-06-30 21:12:12 +00:00
Moshe Piekarski
7fb438b06c Try mounting as "superfloppy" first
This allows for a superfloppy that has MBR-like data in the BPB.
this solves FS#12294 while allowing arbitrary partition types.

Change-Id: I53880fe7dd53e5015f5f15be0ddba11105fcd778
2020-06-30 21:11:52 +00:00
Moshe Piekarski
0d24a7176e Also remove the fat_partition_types array.
If we aren't going to check for the partition type, we don't need the array of
known FAT partition types.

Original Author:    Torne Wuff <torne@wolfpuppy.org.uk>

Change-Id: I558d4287189408c513dfbca49e13906cdb7918b1
2020-06-30 21:11:52 +00:00
Moshe Piekarski
a2b8204718 Allow any partition type, not just known FAT types.
Instead of only mounting partitions with a FAT partition type, try any
partition that isn't type 0 (unallocated) or 5 (extended). This makes it easier
to reformat SDXC cards which have the exFAT partition type, and also brings us
in line with pretty much every other OS at this point. Anything with a
valid-looking FAT superblock will get mounted.

original author:    Torne Wuff <torne@wolfpuppy.org.uk>

Change-Id: I3ea8d437a79f9da270f9d119cc670e472331a9da
2020-06-30 21:11:52 +00:00
Dominik Riebeling
3cfd129cd9 mac: Fix build rule for dmg.
Also add the version string to the folder used for creating the dmg,
since that will appear when mounting it.

Change-Id: Ibf5918bf51ae37082d7b2ca5baf919319f6e568d
2020-06-30 19:22:54 +02:00
Dominik Riebeling
82716bbe20 rbutil: Fix filename for additional rule to create dmg image on macOS. 2020-06-30 19:22:45 +02:00
Solomon Peachy
08d8b6472c fractals: Clean up ARM asm
No functional change, just using modern syntax.

Change-Id: I211bbcebd11da168c81dff4c409112d7a535b6ed
2020-06-30 16:30:35 +00:00
Solomon Peachy
aec381c4c6 database: Fix makefile syntax for GNU Make 4.3+
Change-Id: If8749aff19f92aae28f5f73aaf843428d7f4b462
2020-06-30 16:12:10 +00:00
Igor B. Poretsky
f26cf6a3ec Fixed system state information loss when it is saved in file
Change-Id: If2aca712af4152e144ec919cfc4b4d9cb23bf4f2
2020-06-30 14:20:37 +00:00
Solomon Peachy
553f218026 Update American English translation
Change-Id: If25a242a3d4d47eff577547dea03325d6d3e135c
2020-06-28 15:16:52 +00:00
Solomon Peachy
ef2c8040db FS#13207: Update Polish Translation (Adam Rak)
Change-Id: I0168eef494670ce9329a8eb9efc296f84187ac0d
2020-06-28 12:36:08 +00:00
Franklin Wei
ca673d7e9f Partially revert the last commit.
The \if->\If replacement is a bit premature for texlive-2019, apparently.

Change-Id: Iab198c2f5e2f00ecdf7e2431e2b77c423e6afc07
2020-06-28 00:08:42 -04:00
Moshe Piekarski
140bf66b90 fix a few manual warnings
Change-Id: I6abcceeb84d70e32be203049950c6fe4711e8df8
2020-06-28 03:41:54 +00:00
Moshe Piekarski
3e7ab2a284 Fix logf build warnings in speex codec
Change-Id: I8ce9473c98f863cc53273c16b2e55321d7b0795a
2020-06-28 03:24:20 +00:00
Franklin Wei
2e0a5969b6 puzzles: clean up and document some voodoo
Change-Id: I13d987cc148f053778474e99c719cc8439ec53c0
2020-06-27 20:28:50 -04:00
Franklin Wei
7da8137bdb puzzles: fix crash when loading a corrupt save
I misread the documentation here, thinking that the pointer would be set to
*point to* a null byte, not to a null pointer itself. [1]

[1]: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/devel/midend.html#identify-game

Change-Id: I9b76bba9b1611dfd8e05d076a69f7554b5b74c53
2020-06-27 20:28:46 -04:00