Commit graph

2639 commits

Author SHA1 Message Date
Fred Bauer
8c9017211e Faster cached font loading. FS#12333
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30769 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 13:17:04 +00:00
Marcin Bukat
32f763c39a Add HiFiMAN HM-60x target(s). FS#12319 by Andrew Ryabinin with some (small) modification by me. This also splits rk27xx lcd driver into lcdif-rk27xx and lcd controller specific part. Some modifications to the pcm driver have been made to allow using codecs in slave mode (as TDA1543 used in hifiman is slave only i2s codec).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30765 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 10:32:19 +00:00
Fred Bauer
899865a70b Fix Yellow: missing proto
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30761 a1c6a512-1295-4272-9138-f99709370657
2011-10-16 13:28:44 +00:00
Fred Bauer
100974162d FS:12299 Font glyph cache is no longer saved. Each font will now have its own glyph cache file with the extension '.gc' Includes a temporary fix that delays saving the file to prevent the creation of multiple gc files with same name. Mostly JD Gordon's code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30760 a1c6a512-1295-4272-9138-f99709370657
2011-10-16 13:18:46 +00:00
Amaury Pouly
eb94b23db0 imx233/fuze+: declare 3d audio capability, update lang accordingly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30732 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 12:29:37 +00:00
Thomas Martitz
5783505b99 Add two macros for char*-based pointer arithmetic and use it in font.c
This fixes errornous pointer addition (+ on a short*), which crashed in some situation.
Fixes FS#12317 and should hopefully get the clips booting again.

Thanks to Jonathan Gordon for spotting the bad pointer arithmetic.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30724 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 19:29:18 +00:00
Amaury Pouly
7e8877e871 imx233/fuze+: enable plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30700 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 20:33:14 +00:00
Amaury Pouly
4157c23c6f imx233/fuze+: don't use iram in plugins and in codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30641 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:39:30 +00:00
Bertrik Sikken
93e748ac84 IAP: use a state machine for handling iap packets, based on FS#12135
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30598 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:19:33 +00:00
Jonathan Gordon
83cfbf4e51 Allow fonts to use smaller buffers than the default size. use font_load_ex() to speficiy the buffer size. If the font is already loaded with a smaller buffer it will be reloaded to use the new size. Also fix an issue where handles would get lost if fonts fail to load in skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30592 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:52:16 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Bertrik Sikken
f323300b82 Sansa clipzip: make main build compile (plugins still disabled)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30588 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 11:21:01 +00:00
Bertrik Sikken
b1298c2c44 Sansa AMS/AMSv2: analog front-end register CVDD/DCDC3 doesn't exist in AMSv2, so don't modify it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30579 a1c6a512-1295-4272-9138-f99709370657
2011-09-21 21:48:19 +00:00
Michael Sevakis
c222f38c03 Remove obsolete USB_DETECT_BY_DRV define throughout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30549 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 16:42:43 +00:00
Michael Sevakis
82259b7af5 Move AMSv1 (AMSv2 had been done already) to using setup packet request to detect a host.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30547 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 15:26:57 +00:00
Michael Sevakis
207131c53b Convert ARC USB driver code to always use setup packet detection and remove the bus-reset-based detection method for it. This prevents false USB detection from chargers or other accesories that aren't actually a host but can trigger the bus reset condition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30546 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 14:05:07 +00:00
Amaury Pouly
3d46b080fd imx233/fuze+: use random size for plugin and codec buf (must be non-zero for init attr)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30522 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 23:38:42 +00:00
Szymon Dziok
dad541a391 HDD6330: fix the behavior of the lcd during shutdown (fading out), disable poweroff while charging for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30520 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 21:14:11 +00:00
Szymon Dziok
036c5fef46 HDD6330: implement lcd_enable (display on/off).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30519 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 20:35:25 +00:00
Szymon Dziok
7179490b5f HDD6330: Enable headphone detection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30507 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 14:06:33 +00:00
Frank Gevaerts
544a52d9eb Add "USB Hide Internal Drive" option for multidrive devices with software usb.
This option allows accessing the card slot from "dumb" USB hosts like some car
audio systems that do not handle multi-LUN devices.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30489 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 16:15:35 +00:00
Marcin Bukat
c9c03d6b0c rk27xx - update config files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30455 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:39:28 +00:00
Marcin Bukat
dc5bfc7c1a rk27xx - adjust core files for rk27xx internal codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30454 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:39:24 +00:00
Marcin Bukat
fa856468ab Implement driver for internal codec in rk27xx (shCODlp-100.01-HD IP core from Dolphin)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30439 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:37:57 +00:00
Amaury Pouly
2ac668e44c imx233/fuze+: implement user time api, implement a stub function, protect timrot against irq
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30437 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 00:27:38 +00:00
Amaury Pouly
7d4fed53cc imx233:fuze+: major memory and usb rework
- now identity map dram uncached and have a cached and buffered virtual alias
- rework dma to handle virtual to physical pointers conversion
- fix lcd frame pointer
- implement usb detection properly
- implement bootloader usb properly
- allow the bootloader to disable MMC windowing (useful for recovery)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30432 a1c6a512-1295-4272-9138-f99709370657
2011-09-05 11:29:32 +00:00
Bertrik Sikken
6a9aac7a5f sansa clipzip: implement lcd_enable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30407 a1c6a512-1295-4272-9138-f99709370657
2011-09-01 16:59:30 +00:00
Michael Sevakis
4db3e89652 Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30403 a1c6a512-1295-4272-9138-f99709370657
2011-09-01 12:15:43 +00:00
Thomas Martitz
bb000ce525 Fix last yellows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30385 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:38:16 +00:00
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
The buflib memory allocator is handle based and can free and
compact, move or resize memory on demand. This allows to effeciently
allocate memory dynamically without an MMU, by avoiding fragmentation
through memory compaction.

