Commit graph

34965 commits

Author SHA1 Message Date
Solomon Peachy
bcbf8bbf0a wmapro: Backport multiple fixes
upstream commits:

 780d454
 b28c678
 9166f48
 97a5add
 b21ba20
 f734671
 b86dd1
 b4027d9
 50f0a6b
 4c0080b
 c7a7605
 5dcb990
 7ad698e

Change-Id: I8e6d74316e1eaf22217a57ddb54c1ea8303e6788
2020-10-28 02:12:01 +00:00
Solomon Peachy
a5a19a3370 dircache: Fix a NULL pointer dereference
if idx == 0, get_idx_dcvolp() will return NULL.

Change-Id: I4eafa71bb1f77ef8c865570bf8f124cdd9326d3e
2020-10-27 21:57:40 -04:00
Solomon Peachy
7dbfda6c55 iaudiom5: Fix build.
Basically we're overflowing IRAM by 48 bytes.  Shrink the stack
by 48 bytes to compensate.

Fixing this properly will require careful decisions about what
(code and/or data) to eject from IRAM.

Change-Id: Ia3054280bcbd9813b9cce83f16ba4fbd15085110
2020-10-27 14:49:19 -04:00
James Buren
bee736f3ea iriver_flash: make cfi_read_id use FB directly
Change-Id: Id747b0846515443871a0df10d83e3b1fc4731e7c
2020-10-27 16:01:16 +00:00
James Buren
e5b963b8e1 iriver_flash: remove trailing whitespaces
Change-Id: I5f32ba177a2ca559768e621bbad1d896c9adcafa
2020-10-27 16:00:15 +00:00
Solomon Peachy
61f698715d coldfire: We need -fno-delete-null-pointer-checks in flash controller code
Change-Id: I9a3e4ced2c3d41f6a31a968af72659a1a14f702e
2020-10-27 10:29:59 -04:00
Solomon Peachy
f62eee569c iriver_flash: we need -fno-delete-null-pointer-checks
Change-Id: I36bbfc81d9cb79a9627e5ba7ee50e1305f54848b
2020-10-26 21:27:46 -04:00
Solomon Peachy
804a49886a statusbar: Make statusbar height equal SYSFONT_HEIGHT
And size elements horizaontally based on SYSFONT_WIDTH

Unfortunately we need 16px icons to make 16px statusbar look right
but at least it _works_ properly now.

Also: all targets currently use 8-px SYSFONT, except some hosted bootloaders

Change-Id: I0cdf97e6ef47ec49693ef79667b200595b4fe075
2020-10-26 19:52:40 +00:00
William Wilgus
299c237075 'Fix RED e200 Framebuffer_viewport_rewrite
Free malloc in checkwps too

Change-Id: I2b8fcbc94beb0644b643d3b7a9cb53bc26fc8a51
2020-10-26 15:50:42 -04:00
William Wilgus
04e7bacc4c FIX RED Framebuffer_viewport_rewrite
Change-Id: I716929fbee48bef68d7383efb944f9d491fdfe4d
2020-10-26 15:25:07 -04:00
William Wilgus
ada919fc11 FIX RED framebuffer viewport rewrite
Change-Id: I4cb8f580e15440d06f8d5fabb2fbf5147c67b49c
2020-10-26 14:35:30 -04:00
William Wilgus
9b295ce135 FIX RED/YELLOW framebuffer viewport rewrite
Change-Id: Icfd3b00b646c593991f73550d8a316a80e5930a1
2020-10-26 14:02:49 -04:00
William Wilgus
40e98a2e49 Whitespace cleanup on fb_viewport Rewrite
Change-Id: I24aac41c8abecf7b78a44d7f59e842b791be4563
2020-10-26 12:38:22 -04:00
William Wilgus
3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
Moshe Piekarski
12f3ed1699 make the plugin API frambuffer agnostic
Change-Id: I5abdc231093054c517ff53b9a456997e440e3f6e
2020-10-26 12:28:48 -04:00
Solomon Peachy
5d5f8169b5 statusbar: Respect 'numdecimals' when displaying the volume setting
eg with numdecimals=1, a value of "-300" actually means "-30.0" So
divide it down appropriately, and only display the whole integer
portion.

Change-Id: I62927d2e64b224f3c11640b9bb9e84d60dbde34b
2020-10-26 08:28:34 -04:00
Solomon Peachy
845e5a4f03 sonynwz: A10 and A20 series support high bitrates
Change-Id: I6b33368ed5d7800b79dafbb736e6ed079accbd25
2020-10-26 07:42:48 -04:00
James Buren
dd3ea521ad iriver_flash: correctly calculate when to stop erasing the bootloader
It was originally hard-coded at 0x200 which is 512 sectors. This
only works for the H100 and H120. The larger ROM of the H300 is 1024
sectors in size. In either case the bootloader starts 16 sectors before
the end of the ROM so rely on this fact to correctly calculate where to
stop the bootloader erasure.

