Jens Arnold
|
b073f0cfc1
|
LCD driver tweaks for greyscale iPods: * Use 1/7 bias, 5x step-up and the highest step-up frequency on all 1st..3rd gen iPods, simplifying the driver this way. The default contrast for those iPods has changed - reset settings in case the display becomes unreadable. * Set n-line inversion drive to 9 lines, improving image quality on 1st..3rd gen iPods somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16932 a1c6a512-1295-4272-9138-f99709370657
|
2008-04-02 19:01:16 +00:00 |
|
Jens Arnold
|
1f75bd5a8e
|
Use a better place to enable the interrupts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16918 a1c6a512-1295-4272-9138-f99709370657
|
2008-04-01 18:53:34 +00:00 |
|
Jens Arnold
|
e249ecc85b
|
iPod 1st..3rd Gen and Mini 1st Gen fixes/improvements: * Remove the unnecessary 'reverse' parameter from handle_scroll_wheel() (a remnant from IPL that's not needed in rockbox), and make it static. * Wheel power saving on 1st Gen needs to disable the respective GPIO interrupts as well, otherwise every wheel check might fire interrupts. Make wheel power saving more self-contained as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16916 a1c6a512-1295-4272-9138-f99709370657
|
2008-04-01 17:52:22 +00:00 |
|
Jens Arnold
|
567105b219
|
Stop saving more registers than necessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16866 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-28 18:56:50 +00:00 |
|
Marcoen Hirschberg
|
82c52302bd
|
split boot.lds and move it into the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16855 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-27 23:58:03 +00:00 |
|
Andree Buschmann
|
2364bc213c
|
Save a few registers in assembler routines for iPod 5Gs LCD driver and YUV conversion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16840 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-27 07:46:04 +00:00 |
|
Michael Sevakis
|
af395f4db6
|
Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-26 01:50:41 +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 |
|
Karl Kurbjun
|
ef62d6891a
|
Split up app.lds to the respective target directories. The portalplayer devices replicate app.lds since their target tree doesn't follow a syntax typical to the newer arm targets - the portalplayers could be cleaned up further. boot.lds and plugin.lds still need to be cleaned up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16651 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-13 03:48:23 +00:00 |
|
Robert Keevil
|
746ff30003
|
Revert LCD changes - make sure the backlight remains on as a visible sign that the unit has powered off
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16314 a1c6a512-1295-4272-9138-f99709370657
|
2008-02-14 20:48:17 +00:00 |
|
Robert Keevil
|
15581e8ad5
|
Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16312 a1c6a512-1295-4272-9138-f99709370657
|
2008-02-14 15:24:31 +00:00 |
|
Robert Keevil
|
5d6994ee99
|
Prevent the screen flashing white when shutting down colour ipods - fixes FS#7755
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16311 a1c6a512-1295-4272-9138-f99709370657
|
2008-02-14 15:02:06 +00:00 |
|
Michael Giacomelli
|
054447f9e6
|
Commit FS#8379 by Andree Buschmann. Disables much of the remaining unneeded hardware on PP50xx targets (Ipods, Sansa, H10s, etc) resulting in a large savings in power and consequent increase in battery life. Results vary from target to target and from codec to codec, but we now approach the OF runtime on several PP devices. For now, leave base CPU clock at 30MHz, although further savings is possible with some codecs if clock is reduced. Additionally, fix battery capacity on c200 and use my measurements to improve runtime estimation for Sandisk targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16259 a1c6a512-1295-4272-9138-f99709370657
|
2008-02-10 05:39:20 +00:00 |
|
Michael Giacomelli
|
31b6eb57b0
|
Commit FS#8387 by Adam Gashlin. Enables detection of firewire devices for charging on various Ipods. Note that charging itself is not yet implemented on these devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16124 a1c6a512-1295-4272-9138-f99709370657
|
2008-01-20 23:03:23 +00:00 |
|
Michael Sevakis
|
6a8379674c
|
Finally, out goes struct spinlock for anything but mutiprocessor targets where it becomes a reenterable corelock.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16105 a1c6a512-1295-4272-9138-f99709370657
|
2008-01-18 13:12:33 +00:00 |
|
Jens Arnold
|
28cd26c471
|
Some cleanup for readability. No code change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16076 a1c6a512-1295-4272-9138-f99709370657
|
2008-01-13 13:58:18 +00:00 |
|
Jens Arnold
|
41cd44caa7
|
Greyscale ipod lcd driver: * Assembler optimised low level functions. PP5002 targets benefit most (lcd_update() speedup >50%, and the greyscale overlay no longer makes mp3 playback skip). * Consistent brace placement style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16060 a1c6a512-1295-4272-9138-f99709370657
|
2008-01-12 00:59:18 +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 |
|
Michael Sevakis
|
7126d64820
|
Further lockdown of multipart i2c operations that must be done without intrusion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15823 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-27 00:35:41 +00:00 |
|
Jens Arnold
|
120fb4f319
|
Speed up YUV blitting on iPod Video by ~8% (FS #8075 by Andree Buschmann).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15820 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-26 23:48:23 +00:00 |
|
Linus Nielsen Feltzing
|
e75327b332
|
FS#7738 - Scroll wheel acceleration for iPod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15681 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-19 11:05:54 +00:00 |
|
Jens Arnold
|
940fe31f81
|
Move 4th Gen (grayscale and color) backlight init where it belongs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15661 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-18 14:01:58 +00:00 |
|
Jens Arnold
|
6ef2db2c11
|
Significant LCD speedup for all greyscale iPods and Sansa c200 (c200, 4th Gen, Mini 1st Gen: >3.3x speedup, 1st..3rd Gen: ~2x speedup, Mini 2nd Gen: ~30% speedup).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15655 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-18 12:49:24 +00:00 |
|
Jens Arnold
|
f4c5c6aa62
|
Fix bootloaders, and the backlight-modded Ondio build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-12 19:19:38 +00:00 |
|
Jens Arnold
|
ef12b3b5c6
|
Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-12 18:49:53 +00:00 |
|
Jens Arnold
|
20a39f485a
|
Get rid of some more inl/outl, and use the new macros for bitwise GPIO manipulation. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15492 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-06 00:36:39 +00:00 |
|
Barry Wardell
|
03dd35db0e
|
Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-05 17:19:00 +00:00 |
|
Barry Wardell
|
4ef3e821cb
|
Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15476 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-05 16:12:13 +00:00 |
|
Barry Wardell
|
2d95fd524d
|
Get rid of some more inl/outl and use the new GPO32 define instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15474 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-05 15:48:59 +00:00 |
|
Jens Arnold
|
6fb4c53fb9
|
The GPIO interrupts are split into several port groups on all PP502x versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-04 13:22:17 +00:00 |
|
Jens Arnold
|
015f6286a8
|
Finally: HDD power control for all PP502x iPods (4th gen Grayscale, Color, Minis, Video). * Wait a short time after powering on the HDD on all disk based targets, as that seems like a good idea. Shorten the excessive wait on initial power on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15444 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-03 23:57:24 +00:00 |
|
Jens Arnold
|
9daf658ef1
|
iPod Video LCD driver: Reintroduce the simple method of waiting for update completion for use in the bootloader, because bootloaders don't enable interrupts and hence the tick task won't work. Slower than the full driver, but still faster than the old one, because it first transfers the data, and then polls the BCM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15399 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-02 01:18:14 +00:00 |
|
Jens Arnold
|
c888a9bebe
|
Bootloaders are single core... (aka fix red)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15398 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-02 00:24:20 +00:00 |
|
Jens Arnold
|
ef8a7eaf2a
|
Major speedup of the iPod Video LCD driver. The internal update procedure of the BCM chip is now completely shadowed, handled by a tick task as necessary. Also fixes the occasional UI freezes due to stalled BCM updates by re-kicking it after a timeout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15397 a1c6a512-1295-4272-9138-f99709370657
|
2007-11-02 00:07:45 +00:00 |
|
Jens Arnold
|
b05066de12
|
iPod Video: Further optimised LCD data transfer (5..6% speedup, but increase in FPS measured with test_fps is less), making use of the fact that the low address bits aren't decoded by the BCM. Major cleanup of the driver, and introduced register names.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15341 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-28 12:09:46 +00:00 |
|
Jens Arnold
|
3c1b9d9d70
|
Assembler optimised lcd_yuv_blit() for iPod Video (Fs #7951 by Andree Buschmann, adapted and separated into an .S file by me).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15257 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-22 00:37:50 +00:00 |
|
Thom Johansen
|
b5f779b2ef
|
Parts of FS #7951 by Andree Buschmann. Faster YUV BLIT (means faster mpegplayer) for Ipods Nano and Video while we're waiting for the assembler ones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15147 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-16 19:47:15 +00:00 |
|
Michael Sevakis
|
a9b2fb5ee3
|
Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-16 01:25:17 +00:00 |
|
Jens Arnold
|
8aeed2d32e
|
PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-12 00:28:57 +00:00 |
|
Jens Arnold
|
1f0d06f085
|
* Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-07 16:44:55 +00:00 |
|
Nicolas Pennequin
|
f548336e27
|
Fix the LCD line remaining active after shutdown on grayscale ipods (FS#5199). Original patch by Tomasz Mon, modified by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14907 a1c6a512-1295-4272-9138-f99709370657
|
2007-09-29 20:56:07 +00:00 |
|
Thom Johansen
|
d6ad3fbeb5
|
FS #7763 by Andree Buschmann. Speed up video rendering for Ipod Video.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14882 a1c6a512-1295-4272-9138-f99709370657
|
2007-09-28 11:25:02 +00:00 |
|
Jens Arnold
|
f265ee9cd5
|
* Don't touch the backlight(s) (and buttonlight) at backlight init in order to avoid a short flash when the lights are both disabled in the bootloader and in rockbox settings. * Properly reflect the backlight state set by the 1st/2nd gen bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14679 a1c6a512-1295-4272-9138-f99709370657
|
2007-09-12 22:24:58 +00:00 |
|
Jens Arnold
|
7c37c54ce5
|
iPod 1st Gen: Dynamic wheel enable. This reduces wheel power consumption to about 0.5% when hold is not enabled and there is no activity, and keeps it disabled on hold.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14386 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-18 09:47:19 +00:00 |
|
Jens Arnold
|
347b351e8a
|
iPod 1st Gen: Electronically disable the wheel when hold is enabled, saving quite some power.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14383 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-18 08:14:07 +00:00 |
|
Jens Arnold
|
0fac492c3d
|
First step of powermanagement rework: * Move target specific stuff into target tree, starting with battery voltage tables and voltage reading. (This revealed some incorrect percent_to_voltage_charging mappings). * Voltage reading on 1st gen ipods is now correct. * Clean up obsolete config #defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14375 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-17 06:45:18 +00:00 |
|
Jens Arnold
|
c68e3cc3d6
|
Make the wheel work on 1st gen iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14359 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-15 17:53:23 +00:00 |
|
Jens Arnold
|
97bdfce5b6
|
iPod greyscale LCD driver: * Further speedup (timeout check turned out to be unnecessary, as well as setting the LCD control register every time on Mini G2. Put lcd_write_data() in IRAM on PP5002). * Better blacklevel stability on 1st...3rd gen. * lcd_enable() function in preparation for suspend on 1st/2nd gen, and shutdown without a black line remaining.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14264 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-10 08:09:53 +00:00 |
|
Jens Arnold
|
92abed78cc
|
iPod greyscale LCD driver: Slight speedup and correct greylevels for other targets than 1st/2nd gen. * Code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14240 a1c6a512-1295-4272-9138-f99709370657
|
2007-08-08 07:57:34 +00:00 |
|