Commit graph

55 commits

Author SHA1 Message Date
Solomon Peachy
418169aff8 Revert "Remove YUV blitting functions and LCD modes"
This reverts commit fe6aa21e9e.

Change-Id: I8bb1e5d6c52ed1478002d2140ef494ec5d62b8e3
2022-10-13 11:08:06 -04:00
Aidan MacDonald
fe6aa21e9e Remove YUV blitting functions and LCD modes
None of this is needed now that mpegplayer is gone.

Change-Id: I360366db8513e4d988021e8d7b7d8eb09930efb8
2022-10-03 13:30:01 +01:00
William Wilgus
cfeeb7889d Lcd save function pointer to frame buffer get_address_fn before loops
Calling multiple levels of indirection in a loop slows things down

Really these need to be rewritten to take a start and end address
like most of the rest of the codebase

But this is safer without having test hardware in hand

Change-Id: Idae7b92ee779d020ed7fcc9334e2d5a9c710e64d
2022-03-21 23:53:48 -04:00
Solomon Peachy
b94db707fb Fix more warnings.
Change-Id: Ib3a9fc622a46b1fc72e94dcbc6d29d2e430cd81b
2020-10-13 15:48:31 -04:00
Sebastian Leonhardt
03e63da316 YH820: implement LCD sleep
use sleep setting to keep transflective LCD active without backlight

Change-Id: Iccd97e956d5e4a2a22abc90d15e9123782126ecb
2019-02-07 20:04:19 +01:00
Szymon Dziok
7800aaca2f Samsung YH92X: Remove unneeded line.
Change-Id: Icc2618391e831af7bc1998f7627176315443bcdb
2016-01-12 21:02:16 +01:00
Sebastian Leonhardt
a507bb2837 YH8xx,YH9xx: Keymap improvement
The main "innovation" in this patch are two "virtual buttons"
for the record switch on YH92x targets. When the switch state
changes, a single BUTTON_REC_SW_ON or .._OFF button event will
be generated. Thus keymap code can react on switching, but
not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos

Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
2015-11-15 23:46:39 +01:00
Szymon Dziok
2172c11849 Samsung YH820/YH92X: different way of powering off to avoid powering
on after powering off in a loop on YH92X.

Change-Id: I5e5a4fe23c87286045ac82aff5c38bff6331a7f4
2015-10-14 21:23:46 +02:00
Marcin Bukat
89ba7e818c Get rid of stupid _backlight_* function names
_remote_backlight_* and _buttonlight_* are cleaned as well

Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
2015-01-12 11:09:27 +01:00
Szymon Dziok
86fa139eac Support for remote on Samsung YH920/YH925.
Remote buttons are bound to the standard buttons in button-target.h, but they can
have a separate buttonmap, if someone wants.

Change-Id: Id8c78a3dfec0005bf588dc16416870b4c7c56836
2014-07-28 22:11:33 +02:00
Szymon Dziok
228c47be4c Samsung YH-925: Don't add anything to adc value while reading it.
OF doesn't do such thing. Values in mV are converted proportionally, so no change
 to the battery meter.

Change-Id: Ic545b0514535e7f17f0379ed02f6bdf515f69ac6
2014-07-28 22:11:33 +02:00
Szymon Dziok
f74edac8c7 Samsung YH-920: Proper values for battery monitoring, based on the OF formula.
Change-Id: I894eb6bad600bd059fe9a5ea1103737a736d4005
2014-07-28 22:11:33 +02:00
Sebastian Leonhardt
7e778c5f49 Samsung YH-820: enable battery monitoring
The "percent_to_volt_charge" values are quite arbitrary
and may need some more tweaking.

Change-Id: I9f177d46681030d615fe2c2e78cf9bd2dde026af
Reviewed-on: http://gerrit.rockbox.org/824
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
Tested: Szymon Dziok <b0hoon@o2.pl>
2014-07-27 12:09:36 +02:00
Szymon Dziok
eacd76cb80 Radio and radio recording for Samsung YH-920.
There is no simple method to detect radio through the 3-wire interface, so it's
not implemented for the YH-925 for now. YH-920 always has a radio.