This patch adds the buflib library to the core, along with
convinience wrappers to omit the context parameter. Compaction is
not yet enabled, but will be in a later patch. Therefore, this acts as a
replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug
menu.

See buflib.h for some API documentation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +00:00
Michael Sevakis
7ad2cad173 Commit work started in FS#12153 to put timing/position information in PCM
buffer chunks.

* Samples and position indication is closely associated with audio data
  instead of compensating by a latency constant. Alleviates problems with
  using the elapsed as a track indicator where it could be off by several
  steps.

* Timing is accurate throughout track even if resampling for pitch shift,
  whereas before it updated during transition latency at the normal 1:1 rate.

* Simpler PCM buffer with a constant chunk size, no linked lists.

In converting crossfade, a minor change was made to not change the WPS until
the fade-in of the incoming track, whereas before it would change upon the
start of the fade-out of the outgoing track possibly having the WPS change
with far too much lead time.

Codec changes are to set elapsed times *before* writing next PCM frame because
 time and position data last set are saved in the next committed PCM chunk. 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 07:45:35 +00:00
Bertrik Sikken
463b3ed8b2 Initial framework for the Sandisk Sansa Clip Zip
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30365 a1c6a512-1295-4272-9138-f99709370657
2011-08-27 16:21:19 +00:00
Thomas Martitz
8a701e5488 Fix errors and warnings.
The buffer_offset paramter of audio_init_recording() is removed as it
was unused in both implementations.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30310 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:37:05 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.

Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.

audiobuf and audiobufend are local to buffer.c now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Thomas Martitz
dbdbc242ac Remove hosted_get_volume(), as event data is available in button_get_data().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30300 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:38:10 +00:00
Frank Gevaerts
936494f9c5 Lower the maximum brightness of the fuzev2 backlight even more.
The previous maximum (20) still causes excessive heat for some people, and measurements (using a digital camera and a white screen) show that the maximum brightness in the OF corresponds to 12 in rockbox, so we use 12 now.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30227 a1c6a512-1295-4272-9138-f99709370657
2011-07-31 15:30:07 +00:00
Michael Giacomelli
c27ea297a3 Commit FS#12111 by Stephan Grossklass. Disables output mixer auto gain control on AMSv2. Should fix occasional distortion reported when running the player at very high output levels (e.g. at or above 0dB).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30208 a1c6a512-1295-4272-9138-f99709370657
2011-07-24 21:56:24 +00:00
Amaury Pouly
fa0f17d9b0 imx233/fuze+: move page table to dram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30201 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 13:48:01 +00:00
Amaury Pouly
eb90d95693 imx233/fuze+: huge rework
- enable MMU
-rework lcd frame buffer
- add rtc/adc/power stubs (or not)
- fix a few MMC related defines (hopefully)
- implement cache handling for DMA
- more SD work
- add keymap (based on clip)
- add virtual buttons
- update linker scripts
- big step toward apps actually compiling

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30200 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 11:45:22 +00:00
Amaury Pouly
06c94740e5 imx233/fuze+: prepare target to enable MMU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30199 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 11:45:18 +00:00
Amaury Pouly
82f70b8efd imx233/fuze+: add SD detection support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30196 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 15:45:58 +00:00
Bertrik Sikken
2f620b8af3 ipod nano 1g: enable LCD invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30182 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 22:05:16 +00:00
Frank Gevaerts
aa27d47782 Set the default battery capacity for ipod video properly depending on detected RAM size.
Also set up a callback for the battery capacity setting (for all players) so changes take effect without having to reboot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30170 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 20:48:16 +00:00
Marcin Bukat
5d9b230168 rk27xx - implement cache_commit_discard(). Cache is still not enabled in crt0.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30167 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 06:49:03 +00:00
Marcin Bukat
cad91ed938 rk27xx - fix backlight driver - now one can set brightness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30138 a1c6a512-1295-4272-9138-f99709370657
2011-07-14 17:06:44 +00:00
Amaury Pouly
5a2681161b imx233/fuze+: make SOURCES more correct, implement i2c for fmradio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30135 a1c6a512-1295-4272-9138-f99709370657
2011-07-09 17:14:05 +00:00
Amaury Pouly
e36b20c4a1 imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30120 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:18:41 +00:00
Michael Sevakis
22b6def065 Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 11:55:38 +00:00
Amaury Pouly
88f75d096e imx233/fuze+: don't compile {touchpad code,sd} in bootloader mode, fix style in mmc
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30112 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:21:06 +00:00
Amaury Pouly
82ecc75e68 imx233/fuze+: make config.h more correct, remove logo from bootloader, update linker file and crt0 to produce a single blob into dram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30111 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:12:10 +00:00