Commit graph

231 commits

Author SHA1 Message Date
Michael Sevakis
41b235dacf Fix red. No bother with lcd power management calls in bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17508 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 20:26:20 +00:00
Nicolas Pennequin
357ffb3c46 Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Bertrik Sikken
19425909c3 Another round of making local functions static and making sure that source files are in sync with their header files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17337 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 21:33:00 +00:00
Jens Arnold
2bbacf89fe Make sure the linker considers crt0*.o before all files specified on the command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17289 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 06:19:32 +00:00
Jens Arnold
b1a49f83c6 Save a couple of bytes by using moveq.l where possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17007 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 00:01:03 +00:00
Jens Arnold
9737fc7c26 Iriver remote LCD driver: * Split out assembler parts. * Reintroduced the 2 transfer routine variants (low/high CPU clock), and made the version for high CPU clock a little slower because there were problems reported. The function can be slowed down more if there are still problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17006 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 23:57:37 +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
Dave Chapman
52655751fa Fix red - adc.h used to be in lcd-remote.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16835 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 00:09:31 +00:00
Jens Arnold
06ec18d93f Slightly better instruction order, added comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16833 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 23:45:55 +00:00
Jens Arnold
91a564e4b9 Iriver H1x0/H300: Speed up remote LCD updates when boosted by implementing an idea from the iaudio remote LCD driver. Speedup is ~75 with ticking reduction disabled. Ticking reduction should also be more effective due to the better pulse/pause ratio (update speed with ticking reduction aims at a constant 60fps as before). * SLight speedup when not boosted due to simplifications.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16832 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 23:40:17 +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
74d678fdbc Back-ported the iAudio remote LCD driver optimisations to X5 and M5.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16810 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 00:38:40 +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
Michael Sevakis
27cf677339 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +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
8e66491ffe M3: Make remote LCD hotplug work, and make 'backlight on button hold' use the correct hold switch. * Kill a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16711 a1c6a512-1295-4272-9138-f99709370657
2008-03-19 00:34:56 +00:00
Jens Arnold
eb0a7a3318 Correct the name of a flag. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16708 a1c6a512-1295-4272-9138-f99709370657
2008-03-18 22:48:26 +00:00
Jens Arnold
6d8b827472 Commit the ADC changes (fix red M3 builds).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16691 a1c6a512-1295-4272-9138-f99709370657
2008-03-18 06:55:59 +00:00
Jens Arnold
d700970f86 Cosmetic fixes for the iAudio bootloader: Don't display 'Hold switch on' if the reason for getting there was a spurious ON event. Don't disable the multi-colour LED in the M3 bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16690 a1c6a512-1295-4272-9138-f99709370657
2008-03-18 00:17:21 +00:00
Jens Arnold
ed3ff1b0b5 Various coldfire fixes: (1) iAudio Bootloader: Check the status of main & remote power button vs. the respective hold switch, and shut down when on hold. On X5/M5 this check is not strictly necessary for the main unit, but left there to keep things uniform. (2) M3: Stop reading the ADC properly before leaving the bootloader, on RoLo, and on reboot, to make it work reliably after those transitions. (3) Disable all interrupt sources on system init to avoid premature ISR calls after enabling interrupts in general. (4) iAudios: Proper implementation of ide_powered(), avoiding nasty HDD clicks in the bootloader when powering down, e.g. because of Hold. (5) Slight optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16689 a1c6a512-1295-4272-9138-f99709370657
2008-03-17 23:47:38 +00:00
Jens Arnold
c6b6bad18f iAudio M3: ADC driver, making buttons and battery voltage reading work. * Disable the multi-colour LED for now to save power. Proper handling will be added later. * Make reboot on button press work on iAudio X5, M5, M3 in panicf(), and on M3 in UIE().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16684 a1c6a512-1295-4272-9138-f99709370657
2008-03-17 00:19:23 +00:00
Jens Arnold
478ba0afa1 Add two missing coldfire interrupt vectors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16681 a1c6a512-1295-4272-9138-f99709370657
2008-03-16 00:50:46 +00:00
Jens Arnold
3005cf5c86 Sound on M3. yay!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16679 a1c6a512-1295-4272-9138-f99709370657
2008-03-15 21:55:14 +00:00
Jens Arnold
30f8326a8c iAudio M3: Fix standard remote context. * Process button adc values in the button driver. Those buttons won't work without the not-yet-committable ADC driver though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16676 a1c6a512-1295-4272-9138-f99709370657
2008-03-15 12:20:59 +00:00
Jens Arnold
3894a44202 More iAudio M3 work. Target build compiles, but same problem regarding plugins as the simulator. Boots to the menu, but it can't be used yet because only main & remote Play button work. USB works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16661 a1c6a512-1295-4272-9138-f99709370657
2008-03-14 08:59:51 +00:00
Jens Arnold
8a6291dd63 More iAudio M3 work. Target build compiles, but same problem regarding plugins as the simulator. Boots to the menu, but it can't be used yet because only main & remote Play button work. USB works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16660 a1c6a512-1295-4272-9138-f99709370657
2008-03-14 08:54:54 +00:00
Jens Arnold
3c561f2cf9 Make the LCD remote work in the Iriver H1x0 and H300 bootloaders as well (untested). * Only try the initial remote LCD init if the remote is plugged, and do it in main builds as well, giving slightly earlier remote LCD output when booting. * Fix delays in the X5/M5 remote LCD init. * Remove an unnecessary check in the X5/M5 remote LCD driver and the M3 LCD driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16655 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 19:36:58 +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
Jens Arnold
2b5f9aec64 Make ATA work on M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16650 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 23:36:05 +00:00
Jens Arnold
17bc340f1f Make the LCD remote work in the iAudio M3, M5 and X5 bootloaders. * Fix viewport related init bug in the 2 bit vertically interleaved LCD driver. * Fix low bat warning in iaudio bootloader - voltages are in millivolts now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16648 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 23:08:33 +00:00
Jens Arnold
769fcbd4d9 More iAudio M3 work. Bootloader compiles, but doesn't work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16645 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 20:35:42 +00:00
Jens Arnold
8c6920e343 Revert accidental tree commit. Sorry for that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16574 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:50:55 +00:00
Jens Arnold
d1ed7c37b1 No need to have \n here. panicf() won't output it anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16570 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:34:43 +00:00
Peter D'Hoye
3c58f5d026 code police: add some missing trailing zeroes to remove possible confusion. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16466 a1c6a512-1295-4272-9138-f99709370657
2008-03-01 17:52:26 +00:00
Jens Arnold
41c1f17296 Fix a few comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16434 a1c6a512-1295-4272-9138-f99709370657
2008-02-27 18:50:54 +00:00
Robert Kukla
8812879aac fix h300 red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16209 a1c6a512-1295-4272-9138-f99709370657
2008-02-03 18:31:47 +00:00
Robert Kukla
9dc67828a9 mrobe 100: real time clock (if anybody recognises the RTC chip let me know)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16208 a1c6a512-1295-4272-9138-f99709370657
2008-02-03 18:15:39 +00:00
Jens Arnold
837012be86 Fix graphical glitches occuring in the greyscale library on H1x0 and M5 at 124MHz. The main loop within lcd_grey_data() needed instruction reordering (interspersing lcd writes with memory accesses) to meed the LCD controller timing. Slight slowdown because of the extra register needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16091 a1c6a512-1295-4272-9138-f99709370657
2008-01-15 00:51:58 +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
99617d71ba Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +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
Barry Wardell
0d8111cb39 Split radio i2c drivers into target tree where they belong. No changes to binaries produced.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15558 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 19:14:01 +00:00
Jens Arnold
3674af6441 Coldfire: Partially revert buffered writes, and enable them explicitly for the LCD only. Turned out that with buffered writes enabled, reads after writes are not always serialized, which is a bad thing for I/O. Buffered writes to the LCD are safe because that's write-only. Fixes FS #7985. How come I didn't notice this earlier? :>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15173 a1c6a512-1295-4272-9138-f99709370657
2007-10-17 20:45:13 +00:00
Jens Arnold
b85b6be3aa Coldfire targets: enable buffered writes by default. Speeds up all sorts of I/O that writes to ports: LCD update (except the functions using DMA on H300), ATA writes, .... Some timings had to be adjusted for the new configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15129 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 21:16:50 +00:00
Jens Arnold
3a5509a8d7 Fix coldfire PCF50606 I2C driver, and iriver FM radio I2C driver. Both drivers had wrong timing, discovered while experimenting with buffered writes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15122 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 16:45:46 +00:00
Jens Arnold
99f9550881 H300, X5: Optimised lcd_yuv_blit(), using line-pair zig-zag writing to the LCD controller. ~7% speedup on H300, ~5% speedup on X5.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15111 a1c6a512-1295-4272-9138-f99709370657
2007-10-14 23:05:56 +00:00