Change-Id: Iea484d752915fcd40dbbbd7dbbf13e81aaf548db
2014-06-18 18:06:17 +00:00
Szymon Dziok
6363294591 YH92x: Implement ATA power off.
Change-Id: If1f48df42ea7a150365c4ddbd3f9f7a85ae4b7dc
2014-06-18 18:06:17 +00:00
Szymon Dziok
701eaa647b Samsung YH-820: implement an inverting of colours on the lcd.
Change-Id: Ibddf444b35402f8d2a9ad8b6af9d897a6618da18
2014-06-09 01:15:17 +00:00
Szymon Dziok
8326f173f9 Samsung YH-920: properly implement and enable lcd flipping.
Change-Id: I0a8609c9b4849332a97a125d186f339a61e4d584
2014-06-09 01:15:17 +00:00
Michael Sevakis
d2249dce6f Combine PortalPlayer .lds files into one for app and boot.
These nearly identical files are multiplying like rabbits as PP targets
are added and make SoC-related changes a PITA. Just include the master
.lds file from the target one as was done for bootloader USB.

Change-Id: I65e9e653030f0688b1728e32ada16abf2932e029
2013-07-19 08:18:16 -04:00
Michael Sevakis
b4eec0dd42 Make INITDATA_ATTR work on everything that has INIT_ATTR enabled for code.
Change-Id: If9936bfbbd3bc3eb2a3e3e290701b8517eabfb13
2012-05-01 01:28:50 -04:00
Jonathan Gordon
b37e6bc8c1 lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
Change all lcd drivers to using a pointer to the static framebuffer
instead of directly accessing the static array. This will let us
later do fun things like dynamic framebuffer sizes (RaaA) or
ability to use different buffers for different layers (dynamic
skin backdrops!)

Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-28 11:44:59 +11:00
Amaury Pouly
5ef27368f1 lcd: fix function name in comments in assembly files (lcd_write_yup_420 instead of lcd_write_yuv420) 2012-01-11 13:14:30 +01:00
Rafaël Carré
95cf63b294 button-target.h : move prototypes to button.h
no need to define BUTTON_REMOTE anymore

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31620 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 00:07:19 +00:00
Thomas Martitz
c1bd9b0361 Rework powermgmt to enable code re-use on appliation and sims.
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application)
to break powermgmt.c's assumption about the ability to read battery voltage.
There's now additionally percentage (android) and remaining time measure
(maemo). No measure at all also works (sdl app). If voltage can't be measured,
then battery_level() is king and it'll be used for power_history and runtime
estimation.

* Implement target's API in the simulator, i.e. _battery_voltage(), so it
doesn't need to implement it's own powermgmt.c and other stubs. Now
the sim behaves much more like a native target, although it still
changes the simulated battery voltage quickly,

