Commit graph

25 commits

Author SHA1 Message Date
Rafaël Carré
81fe625a62 Sansa Clip: grey lib support (not calibrated yet)
Declare HAVE_LCD_INVERT
Put the framebuffer into IRAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19249 a1c6a512-1295-4272-9138-f99709370657
2008-11-27 21:07:54 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Jens Arnold
4a6190dd13 Hopefully fix FS #8840 for iAudio M3, M5 and X5. Reduce greyscale update frequency on M3 in order to reduce CPU load (was >50% before, but this fix would have made it even worse).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17621 a1c6a512-1295-4272-9138-f99709370657
2008-05-24 08:53:12 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Robert Kukla
306652c940 it's #else not #elif (fix red)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17034 a1c6a512-1295-4272-9138-f99709370657
2008-04-08 15:25:35 +00:00
Robert Kukla
ff554e0c7f m:robe 100 - make screendump work for greyscale and add screenshots for the manual
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17033 a1c6a512-1295-4272-9138-f99709370657
2008-04-08 15:04:26 +00:00
Jens Arnold
ece03129b6 Make the greyscale library work on the m:robe 100. Testing on target done by Robert Kukla & Dominik Riebeling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17028 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 21:14:29 +00:00
Jens Arnold
1d8312f996 Fix occasional crashes on greylib exit (LCD controller confusion) when running on COP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16976 a1c6a512-1295-4272-9138-f99709370657
2008-04-05 09:38:59 +00:00
Jens Arnold
8f560bc2b5 Greyscale library: Always use reconstructing inversion, because it's legal to use unbuffered drawing functions in buffered mode, meaning that the chunky buffer might not be in sync with what's displayed. Mpegplayer does this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16975 a1c6a512-1295-4272-9138-f99709370657
2008-04-05 08:56:43 +00:00
Jens Arnold
32bd0f8ab1 Greyscale library: Optionally put the greyscale ISR on COP on portalplayertargets (only use with the grey_info structure in IRAM atm\!). This speeds up doom by ~50%, and makes mpegplayer work without stuttering audio on targets using it (measured on iPod 2nd Gen and Mini 2nd Gen). It needs corelocking certain functions in the LCD driver on 1st/2nd Gen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16973 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 22:13:53 +00:00
Jens Arnold
ac9b92716a Allow to select the core for running the user timer on portalplayer targets. * Incompatible plugin API change -> sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16965 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 19:38:46 +00:00
Jens Arnold
3183b9e534 Greyscale library: Put the backlight status on 1st/2nd Gen into the flags, saving a separate global.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16964 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 19:14:19 +00:00
Jens Arnold
5c87a98b97 Greyscale library: * Implement linearisation curve flipping for 1st/2nd Gen iPods (LCD is inverted when backlight is on, so the curve is also inverted). This needs a slight extension of is_backlight_on() functionality in the core. * Thorough recalibration of all reachable greyscale targets, and #ifdef cleanup. * Reduce on-target gamma a bit, because the displayable contrast range of a monochrome/greyscale isn't that high.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16936 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:16:14 +00:00
Jens Arnold
40919d7db2 iAudio M3: Optimised LCD driver, with more/better assembly code. Speedup is ~80% when boosted, ~15% when unboosted. Also implemented grey phase blitting. * Adapted the greyscale library, and the plugins using it. * Fixed a bug in greyscale scroll down for vertically packed pixels.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16809 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 23:21:36 +00:00
Jens Arnold
1f4bcc86da Revert accidental tree commit. /me needs a smaller enter key...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:57:23 +00:00
Jens Arnold
9a7978aeab Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as 24 bit BMP instead of unnecessary 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:43:08 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Jens Arnold
8493f5bcf6 Greyscale library: Preparations for a gamma measurement plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16492 a1c6a512-1295-4272-9138-f99709370657
2008-03-02 23:31:09 +00:00
Robert Kukla
7da7e7bdd2 add timer registration for mrobe100 lcd to greyscale lib (fix yellow)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16137 a1c6a512-1295-4272-9138-f99709370657
2008-01-22 04:16:28 +00:00
Jens Arnold
fa7eb56c84 Greyscale library: * Defer application of lcd linearisation + gamma in buffered mode to the actual update. This simplifies the update function (grey_update() and grey_update_rect() now are just calls to grey_ub_gray_bitmap_part()), and makes DRMODE_COMPLEMENT work properly. * Make the simulator version work and behave more similar to the target version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16080 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 18:39:09 +00:00
Jens Arnold
a72499a125 Greyscale library: Plugins can now put the management structure in IRAM for higher update speed. Use this in doom, mpegplayer, and zxbox. Made the api pointer part of the struct.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16066 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 00:11:43 +00:00
Robert Kukla
7d961d390a m:robe 100:
- adjust lcd_grey_phase_blit() parameter to recent change
- detection of external power
- compilation of plugins - need to be enabled individually in SOURCES/SUBDIRS 
(use autostart.rock as test plugin with limited interaction via BUTTON_POWER)
also 
- move autostart.rock to apps dir where it is expected
- set missing svn:keywords for various files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16056 a1c6a512-1295-4272-9138-f99709370657
2008-01-11 21:48:01 +00:00
Jens Arnold
df5c3e15e8 Greyscale library: * Introduced some extra macros dealing with block size, allowing to write some parts with less #ifdefing. * Optimised grey_update_rect() for horizontally packed LCDs, and unbuffered scrolling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16050 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 22:51:33 +00:00
Jens Arnold
6a56c14e17 Greyscale library: Changed the internal data format once more (separated pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 23:48:26 +00:00
Jens Arnold
feb5b15e9b All-new greyscale library, replacing the old one. Features: (1) Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 23:42:38 +00:00