Commit graph

366 commits

Author SHA1 Message Date
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
Michael Sevakis
6077e5b7c8 Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-06 22:27:27 +00:00
Steve Bavin
c90c18ea67 Thanks to LinusN, fix Coldfire bootloaders not booting - FS#7533
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14949 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 07:54:50 +00:00
Dave Chapman
1672350378 FS #7691 - improved USB detection on PP devices. This patch modifies the target-tree function usb_detect() on all targets from bool to int, returning USB_INSERTED or USB_EXTRACTED instead of true or false. This was done to enable the PP usb_detect() to check for USB_POWER (either a connection to a USB wall charger, or the user holding "charge mode" button) and return that as a third value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14600 a1c6a512-1295-4272-9138-f99709370657
2007-09-04 08:03:07 +00:00
Jens Arnold
bfa1adcd06 H300: Read battery voltage with 10bit precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14379 a1c6a512-1295-4272-9138-f99709370657
2007-08-17 20:47:24 +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
8a177345ce Moved archos power handling into target tree. * Tuner power handling cleaned up a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14345 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 22:06:23 +00:00
Nils Wallménius
f28da1a35a Enable a lot more features for simulators and add stubs where necessary, simulators should now work with identical lng and voice files as the respective target
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14299 a1c6a512-1295-4272-9138-f99709370657
2007-08-12 19:49:03 +00:00
Michael Sevakis
60b01fa0f7 Straignten out some issues with HAVE_LCD_ENABLE. 1g/2g/3g had it defined but it shouldn't have been. lcd_enabled() was only available as a real function on gigabeat but others can use that too. Markup lcd.h a bit because I got a bit lost in it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14100 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 12:43:06 +00:00
Jens Arnold
2e2f92c906 H1x0, H300: Get rid of the adc tick, and use the same concept as the iAudio ADC driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14079 a1c6a512-1295-4272-9138-f99709370657
2007-07-30 19:13:59 +00:00
Michael Sevakis
58fc279d26 Scroll on main and remote with a single thread. Change the way system messages are defined before running out is an issue (which requires a full update of rockbox on the player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14035 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 08:12:05 +00:00
Jens Arnold
3deb27053a Fix red bootloader builds. * Fix non-working PP5022 bootloaders. Also define correct IRAM size for PP5022/PP5024 bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14015 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 21:51:44 +00:00
Jens Arnold
f888509dad Slight speedup for iAudio remote LCD update when the CPU isn't boosted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13932 a1c6a512-1295-4272-9138-f99709370657
2007-07-19 21:24:47 +00:00
Michael Sevakis
7d759f6b9c Do some planned radio interface cleanup since adding in the LV24020LP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13880 a1c6a512-1295-4272-9138-f99709370657
2007-07-14 11:20:31 +00:00
Robert Keevil
7785d6949e Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13795 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 10:19:06 +00:00
Magnus Holmgren
7d5deaa5a0 H1x0: Increase delay during button reads. Hopefully fixes the scroll down problem (see forum thread 11081.0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13765 a1c6a512-1295-4272-9138-f99709370657
2007-07-02 18:47:02 +00:00
Michael Sevakis
070417d152 Forget all the nonsense with C delay loops. 'volatile' on the variable makes bloated code and a volatile, blank asm block inside may or may not be optimized out. Use asm delay loops instead for Coldfire. Radio i2c driver also needs NACK after reading last tuner byte. Get the volatile off the Ondio loops (not needed here now). Maybe this is straightened out now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13725 a1c6a512-1295-4272-9138-f99709370657
2007-06-27 03:11:49 +00:00
Michael Sevakis
126d81ecf5 Fix up the ACK generation in the Coldfire i2c driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13722 a1c6a512-1295-4272-9138-f99709370657
2007-06-26 23:53:32 +00:00
Nils Wallménius
07b7877809 Simple coldfire assembly strlen() function, 20-25% faster than the c
version. Move function out of iram as it turns out that makes it 
slightly faster.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13713 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:21:37 +00:00
Nils Wallménius
8dc1a67bba Fix iriver H100 i2c driver which was broken by the switch to build with -Os. Fixes FS#7316 and FS#7321
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13676 a1c6a512-1295-4272-9138-f99709370657
2007-06-19 20:39:30 +00:00
Michael Sevakis
2d48d0ffa6 Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13599 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 23:42:04 +00:00
Magnus Holmgren
7b3abf292f Allow ColdFire targets to be buildt with GCC >= 4.1.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13481 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 18:11:55 +00:00
Michael Sevakis
8f659ae8d3 Use bitmasks to define which inputs are available. Makes it easier to remove old assumptions of which are available. Inspired by e200 being unique in having FM Radio and Mic but no Line. Doesn't remove the assumption that Mic is available or that one of Mic and/or Line is available just to avoid excessive #ifdef'ing until needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13448 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 20:26:36 +00:00
Marcoen Hirschberg
eb7603f1c5 always reset the pcm_paused flag when stopping playback. fixes FS #7187
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13423 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 19:30:08 +00:00
Jens Arnold
c49d5dd631 Coldfire targets: Adjusted PLL settings (lowest possible VCO clock for each setting) and IDE timing (especially it's faster now on M5+X5). * Added/updated table showing the necessary settings (PLL, refresh, waitstates, IDE timing) for each possible clock frequency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13230 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 09:29:01 +00:00
Michael Sevakis
521d6a5e1f H100 S/PDIF recording: Check and clear the correct interrupt bits when recording from digital in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13198 a1c6a512-1295-4272-9138-f99709370657
2007-04-18 02:07:56 +00:00
Michael Sevakis
d95c39072a Portal Player: Add invalidate_icache and flush_icache. Flush the cache on the core for newborn threads. In doing so, move more ARM stuff to the target tree and organize it to make a clean job of it. If anything isn't appropriate for some particular device give a hollar or even just fix it by some added #ifdefing. I was informed that the PP targets are register compatible so I'm going off that advice. The Sansa likes it though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13144 a1c6a512-1295-4272-9138-f99709370657
2007-04-13 20:55:48 +00:00
Jens Arnold
47bf6c5a5a Moved archos backlight code to target tree. Changed old mutlivalue CONFIG_BACKLIGHT to a simple HAVE_BACKLIGHT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13136 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 22:12:13 +00:00
Jens Arnold
fad79dc636 Moved archos USB handling to target tree. Minor simplification for coldfire (only one usb-target.h).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13110 a1c6a512-1295-4272-9138-f99709370657
2007-04-11 20:44:32 +00:00
Michael Sevakis
6689cb0f9b mpegplayer: Get A-V synchronized. Improve frame sync and dropping logic and take advantage of decoder's ability to assist. Straighten out some threading problems. Clean it up a bit. Added some plugin API functions and decided it was a good time to do a good sorting on them so your next update from this build should be a full replacement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13094 a1c6a512-1295-4272-9138-f99709370657
2007-04-10 14:18:30 +00:00
Michael Sevakis
ee6bb1b579 Missed one variable declaration updating byteswapping functions. Not functionally different but keeps things consistent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12965 a1c6a512-1295-4272-9138-f99709370657
2007-03-29 19:22:11 +00:00
Michael Sevakis
d7670647e5 Fix errors. What an errant keystroke when saving can accomplish.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12957 a1c6a512-1295-4272-9138-f99709370657
2007-03-29 05:53:46 +00:00
Michael Sevakis
e754b16f4b Add an asm swap_odd_even32 to SH and ARM. Have the byteswapping functions take and return intxx_t data types.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12956 a1c6a512-1295-4272-9138-f99709370657
2007-03-29 05:30:25 +00:00
Michael Sevakis
8f04faef91 Save a couple bytes in set_irq_level on Coldfire. Should add up to something.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12912 a1c6a512-1295-4272-9138-f99709370657
2007-03-25 20:45:08 +00:00
Michael Sevakis
3354531614 More logf fixes. speex.c wants to format 64bit args so I didn't change that one nor add any formatting for that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12858 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 13:53:23 +00:00
Michael Sevakis
600ca577dc Rrrr. Editor shouldn't have left those tabs. Will check settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12845 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 22:14:10 +00:00
Michael Sevakis
e1dd10ddfb SWCODEC: Get rid of extra swap buffer and get back 512K of RAM or 100K if the players RAM is <= 1MB. Make any needed changes to things to stabilize and facilitate this including removing flattening out initialization. Comment some things heavily. Fix a few logfs I didn't want to see the compiler complaining about.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12843 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 22:04:17 +00:00
Jens Arnold
39e1b59c48 Fixed backlight voltage for M5. Now the backlight is as bright as in the original firmware.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12787 a1c6a512-1295-4272-9138-f99709370657
2007-03-15 19:08:24 +00:00
Michael Sevakis
6c8772d6db x5/M5: Finally get rid of filter selection aberrations when switching to 88.2kHz sampling rate which affected both the DAC and ADC. Turning off the DAC and ADC before changing the internal codec frequency seems to cure the remaining glitch of the filters not being correctly selected by the TLV320. Some FIFO reset changes that help keep it stable as well. Supporting 88.2KHz on iAudio has been a tricky ordeal. Also made sure to ok the HW tone controls on iRiver. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12757 a1c6a512-1295-4272-9138-f99709370657
2007-03-14 10:06:57 +00:00
Michael Sevakis
abf41e3481 H100 Series: Fix FS#6810 - Distortion on Bass/Treble usage. Coldfire PCM needed a refinement in the init sequence for the UDA1380 after audio init changes. Apparently it doesn't like its registers altered before the Coldfire I2S is properly initialized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12752 a1c6a512-1295-4272-9138-f99709370657
2007-03-13 15:05:46 +00:00
Michael Sevakis
e21d217205 Squeeze the serial number code down a few more bytes and call it a day. Will try to reduce by a significant amount later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12726 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 16:01:01 +00:00
Michael Sevakis
94c4724420 Fix a late error that only let it read at default CPU frequency. Disable interrupts during ds2411 read since it's timing sensitive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12724 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 14:33:16 +00:00
Michael Sevakis
89a38d4273 iAudio X5: Enable reading of DS2411 serial number. See it under System|Debug|View HW info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12723 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 13:59:31 +00:00
Michael Sevakis
c2d2106fd7 Audio Init: Just can't stand that heirarchy. Add one level of abstraction. Might come in handy anyhow. Use sound.h instead of the conditional includes for audio hardware headers. If someone doesn't like that, yell at my evil twin. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12718 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 06:21:43 +00:00
Michael Sevakis
5d63776a24 Reenable aynchronous audio init stage. Really just single stage with aynchronous enabling of outputs. Keeps audio_init last so prior init steps can use the audiobuffer in any desired way. Audio will be fully initialized by the time the UI is entered. Playback of voice or audio will be delayed properly until audio hardware is ready.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12714 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 05:04:48 +00:00
Michael Sevakis
633f388002 Coldfire targets: Shuffle IRQ levels around to have all interaction between low level audio function calls and DMA be atomic. Make recording and playback independently startable and stoppable so one can be running and not interfere with the other. All tests I can do at the moment check out ok (play, record, play+record, FM radio on iRivers, S/PDIF on H120 (w/running optical on/off), and on-the-fly samplerate changes). Recording tested for well over an hour run and no problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12658 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 06:23:02 +00:00
Jens Arnold
611737bde8 Add extra filtering to the X5 and M5 button drivers to prevent erratic button events (ported from H300).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12627 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 20:14:41 +00:00
Michael Sevakis
8867d00141 More catching up on old work. Refine audio interface setup on Coldfire. Stop the funky glitching on the iAudio stuff when starting recording esp. at 88.2kHz. (probably due to the bidi interface). iRivers don't seem to care what you do. TLV320 still seems to have a little trouble selecting it's filters correctly for 88.2kHz or it could be some odd phasing effect. Get rid of the horrible reset parameter in pcm_apply_settings as it can decide for itself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12618 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 08:14:27 +00:00
Jens Arnold
1d232401fd Forget to commit this one deleted file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12611 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 00:13:46 +00:00
Jens Arnold
8876018d25 Bring up the M5 port to a working stage: Extended numerous explicit checks for IAUDIO_X5 to also check for IAUDIO_M5, moved code around the target tree, added preliminary background for the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12610 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 00:04:00 +00:00
Michael Sevakis
198772a6b2 iRiver H100 series: Catching up on old work. Use a better way to keep playback going when switching optical output. Doesn't mess with the DMA peripheral requests to do it like before but just writes a sample to the FIFO. Would really like to reformulate interrupt scheme on Coldfire to allow DMA interrupts to be blocked specifically but not normally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12605 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 21:43:35 +00:00
Jens Arnold
b4994a08ca Added new iAudio M5 target, including some adjustments to make the bootloader compile (with a small change against the committed tools/tonfigure, and it won't actually work yet).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12588 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 14:09:21 +00:00
Linus Nielsen Feltzing
ff17905d7c H300 bootloader: (Work in progress) Boot Rockbox on RTC alarm, add charging screen, move to a separate source file, backlight is on during USB mode (again)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12546 a1c6a512-1295-4272-9138-f99709370657
2007-03-02 11:28:23 +00:00
Robert Kukla
50b5ee4781 FS#6419 - driver for H1x0 series RTC Mod with runtime detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12520 a1c6a512-1295-4272-9138-f99709370657
2007-02-28 13:20:36 +00:00
Michael Sevakis
306aa7552a Well, it seems that caused problems for others but my magic bug correcting DAPs don't experience trouble after a full update. Revert to setting the macsr in system_init. Watch your ears when using EQ on the 25 Feb 21:43 build...so I hear.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12487 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 22:59:39 +00:00
Jens Arnold
7d718a8064 X5: Move the remote tick to target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12486 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 22:36:04 +00:00
Jens Arnold
d528e54b61 Move target specific parts of the H100 remote LCD driver to target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12485 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 22:09:14 +00:00
Michael Sevakis
2c9cbc12e1 Add CPU-model-specific init to newborn threads. Add default %macsr for each thread created on coldfire (EMAC_FRACTIONAL | EMAC_SATURATE).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12483 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 21:43:10 +00:00
Linus Nielsen Feltzing
9744433752 Move the MPARK init to system_init()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12452 a1c6a512-1295-4272-9138-f99709370657
2007-02-22 14:54:13 +00:00
Linus Nielsen Feltzing
6c3db6e65f Correct LCD DMA init on the H300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12450 a1c6a512-1295-4272-9138-f99709370657
2007-02-22 11:57:11 +00:00
Jens Arnold
51223e5395 Introduced LCD_FBHEIGHT in addition to the already existing LCD_FBWIDTH to ease framebuffer handling a bit. Added equivalent definitions for the remote LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12419 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 19:31:34 +00:00
Jens Arnold
c652218d14 Fix remaining CONFIG_TUNER checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12385 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 08:46:12 +00:00
Jonathan Gordon
9a6f419775 CONFIG_CHARGING
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12384 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 05:32:06 +00:00
Jonathan Gordon
ac61951452 Do the CONFIG_USBOTG define correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12382 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 04:57:28 +00:00
Jonathan Gordon
1083de8e7d CONFIG_USBOTG fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12377 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 01:17:06 +00:00
Magnus Holmgren
1916576728 Keep delay loop from being optimized away.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12367 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 23:06:50 +00:00
Thom Johansen
5f48e1590f Optimise EQ coef calculation routines for both speed and size. Move now unneeded fsqrt function to plugin fixed point library in case it'll be needed. Move all fixed point helper macros to dsp.h. Added FRACMUL_SHL macro to facilitate high-precision shifting of 64 bit multiplies and remove rounding from macsr in main thread to make this work as intended.
Tested quite thorougly, but as always, be careful with your ears.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12203 a1c6a512-1295-4272-9138-f99709370657
2007-02-05 01:01:15 +00:00
Linus Nielsen Feltzing
1eff300f18 New PLL calculations to make sure that PLLDIV != 0. This seems to solve the problem with the troublesome H140 batch from OutletMP3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12201 a1c6a512-1295-4272-9138-f99709370657
2007-02-05 00:01:29 +00:00
Linus Nielsen Feltzing
bc76a42eca Corrected the comments regarding USB charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12181 a1c6a512-1295-4272-9138-f99709370657
2007-02-02 15:47:28 +00:00
Steve Bavin
338d94f466 FS#4770 - Add USB charging for the H300 series
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12169 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 10:47:22 +00:00
Miika Pekkarinen
73cd9f3b63 Turn backlight ON at boot unless bootloader has already done that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11992 a1c6a512-1295-4272-9138-f99709370657
2007-01-12 20:26:23 +00:00
Miika Pekkarinen
0ea4d3197e Prepare core support for the iriver bootloader supporting ROM images
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11991 a1c6a512-1295-4272-9138-f99709370657
2007-01-12 18:34:00 +00:00
Linus Nielsen Feltzing
e2022a26d0 Removed executable flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11967 a1c6a512-1295-4272-9138-f99709370657
2007-01-09 23:29:07 +00:00
Michael Sevakis
c02e15fe26 Coldfire: More efficient and compact peaking code. Hope the build doesn't whine about strange asm constraints. GCC's ok with it here.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11786 a1c6a512-1295-4272-9138-f99709370657
2006-12-17 11:56:30 +00:00
Michael Sevakis
36c940555c SWCODEC recording: More cleanup of stuff after queue additions and audio driver unification.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11783 a1c6a512-1295-4272-9138-f99709370657
2006-12-17 11:03:19 +00:00
Michael Sevakis
f51df0de21 Coldfire: Put DMA1 priority back at level 7 as that seems to be the cause of the stopping during record. Make DMA1 start as it did previously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11729 a1c6a512-1295-4272-9138-f99709370657
2006-12-12 04:25:52 +00:00
Jens Arnold
81f76f21d6 Fix some comments, and make code consistent with comments (CSMR2 was set to 1M instead of 64K).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11698 a1c6a512-1295-4272-9138-f99709370657
2006-12-09 11:36:40 +00:00
Michael Sevakis
9b720239a3 iRiver: Clearing CRSEL bit when using default CPU frequency caused audio chip to run at half frequency when radio screen called cpu_idle_mode(true) and corresponding high end loss after kepress timeout. CRSEL was originally preserved when bypassing PLL. CRSEL shouldn't have any bearing on PSTCLK or SCLK when PLL is bypassed since the dividers are bypassed as well (except for the divX2 for SCLK).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11695 a1c6a512-1295-4272-9138-f99709370657
2006-12-08 23:33:22 +00:00
Jens Arnold
b774bae5fd Coldfire targets: Fixed performance-hitting bug for unaligned transfers. Now unaligned transfers are less than 10% slower than aligned transfers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11679 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 18:44:45 +00:00
Jens Arnold
4c43d9422c Removed extraneous #ifdef.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11678 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 18:33:57 +00:00
Marcoen Hirschberg
edbd1cde47 first step in audio driver unification: renaming the functions to audio_* (missed this one)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11672 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 10:44:40 +00:00
Marcoen Hirschberg
77d039bab8 first step in audio driver unification: renaming the functions to audio_*
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11670 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 10:24:59 +00:00
Miika Pekkarinen
46a608bf07 PLL was incorrectly initialized causing system to crash when ran from
ROM.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11669 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 10:02:06 +00:00
Michael Sevakis
51189b4cb4 Small change to PCM recording API for low latency effects. Latency can be as low as 14 samples from input to output including the FIFOs (ColdFire) but 16 is more reasonable an expectation if only tranferring one sample per interrupt (\!). May convert PCM playback to use the same method as it can still be used in the old manner with some slight mods but has the potential to enable new features since it is more flexible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11668 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 08:34:55 +00:00
Michael Sevakis
81484e4b75 H1x0: Enable optical output to be switched on or off during playback and recording. Fixes FS#6414 - H120 opto out toggle freezes codec. Really DMA just needed a kickstart after setting the optical TXSRC if the peripheral requests were currently enabled (the method of detection).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11661 a1c6a512-1295-4272-9138-f99709370657
2006-12-05 07:38:55 +00:00
Jens Arnold
31ffd7b154 Completed target tree move of the ata driver code. Some code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11655 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 22:13:44 +00:00
Michael Sevakis
7d00f97460 PCM: A few tiny changes. 1) Recording a) Flush all pending files if filename queue is full or else perpetual flushing of 1 will occur at low bitrates and short split times. b) #ifdef out currently unused bits and save little less than 1/2K 2) Cleanup some declarations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11623 a1c6a512-1295-4272-9138-f99709370657
2006-11-29 14:23:24 +00:00
Michael Sevakis
ce3ade1360 iRiver: Channel 2 shouldn't be monitored except for radio playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11616 a1c6a512-1295-4272-9138-f99709370657
2006-11-27 21:52:49 +00:00
Jens Arnold
0e6dd7efcd Moved archos button reading to target tree. * Cleanup of button.[ch]. * Deactivated serial remote code for recorder FM/V2 as there is no remote pin, saving ~500 bytes of code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11612 a1c6a512-1295-4272-9138-f99709370657
2006-11-27 02:16:32 +00:00
Jens Arnold
6adbbc0f2f X5: Slightly lower threshold value to reliably disable constant adc reading when no button is pressed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11604 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 18:24:23 +00:00
Linus Nielsen Feltzing
516d277958 The ADC GPIO init code for the H100 was accidentally put in the H300 driver when moving to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11582 a1c6a512-1295-4272-9138-f99709370657
2006-11-24 11:06:52 +00:00
Michael Sevakis
f27c266097 Just correct a comment and see if the build goes differently.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11578 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 19:46:24 +00:00
Michael Sevakis
ab1861a3c2 iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 19:21:15 +00:00
Michael Sevakis
fbac4f8444 Audio bugfixes. Should wait for voice codec to reload before returning buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 09:13:14 +00:00
Michael Sevakis
4a82f81f79 H100 series: Adjusted gray scale balance and default contrast for more linear gray levels.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11564 a1c6a512-1295-4272-9138-f99709370657
2006-11-21 17:14:07 +00:00
Michael Sevakis
ef40b0ae43 Coldfire: Add DMA auto alignment to pcm recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11563 a1c6a512-1295-4272-9138-f99709370657
2006-11-21 15:58:39 +00:00
Michael Sevakis
cc50c149e9 H100/General: HAL for S/PDIF and refinement/bufixes in optical output powering/source selection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11523 a1c6a512-1295-4272-9138-f99709370657
2006-11-13 23:21:54 +00:00
Michael Sevakis
58825f6e73 Coldfire targets: Got the rest of the coldfire code out of backlight.c. Straightened up related items in configs and split backlight_set_brightness between the normal and boot/sim builds like the other functions. Should really have done all that in the first place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11502 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 18:47:41 +00:00
Michael Sevakis
cf59a4fc1d H300/X5: Moved backlight brightness code to target tree. Created __backlight_set_brightness in backlight-(target).c. backlight_set_brightness range clamps and calls the backlight driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11488 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 01:25:52 +00:00
Michael Sevakis
f64f589d2e H100/120: Split lcd driver into pixel format and device specific parts. Adjustment of contrast range to just a little less than white to a little more than black. Really only had to reset minimum.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11487 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 00:02:28 +00:00
Michael Sevakis
d7e55278f3 Use HAVE_FLASHED_ROCKBOX when target is flashable. Currenly only used by the H100 series.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11470 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 18:33:06 +00:00
Michael Sevakis
a32b33bf83 Forgot to cvs add lcd-as-h100.S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11469 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 16:22:30 +00:00
Michael Sevakis
e89a3940f9 More exodus to the target tree for ColdFire and a bonus sorting of firmware/SOURCES.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11468 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 16:13:04 +00:00
Michael Sevakis
5efee7c94a Forgot to use cvs add on a few new files in the fresh checkout I used. woops.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11453 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:18:05 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Jens Arnold
f8b1da2f7b H300, X5: Faster lcd_yuv_blit() using EMAC. Speedup of the function itself at 124MHz: 10.5% on X5, 16.5% on H300. mpegplayer speedup 3..4%
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11429 a1c6a512-1295-4272-9138-f99709370657
2006-11-04 00:42:18 +00:00
Michael Sevakis
0fb67cd475 More tweak to ColdFire default exception handler. iRiver reboots on power press but x5 just shuts down. Haven't yet thought much about why or how to make it reboot on x5 if it's possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11422 a1c6a512-1295-4272-9138-f99709370657
2006-11-03 10:19:04 +00:00
Jens Arnold
83aded979f H300: (1) Use DMA for LCD updates, with auto-aligned line reads. Speeds up LCD updates by ~ 75% at 11MHz and 45MHz. Only ~ 11% speedup at 124MHz due to (2). (2) Less aggressive LCD transfer timing at 124MHz. With the previous timing, slightly corrupted display contents was reported, and with DMA transfers at least 4 waitstates are needed to make updates work at all. * A table in system-iriver.c shows settings for all integer multiples of the base clock frequency (info for developers, not yet complete).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11418 a1c6a512-1295-4272-9138-f99709370657
2006-11-02 20:50:50 +00:00
Michael Sevakis
59f9deb37e Display correct exception information on ColdFire targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11416 a1c6a512-1295-4272-9138-f99709370657
2006-11-02 15:39:08 +00:00
Jens Arnold
84074cd292 Removed remnants of deprecated lcd_roll().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11409 a1c6a512-1295-4272-9138-f99709370657
2006-10-31 19:49:35 +00:00
Michael Sevakis
f29cae0d26 Moved coldfire code in system.c and system.h into target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11399 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 14:17:14 +00:00
Michael Sevakis
9e8fe0e4c6 General: changed local adc to voltage conversions in several places to use battery_voltage. Added battery_read_info function for unfiltered battery information. x5: removed adc_read as a distinct function. Removed adc tick task. adc_init is empty inline. Adjusted battery scale, voltage to level array and read 10 bits from the ADC for battery since 255 levels is not enough for true centivolt resolution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11396 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 11:33:38 +00:00
Marcoen Hirschberg
ede3d646b9 move coldfire ata defines to a shared ata-target.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11395 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 09:38:34 +00:00
Jonathan Gordon
139f9f28e9 move the iriver h1x0/h3x0 targets to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11392 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 08:56:06 +00:00
Jens Arnold
62a11ea9e6 Removed unnecessary #include s.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11385 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 19:29:41 +00:00
Jens Arnold
85c9a05c56 H300: Don't read the button ADC as long as no button is pressed, utilising the PCF50606 accessory detect feature. Ported from X5.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11383 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 13:48:57 +00:00
Jonathan Gordon
cad563b00f move the iriver h1x0/h3x0 button driver to target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11380 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 10:26:41 +00:00
Michael Sevakis
c4a0d45d36 Cleanup of new button reading code. Moved functions for enabling of scanning and the decision to scan or not to button_read_device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11377 a1c6a512-1295-4272-9138-f99709370657
2006-10-28 23:10:45 +00:00
Michael Sevakis
2ede2a79e6 Put a couple x5-specific function declarations in adc-target.h where they should be.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11358 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 08:12:18 +00:00
Michael Sevakis
1d4a9c6366 Stop reading buttons if one is not down. Don't read remote keys if not plugged. Good for another few points of boost and 4fps full-screen unboosted. The button scan enabling seems stable and I've been using it without any difficulties but if the interrupts hiccup it could leave them unresponsive. Clearing the GPI0 interrupts before enabling them seems to prevent any difficulties. If there's problems there I'll just leave the remote reading bypass only and 50% of the benefits will still be realized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11357 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 05:31:28 +00:00
Michael Sevakis
784dd78745 Moved pcf50606 stuff to target directory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11348 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 23:24:07 +00:00
Michael Sevakis
34751f096c Fixed implicit declaration warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11332 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 06:27:40 +00:00
Michael Sevakis
b26e396436 Pinched pcf50606 i2c code used in iRiver players and adapted to x5. Boost ratios down as much as 100 percent for mp3 and 50 percent for vorbis. mp3 hardly ever boosts even with eq. Scrolling much sharper. Like a whole new player. The code can be used for both iRiver and x5 by just defining macros with the appropriate ports and bit numbers for each player. Probably will have a pcf50606-coldfire.c soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11330 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 06:10:22 +00:00
Michael Sevakis
10363b3a81 Get rid of some OR-ing and conditional expressions in lcd driver when register values can just be saved in shorts. Touch-up to comment in asm part.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11281 a1c6a512-1295-4272-9138-f99709370657
2006-10-20 23:57:48 +00:00
Linus Nielsen Feltzing
d543bd486b iAudio X5: USB mode working again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11261 a1c6a512-1295-4272-9138-f99709370657
2006-10-18 20:56:29 +00:00
Michael Sevakis
1102afb0b0 Disables hard dither mode on the x5 for routine drawing. Display driver automatically enables it when needed. Full screen frame rate up to 48 at normal CPU frequency from about 45 putting it about where it was when everything including the framebuffer was in IRAM due to the shorter and simpler lcd_write_data. Please advise if this works differently on any x5 as this might be considered a hack since nothing in the datasheet specifies using the chip this way. It is perfectly functional on mine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11233 a1c6a512-1295-4272-9138-f99709370657
2006-10-16 02:24:06 +00:00
Michael Sevakis
f80de70df3 x5: Needed a couple tweaks to the contrast fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11077 a1c6a512-1295-4272-9138-f99709370657
2006-09-27 01:13:41 +00:00
Michael Sevakis
b8043fcbf9 Remote play button was still being read out with remote hold key on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11076 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 23:35:44 +00:00
Michael Sevakis
167c754b47 Fixed FS#5800 - 'LCD-sleep awake bug' on x5. Contrast setting is now preserved after LCD sleeps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11075 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 22:24:56 +00:00
Michael Sevakis
e636492791 Fixed remote contrast settings. Maybe'll get some build errors here.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11071 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 20:46:17 +00:00
Michael Sevakis
69b4e80f2b x5: No more remote LCD streaks when powering off with remote active. Will not affect hot unplugging of course.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10967 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 09:19:50 +00:00
Michael Sevakis
44e8233134 Added the power off to x5 remote play button. 3s delay seems confortable and well out of the way of the long press for playback stop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10934 a1c6a512-1295-4272-9138-f99709370657
2006-09-12 15:56:31 +00:00
Michael Sevakis
3bee89ed44 Improved handling of the ONKEY1S interrupt. Off for the remote must be explicitly mapped now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10932 a1c6a512-1295-4272-9138-f99709370657
2006-09-12 14:20:29 +00:00
Michael Sevakis
c3b147598c More PMU madness for x5-- a better, more paranoid sequence for enabling GPI0 IMHO
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10913 a1c6a512-1295-4272-9138-f99709370657
2006-09-10 04:32:35 +00:00
Michael Sevakis
5ffd3aeb4d A tiny change to pcf50506-x5.c. Don't know why Recorder-8MB build would have been affected by the last change. It doesn't add anything to it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10912 a1c6a512-1295-4272-9138-f99709370657
2006-09-10 02:58:35 +00:00
Michael Sevakis
3d2e10bcbd Added remote backlight on hold option to players with remote hold switch. Disabled IRQs while reading pcf50606 ADC. This seems to have stopped buttons becoming unresponsive when using remote. Maybe fixes other button glitches as well?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10911 a1c6a512-1295-4272-9138-f99709370657
2006-09-10 02:00:40 +00:00
Michael Sevakis
32ba11f066 Fixed the problem on the x5 of spontaneous shutdown after holding the power key for 1s.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10904 a1c6a512-1295-4272-9138-f99709370657
2006-09-09 07:49:25 +00:00
Daniel Ankers
41997d3d89 Clean up crt0.S and move it to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10830 a1c6a512-1295-4272-9138-f99709370657
2006-08-31 19:45:05 +00:00
Michael Sevakis
7a75aad26e Got rid of backlight wink between bootloader and firmware start by removing redundant lcd reset
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10751 a1c6a512-1295-4272-9138-f99709370657
2006-08-26 01:52:05 +00:00
Jens Arnold
92fe88a3a7 X5: Applied tweaks from the H300 lcd_yuv_blit to the X5 version. Smaller code and ca. 1% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10729 a1c6a512-1295-4272-9138-f99709370657
2006-08-24 06:23:03 +00:00
Jens Arnold
9af13c327e H300: * Assembler optimised lcd_yuv_blit(), based on the X5 version. 23..31% speedup in tests depending on video size. * Don't set HORIZ_RAM_ADDR_POS for LCD updates, it's unnecessary. * Started the target tree move for H300 with this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10724 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 17:30:51 +00:00
Barry Wardell
e367b05fca Move X5 ADC code to target tree. Fix power button detection on H10. New ADC
driver for H10. Thanks to Laurent Baum for all his help with this code.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10701 a1c6a512-1295-4272-9138-f99709370657
2006-08-22 20:17:09 +00:00
Jens Arnold
5cc95ad16d X5: Assembler optimised remote LCD update. Speedup: 3 times @11MHz, 3.3 times @45MHz, +75% @124MHz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10685 a1c6a512-1295-4272-9138-f99709370657
2006-08-22 05:50:05 +00:00
Linus Nielsen Feltzing
dffcb9fc3b iAudio X5: swap the remote REW and FF buttons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10634 a1c6a512-1295-4272-9138-f99709370657
2006-08-17 14:32:23 +00:00
Michael Sevakis
013ab3dd3d Added assembly lcd_yuv_blit for iAudio X5 and misc. display related changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10599 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 23:55:31 +00:00
Rani Hod
5fc856c181 Accepted FS#5807 by Michael Sevakis - ASM optimized lcd_update().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10564 a1c6a512-1295-4272-9138-f99709370657
2006-08-13 21:28:22 +00:00
Rani Hod
bcd94a9b01 Accepted FS #5786 by Michael Sevakis - lcd_yuv_blit() for X5.
hard coded to YUV4:2:0 for now, gives ~13.5 fps.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10528 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:10:34 +00:00
Linus Nielsen Feltzing
f64ad7d8f3 Patch #5789 by Mike Sevakis - Proper shut down of Coldfire targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10510 a1c6a512-1295-4272-9138-f99709370657
2006-08-10 13:47:22 +00:00
Rani Hod
7d4d6ce31b fixed bootloader build error due to last commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10491 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 22:43:40 +00:00
Rani Hod
c9f59e6f75 Accepted FS #5772 by Michael Sevakis
1. X5 lcd sleep
2. #define HAVE_LCD_ENABLE
3. add "backlight (on hold switch)" setting, adapted from FS #5735

Note that the while(1) yield ==> asm("halt") part is NOT commited here,
I prefer it would be discussed separately.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10489 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 22:03:56 +00:00
Linus Nielsen Feltzing
c255073fb8 Patch #5740 by Mike Sevakis - X5 LCD performance enhancements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10390 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 23:00:13 +00:00
Rani Hod
cc839a2671 Applied FS#5734 by Michael Sevakis (X5 LCD contrast bugfix and
some #define fixup).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10388 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 19:13:21 +00:00
Rani Hod
78f425d174 Applied FS #5727 (fix backlight flicker on X5) by Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10360 a1c6a512-1295-4272-9138-f99709370657
2006-07-29 13:31:43 +00:00
Linus Nielsen Feltzing
d17d08c268 LCD remote support for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10352 a1c6a512-1295-4272-9138-f99709370657
2006-07-28 12:41:13 +00:00
Linus Nielsen Feltzing
c849219370 Moved the X5 button driver to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10339 a1c6a512-1295-4272-9138-f99709370657
2006-07-27 13:27:31 +00:00
Linus Nielsen Feltzing
40a3fd6938 Remote LCD communication driver for X5, very loosely based on patch FS#5634 by Rani Hod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10331 a1c6a512-1295-4272-9138-f99709370657
2006-07-26 13:38:31 +00:00
Linus Nielsen Feltzing
f18f9a8061 Patch FS#5712 by Michael Sevakis - X5 Backlight brightness improvement/fix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10322 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 15:21:31 +00:00
Linus Nielsen Feltzing
5a0cb68e43 Moved some assembly optimizations to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10318 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 11:16:03 +00:00
Linus Nielsen Feltzing
52aaa75e83 Restore the default backlight settings broken by Rani
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10314 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 07:19:35 +00:00
Rani Hod
c657763a23 Accepted FS #5474 by yours truly.
Save your settings; CONFIG_BLOCK_VERSION is increased.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10303 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 22:18:32 +00:00
Rani Hod
3c810c4f6a Accepted FS #5696 by yours truly.
(1st cvs commit!)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10302 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 21:41:58 +00:00
Linus Nielsen Feltzing
eec48a8956 iAudio X5: Fix sim build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10274 a1c6a512-1295-4272-9138-f99709370657
2006-07-21 09:24:17 +00:00
Linus Nielsen Feltzing
ed4d7a33bd Patch #5347 by Rani Hod - Adds FM radio and recording features to the iAudio X5.
Also includes a rewrite of the Coldfire I2C driver to include both read and write.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10272 a1c6a512-1295-4272-9138-f99709370657
2006-07-21 08:42:28 +00:00
Christian Gmeiner
a59b3eb919 simplification of lcd driver code - based on patch #5474 by Rani Hod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10235 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 18:16:38 +00:00
Linus Nielsen Feltzing
5f655c93f9 Patch #5639 by Ulrich Pegelow, inits the M5636 USBOTG chip on the X5 to reduce the battery consumption.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10208 a1c6a512-1295-4272-9138-f99709370657
2006-07-13 07:40:30 +00:00
Daniel Stenberg
5f0395d577 While waiting further and better improvements, this fixes the bug to
lcd_update_rect() I introduced previously.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9822 a1c6a512-1295-4272-9138-f99709370657
2006-04-27 21:11:18 +00:00