* Other changes include include renaming battery_adc_voltage() to
_battery_voltage(), for consistency with the new target functions and
making some of the apps code aware that voltage and runtime estimation
is not always available.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 23:44:38 +00:00
Rafaël Carré
7ef13eed38 Fix path to PP crt0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31534 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 04:44:27 +00:00
Boris Gjenero
ca9111ef64 Add KEEP() around vectors in linker scripts.
Vectors are needed by the CPU, but they don't need to be accessed by Rockbox.
Without the KEEP(), they can be removed when liking with --gc-sections, 
creating a broken binary without any warnings. This tells the linker to not
remove them. It should enable use of --gc-sections for all targets. When not
using --gc-sections, this does not change the binary.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31351 a1c6a512-1295-4272-9138-f99709370657
2011-12-18 06:43:08 +00:00
Boris Gjenero
e62dfa5225 FS#12397 : On targets which load .data directly into its final location and lack code for moving it, remove linker script trick which ignores section alignment and word-aligns the section instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31041 a1c6a512-1295-4272-9138-f99709370657
2011-11-22 17:34:01 +00:00
Rafaël Carré
66f8fb52a9 */app.lds: remove STUBOFFSET
This is related to gdb, and gdb can only work on SH and ifp
This was mistakenly kept when app.lds was forked for each SoC
Side-effect: fix DEBUG builds when the rockbox binary is expected to
be loaded at the start of DRAM and there is no runtime relocation

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28124 a1c6a512-1295-4272-9138-f99709370657
2010-09-20 17:09:55 +00:00
Bertrik Sikken
82a2cdb2ad Various minor fixes for Samsung YH* targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27751 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 09:02:41 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Szymon Dziok
6eed071a6d fix YUV Dither for the other targets too, like in r26064.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26266 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 18:57:11 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
02660557ad Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss sections need NOLOAD. otherwise the linker would try to include those into the binary. I don't know why this ever worked with our current ld version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25078 a1c6a512-1295-4272-9138-f99709370657
2010-03-08 23:16:57 +00:00
Thomas Martitz
617ff557e8 Fix remaining reds. I forgot to change the app.lds of the other PP targets (it's the same file as for e200/c200 though).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25016 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 23:48:51 +00:00
Andree Buschmann
56d972ad57 Fix tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24153 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:19:43 +00:00
Jeffrey Goode
9d842683eb Comment out LOGF_ENABLE defines everywhere, replace evil comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23497 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 16:25:03 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Rafaël Carré
71db2d74b5 Samsung YH920 : fix lcd_blit_mono displaying twice too wide
lcd_write_data() wrote twice too much pixels to the controller
The fix is the same than r22885, vertically packed 2bpp displays use
8-bits fb_data while horizontally packed 2bpp use 16-bits fb_data

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22893 a1c6a512-1295-4272-9138-f99709370657
2009-10-03 13:56:23 +00:00
Rafaël Carré
fcc6a68c6e Samsung YH920 LCD
Remove unused lcd_mono_data
Replace a loop in partial update function by asm lcd_write_data()
Remove a variable only used in this loop (x) and rename x0 to x

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22888 a1c6a512-1295-4272-9138-f99709370657
2009-10-03 13:05:08 +00:00
Jens Arnold
840fb66bc9 Bugfix: On vertically packed 2bpp LCDs a grey pixel block is only 4 pixels, so don't process twice as much data as intended. This was the cause for the mpegplayer crashes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22885 a1c6a512-1295-4272-9138-f99709370657
2009-10-03 12:20:35 +00:00
Rafaël Carré
f690cfdb44 Forgotten in r22876 : remove (void)arg;
These arguments are now used

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22877 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 19:14:14 +00:00
Rafaël Carré
c46b44f20b Samsung YH920 : greylib support based on ipod/lcd-as-gray.S
Demo plugins run fine, mpegplayer data aborts for yet unknown reasons

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22876 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 17:51:05 +00:00
Thomas Martitz
e2ccabf89d Samsung YH925: Reset the LCD orientation to what the OF expects before branching to it in dualbooting
Author: Mark Arigo

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22659 a1c6a512-1295-4272-9138-f99709370657
2009-09-08 13:57:13 +00:00
Mark Arigo
bcb3d52582 Fix display bug in the Samsung YH-920 on partial lcd updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22626 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 00:46:49 +00:00
Rafaël Carré
f81cadad2a YH920 : enable battery reading (uncalibrated yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22592 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 14:36:50 +00:00
Mark Arigo
eb369bf50f Enable sound on the Samsung YH-920
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22588 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 04:42:33 +00:00
Thomas Martitz
a4e2d1f071 Fix x_offset for YUV blitting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22556 a1c6a512-1295-4272-9138-f99709370657
2009-08-30 02:42:47 +00:00
Thomas Martitz
ffa83b484c Dreaded last minute changes at 4am :( Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22555 a1c6a512-1295-4272-9138-f99709370657
2009-08-30 02:29:33 +00:00
Thomas Martitz
9ed1a154a5 Samsung YH925: Implement lcd flipping. Although it's a questionable feature, it should enable us to fix the problem that the OF's display is flipped after the Rockbox bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22554 a1c6a512-1295-4272-9138-f99709370657
2009-08-30 02:01:45 +00:00
Thomas Martitz
a482e6b017 Samsung YH925: Correct a typo in the battery calibration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22495 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 12:29:08 +00:00
Nils Wallménius
47608e06b3 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22432 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 22:15:45 +00:00