Commit graph

36 commits

Author SHA1 Message Date
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
Thomas Martitz
703773aab5 Samsung YH925: Battery calibration for charging and dischharging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22195 a1c6a512-1295-4272-9138-f99709370657
2009-08-07 13:32:48 +00:00
Thomas Martitz
0f50302b1d Samsung YH925: Support for battery monitoring and charging. Discharge curve not yet calibrated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22194 a1c6a512-1295-4272-9138-f99709370657
2009-08-07 13:32:35 +00:00
Thomas Martitz
5c9fe52629 Commit part of FS#9873 - Utilise buttons for playlisting
It adds a shortcut (combo or button) to directly go from the wps to the playlist viewer. The combos could possibly be improved on some targets, but I tried to keep a tad bit of consistency (was hardly possible).
I also added a corresponding touchscreen region and adapted cabbiev2.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22003 a1c6a512-1295-4272-9138-f99709370657
2009-07-22 22:10:25 +00:00
Jens Arnold
47d4c4739b ARM asm LCD and ATA driver functions: Don't save r12 as it is a scratch reg. Saves a bit of stack and execution time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21795 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 23:43:44 +00:00
Mark Arigo
758bb3bc62 3 new ports: Samsung YH-820, YH-920, and YH-925. Mostly functional. Audio working on 820 & 925 (untested on the 920). No battery readings. No recording. No plugins. Keymap needs work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21083 a1c6a512-1295-4272-9138-f99709370657
2009-05-25 21:10:45 +00:00