Change-Id: Iec4112ebf24379f80a7bf1363035e005c434907e
2020-10-26 02:29:01 +00:00
James Buren
c5d7cd5f9f h300: add support for ROM image generation
Change-Id: I6e0985de370609bae98ba6eab487bf43eb4191b6
2020-10-26 01:37:42 +00:00
Solomon Peachy
28b9c8bfeb rocker: Disable mute-on-pause, due to a platform kernel bug.
In short, the display fading back in after a pause resuming interferes
with the audio codec, causing BadThings(tm) that cannot be recovered from

This really is just avoiding a known trigger; there's no guarantee this
condition won't occur under random circumstances during normal use,
and there's no good way to work around this from within rockbox.

I suspect the underlying problem is that both the display control and
codec control share an i2c bus, but the kernel drivers implementing them
isn't using proper linux bus access/locking.

Change-Id: Id4f56f9cb269ed74aac2f041146b3630cef09030
2020-10-26 01:07:59 +00:00
James Buren
bde72efa30 coldfire: make the RAM and ROM image locations configurable by macros
Change-Id: Ie27e39c34947b0391be621dafb8711c44e863a1c
2020-10-26 01:07:14 +00:00
James Buren
129001909d h300: enable support for iriver_flash
This also modifies the configuration file to include macros
defined in the H100 / H120 implementation.

Change-Id: Iae845889c98661ec548c04fc57e733dcc346c0f1
2020-10-26 01:07:14 +00:00
James Buren
f7e0ce8fb9 h300: expose the firmware functions in the plugin API
Change-Id: Ieff0aa0a4134e347b2ee690d60b25fdac5958a6b
2020-10-26 01:07:14 +00:00
Solomon Peachy
39a0d8bf86 x3ii/x20/rocker: Fix volume scaling.
Change-Id: Ie70d709b4c18f16cdd67aa05d9183b4ace2e66b4
2020-10-26 00:12:54 +00:00
Solomon Peachy
49c4577fa6 Get rid of another vestigal SH remnant in the rom linker script
Change-Id: Id7509ad4affc4d72fbfdd11b39a404ad54c76f1b
2020-10-26 00:12:54 +00:00
James Buren
1419070b3d iriver_flash: add support for SST39VF3201 ROM chips
These are used in the iRiver H300 series.

Change-Id: Iafbd165bdfd71b691698156d3fd91243c50b3b61
2020-10-25 23:18:21 +00:00
William Wilgus
3fbca49929 Revert Non-Alpha Updated 8x8 tango icons
The new icons have no alpha channel thus these are being removed
in favor of the old icons (that have alpha and match the rest of the set too)

This reverts commit 326b7a5c0c.

Change-Id: I110725b0a2b705856da194cfb7edf21dd255936e
2020-10-25 16:21:58 +00:00
Solomon Peachy
d4a80ce94b pcm-alsa: fix red.
Change-Id: Id8d5442b0b3eb4ce3c20d1c9d24f07b5378cc22f
2020-10-25 08:38:24 -04:00
Solomon Peachy
4afd1f9aa6 hosted: Document HW capabilities of audio drivers
One surprise:  X3ii is capable of 384KHz playback

Change-Id: I0cc88637c81a21d54979e82b2941fe14de933d4d
2020-10-25 00:42:41 -04:00
Solomon Peachy
e7a492ef55 hosted: alsa: Fix two bugs when recording
Change-Id: Ib97857874676ea4aa8f04d44e048de8465a4da4f
2020-10-25 00:42:37 -04:00
Solomon Peachy
ec2a34b321 pcm_mixer: Fix an idle frame calculation bug introduced in 2e708c48c5
Resulted in playback sometimes hanging after switching tracks

Change-Id: I3d7a3c131cf547206ec536d9818c5060113f2b11
2020-10-24 02:00:50 +00:00
William Wilgus
d78a37676e ClipPlus BOOTLOADER DONT FIT!
REMOVED FROM ALL NATIVE BOOTLOADERS:
finish removing the text scrolling
pare down printf to a minimal subset (%c %s %l %d %u and %x(%p))
remove diacritic and rtl language support

GOAL 134000

START 135305

CURRENT 133700

SUCCESS! (ASSUMING IT WORKS -- UNESTED)

Change-Id: Ic3f6ac1dc260578f581ee53458b3e5bb47d313ec
2020-10-23 20:38:59 -04:00
Solomon Peachy
a8aa8403ad samsungyp: Enable recording feature. No idea if it works. :D
Change-Id: I48952f0551aaf1023f084e0be18354970d2492ed
2020-10-23 17:49:07 -04:00
Solomon Peachy
46e357f1bb ALSA: Further rework:
* Get rid of non-async (ie tick task) mode due to inherent brokenness
 * Get rid of nonblock mode; we never write if buffers aren't sufficient
 * Move driver init into pcm_open() instead of pcm_init()
 * Much better underrun handling
 * Better error handling in some situations
 * Add in recording functionality
 * Use smaller audio buffers to avoid glitching
 * Don't start audio buffer with silence
 * Allow device name to be overridden by target

Recording portions based on work done by Lorenzo Miori in g#633

Change-Id: I0197bdc1749c28109eb79def1e6a3e1d62d8cef3
2020-10-23 17:48:51 -04:00
Solomon Peachy
2cf75bf008 fire: exit out of the plugin with both PLA_EXIT and PLA_CANCEL
Change-Id: I553fc5d02b7ee7004d791ba40cbd655f98c88f19
2020-10-23 16:09:19 +00:00
William Wilgus
3a7a46d1c0 Hosted targets Fix timer cycle calculation overflow
at 1 GHZ the intermediate calculation for cycles overflows 32 bits
this makes timer fail even with sensible values
solution divide both sides by 100

Change-Id: I18a4054c2d06fb72531d5496bba562f71b03984f
2020-10-23 15:35:11 +00:00
Solomon Peachy
186dbb4527 Convert FFT plugin to using PLA keymapings
Based on an old patch (g#188) by Jean-Louis Biasini

Change-Id: I698b8990b7cd57a28353e86cfc35788aa42455d2
2020-10-23 09:41:21 -04:00
Szymon Dziok
7c06a9e208 SVG image of the Aigo Eros Q and other formats for the manual.
Change-Id: I77b7e425408feb55c9be966b64e839909253ad34
2020-10-23 10:41:46 +02:00
Dominik Riebeling
1e12990ba9 rbutil: Rename libbzip2.a to libbz2.a.
When cross compiling for Windows (at least mxe) links bz2, causing both
our copy and the system one getting linked, resulting in symbol clashes.
Make sure we use the same name as the system one, so the linker can pick
one of both.

Change-Id: I16213a20f48d4e192cd0b756931f9ccb449fd1c0
2020-10-22 19:20:48 +02:00
Solomon Peachy
02c5dd3641 fiio: Another bugfix in the mute code.
Change-Id: I165f4871fa79fb5759d2f0833c543edd5f1ce779
2020-10-22 13:16:20 -04:00
Solomon Peachy
97b8692b65 fiio: add in a missing audiohw_mute() call.
Change-Id: I837dcb81b8814573fe947d6c7cfa10ff651689d0
2020-10-22 16:14:16 +00:00
Dominik Riebeling
ce3da6238f rbutil: Fix linking zlib on Windows.
With Qt4 zlib was linked implicitly (and explicitly linking it caused
errors). This was a Qt issue that has been resolved with (at least
current) Qt5, now we need to explicitly link zlib on native Windows.

Change-Id: Ia5a6bdc83a39f6f5629c34ed835d2272a887f161
2020-10-21 21:33:39 +02:00
Dominik Riebeling
1801dcc999 rbutil: Fix native Windows build for tools.
- When make on Windows finds sh.exe it will try to use that. We use
  cmd.exe calls when detecting Windows, so make sure we use cmd.exe as
  shell.
- Add missing Windows compatibility to tomcrypt Makefile.

Change-Id: Iaef133ca27472a5ddf449174d540983f15c66aea
2020-10-21 21:33:39 +02:00
Solomon Peachy
884d8922e3 hosted: Allow ALSA driver to switch output device at runtime
* Allow output device name to be specified
 * Set hw/swparams prior to actual playback start, not at init
 * If told to open a new device, cleanly close down old one.

Change-Id: Ib97310ec23588136c031466ee9c22312ab0f9f5a
2020-10-21 13:24:47 +00:00
Solomon Peachy
6b13437aff Add UI Simulator for Eros Q / K series
Change-Id: I9ffc101bd904b3f0e2d6a86a43fb1ae3fda73a19
2020-10-21 13:24:01 +00:00
Solomon Peachy
6834d1a02f xduoox20: Start unmuted, as the least-worst option
Change-Id: Ie85d9df0f861315dfc9d767218d86115420aa9d7
2020-10-20 17:07:48 -04:00
Amaury Pouly
dfae5d881d nwza860: fix simulator build
Change-Id: Ie05e91241398e45890f98ced9c0116a98475437e
2020-10-19 03:39:33 +00:00
Amaury Pouly
08513103c6 nwzstools: add NW-A820 nvp nodes
Change-Id: Iab79eb0c9b0bbf8fb7622f5630f385d56878507a
2020-10-18 22:34:16 +02:00
Dominik Riebeling
1a1338c379 rbutil: Fix ipodpatcher qmake based build on macOS.
On macOS we need to pass the used frameworks, otherwise linking will
fail.

Change-Id: I6b19eac6a460d91b567c0eb128b776558c0a4a39
2020-10-18 19:22:10 +02:00
Dominik Riebeling
a05d061aa3 rbutil: Pass isysroot to rbutil libs on macOS.
On macOS we pass the full path to the compiler. On recent versions this
causes the compiler to not find its SDK path, this needs to get passed
via the isysroot option.

Change-Id: Iea2820e1755cc80e12691119dfa31d70938ea511
2020-10-18 19:16:27 +02:00