Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



whenwhatwherewho
Today 10:13 8855ce5 G#966: regtools/soc_desc: fix libxml2 misinit

The code did not call xmlInitParser() and would call xmlCleanupParser() each time which is doubly wrong because 1) it's not init 2) all init/cleanup must be done from the main thread. To ensure 2), call it from a static ctor.
utils/regtools/lib/soc_desc.cpp [diff]
Amaury Pouly
Yesterday 21:07 c1bbaf4: Fix path_trim_whitespace() sign extension.

It should have been implemented as interpreting chars as unsigned so that code points >= 0x80 would not get sign-extended and seen as negative values.

Fixes FS #12995 - path_trim_whitespace() assumes unsigned char
firmware/common/pathfuncs.c [diff]
Michael Sevakis
Yesterday 12:10 77bfff5: rk27xx: Fill UDC block description in regs-rk27xx.xml
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
Yesterday 00:24 448a289: Disable periodic table plugin until all the compilation issues are sorted out.
apps/plugins/SOURCES [diff]
Michael Giacomelli
Sunday 17:48 3c33c6c G#963: hopefully fix the warnings
apps/plugins/periodic_table.c [diff]
Franklin Wei
Sunday 17:05 b655912 G#962: ifdef out lcd_set_bg call
apps/plugins/periodic_table.c [diff]
Franklin Wei
Sunday 16:52 ba82784 G#961: Fix building on clip
apps/plugins/periodic_table.c [diff]
Franklin Wei
5th Sep 17:45 2a35c4c G#950: FS #9583 - periodic table
- original rockbox port: Yifu Huang
- original work: Jonathan Bettencourt

- modifications made:
- PLA-fied
- Add element 117 (ununseptium)
- Implemented up/down
- Fixed actinide/lanthanide navigation so that they are between scandium and titanium
- Added manual entry
- Fixed FG/BG colors
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/periodic_table.c [new]
docs/CREDITS [diff]
manual/plugins/main.tex [diff]
manual/plugins/periodic_table.tex [new]
Franklin Wei
Sunday 03:16 a7f23a5: Superdom: Silence warning.
apps/plugins/superdom.c [diff]
Michael Giacomelli
31th Aug 10:52 1189fbe G#945: Superdom: rewrote help text
apps/plugins/superdom.c [diff]
Franklin Wei
30th Aug 18:59 a65f6ce G#944: Superdom: some AI improvements and other minor changes
apps/plugins/superdom.c [diff]
Franklin Wei
30th Aug 19:02 333a82c G#943: Superdom: added option for persistent units
apps/plugins/superdom.c [diff]
Franklin Wei
30th Aug 08:21 ad79a90 G#942: [WIP] Superdom: AI can now use nukes
apps/plugins/superdom.c [diff]
Franklin Wei
28th Aug 17:19 bc00d38 G#940: [WIP] Superdom: game improvements

- macro-ify board dimensions, surrender thresholds
- make AI skill level adjustable
- let AI buy nukes in hard mode (still can't use them yet)
- make nukes persistent (stay after an invasion)
- make AI treat nukes with priority
apps/plugins/superdom.c [diff]
Franklin Wei
26th Aug 18:11 a231754 G#931: Superdom: code cleanup
apps/plugins/superdom.c [diff]
Franklin Wei
26th Aug 18:08 e47ed2a G#930: Superdom: whitespace cleanup
apps/plugins/superdom.c [diff]
Franklin Wei
10th Sep 05:21 12f5c63 G#954: Rockbox Manual - Gigabeat FX and Fuze+ Touchpad Config Appendix

Added to config_file_options.tex, sections for gigbeat and fuze+ sensitivity settings, also fuze+ touchpad deadzone setting.

Tested: Benjamin Brown
manual/appendix/config_file_options.tex [diff]
Benjamin Brown
11th Sep 10:31 b7e3515: hwstub: small fixup in rk27xx usb driver
utils/hwstub/stub/rk27xx/usb_drv_rk27xx.c [diff]
Marcin Bukat
9th Sep 08:08 9a18ca4: Manual: add images for 128x96x16 resolution (YH-820).
manual/configure_rockbox/images/ss-equalizer-128x96x16.png [new]
manual/configure_rockbox/images/ss-general-settings-128x96x16.png [new]
manual/configure_rockbox/images/ss-sound-settings-128x96x16.png [new]
manual/main_menu/images/ss-list-bookmarks-128x96x16.png [new]
manual/main_menu/images/ss-main-menu-128x96x16.png [new]
manual/main_menu/images/ss-recording-settings-128x96x16.png [new]
manual/main_menu/images/ss-while-recording-screen-128x96x16.png [new]
manual/plugins/images/ss-blackjack-128x96x16.png [new]
manual/plugins/images/ss-bounce-128x96x16.png [new]
manual/plugins/images/ss-brickmania-128x96x16.png [new]
manual/plugins/images/ss-bubbles-128x96x16.png [new]
manual/plugins/images/ss-calculator-128x96x16.png [new]
manual/plugins/images/ss-calendar-128x96x16.png [new]
manual/plugins/images/ss-chess_clock-128x96x16.png [new]
manual/plugins/images/ss-chessbox-128x96x16.png [new]
manual/plugins/images/ss-chopper-128x96x16.png [new]
manual/plugins/images/ss-clix-128x96x16.png [new]
manual/plugins/images/ss-clock-128x96x16.png [new]
manual/plugins/images/ss-codebuster-128x96x16.png [new]
manual/plugins/images/ss-cube-128x96x16.png [new]
manual/plugins/images/ss-demystify-128x96x16.png [new]
manual/plugins/images/ss-doom-128x96x16.png [new]
manual/plugins/images/ss-fft-128x96x16.png [new]
manual/plugins/images/ss-fire-128x96x16.png [new]
manual/plugins/images/ss-fireworks-128x96x16.png [new]
manual/plugins/images/ss-flipit-128x96x16.png [new]
manual/plugins/images/ss-goban-128x96x16.png [new]
manual/plugins/images/ss-jackpot-128x96x16.png [new]
manual/plugins/images/ss-jewels-128x96x16.png [new]
manual/plugins/images/ss-mandelbrot-128x96x16.png [new]
...and 41 more files.
Szymon Dziok
8th Sep 13:47 0ff739c G#952: Fix typo in fuze+ deadzone manual entry
manual/configure_rockbox/system_options.tex [diff]
Benjamin Brown
8th Sep 17:54 f9bd722: Manual: Delete another three duplicated and unused files. Fix one filename.
manual/plugins/images/ss-equalizer-240x400x16.png [deleted]
manual/plugins/images/ss-generalsettings-240x400x16.png [deleted]
manual/plugins/images/ss-mainmenu-240x400x16.png [deleted]
manual/plugins/images/ss-text_viewer-main-240x400x16.png [new]
manual/plugins/images/ss-textviewer-240x400x16.png [deleted]
Szymon Dziok
8th Sep 14:42 593ef7d: Manual: delete unnecessary image.

The same file is under group of images called "ss-mandelbrot".
manual/plugins/images/ss-fractals-96x96x16.png [deleted]
Szymon Dziok
8th Sep 14:04 4c6939f: Correct some file permissions.
apps/gui/skin_engine/skin_display.c [diff]
apps/keymaps/keymap-clip.c [diff]
apps/playlist.c [diff]
manual/getting_started/sansaAMS_install.tex [diff]
manual/platform/keymap-sansaclip.tex [diff]
manual/plugins/stopwatch.tex [diff]
Szymon Dziok
8th Sep 13:23 c986655: Correction of the Sliding puzzle on Samsung YH-820.
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/sliding_puzzle.96x96x16.bmp [new]
Szymon Dziok
8th Sep 12:02 5e0baf2: Bubbles: make it work on Samsung YH-820 and align it on the occasion on Cowon M3.
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/bubbles_emblem.128x96x16.bmp [new]
apps/plugins/bubbles.c [diff]
Szymon Dziok
29th Aug 02:50 e312101 G#939: Add touchpad deadzone entry in Rockbox manual
manual/configure_rockbox/system_options.tex [diff]
manual/platform/sansafuzeplus.tex [diff]
Benjamin Brown
2013-12-01 8146b40 G#677: Fuze+: add a configurable deadzone area for touchpad buttons

To stop erroneous button presses, allow users to add a deadzone between the button via the Settings > General > System menu > Touch Dead Zone.

The configuration was chosen this way: the touchpad has the same DPI in both direction so the setting applies the same on both the X and Y axis. The setting ranges from 0 to 100 and is internally multiplied by 2 giving a maximum deadzone of 2*100 = 200 around each button, which account for 400 total (once around each button), effectively reducing each virtual button from 1000x600 to 600x200 when using the maximum value.

Tested: Benjamin Brown
apps/features.txt [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/button-target.h [diff]
Amaury Pouly
8th Sep 09:12 847106c: hwstub: add support for jump/call in library
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
Amaury Pouly
8th Sep 09:07 d815c26: hwstub: implement jump/call in stub
utils/hwstub/stub/main.c [diff]
Amaury Pouly
8th Sep 08:50 6cc057f: hwstub: trivial changes
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
7th Sep 10:12 3c55812: sbtools: add option to ignore sha1 errors
utils/imxtools/sbtools/sb.c [diff]
utils/imxtools/sbtools/sb.h [diff]
utils/imxtools/sbtools/sbtoelf.c [diff]
Amaury Pouly
7th Sep 10:11 6957966: hwstub: fix compile issue
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
9th Aug 16:39 ef0299c: qeditor: add soc panel, to display soc information
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
9th Aug 16:39 3daa6d6: qeditor: use hwstub library function to identify devices

The new protocol is interface based, so matching PID:VID is not sufficient
utils/regtools/qeditor/backend.cpp [diff]
Amaury Pouly
9th Aug 16:35 ac5ba89: hwstub: library now check version on open
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
Amaury Pouly
9th Aug 16:35 29de342: hwstub: add string version
utils/hwstub/hwstub_protocol.h [diff]
Amaury Pouly
5th Aug 16:19 0c7c54e: hwstub_shell: add support for set/clr/tog without SCT using read and write
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
5th Aug 16:18 6d13d9b: hwstub: fix missing \n
utils/hwstub/stub/pp/target.c [diff]
Amaury Pouly
5th Aug 16:18 d3df564: hwstub: fix horrible bug
utils/hwstub/stub/main.c [diff]
Amaury Pouly
5th Aug 16:18 dd05dc7: hwstub: don't put revision in the protocol, it's specific to the implementation
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/protocol.h [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
Amaury Pouly
4th Aug 18:26 43ca127: hwstub: fix library to actually work and compile, still miss some functions
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/lib/hwstub.c [diff]
Amaury Pouly
25th May 14:06 12ce7fc: hwstub: remove protocol to make it use its own interface

This way, hwstub can be implemented along with other usb features/interfaces.
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
utils/hwstub/stub/main.c [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
25th May 14:04 1dc1a93: sbtools: use default transfer size if it cannot be probed

A older commit removed this ability but it tends to be a problem since the HID driver can prevent probing of transfer size which then needs to be entered by hand on the command line.
utils/imxtools/sbtools/sbloader.c [diff]
Amaury Pouly
2013-04-09 50778c8 G#434: optimize WSPLL work for iriver h100 and h300 series

For Iriver h100 & h300 series we don't need always use WSPLL, because in most cases WSPLL clock and SYSCLK has the same value, and we have additional WSPLL errors to the output clock. Now that is fixed.
firmware/drivers/audio/uda1380.c [diff]
Dmitry Gamza
4th Sep 12:16 489c9a6: Updated pictures of the YH's for the manual.

SVG changes: fixed some quirks in Samsung logo, aligned text, cleanup.
manual/rockbox_interface/images/yh820-front.pdf [new]
manual/rockbox_interface/images/yh820-front.png [new]
manual/rockbox_interface/images/yh820-front.svg [diff]
manual/rockbox_interface/images/yh920-front.pdf [new]
manual/rockbox_interface/images/yh920-front.png [new]
manual/rockbox_interface/images/yh920-front.svg [diff]
manual/rockbox_interface/images/yh925-front.pdf [new]
manual/rockbox_interface/images/yh925-front.png [new]
manual/rockbox_interface/images/yh925-front.svg [diff]
Szymon Dziok
2nd Sep 20:31 21373e9: hwpatcher: add generic RKW file patching script

This script is handy hacking tool to patch RKW file with arbitrary binary and put jump into implanted code. It also shows how to use hwstub crc routine.
utils/hwpatcher/rkwpatch.lua [new]
Marcin Bukat
2nd Sep 13:57 0a66545: Clean up a bit and get switch statement out of loop in walk_path()

It's nicer to look at and it obfuscated a bug where it should have exited the loop instead of the case (you probably wouldn't observe the effect very often).
firmware/common/file_internal.c [diff]
Michael Sevakis
31th Aug 22:00 802e011: Fix a small late creep-in goof in path parsing on native targets

Anything of one dot and one character (e.g. ".a") would get treated as
"." because I left out a condition when converting to recursionless parsing of relative components. Git 'er fixed up.
firmware/common/file_internal.c [diff]
Michael Sevakis
30th Aug 09:28 5b08f1a: Remove I/O priority. It is harmful when used with the new file code.

HAVE_IO_PRIORITY was defined for native targets with dircache.

It is already effectively disabled for the most part since dircache no longer lowers its thread's I/O priority. It existed primarily for the aforementioned configuration.
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/codec_thread.c [diff]
apps/playback.c [diff]
firmware/export/config.h [diff]
firmware/kernel/include/thread.h [diff]
firmware/kernel/thread-internal.h [diff]
firmware/kernel/thread.c [diff]
firmware/storage.c [diff]
Michael Sevakis
29th Aug 23:47 5d31d3c: Fix last warning for Warble

Unused result warnings will have to be dealt with separately.
lib/rbcodec/test/file.h [diff]
Michael Sevakis
29th Aug 23:08 da4938d: Get the last errors I hope!
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
lib/rbcodec/rbcodecplatform-unix.h [diff]
lib/rbcodec/test/SOURCES [diff]
lib/rbcodec/test/file.h [new]
lib/rbcodec/test/warble.c [diff]
uisimulator/common/sim_tasks.c [diff]
Michael Sevakis
29th Aug 21:36 f3d60ae: Hopefully fix most of the errors and warnings from the last push
bootloader/iaudio_coldfire.c [diff]
firmware/common/file_internal.c [diff]
firmware/common/unicode.c [diff]
firmware/export/config.h [diff]
firmware/include/string-extra.h [diff]
firmware/storage.c [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/hosted/filesystem-hosted.h [diff]
Michael Sevakis
26th Aug 21:11 17a007b: Add normal alloca() definition and implement a strdupa and friends
firmware/include/string-extra.h [diff]
firmware/libc/include/stdlib.h [diff]
firmware/target/hosted/system-hosted.h [diff]
Michael Sevakis
6th Aug 02:26 77b3625: Add mempcpy implementation

A GNU extension that returns dst + size instead of dst. It's a nice shortcut when copying strings with a known size or back-to-back blocks and you have to do it often.

May of course be called directly or alternately through __builtin_mempcpy in some compiler versions.

For ASM on native targets, it is implemented as an alternate entrypoint to memcpy which adds minimal code and overhead.
firmware/asm/SOURCES [diff]
firmware/asm/arm/memcpy.S [diff]
firmware/asm/m68k/memcpy.S [diff]
firmware/asm/mempcpy.c [new]
firmware/asm/mips/memcpy.S [diff]
firmware/asm/sh/memcpy.S [diff]
firmware/include/string-extra.h [diff]
firmware/libc/include/string.h [diff]
Michael Sevakis
2013-08-05 7d1a47c G#566: Rewrite filesystem code (WIP)

This patch redoes the filesystem code from the FAT driver up to the clipboard code in onplay.c.

Not every aspect of this is finished therefore it is still "WIP". I don't wish to do too much at once (haha!). What is left to do is get dircache back in the sim and find an implementation for the dircache indicies in the tagcache and playlist code or do something else that has the same benefit. Leaving these out for now does not make anything unusable. All the basics are done.

Phone app code should probably get vetted (and app path handling just plain rewritten as environment expansions); the SDL app and Android run well.

Main things addressed: 1) Thread safety: There is none right now in the trunk code. Most of what currently works is luck when multiple threads are involved or multiple descriptors to the same file are open.

2) POSIX compliance: Many of the functions behave nothing like their counterparts on a host system. This leads to inconsistent code or very different behavior from native to hosted. One huge offender was rename(). Going point by point would fill a book.

3) Actual running RAM usage: Many targets will use less RAM and less stack space (some more RAM because I upped the number of cache buffers for large memory). There's very little memory lying fallow in rarely-used areas (see 'Key core changes' below). Also, all targets may open the same number of directory streams whereas before those with less than 8MB RAM were limited to 8, not 12 implying those targets will save slightly less.

4) Performance: The test_disk plugin shows markedly improved performance, particularly in the area of (uncached) directory scanning, due partly to more optimal directory reading and to a better sector cache algorithm. Uncached times tend to be better while there is a bit of a slowdown in dircache due to it being a bit heavier of an implementation. It's not noticeable by a human as far as I can say.

Key core changes: 1) Files and directories share core code and data structures.

2) The filesystem code knows which descriptors refer to same file. This ensures that changes from one stream are appropriately reflected in every open descriptor for that file (fileobj_mgr.c).

3) File and directory cache buffers are borrowed from the main sector cache. This means that when they are not in use by a file, they are not wasted, but used for the cache. Most of the time, only a few of them are needed. It also means that adding more file and directory handles is less expensive. All one must do in ensure a large enough cache to borrow from.

4) Relative path components are supported and the namespace is unified. It does not support full relative paths to an implied current directory; what is does support is use of "." and "..". Adding the former would not be very difficult. The namespace is unified in the sense that volumes may be specified several times along with relative parts, e.g.:
"/<0>/foo/../../<1>/bar" :<=> "/<1>/bar".

5) Stack usage is down due to sharing of data, static allocation and less duplication of strings on the stack. This requires more serialization than I would like but since the number of threads is limited to a low number, the tradoff in favor of the stack seems reasonable.

6) Separates and heirarchicalizes (sic) the SIM and APP filesystem code. SIM path and volume handling is just like the target. Some aspects of the APP file code get more straightforward (e.g. no path hashing is needed).

Dircache: Deserves its own section. Dircache is new but pays homage to the old. The old one was not compatible and so it, since it got redone, does all the stuff it always should have done such as:

1) It may be update and used at any time during the build process. No longer has one to wait for it to finish building to do basic file management (create, remove, rename, etc.).

2) It does not need to be either fully scanned or completely disabled; it can be incomplete (i.e. overfilled, missing paths), still be of benefit and be correct.

3) Handles mounting and dismounting of individual volumes which means a full rebuild is not needed just because you pop a new SD card in the slot. Now, because it reuses its freed entry data, may rebuild only that volume.

4) Much more fundamental to the file code. When it is built, it is the keeper of the master file list whether enabled or not ("disabled" is just a state of the cache). Its must always to ready to be started and bind all streams opened prior to being enabled.

5) Maintains any short filenames in OEM format which means that it does not need to be rebuilt when changing the default codepage.

Miscellaneous Compatibility: 1) Update any other code that would otherwise not work such as the hotswap mounting code in various card drivers.

2) File management: Clipboard needed updating because of the behavioral changes. Still needs a little more work on some finer points.

3) Remove now-obsolete functionality such as the mutex's "no preempt" flag (which was only for the prior FAT driver).

4) struct dirinfo uses time_t rather than raw FAT directory entry time fields. I plan to follow up on genericizing everything there
(i.e. no FAT attributes).

5) unicode.c needed some redoing so that the file code does not try try to load codepages during a scan, which is actually a problem with the current code. The default codepage, if any is required, is now kept in RAM separarately (bufalloced) from codepages specified to iso_decode() (which must not be bufalloced because the conversion may be done by playback threads).

Brings with it some additional reusable core code: 1) Revised file functions: Reusable code that does things such as safe path concatenation and parsing without buffer limitations or data duplication. Variants that copy or alter the input path may be based off these.

To do: 1) Put dircache functionality back in the sim. Treating it internally as a different kind of file system seems the best approach at this time.

2) Restore use of dircache indexes in the playlist and database or something effectively the same. Since the cache doesn't have to be complete in order to be used, not getting a hit on the cache doesn't unambiguously say if the path exists or not.

Tested: Michael Sevakis
apps/bookmark.c [diff]
apps/codecs.c [diff]
apps/debug_menu.c [diff]
apps/filetree.c [diff]
apps/main.c [diff]
apps/menus/display_menu.c [diff]
apps/menus/main_menu.c [diff]
apps/menus/settings_menu.c [diff]
apps/misc.c [diff]
apps/onplay.c [diff]
apps/playlist.c [diff]
apps/playlist_catalog.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/properties.c [diff]
apps/radio/presets.c [diff]
apps/radio/radioart.c [diff]
apps/recorder/albumart.c [diff]
apps/recorder/recording.c [diff]
apps/root_menu.c [diff]
apps/scrobbler.c [diff]
apps/settings.c [diff]
apps/settings_list.c [diff]
apps/shortcuts.c [diff]
apps/tagcache.c [diff]
apps/tree.c [diff]
bootloader/creativezvm.c [diff]
bootloader/gigabeat-s.c [diff]
bootloader/gigabeat.c [diff]
bootloader/iaudio_coldfire.c [diff]
...and 101 more files.
Michael Sevakis
28th Aug 08:26 95a4c3a: Fix up the bootloaders

They can't access the raw RBVERSION define any longer.
bootloader/creativezvm.c [diff]
bootloader/gigabeat-s.c [diff]
bootloader/gigabeat.c [diff]
bootloader/iaudio_coldfire.c [diff]
bootloader/imx233.c [diff]
bootloader/ipod.c [diff]
bootloader/ipodnano2g.c [diff]
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
bootloader/main-e200r-installer.c [diff]
bootloader/main-pp.c [diff]
bootloader/mini2440.c [diff]
bootloader/mpio_hd200_hd300.c [diff]
bootloader/mrobe500.c [diff]
bootloader/ondavx747.c [diff]
bootloader/rk27xx.c [diff]
bootloader/sansaconnect.c [diff]
bootloader/show_logo.c [diff]
bootloader/telechips.c [diff]
Michael Sevakis
27th Aug 18:47 21e2b59 G#937: Prevent spurious recompiles on account of changed version.

After a local commit, any file that included version.h would have to be recompiled on account of the changed version string. This changes version.h in the build directory to rbversion.h and includes the preprocessor macro from rbversion.h in firmware/common/version.c so that only that one file needs to be recompiled after a local commit rather than a whole slew of them.

Tested: Michael Sevakis
firmware/common/version.c [diff]
firmware/firmware.make [diff]
firmware/include/version.h [new]
tools/genversion.sh [diff]
Michael Sevakis
26th Aug 13:53 25f73d6: Patch up rbendian.h for Win32 cross-compile

MingW doesn't provide that stuff.
firmware/include/rbendian.h [diff]
Michael Sevakis
13th Aug 10:46 69df565 G#911: hwpatcher: add framework for CRC computation
utils/hwpatcher/hwpatcher.c [diff]
utils/hwpatcher/lib.lua [diff]
Amaury Pouly
25th Aug 12:07 bfbec3a: Remove unused return value variable in lib/unwarminder/backtrace.c

Stop the Android warning about it
lib/unwarminder/backtrace.c [diff]
Michael Sevakis
25th Aug 11:55 2cb274c: panicf doesn't return so why not tell GCC and $AVE :
firmware/export/panic.h [diff]
firmware/kernel/thread.c [diff]
firmware/panic.c [diff]
Michael Sevakis
24th Aug 17:46 6ffb8ff: Do a better endian.h setup that isn't as fragile

We redefine the top-level macros to our own in order to maintain compatibility with compound initializers by wrapping the mid or low level definitions from the OS header.

This allows, hopefully optimized, macros from the host OS's headers to be used when building any hosted target obviating the need for NEED_GENERIC_BYTESWAPS unless the target simply doesn't define its own optimized versions (MIPS!).

Throw in some 64-bit swaps for completeness' sake; they generate no code if not yet used anyway.
firmware/export/system.h [diff]
firmware/include/rbendian.h [new]
firmware/libc/include/endian.h [new]
Michael Sevakis
19th Aug 11:47 d3cf366 G#916: Fuze+: fixed brightness settings: previously there were 81 settings for only 26 possible brightnesses, now there are 33 for 33
firmware/export/config/sansafuzeplus.h [diff]
firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c [diff]
Avi Eisenberg
22nd Aug 06:56 223038d G#921: Ukrainian language update
apps/lang/ukrainian.lang [diff]
docs/CREDITS [diff]
Kyryljan_Serhij
22nd Aug 22:39 1bc89bd: One last missing !defined(SIMULATOR) for chip8
apps/plugins/chip8.c [diff]
Frank Gevaerts
22nd Aug 16:23 e1c09cd G#926: Hope this works...
apps/plugins/chip8.c [diff]
Franklin Wei
22nd Aug 15:52 7e46440 G#923: Yellow go bye-bye
apps/plugins/chip8.c [diff]
Franklin Wei
19th Aug 19:47 8f9bd98 G#919: Fixed a chip8 bug
apps/plugins/chip8.c [diff]
Franklin Wei
20th Aug 03:58 5fb3702: Make sure load_context is the last thing in switch_thread.

This should fix the android crash issue (fingers crossed).
firmware/kernel/thread.c [diff]
Michael Sevakis
19th Aug 14:48 9fed5fd G#918: Added Clip/+ to 2048 targets
apps/plugins/SOURCES [diff]
Franklin Wei
19th Aug 13:20 7ac0056 G#917: 2048: service pack 1 :)
- fixed some bugs
- added 1-bit LCD support
apps/plugins/2048.c [diff]
Franklin Wei
18th Aug 07:44 a9713d8: thread-unix patchup!

The changed thread code may not wish to save the old context under certain circumstances but thread-unix.c assumed it would, cached it and used it unconditionally.

Also, prevent it from leaking away all the jump buffers (old problem). Creating and removing threads would eventually run it out of buffers and then it would crash after that. Plugins, like Pictureflow, which have worker threads could only be started a few times. Implement a simple O(1) allocator that will reuse them and stays self-contained to its own types (as it appears the original author intended).
firmware/asm/thread-unix.c [diff]
Michael Sevakis
17th Aug 19:56 ec844f8 G#915: Always unboost at exit
apps/plugins/2048.c [diff]
Avi Eisenberg
16th Aug 04:37 030f51c: Oops. Broke an egg. Restore wrongly removed code in mutex.c.

Nice colorful diffs reveals some lines that should NOT have been removed when !defined(HAVE_PRIORITY_SCHEDULING) in mutex_unlock.
firmware/kernel/mutex.c [diff]
Michael Sevakis
16th Aug 03:52 528715a: Fix warnings from 6ed0087

Forgot to (void) an unused parameter when priorityless.

usb-drv-rl27xx.c was using a compound init to initialize a semaphore but the structure changed so that it is no longer correct. Use designated initializers to avoid having to complete all fields.

Forgot to break compatibility on all plugins and codecs since the kernel objects are now different. Take care of that too and do the sort thing.
apps/plugin.c [diff]
apps/plugin.h [diff]
firmware/kernel/thread.c [diff]
firmware/target/arm/rk27xx/usb-drv-rk27xx.c [diff]
lib/rbcodec/codecs/codecs.h [diff]
Michael Sevakis
8th Aug 04:33 6ed0087: Base scheduler queues off linked lists and do cleanup/consolidation

Abstracts threading from itself a bit, changes the way its queues are handled and does type hiding for that as well.

Do alot here due to already required major brain surgery.

Threads may now be on a run queue and a wait queue simultaneously so that the expired timer only has to wake the thread but not remove it from the wait queue which simplifies the implicit wake handling.

List formats change for wait queues-- doubly-linked, not circular. Timeout queue is now singly-linked. The run queue is still circular as before.

Adds a better thread slot allocator that may keep the slot marked as used regardless of the thread state. Assists in dumping special tasks that switch_thread was tasked to perform (blocking tasks).

Deletes alot of code yet surprisingly, gets larger than expected. Well, I'm not not minding that for the time being-- omlettes and break a few eggs and all that.
apps/debug_menu.c [diff]
firmware/asm/m68k/thread.c [diff]
firmware/export/system.h [diff]
firmware/kernel/include/mrsw_lock.h [diff]
firmware/kernel/include/mutex.h [diff]
firmware/kernel/include/queue.h [diff]
firmware/kernel/include/semaphore.h [diff]
firmware/kernel/include/thread.h [diff]
firmware/kernel/mrsw_lock.c [diff]
firmware/kernel/mutex.c [diff]
firmware/kernel/pthread/thread.c [diff]
firmware/kernel/queue.c [diff]
firmware/kernel/semaphore.c [diff]
firmware/kernel/thread-common.c [diff]
firmware/kernel/thread-internal.h [diff]
firmware/kernel/thread.c [diff]
firmware/libc/errno.c [diff]
firmware/target/arm/pp/app-pp.lds [diff]
firmware/target/arm/pp/thread-pp.c [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
Michael Sevakis
28th Apr 08:17 eb63d8b: Add common linked list functions

Forms implemented to a greater or lesser degree at the moment: ll_* = singly-linked list lld_* = doubly-linked list lldc_* = doubly-linked circular list
firmware/SOURCES [diff]
firmware/common/linked_list.c [new]
firmware/include/linked_list.h [new]
Michael Sevakis
13th Aug 10:44 278e866: hwpatcher: fix horrible typo in the makefile
utils/hwpatcher/Makefile [diff]
Amaury Pouly
11th Jul 10:38 df99ef2 G#893: Added highscore highlight to xobox game
apps/plugins/xobox.c [diff]
Franklin Wei
29th Jun 12:49 b61553c G#888: Added 2048 game

Tested: Michael Giacomelli
apps/plugins/2048.c [new]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/_2048_background.103x103x24.bmp [new]
apps/plugins/bitmaps/native/_2048_background.121x121x24.bmp [new]
apps/plugins/bitmaps/native/_2048_background.168x168x24.bmp [new]
apps/plugins/bitmaps/native/_2048_background.224x224x24.bmp [new]
apps/plugins/bitmaps/native/_2048_background.56x56x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.12x12x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.22x22x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.26x26x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.36x36x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.48x48x24.bmp [new]
docs/CREDITS [diff]
manual/plugins/2048.tex [new]
manual/plugins/main.tex [diff]
Franklin Wei
8th Aug 01:23 9a3400a: Fix some more straggling stuff

* HWCODEC bootloaders

* Remove references to thread structures outside the kernel. They are private and should not be used elsewhere. The mrobe-100 is an offender that gets squashed.

* The ata.c hack stuff for large sector disks on iPod Video gets squashed for the same reason. I will no longer maintain it, period; please find the real reason for its difficulties.
firmware/drivers/ata.c [diff]
firmware/kernel/thread.c [diff]
firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c [diff]
firmware/target/arm/pp/thread-pp.c [diff]
flash/bootbox/main.c [diff]
Michael Sevakis
8th Aug 00:28 4ea4cdf: Bootloaders need the reacharound to get at the internal goods

They need to include kernel-internal.h in order to perform inits.
bootloader/creativezvm.c [diff]
bootloader/gigabeat-s.c [diff]
bootloader/gigabeat.c [diff]
bootloader/iaudio_coldfire.c [diff]
bootloader/imx233.c [diff]
bootloader/ipod.c [diff]
bootloader/ipodnano2g.c [diff]
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
bootloader/lyre_proto1.c [diff]
bootloader/main-e200r-installer.c [diff]
bootloader/main-pp.c [diff]
bootloader/main-ppsansawipe.c [diff]
bootloader/meizu_m3.c [diff]
bootloader/mini2440.c [diff]
bootloader/mpio_hd200_hd300.c [diff]
bootloader/mrobe500.c [diff]
bootloader/ondavx747.c [diff]
bootloader/rk27xx.c [diff]
bootloader/samsung_yps3.c [diff]
bootloader/sansa_as3525.c [diff]
bootloader/sansaconnect.c [diff]
bootloader/sansaview.c [diff]
bootloader/telechips.c [diff]
Michael Sevakis
7th Aug 23:39 981d028: Do some kernel cleanup

* Seal away private thread and kernel definitions and declarations into the internal headers in order to better hide internal structure.

* Add a thread-common.c file that keeps shared functions together. List functions aren't messed with since that's about to be changed to different ones.

* It is necessary to modify some ARM/PP stuff since GCC was complaining about constant pool distance and I would rather not force dump it. Just bl the cache calls in the startup and exit code and let it use veneers if it must.

* Clean up redundant #includes in relevant areas and reorganize them.

* Expunge useless and dangerous stuff like remove_thread().
apps/debug_menu.c [diff]
apps/main.c [diff]
firmware/SOURCES [diff]
firmware/asm/arm/thread.c [diff]
firmware/kernel/include/corelock.h [diff]
firmware/kernel/include/kernel.h [diff]
firmware/kernel/include/mrsw_lock.h [diff]
firmware/kernel/include/mutex.h [diff]
firmware/kernel/include/semaphore.h [diff]
firmware/kernel/include/thread.h [diff]
firmware/kernel/kernel-internal.h [diff]
firmware/kernel/mrsw_lock.c [diff]
firmware/kernel/mutex.c [diff]
firmware/kernel/pthread/thread.c [diff]
firmware/kernel/queue.c [diff]
firmware/kernel/semaphore.c [diff]
firmware/kernel/thread-common.c [new]
firmware/kernel/thread-internal.h [diff]
firmware/kernel/thread.c [diff]
firmware/libc/errno.c [diff]
firmware/target/arm/pp/thread-pp.c [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
Michael Sevakis
7th Aug 17:09 53d9f2e: rkwtool: The tool to inspect and extract update RKW files
utils/rk27utils/README [diff]
utils/rk27utils/rkwtool/Makefile [new]
utils/rk27utils/rkwtool/main.c [new]
utils/rk27utils/rkwtool/rkw.c [new]
utils/rk27utils/rkwtool/rkw.h [new]
Marcin Bukat
6th Aug 00:10 81ffd9b: Fix some stuff for no priority and

thread_queue_wake() doesn't need the 2nd parameter. The original purpose for it never came to be.

Non priority version mrsw_writer_wakeup_readers was left improperly finished. Get that back into line.
firmware/kernel/include/thread.h [diff]
firmware/kernel/mrsw_lock.c [diff]
firmware/kernel/queue.c [diff]
firmware/kernel/thread.c [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
Michael Sevakis
5th Aug 20:19 e7e302f: One more shot; errno.h needs to be in the ARM one too :)
firmware/asm/arm/thread.h [diff]
Michael Sevakis
5th Aug 20:05 0615cb8: Hosted builds using thread.c have errno as thread context.

Never came up testing but I don't have those SDKs installed. Taking a jab at it.
firmware/asm/thread.h [diff]
Michael Sevakis
5th Aug 19:19 29f5385: Fix up some more red

find_first_set_bit() becomes a small inline on ARMv5+ and checkwps now gets made with -std=gnu99 (it eats all the GCCOPTS) like the rest of things.
apps/gui/viewport.h [diff]
firmware/export/system.h [diff]
tools/checkwps/checkwps.make [diff]
Michael Sevakis
5th Aug 19:00 bb77009: Oops. Somehow lost the track of the new files last push.
firmware/kernel/include/mrsw_lock.h [new]
firmware/kernel/mrsw_lock.c [new]
Michael Sevakis
24th Apr 02:09 533d396 G#801: Add multi-reader, single-writer locks to kernel.

Any number of readers may be in the critical section at a time and writers are mutually exclusive to all other threads. They are a better choice when data is rarely modified but often read and multiple threads can safely access it for reading.

Priority inheritance is fully implemented along with other changes to the kernel to fully support it on multiowner objects.

This also cleans up priority code in the kernel and updates some associated structures in existing objects to the cleaner form.

Currently doesn't add the mrsw_lock.[ch] files since they're not yet needed by anything but the supporting improvements are still useful.

This includes a typed bitarray API (bitarray.h) which is pretty basic for now.

Tested: Michael Sevakis
firmware/SOURCES [diff]
firmware/include/bitarray.h [new]
firmware/kernel/include/kernel.h [diff]
firmware/kernel/include/mutex.h [diff]
firmware/kernel/include/queue.h [diff]
firmware/kernel/include/thread.h [diff]
firmware/kernel/mutex.c [diff]
firmware/kernel/queue.c [diff]
firmware/kernel/semaphore.c [diff]
firmware/kernel/thread.c [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
Michael Sevakis
2nd Aug 19:34 6536f1d G#903: Russian language update
apps/lang/russian.lang [diff]
Kyryljan_Serhij
30th Jul 12:29 78f4f7b: Make crosstool-ng build with gnu make 4.0
tools/rockboxdev.sh [diff]
Frank Gevaerts
28th Jul 20:02 86fa139: Support for remote on Samsung YH920/YH925.

Remote buttons are bound to the standard buttons in button-target.h, but they can have a separate buttonmap, if someone wants.
firmware/target/arm/pp/system-pp502x.c [diff]
firmware/target/arm/samsung/adc-target.h [diff]
firmware/target/arm/samsung/button-target.h [diff]
firmware/target/arm/samsung/button-yh82x_yh92x.c [diff]
Szymon Dziok
27th Jul 09:36 228c47b: Samsung YH-925: Don't add anything to adc value while reading it.

OF doesn't do such thing. Values in mV are converted proportionally, so no change to the battery meter.
firmware/target/arm/pp/adc-pp5020.c [diff]
firmware/target/arm/samsung/yh925/powermgmt-yh925.c [diff]
Szymon Dziok
27th Jul 08:42 f74edac: Samsung YH-920: Proper values for battery monitoring, based on the OF formula.
firmware/target/arm/pp/adc-pp5020.c [diff]
firmware/target/arm/samsung/yh920/powermgmt-yh920.c [diff]
Szymon Dziok
27th Jul 16:28 eaaff26: Slovak language update

Signed-off-by: Bertrik Sikken
apps/lang/slovak.lang [diff]
Peter Lecký
27th May 16:07 7e778c5 G#824: Samsung YH-820: enable battery monitoring

The "percent_to_volt_charge" values are quite arbitrary and may need some more tweaking.

Tested: Szymon Dziok
firmware/export/config/samsungyh820.h [diff]
firmware/target/arm/pp/adc-pp5020.c [diff]
firmware/target/arm/samsung/yh820/powermgmt-yh820.c [diff]
Sebastian Leonhardt
26th Jul 13:38 6bbfb35: SA9200: Implement clicker.

It's not integrated with key click option for now.
firmware/target/arm/philips/sa9200/button-sa9200.c [diff]
firmware/target/arm/pp/system-pp502x.c [diff]
Szymon Dziok
13th Jul 22:10 3f2c525: Reduce definitions of actions for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
13th Jul 21:56 e3476f0: MPIO HD200: Fix action for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
13th Jul 21:48 facf708: HDD1630/HDD6330: Add actions for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
12th Jul 14:31 fb373e1: Ak4537: Optimization of the code.
firmware/drivers/audio/ak4537.c [diff]
Szymon Dziok
12th Jul 12:19 f734eed: Disable detection of fm radio for the YH920, it's pointless.
firmware/drivers/tuner/tea5767.c [diff]
Szymon Dziok
23rd Jul 20:08 345841a: rk27load: stage1 dram config fix #2
utils/rk27utils/rk27load/stage1/main.S [diff]
Marcin Bukat
23rd Jul 10:32 dcd8172: rk27load: fix stage1 dram config bug
utils/rk27utils/rk27load/stage1/main.S [diff]
Marcin Bukat
21st Jul 10:31 9fb6529 G#900: add supports for x,y value in percentage to several tags.

including BAR_PARAMS, %xl, %dr, %T,%St, %xl and %Cl
apps/gui/skin_engine/skin_parser.c [diff]
lib/skin_parser/tag_table.c [diff]
Chiwen Chang
17th Jul 14:31 7847807 G#895: SVG image of the Creative Zen Mozaic and other formats for the manual.
manual/rockbox_interface/images/zenmozaic-front.pdf [new]
manual/rockbox_interface/images/zenmozaic-front.png [new]
manual/rockbox_interface/images/zenmozaic-front.svg [new]
Szymon Dziok
17th Jul 08:40 e08331e: zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable plugins

Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size.
apps/plugins/battery_bench.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/oscilloscope.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/pong.c [diff]
apps/plugins/reversi/reversi-gui.h [diff]
...and 22 more files.
Amaury Pouly
17th Jul 08:29 2387d92: keymaps: cleanup

- remove useles define in pegbox
- improve keymap of nwz in mpegplayer
- fix whitespace alignement
apps/plugins/fft/fft.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/sudoku/sudoku.h [diff]
Amaury Pouly
13th Jul 12:16 8e8671a: libopus: use iram for more constants

Speeds up decoding of the 64 kbps test file by 2.59 MHz and the 128 kbps test file by 4.31 MHz on H300 (cf). Decoding the same files on c200 is sped up by 0.33 MHz and 0.55 MHz respectively.
lib/rbcodec/codecs/libopus/celt/cwrs.c [diff]
lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h [diff]
Nils Wallménius
13th Jul 09:49 888e05e: libopus: asm C_MUL for coldfire

The recent merge of upstream changed the fft to use C_MUL which wasn't implemented in asm for coldfire.

Speeds up decoding 64 kbps test file by 2.68 MHz and 128 kbps test file by 2.80 MHz on H300.
lib/rbcodec/codecs/libopus/celt/cf/kiss_fft_cf.h [diff]
Nils Wallménius
2014-01-19 9b7ec42: Sync to upstream libopus

Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c

This brings in a bunch of optimizations to decode speed and memory usage. Allocations are switched from using the pseudostack to using the real stack. Enabled hacks to reduce stack usage.

This should fix crashes on sansa clip, although some files will not play due to failing allocations in the codec buffer.

Speeds up decoding of the following test files:

H300 (cf) C200 (arm7tdmi) ipod classic (arm9e) 16 kbps (silk) 14.28 MHz 4.00 MHz 2.61 MHz 64 kbps (celt) 4.09 MHz 8.08 MHz 6.24 MHz 128 kbps (celt) 1.93 MHz 8.83 MHz 6.53 MHz
lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h [diff]
lib/rbcodec/codecs/libopus/celt/arch.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv4.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv5e.h [diff]
lib/rbcodec/codecs/libopus/celt/bands.c [diff]
lib/rbcodec/codecs/libopus/celt/bands.h [diff]
lib/rbcodec/codecs/libopus/celt/celt.c [diff]
lib/rbcodec/codecs/libopus/celt/celt.h [diff]
lib/rbcodec/codecs/libopus/celt/celt_decoder.c [diff]
lib/rbcodec/codecs/libopus/celt/cwrs.c [diff]
lib/rbcodec/codecs/libopus/celt/cwrs.h [diff]
lib/rbcodec/codecs/libopus/celt/entcode.c [diff]
lib/rbcodec/codecs/libopus/celt/entcode.h [diff]
lib/rbcodec/codecs/libopus/celt/entdec.c [diff]
lib/rbcodec/codecs/libopus/celt/entenc.c [diff]
lib/rbcodec/codecs/libopus/celt/fixed_generic.h [diff]
lib/rbcodec/codecs/libopus/celt/kiss_fft.c [diff]
lib/rbcodec/codecs/libopus/celt/kiss_fft.h [diff]
lib/rbcodec/codecs/libopus/celt/mdct.c [diff]
lib/rbcodec/codecs/libopus/celt/modes.h [diff]
lib/rbcodec/codecs/libopus/celt/pitch.c [diff]
lib/rbcodec/codecs/libopus/celt/pitch.h [diff]
lib/rbcodec/codecs/libopus/celt/rate.c [diff]
lib/rbcodec/codecs/libopus/celt/stack_alloc.h [diff]
lib/rbcodec/codecs/libopus/celt/static_modes_fixed.h [diff]
lib/rbcodec/codecs/libopus/celt/vq.c [diff]
lib/rbcodec/codecs/libopus/celt/vq.h [diff]
lib/rbcodec/codecs/libopus/config.h [diff]
lib/rbcodec/codecs/libopus/opus.c [diff]
lib/rbcodec/codecs/libopus/opus_decoder.c [diff]
...and 16 more files.
Nils Wallménius
4th Jul 06:39 e557951 G#891: crc-mi4: use const lookup table for crc

This doesn't touch external tools as I see no need for.

Tested: Sebastian Leonhardt
bootloader/main-e200r-installer.c [diff]
bootloader/main-pp.c [diff]
bootloader/main-ppsansawipe.c [diff]
firmware/common/crc32-mi4.c [diff]
firmware/include/crc32-mi4.h [diff]
firmware/target/arm/pp/mi4-loader.c [diff]
Marcin Bukat
2nd Jul 13:26 d188661: Finished SVG Image for Sansa Clip Zip.

Added labels and power button.

Original author: Marko Pahlke, FS #12602
manual/rockbox_interface/images/sansaclipzip-front.pdf [new]
manual/rockbox_interface/images/sansaclipzip-front.png [diff]
manual/rockbox_interface/images/sansaclipzip-front.svg [new]
Szymon Dziok
2nd Jul 08:20 a731780 G#889: SVG image of the Sony NWZ-E360 and other formats for the manual.
manual/rockbox_interface/images/nwze360-front.pdf [new]
manual/rockbox_interface/images/nwze360-front.png [new]
manual/rockbox_interface/images/nwze360-front.svg [new]
Szymon Dziok
1st Jul 15:25 8d754c0: Sony NWZ: calibrate discharge curves

The charging curve also need to be calibrated but that will be part of another commit.
firmware/target/arm/imx233/sony-nwz/powermgmt-nwze360.c [diff]
firmware/target/arm/imx233/sony-nwz/powermgmt-nwze370.c [diff]
Amaury Pouly
1st Jul 07:16 314516e: rolo: fix crc calculation for mi4

crc32gentab() which initilizes crc table was called in bootloader but not in main binary. Fix this temporary by always calling it in load_mi4(). The proper fix probably to switch to const table and drop runtime initialization.
firmware/target/arm/pp/mi4-loader.c [diff]
Marcin Bukat
30th Jun 18:24 c9816f5 G#879: Introduce plugin keymaps for the Sony NWZ Series
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/oscilloscope.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/pong.c [diff]
apps/plugins/reversi/reversi-gui.h [diff]
apps/plugins/rockblox.c [diff]
apps/plugins/rockboy/rockboy.c [diff]
...and 18 more files.
Nils Stec
30th Jun 18:57 6e575b6: sonynwz: fix backlight

Apparently the backlight driver is leaking current even when the PWM set to 0. This patch should greatly improve the battery life of the device.
firmware/target/arm/imx233/sony-nwz/backlight-nwz.c [diff]
Amaury Pouly
27th Jun 16:41 ae9b78e G#883: Plugins: remove defined keys which are never used
apps/plugins/doom/i_video.c [diff]
apps/plugins/pegbox.c [diff]
Amaury Pouly
30th Jun 15:58 79a56fa: Compile imxtools as gnu99 standard.

With current MinGW using c99 as standard the compiler causes problems with some types. Use gnu99 standard instead which doesn't do this.
rbutil/mkimxboot/Makefile [diff]
Dominik Riebeling
30th Jun 15:56 7de2a36: Add note about translations to MSVC build instructions.
rbutil/rbutilqt/msvc/README [diff]
Dominik Riebeling
30th Jun 15:53 d30c500: Make clean target work for MSVC dll Makefile on Windows.
rbutil/rbutilqt/msvc/Makefile [diff]
Dominik Riebeling
29th Jun 10:23 5877f7b: open_utf8: Actually use the result of read/write.

This silences warnings on some compilers but is anyway a good idea.
apps/misc.c [diff]
Thomas Martitz
19th Jun 17:46 7b377d2 G#877: skin_engine: kill scrolling if the buffer moves

I have a suspicion that if there is any scrolling skin lines when the buflib buffer moves it will cause the lcd code to crash.

This *hopefully* explains the random skin related crashed which have been reported.
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
28th Jun 21:11 7d62f81: Fix one more spot in the manual where the number of bands was not updated.
manual/configure_rockbox/sound_settings.tex [diff]
Michael Giacomelli
25th Jun 07:56 8bf1f04: Remove empty files
utils/hwpatcher/patch_viewbl.lua [deleted]
utils/hwpatcher/zen.lua [deleted]
Amaury Pouly
25th Jun 07:22 d9d2092: zen/zenxfi: fix config file comments
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenxfi.h [diff]
Amaury Pouly
24th Jun 16:04 c9a028c: Introduce hwpatcher, a tool to patch binaries

This tool is a scriptable (lua) tool to patch binaries, it supports:
- raw binary
- ELF
- SB(v1/v2) It also contains some basic routines to parse and generate useful arm/thumb code like jump or register load/store. This is very useful to take a firmware and patch an interrupt vector or some code to jump to an extra payload added to the binary. Examples are provided for several STMP based target which the payload is expected to be hwstub, and also for the Sansa View. A typical patcher usually requires three elements:
- the lua patcher itself
- the payload (hwstub for example)
- (optional) a small stub either to jump properly to the payload or determine under which circumstance to do the jump (hold a key for example)
utils/hwpatcher/Makefile [new]
utils/hwpatcher/Makefile.patch [new]
utils/hwpatcher/arm.lua [new]
utils/hwpatcher/creative.lua [new]
utils/hwpatcher/fuzep.lua [new]
utils/hwpatcher/fuzep_rb.lua [new]
utils/hwpatcher/generic_stmp.lua [new]
utils/hwpatcher/hwpatcher.c [new]
utils/hwpatcher/lib.lua [new]
utils/hwpatcher/md5.c [new]
utils/hwpatcher/md5.h [new]
utils/hwpatcher/patch.S [new]
utils/hwpatcher/patch_viewbl.lua [new]
utils/hwpatcher/view.lua [new]
utils/hwpatcher/zen.lua [new]
utils/hwpatcher/zxfi2.lua [new]
utils/hwpatcher/zxfi3.lua [new]
Amaury Pouly
22nd Jun 10:56 761f59c: zen/zenxfi: don't switch emi on cpu change to avoid screen flicker

On those targets, since the LCDIF cannot recover from underflow, changing the EMI frequency kills one frame and cause flicker.
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
22nd Jun 10:56 55c5c7e: imx233/emi: cleanup and don't change emi freq if not needed
firmware/target/arm/imx233/emi-imx233.c [diff]
firmware/target/arm/imx233/emi-imx233.h [diff]
Amaury Pouly
22nd Jun 10:56 3221951: fix whitespace
firmware/target/arm/imx233/creative-zen/lcd-zenxfistyle.c [diff]
Amaury Pouly
22nd Jun 10:55 d5591a2: zen/zenxfi: switch lcd driver to 24-bit mode
firmware/SOURCES [diff]
firmware/asm/SOURCES [diff]
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenxfi.h [diff]
firmware/target/arm/imx233/creative-zen/lcd-target.h [diff]
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenmozaic.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenv.c [diff]
tools/configure [diff]
Amaury Pouly
23rd Jun 21:47 cd4fb9e: fix sdlapp and ypr0 builds
firmware/export/config/samsungypr0.h [diff]
tools/configure [diff]
Thomas Martitz
20th Jun 22:49 8f6c779: Fix some build errors and warnings.
apps/plugins/logo.c [diff]
apps/recorder/bmp.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
Thomas Martitz
20th Jun 22:20 dbb7689: lcd-24bit: fix up previous commit a1842c0

* e200v2 shouldn't use 24bit (was just for testing)
* samsung ypr0/ypr1 should enable it but the correct number must be passed to bmp2rb
firmware/export/config/sansae200v2.h [diff]
tools/configure [diff]
Thomas Martitz
18th Jun 05:15 a1842c0: lcd-24bit: Introduce a 24-bit mid-level LCD driver

With LCD driver all calculation will be performed on RGB888 and the hardware/OS can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be good enough.The vast number of small changes is due to the fact that fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that it wouldnt fit into the 512k plugin buffer anymore (patches welcome).
apps/gui/color_picker.c [diff]
apps/gui/line.h [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/SOURCES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/fire.c [diff]
apps/plugins/fractals/mandelbrot_set.c [diff]
apps/plugins/imageviewer/jpeg/yuv2rgb.c [diff]
apps/plugins/imageviewer/ppm/ppm_decoder.c [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/lib/bmp_smooth_scale.c [diff]
apps/plugins/lib/osd.c [diff]
apps/plugins/lib/pluginlib_bmp.c [diff]
apps/plugins/lib/xlcd_draw.c [diff]
apps/plugins/logo.c [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/mpegplayer/alloc.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/pacbox/arcade.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/plasma.c [diff]
apps/plugins/rockblox.c [diff]
apps/plugins/rockboy/lcd-gb.h [diff]
apps/plugins/rockboy/lcd.c [diff]
apps/plugins/rockboy/sys_rockbox.c [diff]
apps/plugins/superdom.c [diff]
...and 19 more files.
Thomas Martitz
15th Jun 16:26 0250be1: lcd-16bit: Split out some functions to lcd-color-common.c

An upcoming lcd-24bit.c driver will re-use a lot of code from the 16bit drivers, so prepare for that.
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-color-common.c [new]
Thomas Martitz
14th Jun 22:21 e49dcbf: bitmaps: Use *x16.bmp also for upcoming 24bit targets (they are actually 24bit BMPs).
apps/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/SOURCES [diff]
Thomas Martitz
14th Jun 22:17 0267faf: bitmaps: Convert some bitmaps to 24bit BMP.
apps/bitmaps/native/rockboxlogo.128x40x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_header.160x24x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_header.176x28x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_header.220x40x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_header.240x40x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_header.320x40x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_pieces.12x12x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_pieces.16x16x16.bmp [diff]
apps/plugins/bitmaps/native/pegbox_pieces.24x24x16.bmp [diff]
apps/plugins/bitmaps/native/rockboxlogo.128x40x16.bmp [diff]
Thomas Martitz
20th Jun 18:41 ccf7c76: Fix bad path.
e200man/manual/configure_rockbox/sound_settings.tex [deleted]
Michael Giacomelli
20th Jun 18:34 8e55bd1: Add Q factor graphic to EQ settins in the manual.
manual/configure_rockbox/images/Q_factor.png [new]
manual/configure_rockbox/sound_settings.tex [diff]
Michael Giacomelli
20th Jun 18:17 b66fe78: Explain the EQ settings in the manual more carefully. Also, fix a leftover from when we still had 5 EQ bands.
e200man/manual/configure_rockbox/sound_settings.tex [new]
Michael Giacomelli
20th Jun 02:54 221c495: Fix a playback bug in shink_callback()

Invalid event data would be accessed if a play message isn't queued which will cause crash problems.

It came about in the addition of time-based resume.
apps/playback.c [diff]
Michael Sevakis
18th Jun 19:59 a77c6b9: Update dutch (nederlands) translation
apps/lang/nederlands.lang [diff]
Bertrik Sikken
17th Jun 21:13 eacd76c: Radio and radio recording for Samsung YH-920.

There is no simple method to detect radio through the 3-wire interface, so it's not implemented for the YH-925 for now. YH-920 always has a radio.
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
apps/radio/radio.c [diff]
firmware/SOURCES [diff]
firmware/drivers/audio/ak4537.c [diff]
firmware/drivers/tuner/tea5767.c [diff]
firmware/export/ak4537.h [diff]
firmware/export/config/samsungyh920.h [diff]
firmware/export/fmradio_3wire.h [new]
firmware/target/arm/pp/audio-pp.c [diff]
firmware/target/arm/samsung/fmradio-yh92x.c [new]
firmware/target/arm/samsung/power-yh82x_yh92x.c [diff]
Szymon Dziok
15th Jun 18:01 0c3dca1: Samsung YH820/YH92X: Improve recording.

Because of architecture of the codec it's always necessary to route the input signal from ADC to DAC, in order to have a control over the monitoring volume and in order to hear anything while recording.
firmware/drivers/audio/ak4537.c [diff]
Szymon Dziok
14th Jun 17:01 6363294: YH92x: Implement ATA power off.
firmware/export/config/samsungyh920.h [diff]
firmware/export/config/samsungyh925.h [diff]
firmware/target/arm/samsung/power-yh82x_yh92x.c [diff]
Szymon Dziok
14th Jun 15:47 81db2f5: YH92x: Use the led near the lcd as the ATA led, instead of shine all the time.
firmware/drivers/led.c [diff]
firmware/export/config/samsungyh920.h [diff]
firmware/export/config/samsungyh925.h [diff]
Szymon Dziok
14th Jun 11:56 7107f0a: HDD1630: Add keymap for recording.
apps/keymaps/keymap-hdd1630.c [diff]
Szymon Dziok
15th Jun 10:53 f8785c8: hwstub: load rk27xx specific bits
utils/hwstub/tools/lua/load.lua [diff]
Marcin Bukat
15th Jun 10:53 4f950e0: hwstub: Add support for rk27xx lradc block
utils/hwstub/tools/lua/rk27xx.lua [new]
utils/hwstub/tools/lua/rk27xx/lradc.lua [new]
Marcin Bukat
15th Jun 09:08 6c106a7: Rework reg description file for rk27xx
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
15th Jun 09:06 e20256d: Add RKW build target in rk27xx hwstub
utils/hwstub/stub/rk27xx/Makefile [diff]
Marcin Bukat
15th Jun 09:06 72d1d19: hwstub: fix usb driver for rk27xx
utils/hwstub/stub/rk27xx/usb_drv_rk27xx.c [diff]
Marcin Bukat
10th Jun 10:55 bc37665 G#840: SVG image of the Sony NWZ-E370 and other formats for the manual.
manual/rockbox_interface/images/nwze370-front.pdf [new]
manual/rockbox_interface/images/nwze370-front.png [new]
manual/rockbox_interface/images/nwze370-front.svg [new]
Szymon Dziok
1st Jun 20:06 43f10db: Update SVG image of the Creative Zen Xfi 3.

Previously buttons was wrongly signed.
manual/rockbox_interface/images/zenxfi3-front.pdf [diff]
manual/rockbox_interface/images/zenxfi3-front.png [diff]
manual/rockbox_interface/images/zenxfi3-front.svg [diff]
Szymon Dziok
1st Jun 18:24 701eaa6: Samsung YH-820: implement an inverting of colours on the lcd.
firmware/export/config/samsungyh820.h [diff]
firmware/target/arm/samsung/yh820/lcd-yh820.c [diff]
Szymon Dziok
1st Jun 17:34 8326f17: Samsung YH-920: properly implement and enable lcd flipping.
firmware/export/config/samsungyh920.h [diff]
firmware/target/arm/samsung/yh920/lcd-yh920.c [diff]
Szymon Dziok
1st Jun 13:43 f3edbd1: Samsung YH-920: enable lcd contrast setting, fix default lcd contrast.
firmware/export/config/samsungyh920.h [diff]
Szymon Dziok
1st Jun 12:49 6aef81a: Samsung YH-920: enable inverting of colours on the lcd.
firmware/export/config/samsungyh920.h [diff]
Szymon Dziok
2nd Jun 20:01 6e701d3: fix indenting, editor went nuts
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2nd Jun 19:26 e417036: skin_engine: Don't double free buflib handles shared by skin images
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
29th May 22:26 53efa59 G#815: recording on Samsung YH-820/YH-92x

Tested: Szymon Dziok
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
firmware/drivers/audio/ak4537.c [diff]
firmware/export/ak4537.h [diff]
firmware/export/config/samsungyh820.h [diff]
firmware/export/config/samsungyh920.h [diff]
firmware/export/config/samsungyh925.h [diff]
Sebastian Leonhardt
30th May 07:46 5237b36 G#836: SVG image of the Creative Zen MX and other formats for the manual.
manual/rockbox_interface/images/zenmx-front.pdf [new]
manual/rockbox_interface/images/zenmx-front.png [new]
manual/rockbox_interface/images/zenmx-front.svg [new]
Szymon Dziok
28th May 21:01 aba97fe G#825: SVG image of the Creative Zen Xfi and other formats for the manual.
manual/rockbox_interface/images/zenxfi-front.pdf [new]
manual/rockbox_interface/images/zenxfi-front.png [new]
manual/rockbox_interface/images/zenxfi-front.svg [new]
Szymon Dziok
24th May 21:37 148e0ab G#816: YH820: game fix and improvements

* sudoku: make colour icons (without screen was squeezed)
* jewels: add colour bitmaps
* pegbox: make game fit on screen (add small header bitmap), improve keymap

I left the original pegbox keymaps for samsung's YH-92x, because they seem to make some sense there (YH92x has a REC switch instead of pushbutton). Someone with a YH9xx target has to check what is better...

Tested: Szymon Dziok
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/jewels.128x96x16.bmp [new]
apps/plugins/bitmaps/native/pegbox_header.128x16x16.bmp [new]
apps/plugins/bitmaps/native/sudoku_inverse.128x96x16.bmp [new]
apps/plugins/bitmaps/native/sudoku_normal.128x96x16.bmp [new]
apps/plugins/bitmaps/native/sudoku_start.128x96x16.bmp [new]
apps/plugins/pegbox.c [diff]
apps/plugins/sudoku/sudoku.c [diff]
Sebastian Leonhardt
25th May 14:35 eb7e709: regtools: add new reg dumps from various targets
utils/regtools/regdumps/sansa_express_bl.txt [new]
utils/regtools/regdumps/sansa_view_bl.txt [new]
utils/regtools/regdumps/sony_nwz_e363_regdump.txt [new]
utils/regtools/regdumps/sony_nwz_e363_regdump2.txt [new]
utils/regtools/regdumps/zenv_bl_regdump.txt [new]
utils/regtools/regdumps/zenxfistyle_1.03.04_regdump.txt [new]
Amaury Pouly
25th May 13:48 1879de7: Update polish translation for Rockbox Utility (FS #12979)
rbutil/rbutilqt/lang/rbutil_pl.ts [diff]
Daniel Kluz
24th May 20:56 896b771: Fix crash when detecting a player in MTP mode.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/changelog.txt [diff]
Dominik Riebeling
23rd May 23:12 c03e665: Fix the simulators.
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/samsung-yh820.c [new]
uisimulator/buttonmap/samsung-yh820_yh92x.c [deleted]
uisimulator/buttonmap/samsung-yh92x.c [new]
Szymon Dziok
22nd May 21:34 7f7aee3 G#814: Separate keymaps for YH-820 and YH-920/925

Although both players basically have the same keys, the differences in the layout is rather big, so I think both deserve their own keymaps.

(On the yh820 the FFWD/PLAY/REW buttons are located above the direction keys, on the yh920 at the side of the player. Furthermore the yh920/925 has a REC switch, whereas yh820 has a push button.)
apps/SOURCES [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/beatbox/beatbox.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/bubbles.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/greyscale.c [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/metronome.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
...and 32 more files.
Sebastian Leonhardt
21st May 16:39 4b181b4: Fix android black screen crash
android/src/org/rockbox/RockboxActivity.java [diff]
android/src/org/rockbox/RockboxFramebuffer.java [diff]
Jonathan Gordon
18th May 18:58 8fb0bbc: Also make sure progressbars don't tihnk their images are loaded
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
18th May 18:47 62d357b: fix skin buffer crashes, img's are not loaded initialy
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
15th May 18:18 cb205c8: Fix android SDK version and the yes/no screen title
android/android.make [diff]
android/res/values/strings.xml [diff]
android/src/org/rockbox/RockboxYesno.java [diff]
Jonathan Gordon
27th Mar 17:15 01cbb79: don't load the same bmp image more than once in a skin
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
12th May 07:59 440ff95 G#811: qeditor: on Windows it’s not impossible to create a file with AUX
utils/regtools/qeditor/aux.cpp [deleted]
utils/regtools/qeditor/aux.h [deleted]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/utils.cpp [new]
utils/regtools/qeditor/utils.h [new]
Dmitry Gamza
11th May 17:51 7b590a9: qeditor: many enhancement

Qeditor has been improved in many ways:
- it can now dump all registers, just like the lua DUMPER.dump_all() command
- several crash were fixed
- when connected to a hwstub command, one can correctly edit individual fields
- the code was simplified in several places
utils/regtools/qeditor/aux.cpp [diff]
utils/regtools/qeditor/aux.h [diff]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
11th May 17:50 4c1eafc: regtools: headergen can now output the description in the headers

This is useful to provide some documentation in the code.
utils/regtools/headergen.cpp [diff]
utils/regtools/lib/soc_desc.hpp [diff]
Amaury Pouly
5th May 21:23 8539086: sansaview: fix lcd code

The lcd driver now works but is awfully slow. The trick is to put it in system mode instead of RGB and setup 16bpp. The GRAM data can then be sent directly with the SPI but since it's bit-banged and the CPU running at slow speed, full screen refresh takes over a second, even with a slightly optmised version. The OF uses a DMA mechanism with a proper LCD controller but the setup is much more complicated and doesn't work at the moment.
firmware/export/pp6100.h [diff]
firmware/target/arm/sandisk/sansa-view/lcd-view.c [diff]
Amaury Pouly
5th May 21:18 46cd8ea: sansaview: cleanup backlight code
firmware/target/arm/sandisk/sansa-view/backlight-target.h [diff]
firmware/target/arm/sandisk/sansa-view/backlight-view.c [diff]
Amaury Pouly
5th May 21:18 c1628ba: sansaview: clean config file
firmware/export/config/sansaview.h [diff]
Amaury Pouly
5th May 21:18 4fef183: regtools: make qeditor aware of PP
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
5th May 21:17 d807122: hwstub: add some PP and Sansa View code
utils/hwstub/tools/lua/pp.lua [diff]
utils/hwstub/tools/lua/pp/gpio.lua [new]
utils/hwstub/tools/lua/sansaview.lua [new]
Amaury Pouly
5th May 21:16 5b89e66: hwstub: hwstub_shell can now run files/cmd provides on command line
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
1st May 22:32 dc869e7: qeditor: add support for deletion of items
utils/hwstub/hwstub_protocol.h [diff]
utils/regtools/lib/soc_desc.hpp [diff]
utils/regtools/qeditor/main.cpp [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
Amaury Pouly
1st May 20:59 8d0d3cb: qeditor: fix include
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
1st May 17:44 17affb8: hwstub: fix hwstub_shell
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/pp.lua [diff]
Amaury Pouly
28th Apr 07:15 355b540 G#803: Make errno a thread-local variable.

errno is supposed to be thread local and we do that here in a rather makeshift way by implementing a function that returns a pointer to the __errno variable in the thread block.

If more serious TLS is required, perhaps it would be worthwhile implementing it using the linker and the "__thread" storage attribute. That's a bit overkill just for this. I'm also not liking what I saw the compiler producing.

Tested: Michael Sevakis
apps/plugin.c [diff]
apps/plugin.h [diff]
firmware/kernel/include/thread.h [diff]
firmware/libc/errno.c [diff]
firmware/libc/include/errno.h [diff]
Michael Sevakis
8th May 09:04 f444ae7 G#806: SVG image of the Creative Zen Xfi 2 and other formats for the manual.
manual/rockbox_interface/images/zenxfi2-front.pdf [new]
manual/rockbox_interface/images/zenxfi2-front.png [new]
manual/rockbox_interface/images/zenxfi2-front.svg [new]
Szymon Dziok
23rd Apr 21:25 d35be7d G#799: Added high score and save/load functionality to xobox game.
apps/plugins/xobox.c [diff]
docs/CREDITS [diff]
Richard Burke
1st May 16:45 fcb835f: regtools: normalise description files, and remove obsolete file. No logical change.

Files were generated using utils/regtools/tester in "write" mode.
firmware/target/arm/imx233/regs/stmp3600/regs-emictrl.h [deleted]
utils/regtools/desc/regs-stmp3600.xml [diff]
utils/regtools/desc/regs-stmp3700.xml [diff]
utils/regtools/desc/regs-stmp3780.xml [diff]
Amaury Pouly
1st May 16:21 cf93b33: regtools: fix makefiles
utils/regtools/Makefile [diff]
utils/regtools/lib/Makefile [diff]
Amaury Pouly
7th Apr 09:28 4356666: regtools: completely rework qeditor, improve soc desc library and tools

The graphical editor can now display and editor description files. The library has been improved to provide more useful function. The XML format has been slightly changed: only one soc is allowed per file
(this is was already de facto the case since <soc> was the root tag). Also introduce a DTD to validate the files.
utils/regtools/desc/XML.txt [diff]
utils/regtools/desc/regs-1.0.dtd [new]
utils/regtools/headergen.cpp [diff]
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/lib/soc_desc.hpp [diff]
utils/regtools/qeditor/analyser.h [diff]
utils/regtools/qeditor/aux.cpp [new]
utils/regtools/qeditor/aux.h [new]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [new]
utils/regtools/qeditor/regdisplaypanel.h [new]
utils/regtools/qeditor/regedit.cpp [new]
utils/regtools/qeditor/regedit.h [new]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
utils/regtools/tester.cpp [diff]
Amaury Pouly
4th Apr 13:33 3754624: regtools: update soc desc parser/header to include desc fields
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/lib/soc_desc.hpp [diff]
Amaury Pouly
24th Apr 07:53 0cd03c2 G#800: fix russian translate
apps/lang/russian.lang [diff]
Dmitry Gamza
8th Apr 09:53 cf60ceb G#780: SVG image of the Creative Zen Vision M, plus other formats for the manual.
manual/rockbox_interface/images/zenvisionm-front.pdf [new]
manual/rockbox_interface/images/zenvisionm-front.png [new]
manual/rockbox_interface/images/zenvisionm-front.svg [new]
Szymon Dziok
11th Apr 08:24 1684441 G#781: SVG image of the Creative Zen Xfi 3 and other formats for the manual.
manual/rockbox_interface/images/zenxfi3-front.pdf [new]
manual/rockbox_interface/images/zenxfi3-front.png [new]
manual/rockbox_interface/images/zenxfi3-front.svg [new]
Szymon Dziok
8th Apr 09:49 c00747a G#779: SVG image of the Creative Zen, plus other formats for the manual.
manual/rockbox_interface/images/zen-front.pdf [new]
manual/rockbox_interface/images/zen-front.png [new]
manual/rockbox_interface/images/zen-front.svg [new]
Szymon Dziok
8th Apr 09:43 8efbe34 G#778: SVG image of the Creative Zen Xfi Style, plus other formats for the manual.
manual/rockbox_interface/images/zenxfistyle-front.pdf [new]
manual/rockbox_interface/images/zenxfistyle-front.png [new]
manual/rockbox_interface/images/zenxfistyle-front.svg [new]
Szymon Dziok
24th Apr 12:12 c8461c5: imx233: fix comments
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
23rd Apr 21:44 25ecbc5: imx233: fix typos and sdmmc bug regarding write buffer

The write buffer should not be modified but the current code does and then forget to restore it to its original content. I'm not sure if any code relies to the write buffer to not be modifies by the write function but this seems like a reasonable assumption in general so it's better not to break it.
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
23rd Apr 21:43 54dd77a: imx233: fix sdmmc driver bug when sector count is 0

Since the driver will read count-1 sectors, this will stuck the card.
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
18th Apr 11:27 532b814: skin_engine: Make %Vs affect the whole line.

Previously %Vs styles only took effect upon the first character of text, i.e. on the right if the line is %arXXX. Now the style is applied for the whole line width.

Fixes FS #12973.
apps/gui/skin_engine/skin_display.c [diff]
Thomas Martitz
15th Apr 07:34 35b4ba8: root_menu: Remove previous_music_is_wps() and change previous_music via event callback.
apps/playlist.c [diff]
apps/root_menu.c [diff]
apps/root_menu.h [diff]
Thomas Martitz
8th Apr 20:52 bebf71a: playlist: Get rid of plugin buffer use in playlist_save().

The plugin buffer was used only to avoid reparsing the playlist, so non-essential. But when it was used it conflicted with the playlist viewer which already uses the plugin buffer for playlist purposes simultaneously. It only works by accident.

Since the reparse avoidance is non-essential don't do it for now. A temp buffer can be passed to playlist_save() to enable it but the only caller (as of now) does not do that.
apps/menus/playlist_menu.c [diff]
apps/playlist.c [diff]
apps/playlist.h [diff]
Thomas Martitz
15th Apr 21:49 466441d: libmad: Use 32bit unsigned for requantize table.

Implicit promotion of integer literals to unsigned long introduced a subtle bug on 64-bit systems due to weird sign extensions (leads to audible glitches in a few files). The table is originally designed for unsigned 32bit integers, and it works with those so use them. As a consequence the lookup table size is halved as well.
lib/rbcodec/codecs/libmad/layer3.c [diff]
Thomas Martitz
11th Apr 09:04 bd10245 G#782: MPIO HD300: Fix occasional scrollstrip hang

Scrollstrip works as quadrature encoder. We set pin change interrupt for both edges of signal both lines and sample the state in ISR. From time to time the sequence is out-of-sync which was properly detected but erroneously handled leaving scrollstip interrupts disabled.

Tested: Marcin Bukat
firmware/target/coldfire/mpio/hd300/button-hd300.c [diff]
Marcin Bukat
11th Apr 20:06 a18c33a G#784: manual: Add missing Frequency setting description
manual/configure_rockbox/playback_options.tex [diff]
Michael Giacomelli
11th Apr 22:08 238be18: hwstub: add proper PP support

- drop support for PP500x: it's very different from other PP and although it would be possible to support them, I don't have one to test the code
- make sure only the CPU is started
- add PP descriptor to report chip ID and revision
- add code in shell and lua to support pp (no register description yet)
- compile for ARMv4 because PP502x is an ARM7TDMI
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/pp/Makefile [diff]
utils/hwstub/stub/pp/crt0.S [diff]
utils/hwstub/stub/pp/target-config.h [diff]
utils/hwstub/stub/pp/target.c [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/load.lua [diff]
utils/hwstub/tools/lua/pp.lua [new]
Amaury Pouly
11th Apr 22:06 910235b: hwstub: fix error in config descriptor, cleanup some code
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/main.c [diff]
utils/hwstub/stub/rk27xx/target-config.h [diff]
utils/hwstub/stub/stmp/target-config.h [diff]
Amaury Pouly
9th Apr 07:00 9576134: plugins: Add plugin_release_audio_buffer().

Some plugins grab the whole audio buffer and still want to start playback somehow (e.g. random_folder_advance_config). Since 22e802e the plugin buffer is allocated via buflib and has to be released explicitely. For these plugins the automatic free on exit is not sufficient and they need an API function for that.

Fixes OOM panic on random_folder_advance_config when using start shuffled playback.
apps/codecs.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/random_folder_advance_config.c [diff]
Thomas Martitz
7th Apr 20:12 924a3c4 G#777: Added Avi Eisenberg to CREDITS file
docs/CREDITS [diff]
Avi Eisenberg
7th Apr 20:23 ccfa518: Add hwstub support for portal player (manufacturer mode)

It is very similar to how e200tool from MrH works but uses the framework of hwstub which is makes it completely trivial since we already have the USB driver written.
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/pp/Makefile [new]
utils/hwstub/stub/pp/crt0.S [new]
utils/hwstub/stub/pp/hwstub.lds [new]
utils/hwstub/stub/pp/target-config.h [new]
utils/hwstub/stub/pp/target.c [new]
Amaury Pouly
7th Apr 20:25 399acc0: Add new tool to upload code on e200/c200/view in manufacturer mode

This is actually the trivial part of e200tool from MrH: it simply writes the code on the bulk endpoint. Code was mostly copied from imxtools/sbloader.
utils/e200tool/Makefile [new]
utils/e200tool/e200load.c [new]
Amaury Pouly
7th Apr 09:34 68370b6: Fix red
apps/plugins/pegbox.c [diff]
Amaury Pouly
21st Mar 21:16 d489444 G#762: Complete Plugin Keymaps for Creative Zen X-Fi3

This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation. One key was changed in "button-target.h" for compatibility with Rockboy. This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here).
apps/keymaps/keymap-zenxfi3.c [diff]
apps/plugins/beatbox/beatbox.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/calculator.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/chip8.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/clix.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/pluginlib_actions.c [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/minesweeper.c [diff]
apps/plugins/mp3_encoder.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/oscilloscope.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pegbox.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
...and 23 more files.
David Jilke
3rd Apr 16:49 8375b69: buffering.c: Patch up some straggling strlcpy warnings

Originating from 3661581

Some build clients finding their "standard" string.h's that don't declare strlcpy?
apps/buffering.c [diff]
Michael Sevakis
15th Mar 16:14 580104d G#772: Vibe500: change scrollstrip and button sensitivity to defines

Apart from the fact that the original settings were much to sensitive for my taste, they are now easier configurable.
firmware/target/arm/pbell/vibe500/power-vibe500.c [diff]
Sebastian Leonhardt
2nd Apr 19:03 f9d60e1: Apparently some builds still need string.h in buffering.c
apps/buffering.c [diff]
Michael Sevakis
2013-08-26 3661581 G#764: Buffering: Remove buf_ridx and buf_widx; these data are verbose.

It is trivial to obtain all required information from the allocated handles without maintaining global indexes. In fact, it is less complicated and increases general thread safety.

Other miscellaneous changes (some are nice to do at this time due to required alterations, with some particularly more relevant than others):
* Handle value 0 will no longer be returned as a valid handle but all failures will still return a negative value. Creates consistency with buflib and removes the need to explicitly initialize them.

* Linking a new handle is delayed until explicitly added by the code that called add_handle, keeping it invisible until every operation succeeds, which is safer thread-wise. If anything fails, the handle itself may just be abandoned rather than reqiring it be freed.

* Dump the special handling to slow buffering when the PCM buffer is low that calls PCM buffer functions. It doesn't seem to help much of anything these days and it's a bit of a nasty hack to directly tie those bits together. It can of course be put back (again!) if there really is a need for it.

* Make data waiters ping the buffering thread more than just once if the request is taking too long. Somehow I figured out how the requests could get forgotten about but can't remember why months later after making the change in my branch. :-)

* Neaten up some code by using (inline) functions and packing down parameters; remember handle allocation and movement attributes in the handle itself rather than figuring it out each time they're needed.

Tested: Michael Sevakis
apps/buffering.c [diff]
apps/buffering.h [diff]
Michael Sevakis
2nd Apr 18:46 bfd0179: Revert "Update lua plugin to 5.2.3"

FILE typedef to *void needs more work to not break sim and application builds. I checked only a few random native builds unfortunately. Sorry for inconvenience.
apps/plugins/lua/SOURCES [diff]
apps/plugins/lua/fscanf.c [diff]
apps/plugins/lua/getc.c [deleted]
apps/plugins/lua/lapi.c [diff]
apps/plugins/lua/lapi.h [diff]
apps/plugins/lua/lauxlib.c [diff]
apps/plugins/lua/lauxlib.h [diff]
apps/plugins/lua/lbaselib.c [diff]
apps/plugins/lua/lbitlib.c [diff]
apps/plugins/lua/lcode.c [diff]
apps/plugins/lua/lcode.h [diff]
apps/plugins/lua/lctype.h [deleted]
apps/plugins/lua/ldebug.c [diff]
apps/plugins/lua/ldebug.h [diff]
apps/plugins/lua/ldo.c [diff]
apps/plugins/lua/ldo.h [diff]
apps/plugins/lua/ldump.c [diff]
apps/plugins/lua/lfunc.c [diff]
apps/plugins/lua/lfunc.h [diff]
apps/plugins/lua/lgc.c [diff]
apps/plugins/lua/lgc.h [diff]
apps/plugins/lua/liolib.c [diff]
apps/plugins/lua/llex.c [diff]
apps/plugins/lua/llex.h [diff]
apps/plugins/lua/llimits.h [diff]
apps/plugins/lua/lmathlib.c [diff]
apps/plugins/lua/lmem.c [diff]
apps/plugins/lua/lmem.h [diff]
apps/plugins/lua/loadlib.c [diff]
apps/plugins/lua/lobject.c [diff]
...and 34 more files.
Marcin Bukat
19th Mar 18:31 3637898 G#774: Update lua plugin to 5.2.3

Prior to this patch the Lua plugin used version 5.1.4. This change reduces the number of modifications in the Lua source using some new defines and because the upstream source is now more flexible.

Unless otherwise stated, l*.[ch] files are taken unmodified from the upstream lua-5.2.3.

fscanf.c: file descriptors in rockbox are just ints, they are hidden behind a void* now so liolib requires less modifications. fscanf is updated to use void* too.

getc.c: this is a new file required for getc implementation in lauxlib.c

lauxlib.c: LoadF replaced FILE* with int, the rockbox file descriptor int are cast to FILE* (actually void* due to typedef). getc uses the PREFIX version. stdin is not used, as per 5.1.4.

lbaselib.c: now uses strspn in the number parsing. print uses DEBUGF now rather than being commented out.

lbitlib.c: use the built-in version from 5.2.3 rather than Reuben Thomas's external library. Backwards compatible and adds some new bit operations.

ldo.c: the LUAI_THROW/TRY defines are now in the core lua code, so have been removed from rockconf.h

liolib.c: here the implementation has changed to use the LStream from the original source, and cast the FILE* pointers to int. This has reduced the number of modifications from the upstream version.

llex.c: the only change from upstream is to remove the locale include.

lmathlib.c: updated from the 5.2.3 version and re-applied the changes that were made vs 5.1.4 for random numbers and to remove unsupported float functions.

loadlib.c: upstream version, with the 5.1.4 changes for missing functions.

lobject.c: upstream version, with ctype.h added and sprintf changed to snprintf.

loslib.c: upstream version with locale.h removed and 5.1.4 changes for unsupportable functions.

lstrlib.c: sprintf changed to snprintf.

ltable.c: upstream with the hashnum function from 5.1.4 to avoid frexp in luai_hashnum.

luaconf.h: updated to 5.2.3 version, restored relevant parts from the original 5.1.4 configuration. The COMPAT defines that are no longer available are not included.

lundump.c: VERSION macro conflicts with the core Rockbox equivalent.

rocklib.c: luaL_reg is no longer available, replaced by luaL_Reg equivalent. Moved checkboolean/optboolean functions to this file and out of core lua files. luaL_getn is no longer available, replaced by luaL_rawlen. luaL_register is deprecated, use the newlib/setfuncs replacements. rli_init has to be called before setting up the newlib to avoid overwriting the rb table.

rocklib_aux.pl: use rli_checkboolean from rocklib.c.

rocklua.c: new default bits library used, update the library loading code with idiomatic 5.2 code.

strcspn.c: no longer needed, but strspn.c is required for strspn in lbaselib.c

Tested: Richard Quirk
apps/plugins/lua/SOURCES [diff]
apps/plugins/lua/fscanf.c [diff]
apps/plugins/lua/getc.c [new]
apps/plugins/lua/lapi.c [diff]
apps/plugins/lua/lapi.h [diff]
apps/plugins/lua/lauxlib.c [diff]
apps/plugins/lua/lauxlib.h [diff]
apps/plugins/lua/lbaselib.c [diff]
apps/plugins/lua/lbitlib.c [diff]
apps/plugins/lua/lcode.c [diff]
apps/plugins/lua/lcode.h [diff]
apps/plugins/lua/lctype.h [new]
apps/plugins/lua/ldebug.c [diff]
apps/plugins/lua/ldebug.h [diff]
apps/plugins/lua/ldo.c [diff]
apps/plugins/lua/ldo.h [diff]
apps/plugins/lua/ldump.c [diff]
apps/plugins/lua/lfunc.c [diff]
apps/plugins/lua/lfunc.h [diff]
apps/plugins/lua/lgc.c [diff]
apps/plugins/lua/lgc.h [diff]
apps/plugins/lua/liolib.c [diff]
apps/plugins/lua/llex.c [diff]
apps/plugins/lua/llex.h [diff]
apps/plugins/lua/llimits.h [diff]
apps/plugins/lua/lmathlib.c [diff]
apps/plugins/lua/lmem.c [diff]
apps/plugins/lua/lmem.h [diff]
apps/plugins/lua/loadlib.c [diff]
apps/plugins/lua/lobject.c [diff]
...and 34 more files.
Richard Quirk
2013-04-05 020f16a G#433: optimize Cypress chip power supply for iriver h100 series

Before, the Cypress chip power is always turn on either from internal battery or from usb host. In this regard, the internal battery energy was spend on the inactive chip. Now power of the Cypress chip is enabled only on the external usb host.
firmware/target/coldfire/iriver/ata-iriver.c [diff]
firmware/target/coldfire/iriver/h100/usb-h100.c [diff]
Dmitry Gamza
2014-02-16 b4a0986 G#758: Boost CPU before loading operations in textviewer

Tested: Avi Eisenberg
apps/plugins/text_viewer/tv_action.c [diff]
apps/plugins/text_viewer/tv_bookmark.c [diff]
Avi Eisenberg
27th Mar 22:31 0eae33c: Sansa View: replace real bootloader with a simple test code.

After placing the firmware.mi4 file in the root dir of the player in UMS mode of the OF, Sansa should do stupid blinking with the backlight and buttonlight alternately. Recovering from this state is possible through the recovery mode
(see Wiki), by putting an original copy of the firmware.mi4.
bootloader/SOURCES [diff]
bootloader/sansaview.c [new]
Szymon Dziok
27th Mar 22:23 7b015f8: Sansa View: implement proper backlight and buttonlight switching.
firmware/target/arm/sandisk/sansa-view/backlight-view.c [diff]
Szymon Dziok
27th Mar 21:35 62ac0c7: Sansa View: adjust two things (define fake codec, missing header file) in order to compile the bootloader (now it should).
firmware/export/config/sansaview.h [diff]
firmware/target/arm/sandisk/sansa-view/lcd-view.c [diff]
Szymon Dziok
27th Mar 21:29 938aa8e: Sansa View: define a GPIO bit for USB detection in order to compile the bootloader.
firmware/target/arm/pp/usb-fw-pp502x.c [diff]
Szymon Dziok
27th Mar 20:47 173d9c6: enable compiling of Sansa View
tools/configure [diff]
Szymon Dziok
27th Mar 20:23 ee1a1ce: define more GPIO ports for the NVIDIA GoForce SoC (PP6100).
firmware/export/pp6100.h [diff]
Szymon Dziok
2014-02-25 f8d367b: Add Cabbiev2 port for 128x96x16 targets (Samsung YH-820), made by me.
apps/settings_list.c [diff]
backdrops/cabbiev2.128x96x16.bmp [new]
wps/AUTHORS [diff]
wps/WPSLIST [diff]
wps/cabbiev2.128x96x16.wps [new]
wps/cabbiev2/pb-128x96x16.bmp [new]
wps/cabbiev2/wpsbackdrop-128x96x16.bmp [new]
Szymon Dziok
2014-02-24 679d1e7: fix position of the repeat icon in cabbiev2.128x128x16.wps.
wps/cabbiev2.128x128x16.wps [diff]
Szymon Dziok
2014-02-23 828f880: HDD6330: enable AB repeat.
apps/keymaps/keymap-hdd6330.c [diff]
firmware/export/config/gogearhdd6330.h [diff]
Szymon Dziok
2014-02-23 65ef2c9: HDD6330: enable backlight fading.
firmware/export/config/gogearhdd6330.h [diff]
Szymon Dziok
2014-02-23 ce28b18: SA9200: enable headphones detection.
firmware/export/config/gogearsa9200.h [diff]
Szymon Dziok
2014-02-23 be6b651: HDD1630: enable AB repeat.
firmware/export/config/gogearhdd1630.h [diff]
Szymon Dziok
2014-02-23 c1d6ba1: change order of include headers and at the same time fix warning about the implicit declaration of the _backlight_brightness().
firmware/backlight-sw-fading.c [diff]
Szymon Dziok
2014-02-16 71ee4b4: HDD1630: enable backlight fading.
firmware/export/config/gogearhdd1630.h [diff]
Szymon Dziok
24th Mar 08:32 9cb9f76: Fix ALIGN_DOWN() macro on 64bit.

When the align parameter was a 32bit value (like all default integer literals), and the to-be-aligned value is a pointer the upper 32bit got corrupted because the value was casted down to 32bit.

Note: This hasnt been a problem because apparently the sim always gets 32bit addresses (I found this when compiling Rockbox as a library).
firmware/export/system.h [diff]
Thomas Martitz
23rd Mar 19:47 3136465: Improve MSVC support in project file.

Enable MSVC specifics by checking QMAKESPEC instead of depending on a qmake command line switch.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
22nd Mar 15:03 5abe98d: zenxfi3: fix horrible bug which prevented the power button to work
firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c [diff]
Amaury Pouly
22nd Mar 21:23 202717d: Fix MSVC not knowing inline for C code.

MSVC needs to use __inline instead of inline when compiling C code (the inline keyword is only avaliable in C++). Use the preprocessor to work around this.
rbutil/rbutilqt/mspack/system-mspack.h [diff]
Dominik Riebeling
22nd Mar 21:20 d85a84f: Add msvc qmake config option for building with MSVC.

When building with MSVC we need to add the msvc folder to the include list, and remove the libraries from the dependencies since they need to get built separately.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
20th Mar 21:22 258e4ad: OS X: detect clang and build for x86 target only.

Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc with clang. When clang is detected assume we want to build for the default architecture only and change the minimum OS X version to 10.5.
rbutil/libtools.make [diff]
tools/rbspeex/Makefile [diff]
tools/ucl/src/Makefile [diff]
Dominik Riebeling
20th Mar 21:20 c18908d: OS X: update project file for Qt5 support.

- Qt5 doesn't support PPC anymore, so always build for x86 only.
- Qt5 requires the use of the multimedia module (as Windows).
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
8th Mar 17:46 06a2e7c: OS X: use FSGetVolumeParms when targeting 10.5+.

PBHGetVolParmsSync() is not available when building with 64bit. The replacement FSGetVolumeParms() is available on 10.5+ only. Use the latter when building with target version 10.5+. This requires builds targeting 10.4 to 32bit and allows building as 64bit when targeting 10.5+.
rbutil/rbutilqt/base/utils.cpp [diff]
Dominik Riebeling
8th Mar 17:38 f8e3b61: OS X: don't include libusb headers.

We don't use libusb on OS X anymore, so don't include it anymore.
rbutil/rbutilqt/base/system.cpp [diff]
Dominik Riebeling
8th Mar 17:34 56a9255: OS X: change include paths to use actual paths.

The old include path is actually a symlink for compatibility. Newer SDK versions remove that symlink to the include breaks.
rbutil/ipodpatcher/ipodio-posix.c [diff]
Dominik Riebeling
2013-04-09 7e85fe5 G#435: some optimization for iriver h100 and h300 series

Turn on 4x oversampling inside UDA1380 codec.

This allow will move the quantization noise to the higher frequencies, that slightly improve the final sound quality.
firmware/drivers/audio/uda1380.c [diff]
Dmitry Gamza
18th Mar 11:31 ea9621c: Fix build reds caused by typos.
apps/gui/quickscreen.c [diff]
Thomas Martitz
18th Mar 11:24 6f2726e: usb screen: Stop scrolling the entire display.

It's not easy for the originating screen to perform cleanup in case of USB because the usb screen is invoked indirectly via default_event_handler(). To avoid stale scrolling lines perform the cleanup in the usb screen itself.

Side effect should be no worse than scrolling lines to restart in SBSes that show during USB.
apps/gui/usb_screen.c [diff]
Thomas Martitz
18th Mar 11:23 395cdc5: quickscreen: return true on USB connection.

This is consistent with other screens (pitch, id3) on the WPS and in other places.
apps/gui/quickscreen.c [diff]
Thomas Martitz
18th Mar 10:10 331bf69: Add Dmitry Gamza and Sebastian Leonhardt to CREDITS.
docs/CREDITS [diff]
Thomas Martitz
2014-02-10 a987871 G#757: fix quick screen write to config
apps/settings_list.c [diff]
Dmitry Gamza
14th Mar 15:21 1cf1743 G#771: Fix (unintentional) linkage of HAVE_BUTTON_DATA with HAVE_TOUCHSCREEN

Defining HAVE_BUTTON_DATA without simultaneously defining HAVE_TOUCHSCREEN caused compile errors. (I need them separated for a scrollstrip driver.)
firmware/drivers/button.c [diff]
firmware/target/hosted/sdl/button-sdl.c [diff]
Sebastian Leonhardt
15th Mar 01:23 915bc09: Fix stupid typo in 470989b that triggered panics easily.
firmware/events.c [diff]
Thomas Martitz
14th Mar 22:43 361aa92: Fix reds.
apps/hosted/android/notification.c [diff]
firmware/ata_idle_notify.c [diff]
Thomas Martitz
14th Mar 22:15 470989b: events: Rework event subsystem (add_event, send_event) to be more versatile.

add_event_ex is added that takes an extra user_data pointer. This pointer is passed to the callback (add_event and add_event_ex have slightly different callbacks types). All callbacks also get the event id passed. Events added with add_event_ex must be removed with remove_event_ex because the user_data pointer must match in addition to the callback pointer.

On the other add_event is simplified to omit the oneshort parameter which was almost always false (still there with add_event_ex).

As a side effect the ata_idle_notify callbacks are changed as well, they do not take a data parameter anymore which was always NULL anyway.

This commit also adds some documentation to events.h
apps/gui/list.c [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar-skinned.h [diff]
apps/gui/viewport.c [diff]
apps/gui/wps.c [diff]
apps/hosted/android/notification.c [diff]
apps/iap/iap-core.c [diff]
apps/playback.c [diff]
apps/playlist.c [diff]
apps/plugin.h [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/mpegplayer/mpeg_settings.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/radio/radioart.c [diff]
apps/root_menu.c [diff]
apps/scrobbler.c [diff]
apps/settings.c [diff]
apps/shortcuts.c [diff]
apps/tagcache.c [diff]
apps/tagtree.c [diff]
firmware/ata_idle_notify.c [diff]
firmware/events.c [diff]
firmware/export/ata_idle_notify.h [diff]
firmware/export/events.h [diff]
firmware/logf.c [diff]
Thomas Martitz
2013-12-13 50f0dd8: ab_repeat: Move GUI bits to the skin engine. This allows ab_repeat to be compiled headless.
apps/abrepeat.c [diff]
apps/abrepeat.h [diff]
apps/gui/skin_engine/skin_display.c [diff]
Thomas Martitz
10th Mar 06:33 4262e64: android: Fix installToolchain.sh script.
android/installToolchain.sh [diff]
Thomas Martitz
2013-07-17 5ee13eb G#522: Implements starting playback from a cuesheet.

Before time-based resume this was impossible since playback could not be started at a specified elapsed time, only seeked with playback already running.

Right now the "FILE" field is used, if present, to do the lookup from from the .cue to the audio file when it is separate from the audio file. If no path is specified, the .cue and audio file must be in the same directory.

When the cuesheet is embedded, the containing file is used and the FILE field is ignored.

Supports starting playback and seeking to cue points from the cuesheet browser even without Cuesheet Support turned on.

Tested: Michael Sevakis
apps/cuesheet.c [diff]
apps/cuesheet.h [diff]
Michael Sevakis
2013-07-14 31b7122 G#516: Implement time-based resume and playback start.

This complements offset-based resume and playback start funcionality. The implementation is global on both HWCODEC and SWCODEC.

Basically, if either the specified elapsed or offset are non-zero, it indicates a mid-track resume.

To resume by time only, set elapsed to nonzero and offset to zero. To resume by offset only, set offset to nonzero and elapsed to zero.

Which one the codec uses and which has priority is up to the codec; however, using an elapsed time covers more cases:

* Codecs not able to use an offset such as VGM or other atomic formats

* Starting playback at a nonzero elapsed time from a source that contains no offset, such as a cuesheet

The change re-versions pretty much everything from tagcache to nvram.

Tested: Michael Sevakis
apps/bookmark.c [diff]
apps/filetree.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_touchsupport.c [diff]
apps/misc.c [diff]
apps/mpeg.c [diff]
apps/onplay.c [diff]
apps/playback.c [diff]
apps/playlist.c [diff]
apps/playlist.h [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/alarmclock.c [diff]
apps/plugins/alpine_cdc.c [diff]
apps/plugins/lib/playback_control.c [diff]
apps/plugins/lrcplayer.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/random_folder_advance_config.c [diff]
apps/root_menu.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/settings_list.h [diff]
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tagtree.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
firmware/export/audio.h [diff]
lib/rbcodec/codecs/a52.c [diff]
...and 35 more files.
Michael Sevakis
9th Mar 22:25 dda54b8: ypr1: Add some commands to rockbox.sh which are needed for playback
utils/ypr0tools/rockbox.sh [diff]
Thomas Martitz
9th Mar 17:18 157562b: Fix ipod6g build.
firmware/drivers/audio/cs42l55.c [diff]
Thomas Martitz
9th Mar 17:08 6499ce3: android: Get the port up and running again

The build system needed fixes because the tools paths changed and one tool that we used (apkbuilder) was removed entirely. Recent NDKs don't ship gcc 4.4.3 anymore, therefore switch to 4.6. The code itself needed a fix for a jni reference bug that was uncovered by KitKat.

The port now builds with latest sdk (r22) and ndk (r9d).
android/.classpath [diff]
android/android.make [diff]
android/buildapk.sh [new]
android/project.properties [diff]
android/src/org/rockbox/RockboxFramebuffer.java [diff]
firmware/target/hosted/android/lcd-android.c [diff]
tools/configure [diff]
Thomas Martitz
9th Mar 00:25 2a71c08: zenxfi: enable speaker
firmware/export/config/creativezenxfi.h [diff]
firmware/target/arm/imx233/creative-zen/audio-target.h [diff]
Amaury Pouly
8th Mar 17:49 88799b3: zen(xfi): enable frequency scaling

With the lcd underflow code at work, it results in small flicker when switching frequency but it should be fine because it doesn't happen very often and I don't think there is a way to avoid it without disabling EMI frequency scaling.
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenxfi.h [diff]
Amaury Pouly
8th Mar 17:49 9637f44: imx233: rewrite frequency scaling to use the new function
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
8th Mar 17:49 1f39798: imx233: add function to change cpu/hbus frequency safely
firmware/target/arm/imx233/clkctrl-imx233.c [diff]
firmware/target/arm/imx233/clkctrl-imx233.h [diff]
Amaury Pouly
8th Mar 17:22 3e2f3ef: imx233: prepare frequency scaling for stmp3700

Add entry for stmp3700 maximum frequency which is 320MHz.
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
Amaury Pouly
8th Mar 17:21 9fe3687: imx233: fix regulator code on stmp3700

For some reason the power subsystem needs to know the relationship between the VDD{D,A,IO} and uses a weird register to do so.
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
8th Mar 17:20 4b2f59b: zen: handle lcd underflow by hand

Contrary to the imx233, the stmp37xx lcdif doesn't know how to properly recover from underflow and things are worse because of the errata which makes the lcdif not clear the fifo. Workaround this by detecting underflow and taking action: stop dotclk mode (will clear fifo) and schedule next frame. The dma transfers now write the ctrl register as part of the PIO writes, making the code simpler.
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
8th Mar 17:19 b0940b1: imx233: add lcdif underflow irq support
firmware/target/arm/imx233/lcdif-imx233.c [diff]
firmware/target/arm/imx233/lcdif-imx233.h [diff]
Amaury Pouly
2013-08-23 61d0583 G#763: Greatly reduce volume-change zipper artifacts with SW volume.

Uses a cosine factor to smoothly shift the PCM level from the old level to the new one over the length of a frame.

Implements indirect calls to PCM scaling function instead of testing conditions on every callback, cleanly assigning a different call to do the volume transition. The volume change call then assigns the final scaling function.

Tested: Michael Sevakis
firmware/export/pcm-internal.h [diff]
firmware/pcm.c [diff]
firmware/pcm_sw_volume.c [diff]
Michael Sevakis
6th Mar 18:10 62b10e3: Oscilloscope: Fix loading of the speed setting for waveform view

Somehow, a long long time ago, I put MAX*/MAX* in the config data range fields instead of MIN*/MAX* which forced the settings loader to acknowledge only 100 as a valid setting other than the default.
apps/plugins/oscilloscope.c [diff]
Michael Sevakis
2013-08-31 669fa9a: Gigabeat S: Improve headphone thread implementation.

Implement scanning as binary tree in array.

Make the ADC calls fewer without compromising read quality.

Declare the thread function as 'noreturn' to save some stack. Reduce stack size (regardless, % use is now a bit lower).
firmware/target/arm/imx31/gigabeat-s/headphone-gigabeat-s.c [diff]
Michael Sevakis
4th Mar 10:07 c64b59f: atj213x: various fixes in sample code snippets
utils/atj2137/adfuload/test_binary/backlight_c/crt0.S [diff]
utils/atj2137/adfuload/test_binary/timer_irq/crt0.S [diff]
utils/atj2137/adfuload/test_binary/timer_irq/irq_handler.S [diff]
utils/atj2137/adfuload/test_binary/timer_no_irq/crt0.S [diff]
Marcin Bukat
4th Mar 09:28 2f21f77: ingenic: crt0.S fixes #3

Hopefyly this time is the final one.
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
Marcin Bukat
4th Mar 09:22 7066197: ingenic: fix bugs introduced by 5900bf7

I must have been blind and copied some intermediate file instead of final version. No functional change, only fixes.
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
Marcin Bukat
3rd Mar 19:34 c35e1db: Fix last warnings.
firmware/target/arm/s5l8700/system-target.h [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Thomas Martitz
3rd Mar 19:26 6876826: Fix more reds.
firmware/drivers/audio/wm8758.c [diff]
firmware/drivers/audio/wm8975.c [diff]
firmware/target/arm/imx31/debug-imx31.c [diff]
firmware/target/arm/imx31/gigabeat-s/backlight-gigabeat-s.c [diff]
firmware/target/arm/imx31/gigabeat-s/fmradio-i2c-gigabeat-s.c [diff]
firmware/target/arm/imx31/gigabeat-s/lcd-gigabeat-s.c [diff]
firmware/target/arm/imx31/gigabeat-s/powermgmt-gigabeat-s.c [diff]
firmware/target/arm/imx31/gigabeat-s/system-target.h [diff]
firmware/target/arm/imx31/i2c-imx31.h [diff]
firmware/target/arm/pbell/vibe500/button-vibe500.c [diff]
lib/rbcodec/test/warble.c [diff]
Thomas Martitz
3rd Mar 18:09 c245de0: Fix various reds. Some includes needed fixup.
firmware/drivers/audio/wm8731.c [diff]
firmware/drivers/audio/wm8751.c [diff]
firmware/drivers/audio/wm8985.c [diff]
firmware/load_code.c [diff]
firmware/target/arm/i2c-telechips.c [diff]
firmware/target/arm/philips/hdd6330/button-hdd6330.c [diff]
firmware/target/arm/pp/ata-pp5020.c [diff]
firmware/target/arm/pp/system-target.h [diff]
firmware/target/arm/tcc780x/cowond2/touchscreen-cowond2.c [diff]
firmware/target/arm/tcc780x/debug-tcc780x.c [diff]
firmware/target/arm/tcc780x/system-target.h [diff]
lib/rbcodec/test/warble.c [diff]
lib/rbcodec/test/warble.make [diff]
tools/checkwps/checkwps.make [diff]
tools/database/database.make [diff]
Thomas Martitz
3rd Mar 17:33 e5ce28c: zen/zenxfi: correctly implement lcdif errata
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2013-12-04 382d186: kernel: Break out kernel primitives into separate files and move to separate dir.

No code changed, just shuffling stuff around. This should make it easier to build only select parts kernel and use different implementations.
apps/rbcodecconfig.h [diff]
firmware/SOURCES [diff]
firmware/asm/arm/corelock.c [new]
firmware/asm/corelock.c [new]
firmware/drivers/audio/as3514.c [diff]
firmware/export/kernel.h [deleted]
firmware/export/system.h [diff]
firmware/export/thread.h [deleted]
firmware/firmware.make [diff]
firmware/general.c [diff]
firmware/kernel.c [deleted]
firmware/kernel/corelock.c [new]
firmware/kernel/include/corelock.h [new]
firmware/kernel/include/kernel.h [new]
firmware/kernel/include/mutex.h [new]
firmware/kernel/include/queue.h [new]
firmware/kernel/include/semaphore.h [new]
firmware/kernel/include/thread.h [new]
firmware/kernel/include/tick.h [new]
firmware/kernel/include/timeout.h [new]
firmware/kernel/kernel-internal.h [new]
firmware/kernel/mutex.c [new]
firmware/kernel/queue.c [new]
firmware/kernel/semaphore.c [new]
firmware/kernel/thread-internal.h [new]
firmware/kernel/thread.c [new]
firmware/kernel/tick.c [new]
firmware/kernel/timeout.c [new]
firmware/target/arm/pp/debug-pp.c [diff]
firmware/target/arm/pp/thread-pp.c [diff]
...and 4 more files.
Thomas Martitz
3rd Mar 16:38 8bae5f2: Iaudio m3: implement lcd_get_dpi() (aka fix red).
firmware/export/config/iaudiom3.h [diff]
Thomas Martitz
3rd Mar 16:01 fff981b: Implement lcd_get_dpi() for X-Fi Style (aka fix red).
firmware/export/config/creativezenxfistyle.h [diff]
Thomas Martitz
3rd Mar 15:17 00434be: Fix greyscale and mono builds.
apps/gui/line.c [diff]
apps/settings_list.c [diff]
Thomas Martitz
2013-05-06 05a67d0: Touchscreen: Show a line separator in lists.

This patch adds a configurable line separator between list items, very similar to lists in Android. Additionally, below the list item there is a thicker line. It can be disabled in the settings. Its color can be configured as well.

Remote and monochrome displays are explicitly unsupported. If there is desire this can be changed but it doesn't seem useful to me.
apps/gui/bitmap/list.c [diff]
apps/gui/line.c [diff]
apps/gui/line.h [diff]
apps/lang/english.lang [diff]
apps/menus/theme_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/lcd.h [diff]
wps/WPSLIST [diff]
wps/wpsbuild.pl [diff]
Thomas Martitz
2014-01-13 20e114c: wpsbuild: The setting strings can now contain an additional feature constraint.

The setting strings are now of the form setting[.resolution[&feature]]
(resolution can be a regex, .+ to match all resultions). wpsbuild.pl will check against features.txt to see if the target meets it.

This can be used, for example, to add/override default settings for touchscreen devices.
wps/wpsbuild.pl [diff]
Thomas Martitz
2014-01-23 6252423: Implement lcd_get_dpi() for all bitmap targets.

DPI values are autogenerated from the resolution and collected display size values. These values are inserted as comments as well.
firmware/export/config/archosfmrecorder.h [diff]
firmware/export/config/archosondiofm.h [diff]
firmware/export/config/archosondiosp.h [diff]
firmware/export/config/archosplayer.h [diff]
firmware/export/config/archosrecorder.h [diff]
firmware/export/config/archosrecorderv2.h [diff]
firmware/export/config/cowond2.h [diff]
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenmozaic.h [diff]
firmware/export/config/creativezenv.h [diff]
firmware/export/config/creativezenxfi.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/creativezv.h [diff]
firmware/export/config/gigabeatfx.h [diff]
firmware/export/config/gigabeats.h [diff]
firmware/export/config/gogearhdd1630.h [diff]
firmware/export/config/gogearhdd6330.h [diff]
firmware/export/config/gogearsa9200.h [diff]
firmware/export/config/hifietma8.h [diff]
firmware/export/config/hifietma8c.h [diff]
firmware/export/config/hifietma9.h [diff]
firmware/export/config/hifietma9c.h [diff]
firmware/export/config/hifimanhm60x.h [diff]
firmware/export/config/hifimanhm801.h [diff]
firmware/export/config/iaudio7.h [diff]
firmware/export/config/iaudiom5.h [diff]
firmware/export/config/iaudiox5.h [diff]
firmware/export/config/ihifi760.h [diff]
firmware/export/config/ihifi960.h [diff]
firmware/export/config/ipod1g2g.h [diff]
...and 55 more files.
Thomas Martitz
3rd Mar 14:13 ee28a70: Fix regression introduced by eec89a9.

The icon pixel position must be calculated before y is modified.
apps/gui/line.c [diff]
Thomas Martitz
3rd Mar 12:21 5900bf7: ingenic: Tweak a few details in crt0.S

1) Avoid load/store delay slot by reorganizing instructions in copy loops 2) Fix off-by-one error in cache initialization code. This was harmless as it simply set line0 twice, now it sets every cacheline only once. 3) Fix off-by-word error in .bss clearing loop. The addiu in branch delay slot even if calculated is not seen by the branch instruction itself, so the code did one word too much in clearing. 4) Fix off-by-word error in deadbeefing stack. See above.
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
Marcin Bukat
2014-02-28 3ae07d4: Fix FS #12951: The icons could be a pixel to far down.

Since eec89a9 icons have been centered using same calculation as for fonts. In edge cases this is visually different from before and didn't align well to the font's baseline. Revert to the old calculation just for centering icons to fix.

A proper aligorithm would take the baseline into account but this has worked sufficiently well for us (fix this if needed)
apps/gui/line.c [diff]
Thomas Martitz
3rd Mar 10:19 05999ed: Fix hostfs_init() return value.
firmware/export/hostfs.h [diff]
firmware/target/hosted/android/system-android.c [diff]
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr1/system-ypr1.c [diff]
firmware/target/hosted/sdl/system-sdl.c [diff]
Thomas Martitz
2014-02-28 506b871: application(ypr0): Fix mount option selected by the current codepage.

A missing comma messed the lookup table up :'( Be aware that the kernel on the ypr0 doesn't support many codepages in which case its default (iso8859) will be used.
firmware/common/unicode.c [diff]
Thomas Martitz
2014-02-25 6b01da8: application: fix opendir() for "/" directory.

"/" couldn't be opened. This regression was introduced by 731072d. Trailing slash should not be stripped for the root directory.
firmware/common/rbpaths.c [diff]
Thomas Martitz
2014-02-25 191bd3d: test_disk: Add an additional dirscan test that calls dir_get_info() also.

Especially on hosted dir_get_info() can be relatively. It is commonly called after every readdir() for further information about the dir entry. So it's peformance compared to readdir()-only is interesting.
apps/plugins/test_disk.c [diff]
Thomas Martitz
2014-02-25 731072d: application: Remove trailing slashes from the input in opendir().

This is needed for readdir() and dir_get_info() to work properly because they depend on hash/path matching.
firmware/common/rbpaths.c [diff]
Thomas Martitz
2014-02-24 5fd8dd1: application: Speed up dir_get_info() further.

It's quite rare that it is called for a symlink to a directory. But it only needs a second syscall to stat() if that happened. Therefore speed up the common case by avoiding an unecessary second syscall.
firmware/common/rbpaths.c [diff]
Thomas Martitz
2014-02-24 c27c3f1: hosted/multidrive: Speed up readdir()/get_dir_info().

The two functions need to check whether they are called for a specific path to implement the virtual mount point for the external storage. This is statistically rare and a hit on the common case. Therefore speed up the common case by performing integer comparision first, and only expensive string construction and comparision if that succeeds.
firmware/common/rbpaths.c [diff]
firmware/export/rbpaths.h [diff]
Thomas Martitz
2014-02-24 3a3d26e: ypr0: Make it build without HAVE_MULTIDRIVE again.
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
Thomas Martitz
2014-02-23 be96751: hosted: Rename a bit in functions to avoid name clashes with unix headers.
apps/plugins/alarmclock.c [diff]
apps/plugins/keybox.c [diff]
Thomas Martitz
2014-02-23 3b7057f: Second try at undefing STORAGE_GET_INFO, the previous one was too hasty, sorry.
firmware/export/config.h [diff]
firmware/export/config/sim.h [diff]
Thomas Martitz
2014-02-23 d7ba70d: undef HAVE_STORAGE_GET_INFO for the sim, there is no useful implementation right now.
firmware/export/config/sim.h [diff]
Thomas Martitz
2014-02-23 3505ad3: Fix reds
uisimulator/common/io.c [diff]
Thomas Martitz
2014-02-23 3575372: Add forgotten file.
firmware/export/hostfs.h [new]
Thomas Martitz
2014-02-07 f6c26d3: samsungypr0: Support or mounting the microsd

A thread polls the appropriate GPIO pin for sd card presence and mounts using the mount system call.
firmware/common/rbpaths.c [diff]
firmware/export/config/samsungypr0.h [diff]
firmware/export/mv.h [diff]
firmware/export/rbpaths.h [diff]
firmware/include/file.h [diff]
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
Thomas Martitz
2014-02-22 46137eb: simulator: Fully simulate external storage.

The external storage will be created during make install, as simext folder in the build directory. Upon pressing the e key the sim will mount (virtually
) this into the root directory. It can be accessed in the same way as an sd/mmc card on real targets. This requires quite some path trickery in io.c.
firmware/export/disk.h [diff]
firmware/export/mv.h [diff]
tools/root.make [diff]
uisimulator/common/io.c [diff]
Thomas Martitz
2014-02-11 0f928f8: RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c.

Part of this change is to align sdlapp builds to other application targets in that the sim_* wrappers are not used anymore (except for sim_read/write). Path mangling is now done in rbpaths.c as well.
firmware/common/filefuncs.c [diff]
firmware/common/rbpaths.c [diff]
firmware/export/rbpaths.h [diff]
firmware/include/dir_uncached.h [diff]
firmware/include/file.h [diff]
firmware/target/hosted/android/dir-target.h [deleted]
firmware/target/hosted/filesystem-unix.c [diff]
firmware/target/hosted/samsungypr/dir-target.h [deleted]
tools/checkwps/dir-target.h [deleted]
uisimulator/common/io.c [diff]
Thomas Martitz
2014-02-07 cbc57af: Fix for HAVE_MULTIDRIVE on application builds.
apps/menus/main_menu.c [diff]
firmware/target/hosted/filesystem-unix.c [diff]
firmware/target/hosted/samsungypr/dir-target.h [diff]
Thomas Martitz
2014-02-07 5802141: logdiskf: enable for application and simulator builds.
firmware/export/config.h [diff]
Thomas Martitz
2014-02-07 07f4848: codepages: Translate to linux codepage names for use on APPLICATION.

The iocharset mount option names the codepages slightly differently and must be translated properly.
firmware/common/unicode.c [diff]
firmware/include/rbunicode.h [diff]
Thomas Martitz
2014-02-21 facbaab: simulator: Simulate external storage for HAVE_MULTIDRIVE.

The virtual external storage can be inserted/extracted with the e key. This has little effect because there is no way to access the storage (yet, a later commit will change this). Except on ondio where the mmc needs to be extracted before entering USB (like on real target).
firmware/export/config/sim.h [diff]
firmware/target/hosted/sdl/button-sdl.c [diff]
uisimulator/common/sim_tasks.c [diff]
uisimulator/common/sim_tasks.h [diff]
uisimulator/common/stubs.c [diff]
Thomas Martitz
2014-02-07 77f19f7: storage: Add STORAGE_HOSTFS

CONFIG_STORAGE & STORAGE_HOSTFS allows to use parts of the storage_* API to be compiled for application targets without compiling storage.c or performing actually raw storage access. This is primarily to enable application targets to implement HAVE_MULTIVOMULE/HAVE_HOTSWAP (in a later commit).

SIMULATOR uses the same mechanism without explicitely defining STORAGE_HOSTFS
(how to add a bit to an existing preprocessor token?).
apps/debug_menu.c [diff]
firmware/export/config.h [diff]
firmware/export/config/android.h [diff]
firmware/export/config/nokian8xx.h [diff]
firmware/export/config/nokian900.h [diff]
firmware/export/config/pandora.h [diff]
firmware/export/config/samsungypr0.h [diff]
firmware/export/config/samsungypr1.h [diff]
firmware/export/config/sdlapp.h [diff]
firmware/export/config/sim.h [diff]
firmware/export/storage.h [diff]
firmware/target/hosted/android/system-android.c [diff]
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr1/system-ypr1.c [diff]
firmware/target/hosted/sdl/button-sdl.c [diff]
firmware/target/hosted/sdl/system-sdl.c [diff]
uisimulator/common/stubs.c [diff]
Thomas Martitz
2014-02-18 706e6b7: Move VOL_NAMES definition to mv.h

Fits better and including dir.h is more messy for some places.
apps/playlist.c [diff]
apps/root_menu.c [diff]
firmware/export/mv.h [diff]
firmware/include/dir.h [diff]
Thomas Martitz
2014-02-22 3f11676: zenxfi3: fix yellow
firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c [diff]
Amaury Pouly
2014-02-22 ebb7057: zenxfi3: enable headphone detection
firmware/export/config/creativezenxfi3.h [diff]
Amaury Pouly
2014-02-22 666f8fe: zenmozaic: enable speaker support
firmware/export/config/creativezenmozaic.h [diff]
firmware/target/arm/imx233/creative-zen/audio-target.h [diff]
Amaury Pouly
2014-02-22 1450f26: stmp3700: implement speaker support by mean of lineout
firmware/target/arm/imx233/audioout-imx233.c [diff]
Amaury Pouly
2014-02-22 b9db3d3: imx233: remove nested irq check from debug menu
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-22 f8e8159: imx233: switch debug screen to new button driver
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-22 c6caf58: fuzeplus: switch to new button driver
firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c [diff]
Amaury Pouly
2014-02-22 4e3e3ba: zenxfi3: switch to new button driver
firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c [diff]
Amaury Pouly
2014-02-22 a750b73: zenxfi2: switch to new button driver
firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c [diff]
Amaury Pouly
2014-02-22 8660393: nwz{e360,e370}: switch to new button driver
firmware/SOURCES [diff]
firmware/target/arm/imx233/sony-nwz/button-nwz.c [diff]
firmware/target/arm/imx233/sony-nwz/button-target.h [diff]
Amaury Pouly
2014-02-22 a2bfbe9: zen{,xfi,mozaic,xfistyle,v}: switch to the new button driver
firmware/SOURCES [diff]
firmware/target/arm/imx233/creative-zen/button-target.h [diff]
firmware/target/arm/imx233/creative-zen/button-zen.c [diff]
Amaury Pouly
2014-02-22 82b86d4: imx233: introduce new generic button driver

This driver will subsume the old button-lradc driver and support far more options. It can sense LRADC channels, PSWITCH, GPIOs and it handles special
"buttons" like headphone insertion and hold detection. It also provides a more natural description of the buttons using a target-defined table with some macros to make it easy to read and write. It uniformely handles debouncing on LRADC channels and PSWITCH.
firmware/SOURCES [diff]
firmware/target/arm/imx233/button-imx233.c [new]
firmware/target/arm/imx233/button-imx233.h [new]
Amaury Pouly
2014-02-22 c02bc1a: imxtools/scsitools: increase SCSI delay to 10 seconds

On some OSes like Windows or if running in a virtual machine, the one second timeout might be too short.
firmware/target/arm/imx233/audioout-imx233.c [diff]
utils/imxtools/scsitools/scsitool.c [diff]
Amaury Pouly
2014-02-22 aae249c: zenxfi3: enable speaker support
firmware/export/config/creativezenxfi3.h [diff]
Amaury Pouly
2014-02-22 9517bd8: imxtools/scsitool: add progress indicator
utils/imxtools/scsitools/scsitool.c [diff]
Amaury Pouly
2014-02-22 4e1a043: imxtools/scsitool: improve output formatting
utils/imxtools/scsitools/scsitool.c [diff]
Amaury Pouly
2014-02-19 fd0a86a: imx233: split lradc channel setup into source and sampling parameters
firmware/target/arm/imx233/adc-imx233.c [diff]
firmware/target/arm/imx233/lradc-imx233.c [diff]
firmware/target/arm/imx233/lradc-imx233.h [diff]
firmware/target/arm/imx233/touchscreen-imx233.c [diff]
Amaury Pouly
2014-02-18 961498d: imx233: stop watchdog on exception
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2014-02-18 f890bd5: imx233: regenerate headers
firmware/target/arm/imx233/regs/imx233/regs-apbh.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-apbx.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-audioin.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-audioout.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-bch.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-clkctrl.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-dcp.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-digctl.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-dram.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-dri.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-ecc8.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-emi.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-gpmi.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-i2c.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-icoll.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-ir.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-lcdif.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-lradc.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-ocotp.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-pinctrl.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-power.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-pwm.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-pxp.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-rtc.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-saif.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-spdif.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-ssp.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-sydma.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-timrot.h [diff]
firmware/target/arm/imx233/regs/imx233/regs-tvenc.h [diff]
...and 108 more files.
Amaury Pouly
2014-02-18 49db199: regtools: fix headergen variadic macro generation
utils/regtools/headergen.cpp [diff]
Amaury Pouly
2014-02-17 8927df4: imx233: fix app.lds to properly support INIT_ATTR

Original fix by Marcin: it had a problem because crt0 on imx233 is more complicated than many targets: since we use virtual memory, we first disable the MMU, then move the entire image (including init and itext stuff), then setup a temporary stack to setup the MMU. Only when the MMU is enabled, can we move the init and itext stuff to its right location and finally boot. This requires some trickery because:
- the initial move copies everything, including init and itext
- the stack overlaps with init and itext to reclaim space
- the temporary stack cannot be the same as the main stack to avoid trashing the init and itext code, also it needs to be a physical address
firmware/target/arm/imx233/app.lds [diff]
firmware/target/arm/imx233/boot.lds [diff]
firmware/target/arm/imx233/crt0.S [diff]
Amaury Pouly
2014-02-17 dd6f5cf: Revert "imx233: fix app.lds to properly support INIT_ATTR"

This reverts commit 2b02cbe1ccbf2fcdcc164c6a4139f6666aed23c9. For some reason it breaks the build, more investigation is needed.
firmware/target/arm/imx233/app.lds [diff]
Amaury Pouly
2014-02-17 7f0b7b7 G#759: fix russian translate in 0f72c73b5b
apps/lang/russian.lang [diff]
Dmitry Gamza
2014-02-16 cefaa46: zenxfistyle: add simulator bitmap and button map
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-creativezenxfistyle.bmp [new]
uisimulator/buttonmap/creative-zen.c [diff]
Amaury Pouly
2014-02-16 db39224: imx233: rework interrupt nesting, disabled for now

Rework the irq code, to put more code in the C part. When interrupt nesting is enable, Rockbox gets pretty unstable so disable it for now.
firmware/target/arm/imx233/icoll-imx233.c [diff]
Amaury Pouly
2014-02-16 556fa2c: zenxfistyle: implement speaker support
firmware/export/config/creativezenxfistyle.h [diff]
firmware/target/arm/imx233/creative-zen/audio-target.h [diff]
Amaury Pouly
2014-02-16 f0f1758: zenxfi2: implement headphones detection
firmware/export/config/creativezenxfi2.h [diff]
firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c [diff]
Amaury Pouly
2014-02-16 6b3c29d: zenxfi2: add speaker support
firmware/export/config/creativezenxfi2.h [diff]
firmware/target/arm/imx233/creative-zenxfi2/audio-target.h [diff]
Amaury Pouly
2014-02-16 812c3e7: imx233: add support for speaker on stmp3780
firmware/drivers/audio/imx233-codec.c [diff]
firmware/target/arm/imx233/audioout-imx233.c [diff]
firmware/target/arm/imx233/audioout-imx233.h [diff]
Amaury Pouly
2014-02-15 17abb10: zenxfi: enable lcd shutdown in bootloader
firmware/export/config/creativezenxfi.h [diff]
Amaury Pouly
2014-02-15 3d852bc: imx233: avoid overlapping text in debug
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-14 101d10f: atj213x: rework crt0.S in test code

Rework init code so relocation is safe for binaries linked into cached unmapped KSEG0 region.
utils/atj2137/adfuload/test_binary/timer_irq/crt0.S [diff]
Marcin Bukat
2014-02-13 44afbd3: regtools: Add rk27xx register description file
utils/regtools/desc/regs-rk27xx.xml [new]
Marcin Bukat
2014-02-13 4b1221d: fix red, strtok_r being annoying on sim builds
apps/plugin.h [diff]
apps/plugins/main_menu_config.c [diff]
Jonathan Gordon
2014-02-13 6dbfd44: main_menu_config: New plugin to configur the main menu order

Plugins/Applications/main_menu_config allows you to edit the main menu order without having to manually edit config.cfg.

Press the standard OK button to access the internal menu which allows you to move items up/down in the order and toggle their visibility. Exit via this menu to have the order saved.

(Suggestions welcome to improve this UI)
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/main_menu_config.c [new]
apps/root_menu.c [diff]
apps/root_menu.h [diff]
Jonathan Gordon
2014-02-13 1210de2: regtools/qeditor: fix crash when hwstub device fails to open
utils/regtools/qeditor/backend.cpp [diff]
Amaury Pouly
2014-02-12 c35e4a4: Fix red
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/lib/soc_desc.hpp [diff]
utils/regtools/qeditor/backend.cpp [diff]
Amaury Pouly
2014-02-11 0f72c73: FS #12949 - Diff to fill in incomplete Russian translation items.
apps/lang/russian.lang [diff]
Jeremy Goodwin
2014-02-11 5172d66: imx233: cleanup in sdmmc
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2014-01-15 2b02cbe G#725: imx233: fix app.lds to properly support INIT_ATTR
firmware/target/arm/imx233/app.lds [diff]
Marcin Bukat
2014-02-10 04fc97b: regtools/qeditor: implement UI code to write registers

The UI now has a "read-only" check box to prevent accidently changes: once unchecked, the UI can do write to register (only full register writes are supported for now). If the register supports it, the UI provides SCT writes as well. The display register panel was moved to its own class to cleanup things a bit.
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-02-10 6e132b4: regtools/qeditor: enhance backend write with write mode (SCT)
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-02-10 68163e8: imx233: don"t be smart when waiting for voltage stabilisation

Unfortunately the hardware is not very helpful when changing voltage: in DCDC mode we have the DC_OK_IRQ but in linear regulator mode, the only available bit doesn't work when lowering the voltages. At the moment, simply sleep for a little while before a better solution is found.
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
2014-02-10 e1003b1: zen/bootloader: power down the LCD at the end of the bootloader if needed

On the ZEN, the LCD is fed continuously by the DMA and this refresh needs to be stop when the bootloader gives control to the firmware, otherwise the DMA will source data from invalid region and it might even lock-up if the new code touches the memory setup. Work around this by properly stopping the LCD driver: the bootloader assumes that if the target defines HAVE_LCD_ENABLE in bootloader build (which is unusual) then it needs to stop the LCD. Since stopping the LCD could produce funny screens, power down backlight which is expected to power down the LCD too, giving a nice black screen instead of some random pixels.
bootloader/imx233.c [diff]
firmware/export/config/creativezen.h [diff]
Amaury Pouly
2014-02-10 935c0ad: imx233: stop the watchdog before loading main firmware
bootloader/imx233.c [diff]
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
Amaury Pouly
2014-02-10 34fb690: imx233: preventive fix of timrot

The old could trigger an immediate IRQ if for example the count was 0 when setting up the timer: since the count was updared *after* clearing the IRQ, it could fire in between.
firmware/target/arm/imx233/timrot-imx233.c [diff]
Amaury Pouly
2014-02-10 619f7fb: zen: enable dma channel after lcdif init
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2014-02-10 0d5b061: zen: workaround errata on imx233 lcdif
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2014-02-09 b8bad84: regtools/qeditor: clean-up

Free the backend when closing a tab to release some memory. Implement about dialogs.
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-02-09 a66a5af: regtools/qeditor: prepare support for register writing
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-02-09 3d07706: regtools/qeditor: rewrite soc handling

The code was a mess with respect to soc handling: some code just plain copied the SoC descriptor which are big objects, some was using indexes. The new soc factor out everything in a few classes which hide these ugly details so that descriptors are never copied.
utils/regtools/qeditor/analyser.cpp [diff]
utils/regtools/qeditor/analyser.h [diff]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
Amaury Pouly
2014-02-09 8358707: hwstub/regtools/qeditor: put soc descriptors in a list instead of a vector

A SoC descriptor is not a small object: it can be as large as ~100KiB so it's better to avoid copying things over.
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/lib/soc_desc.hpp [diff]
utils/regtools/qeditor/backend.cpp [diff]
Amaury Pouly
2014-02-04 1f4f736: imx233: add support for sd/mmc probing zenxfi2: add support for internal storage on the SD version

The code can now skip devices marked as PROBE if they fail to init, thus making it possible to handle various kinds of internal storages. The current code probably doesn't interplay nicely since it acquires pins and never release them so it will probably break NAND code when it's ready but NAND code is not ready yet anyway.
firmware/export/config/creativezenxfi2.h [diff]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2014-02-04 f982ea6: utils/regtools: slight rework of tab management in qeditor
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-02-03 c043ecf: imx233: rework early time power init

The current code does hazardous tweaks to the power subsystem: indeed if one boots with USB plugged and some stub powers on the DCDC switch, it will fail. Indeed, a hardware bug prevents from going back to linear regulators (see errata) so we cannot expect to reach a known state (linreg on, dcdc off) on each configuration and in particular, powering down the 4p2 rail in such a configuration will result in a power brownout. This commit works around this issue by not touching the initial power configuration until USB is (un)plugged, which are the best spots to get known states.
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
Amaury Pouly
2014-02-03 61dbeb6: mkimxboot: don't forget to select LRADC source before reading
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
Amaury Pouly
2014-02-03 cf99d48: Fix typo
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/dma-imx233.c [diff]
firmware/target/arm/imx233/dma-imx233.h [diff]
Amaury Pouly
2014-02-03 db5d745: imx233: add button debug screen
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-03 65d5c42: imx233: fix typos
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2014-02-03 965c268: imx233: handle jack detect inversion on some devices
firmware/target/arm/imx233/creative-zen/button-zen.c [diff]
Amaury Pouly
2014-02-03 0324bf5: imx233: make button-lradc drive able to handle VDDIO derived values

In most devices, the button ladder is not actually derived from VDDIO but from a constant voltage source, making it very easy to read it. However on some devices like ther ZEN X-Fi Style, the ladder is wired to VDDIO we can be changed so it's crucial that the button driver correctly scales the values wrt VDDIO.
firmware/target/arm/imx233/button-lradc-imx233.c [diff]
firmware/target/arm/imx233/button-lradc-imx233.h [diff]
firmware/target/arm/imx233/creative-zen/button-target.h [diff]
firmware/target/arm/imx233/lradc-imx233.h [diff]
Amaury Pouly
2014-02-03 0e0c610: utils/regtools: make qeditor able to poke directly at a hwstub device

This commit add the very handy feature of being able to read registers directly from a device using hwstub. This is mostly trivial using the hwstub library and the biggest change here is actually:
- being able to read registers by name and/or addresses
- being able to enumerate devives The UI code currently doesn't handle hotplug but the backend does so it should be trivial to add in the future. It also opens up the possibility the write registers from hwstub or save the register values to a file. Since it relies on both hwstub and libusb, a switch has been introduced in qmake to disable it (use -config nohwstub).
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/main.cpp [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-02-03 81dfed2: utils/hwstub: make stmp stub able to load in a MMU'ed environement

In might be useful to load hwstub in an environment with the MMU active, in which case care must be taken on the order in which things are done. Mostly, one should not disable the MMU before moving stuff around. The code assumes the linking address (0 currently) is identity mapped.
utils/hwstub/stub/stmp/crt0.S [diff]
Amaury Pouly
2014-02-03 c17d30f: utils/hwstub: completely rework the protocol, drop unused features

The protocol has evolved a lot during the 2.x.y lifetime, bringing more features which later got unused. This commit removes all the unused stuff and simplifies everything:
- drop the feature mask: everything is mandatory or stalled on error
- remove the info request and put all static information in standard USB descriptors which are part of the configuration descriptor (and can be retrieved using the standard GetDescriptor request).
- remove the USB interface, we had only one anyway
- remove all endpoint descriptors
- remove the exit/atexit stuff, it never worked as intended anyway
- update the hwstub library and make it able to handle any device
- update the tools (mostly renaming and removing of code)
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
utils/hwstub/stub/main.c [diff]
utils/hwstub/stub/rk27xx/target.c [diff]
utils/hwstub/stub/stmp/target.c [diff]
utils/hwstub/stub/target.h [diff]
utils/hwstub/tools/hwstub_load.cpp [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
Amaury Pouly
2014-02-02 6d64111: imx233: add hardware and software watchdog

The hardware watchdog automatically shutdown the device after 10s of inactivity, being defined as 10s without the tick IRQ fired (aka braindead device). The software IRQ mechanism is more interesting: it uses a very high priority timer setup as one-shot to trigger after 5s of inactivity (but IRQ still enabled). When detected, it patches the running code to insert a SWI instruction so that on interrupt return it will trigger a SWI and produce a meaningfull backtrace to debug the deadlock. This should allow to debug freezes in IRQ context.
firmware/target/arm/imx233/icoll-imx233.c [diff]
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
firmware/target/arm/imx233/timrot-imx233.h [diff]
Amaury Pouly
2014-02-02 1a06292: imx233: increase audio DAC IRQ priority

This should hopefully fix some audio glitches
firmware/target/arm/imx233/icoll-imx233.h [diff]
firmware/target/arm/imx233/pcm-imx233.c [diff]
firmware/target/arm/imx233/timrot-imx233.c [diff]
firmware/target/arm/imx233/timrot-imx233.h [diff]
Amaury Pouly
2014-02-02 91a8cd1: imx233: add code to debug menu to check nested IRQ actually work
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-02 f7efa92: imx233: add support for nested IRQ

Rewrite IRQ handling to allow nested IRQs: on each IRQ entry, we save the parameters on the (IRQ) stack and then switch to SVC mode (with its own stack) and renable interrupts. Make sure interrupt is properly acknowledged by using the read side-effect (RSE) mode and handle priority levels as well.
firmware/target/arm/imx233/crt0.S [diff]
firmware/target/arm/imx233/icoll-imx233.c [diff]
Amaury Pouly
2014-02-02 cefaabf: imx233: cleanup icoll and add software irq sources
firmware/target/arm/imx233/icoll-imx233.c [diff]
firmware/target/arm/imx233/icoll-imx233.h [diff]
Amaury Pouly
2014-02-02 55877f4: imx233: always disable watchdog on boot
firmware/target/arm/imx233/rtc-imx233.h [diff]
Amaury Pouly
2014-02-02 0ba4c3b: imx233: enhance icoll with priority and soft IRQ
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/icoll-imx233.c [diff]
firmware/target/arm/imx233/icoll-imx233.h [diff]
Amaury Pouly
2014-02-02 ab5dfd5: imx233: add timrot to debug menu
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2014-02-02 4495913: imx233: clean timrot a bit
firmware/target/arm/imx233/icoll-imx233.c [diff]
firmware/target/arm/imx233/kernel-imx233.c [diff]
firmware/target/arm/imx233/kernel-imx233.h [diff]
firmware/target/arm/imx233/timer-imx233.c [diff]
firmware/target/arm/imx233/timrot-imx233.c [diff]
firmware/target/arm/imx233/timrot-imx233.h [diff]
Amaury Pouly
2014-02-10 c1609b0: Coding style fix for bde5394
firmware/usbstack/usb_core.c [diff]
Marcin Bukat
2014-02-09 7552542: atj213x: Simple test exploring irq handling

This test software setups timer T0 periodic interrupt. In ISR it changes backlight level. The interrupt handler does not support nesting and the whole ISR is run in interrupt context. Exceptions are not handled yet.
utils/atj2137/adfuload/test_binary/timer_irq/Makefile [new]
utils/atj2137/adfuload/test_binary/timer_irq/atj213x.h [new]
utils/atj2137/adfuload/test_binary/timer_irq/crt0.S [new]
utils/atj2137/adfuload/test_binary/timer_irq/irq_handler.S [new]
utils/atj2137/adfuload/test_binary/timer_irq/mips-archdefs.h [new]
utils/atj2137/adfuload/test_binary/timer_irq/mips.h [new]
utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c [new]
utils/atj2137/adfuload/test_binary/timer_irq/test.lds [new]
utils/atj2137/adfuload/test_binary/timer_irq/test_timer_irq.c [new]
Marcin Bukat
2013-11-26 bde5394 G#680: Return a valid USB string descriptor for index 0xEE.

Windows will try to retrieve such a descriptor on first connect. If the device returns STALL or a regular string descriptor (i.e. not one that follows the Microsoft OS Descriptor spec), things will continue normally.

Unfortunately some of our low-level USB drivers have issues with STALL so any other valid descriptor is the next best solution.

Tested: Frank Gevaerts
firmware/usbstack/usb_core.c [diff]
Frank Gevaerts
2014-02-07 f723ca5: Fixed bug where exiting textviewer after using up all the bookmarks caused that file unable to be read the next time.
apps/plugins/text_viewer/tv_bookmark.c [diff]
Avi Eisenberg
2014-02-05 457bdfb: ypr0: Remove SDL copy&paste left-overs
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
Thomas Martitz
2013-12-28 f005d84: Samsung YP-R0/YP-R1 refactoring

This patch includes some refactoring:
- renaming according to Rockbox guidelines
- GPIO code merging, still with target defines
- some simplification in firmware/SOURCES
firmware/SOURCES [diff]
firmware/target/hosted/samsungypr/gpio-ypr.c [new]
firmware/target/hosted/samsungypr/gpio-ypr.h [new]
firmware/target/hosted/samsungypr/gpio_ypr.c [deleted]
firmware/target/hosted/samsungypr/ypr0/button-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr0/gpio-target.h [diff]
firmware/target/hosted/samsungypr/ypr0/r0GPIOIoctl.h [deleted]
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr1/button-ypr1.c [diff]
firmware/target/hosted/samsungypr/ypr1/gpio-target.h [diff]
firmware/target/hosted/samsungypr/ypr1/ioctl-ypr1.h [diff]
firmware/target/hosted/samsungypr/ypr1/system-ypr1.c [diff]
Lorenzo Miori
2014-02-05 e32ace8: Disable rombox on the Player.

No more Archos rombox left...
tools/configure [diff]
Frank Gevaerts
2013-09-10 e876f4d: Samsung YP-R1 target port

This is the basic port to the new target Samsung YP-R1, which runs on a similar platform as YP-R0. Port is usable, although there are still some optimizations that have to be done.
apps/SOURCES [diff]
apps/audio_path.c [diff]
apps/debug_menu.c [diff]
apps/keymaps/keymap-ypr1.c [new]
apps/lang/english.lang [diff]
apps/plugins/clix.c [diff]
apps/plugins/reversi/reversi-gui.h [diff]
firmware/SOURCES [diff]
firmware/asm/SOURCES [diff]
firmware/common/rbpaths.c [diff]
firmware/drivers/audio/wm8978.c [diff]
firmware/export/config.h [diff]
firmware/export/config/samsungypr1.h [new]
firmware/export/rbpaths.h [diff]
firmware/include/dir_uncached.h [diff]
firmware/target/hosted/samsungypr/gpio_ypr.c [diff]
firmware/target/hosted/samsungypr/ypr0/gpio-target.h [diff]
firmware/target/hosted/samsungypr/ypr1/audio-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/backlight-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/button-target.h [new]
firmware/target/hosted/samsungypr/ypr1/button-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/gpio-target.h [new]
firmware/target/hosted/samsungypr/ypr1/ioctl-ypr1.h [new]
firmware/target/hosted/samsungypr/ypr1/mcs5000-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/mcs5000.h [new]
firmware/target/hosted/samsungypr/ypr1/pmu-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/pmu-ypr1.h [new]
firmware/target/hosted/samsungypr/ypr1/powermgmt-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/system-ypr1.c [new]
firmware/target/hosted/samsungypr/ypr1/wmcodec-ypr1.c [new]
...and 6 more files.
Lorenzo Miori
2014-02-04 b828b9d: samsung ypr0: Include getty service in the patched firmware for usb serial shell access.

The getty service mointors /dev/ttyGS0 (also created by the patched firmware). When the g_serial.ko module is loaded this automatically enables shell access via usb. It exposes a cdc-acm device to the host which is compatible to linux
(usb_serial.ko) and windows.

The g_serial.ko is not included module can be build from the YP-R0 open source package provided by samsung. It can be loaded via rc.user on the internal memory.
utils/ypr0tools/files/common/etc/inittab [new]
utils/ypr0tools/patch-firmware.sh [diff]
Thomas Martitz
2014-02-02 761975e: Slight change to line positioning in 128x128x16 Cabbie
wps/cabbiev2.128x128x16.wps [diff]
Alex Parker
2014-02-03 0b7a907: talk: On hwcodec disabling DMA interrupt is required during buflib move

Even though the DMA buffer itself does not move the ISR copies from a movable buffer into the static commit buffer. To ensure this copying yields consistent data it must not be interrupted by this ISR..

Also bump the commit buffer size to 2k, this should reduce the overhead considerably because many clips are smaller than that (especially on swcodec/speex).
apps/talk.c [diff]
Thomas Martitz
2014-02-03 10b3bc7: Fix warnings.
apps/talk.c [diff]
apps/voice_thread.c [diff]
Thomas Martitz
2014-01-21 e5eb745: talk/voice: Reduce the size of the commit buffer.

The voice engine can now request more voice data during decoding, it does not require the entire clip to be available before start of decoding anymore. Therefore the commit buffer does not need to hold an entire voice clip anymore, and can be made greatly smaller.
apps/talk.c [diff]
apps/voice_thread.c [diff]
Thomas Martitz
2014-02-02 af02a67: talk.c: The new cache management is good enough to use it for .talk clips as well.

This unifies the talk.c for all possible voice payload. .talk clips are placed onto the same unified clip cache, along with normal clips. This allows for more effecient memory usage.

The cache handling makes a slight difference between normal clips and .talk ones: .talk clips can be cached multiple and are always freed first.The extra logic to avoid loading multiple copies of .talks is not necessary because the will be freed first anyway.
apps/talk.c [diff]
Thomas Martitz
2014-02-02 03f373c: talk.c: The new cache management is good enough to use it on all targets.

This unifies the talk.c for all targets. The only separation is left is TALK_PROGRESSIVE_LOAD: When this is defined the talk buffer will not be initially prefilled. This is useful for super slow storage or when the buffer is not large enough to prefill it with useful clips (the prefill code could be made smarter too).

The buffer size can be adjusted. By default lowmem uses 100k while other targets load the entire file. The bigger the more clips can be cached but with diminishing returns.
apps/talk.c [diff]
Thomas Martitz
2013-11-21 c46f9be: talk: Smarter cache management for TALK_PARTIAL_LOAD.

Previously the clip cache of TALK_PARTIAL_LOAD reserved space N clips, each slot was as big as the maximum sized clip which was necessary to replace clips in-memory in MRU-style.

The cache management now uses buflib to allocate and free each clip, using the clip's real size. This allows the clip cache to be much more compact, because no space is wasted for the max. sized clip. This makes use of buflib's ability to easily manage differently-sized memory chunks by moving them to make free space.

As an example: for english.voice TALK_PARTIAL_LOAD allocated 288k in advance. for just 64 clips. With this patch ~70 clips can be stored in a 100k buffer. This, the memory usage is cut by 2/3 and almost optimal (there's still the buflib per-alloc cookie overhead).

As a result the TALK_PARTIAL_LOAD buffer is restricted to 100k which still allows for more clips than previously, on average.
apps/talk.c [diff]
Thomas Martitz
2013-07-02 dac40fd: talk: Add debug menu entry to view statistics about talk engine.

This engine includes voicefile, memory usage and cache hits/misses for TALK_PARTIAL_LOAD.
apps/debug_menu.c [diff]
apps/talk.c [diff]
apps/talk.h [diff]
Thomas Martitz
2014-01-29 57000b5: talk: Make talk_voice_required() local to talk.c
apps/talk.c [diff]
apps/talk.h [diff]
apps/voice_thread.c [diff]
Thomas Martitz
2014-01-29 60dea95: talk/hwcodec: Do always free the clip buffer in shrink_callback().

This is necessary because when voice is active audio is disabled. But only audio was able to shrink it's buffer to let other memory allocs succeed. talk needs to be able to do this too when it owns the audio buffer exclusively.
apps/talk.c [diff]
Thomas Martitz
2014-01-28 428f069: talk: Remove superflous call to talk_init().

talk_init() is called by settings_apply() already which is called on boot. Doing it again means loading the voicefile a second time which isn't necessary.
apps/audio_thread.c [diff]
apps/mpeg.c [diff]
apps/settings.c [diff]
Thomas Martitz
2014-01-28 4ce39f7: buflib: Add a define telling the per-alloc overhead.

This allows buflib clients to more accurately estimate the total memory usage. It's still not 100% accurate because the handle table grows in blocks, thus buflib might use more memory that caused by allocations directly.
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
Thomas Martitz
2014-02-02 4ce1dea: buflib: Properly support allocations without any name, to avoid wasting space in micro-allocation scenarios.
firmware/buflib.c [diff]
firmware/core_alloc.c [diff]
firmware/include/buflib.h [diff]
firmware/include/core_alloc.h [diff]
Thomas Martitz
2014-01-28 d663467: buflib: Check the validity of of handles passed to buflib_get_data() in DEBUG builds.
firmware/buflib.c [diff]
firmware/export/config/librockplay.h [new]
firmware/include/buflib.h [diff]
firmware/kernel/pthread/corelock.c [new]
firmware/kernel/pthread/mutex.c [new]
firmware/kernel/pthread/thread.c [new]
Thomas Martitz
2014-01-28 d608d22: buflib: Abstract panicf() into buflib_panic().
firmware/buflib.c [diff]
Thomas Martitz
2014-01-28 a11c6a5: hosted: Substract more than 256K from total memory pool.

These 256K are intended to account for the binary size which reduces the total available RAM on native targets. 256K is really outdated though, 768K should be more accurate (for the majority of targets).
firmware/core_alloc.c [diff]
Thomas Martitz
2014-01-29 3a86352: sim/sdlapp: Do not quit immediately on panicf, but wait for quit.
firmware/target/hosted/sdl/button-sdl.c [diff]
firmware/target/hosted/sdl/system-sdl.c [diff]
firmware/target/hosted/sdl/system-sdl.h [diff]
Thomas Martitz
2014-01-30 7272a95 G#731: rk27utils: improve command line parsing, allow arbitrary USB ids in rkusbtool
utils/rk27utils/rk27load/main.c [diff]
utils/rk27utils/rkusbtool/rkusbtool.c [diff]
Amaury Pouly
2014-01-28 6fc19a7: Update manual to match 1b53f448.
manual/rockbox_interface/tagcache.tex [diff]
Frank Gevaerts
2014-01-27 f63b42a: Correct the number of codepages on charcell.

63cfbe0 fixed the number of codepages for bitmap targets. The same issue is present on charcell, so update the number for that as well, fixing UTF-8 missing in the list.
apps/settings_list.c [diff]
Dominik Riebeling
2014-01-27 7df8ebf: Use new ipod6g player image for ipod6g.
rbutil/rbutilqt/icons/players/ipod6g-small.png [new]
rbutil/rbutilqt/rbutil.ini [diff]
rbutil/rbutilqt/rbutilqt.qrc [diff]
Dominik Riebeling
2014-01-27 2e511e0 G#730: Manual: add images for the ipod 6G, made by me.
manual/rockbox_interface/images/ipod6g-front.pdf [new]
manual/rockbox_interface/images/ipod6g-front.png [new]
manual/rockbox_interface/images/ipod6g-front.svg [new]
Szymon Dziok
2014-01-27 efc20ec: talk: When no voice file is loaded don't even attempt to load the clip, it's hopeless.
apps/talk.c [diff]
Thomas Martitz
2014-01-26 5430275: hwcodec/talk.c: Give the thumbnail buffer regardless of the talk buffer policy.

When the policy is not set, it'll by default not give the clip buffer away. Callers of core_alloc_maximum() suffer from this. However, the thumbnail buffer can be easily freed when needed because nothing needs to be reloaded from disk when it is reallocated (thumbnail clips are loaded on demand, when in the file browser). Do this to give core_alloc_maximum() callers a better chance to succeed with the default talk buffer policy.
apps/mpeg.c [diff]
apps/talk.c [diff]
Thomas Martitz
2014-01-26 9892b39: charcell: Fix lockup after some scrolling lines.
firmware/drivers/lcd-charcell.c [diff]
Thomas Martitz
2014-01-16 946c348 G#727: Fix incorrect language string reference in eq_menu.c

In most of the translations strings with SYSFONT in title is translated. This leads to displaying problem in (at least) graphical equalizer due to the lack of non-latin character support in the built-in font.
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/english.lang [diff]
apps/menus/eq_menu.c [diff]
Purling Nayuki
2013-03-03 e1da541 G#412: Option to use the lighter hinting algorithm (FT_LOAD_TARGET_LIGHT).

I've found this algorithm produces clearer results when rendering some fonts at small point sizes.

Tested: Purling Nayuki
tools/convttf.c [diff]
Nick Peskett
2014-01-26 77ee285: Fix warnings. convbdf needed to be updated for the changed font struct because it generates sysfont.c.
firmware/firmware.make [diff]
tools/convbdf.c [diff]
Thomas Martitz
2014-01-26 37be80a: fonts: Fix regression(s) caused by c23ce62.

The builtin sysfont does not have an associated buflib_alloc_data
(because it's builtin right?). font_get_{width,bits} accessed a field of it for all fonts which crashed on some systems but not on mine. Solution: Move this field to struct font directly.

The cache size calculated was also busted.

Fixes FS #12944 and most likely FS #12938.
firmware/export/font.h [diff]
firmware/font.c [diff]
Thomas Martitz
2014-01-22 8142c68: Fix red on monochrome.
apps/gui/skin_engine/skin_engine.c [diff]
Thomas Martitz
2014-01-22 fbc6981: manual: Correct playlist subsection in the wps context menu section.

The "Save Current Playlist" isnt part of the playlist viewer settings. While at this section also add a reference to the extra playlist chapter.
manual/rockbox_interface/wps.tex [diff]
Thomas Martitz
2014-01-22 6cb1176: skin_engine/backdrops: Have to reload default backdrops from setting when it changed.

When skins use the default backdrop (via %X(-) or no %X at all) and the setting changes it needs to be reloaded, otherwise when changing themes the new theme could show the backdrop from the previous theme. The same needs to be done when re-selecting the same theme after USB because the backdrop file was potentially overwritten.

Fixes FS #12892 and FS #12942.
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_engine.c [diff]
Thomas Martitz
2014-01-21 6022d31: mkimxboot: tool can now recreate a stub to recover from very low battery

Several devices, including the Fuze+ have great trouble recovering from very low battery states, even in the presence of USB power. This is partly due to buggy Sigmatel boot stubs and Rockbox bootloader doing unsafe power operations on boot (should be fixed soon). In such a state, it is impossible to boot either the OF and Rockbox, so only the recovery mode is available. With this commit, mkimxboot can now create a very small stub which only does one thing but does it well: setup charging to recover from any situation. It does not provide a fancy charging screen or whatever, screen will just stay black and the device will slowly charge at ~100mA. When the battery is back to a normal level, just unplug and boot normally.
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
rbutil/mkimxboot/main.c [diff]
rbutil/mkimxboot/mkimxboot.c [diff]
rbutil/mkimxboot/mkimxboot.h [diff]
Amaury Pouly
2014-01-21 cddf388: mkzenboot: reflect ZEN V target id change
rbutil/mkimxboot/mkimxboot.c [diff]
rbutil/mkzenboot/mkzenboot.c [diff]
Amaury Pouly
2014-01-05 1b3ae49: mkimxboot: fix strange MD5 sum about ZEN X-Fi3

This old sum didn't match the US or EU 1.00.25 version and the actual ones were missing.
rbutil/mkimxboot/mkimxboot.c [diff]
Amaury Pouly
2014-01-05 11d73e1: imx233: be less strict about partition checks (>=1GB only)
firmware/target/arm/imx233/partitions-imx233.c [diff]
Amaury Pouly
2014-01-05 877eb7a: imx233: handle quirk about OF partition address bug/feature
firmware/target/arm/imx233/partitions-imx233.c [diff]
Amaury Pouly
2014-01-05 69d0dae: Initial commit for the ZEN X-Fi Style
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/creativezenxfistyle.h [new]
firmware/target/arm/imx233/creative-zen/backlight-zen.c [diff]
firmware/target/arm/imx233/creative-zen/button-target.h [diff]
firmware/target/arm/imx233/creative-zen/button-zen.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenxfistyle.c [new]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/Makefile [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
rbutil/mkimxboot/mkimxboot.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2014-01-20 b3abcb8: rombox: Do not copy .init section to ram on startup.

This is pointless to copy this code as it can be run in-place.
firmware/rom.lds [diff]
Marcin Bukat
2014-01-18 cc64d9e: fix player rom build
firmware/rom.lds [diff]
Marcin Bukat
2014-01-18 21d026d: coldfire: fix rom build

Properly handle .init section in rom build and accomodate the change in crt0.S introduced in b31c856
firmware/rom.lds [diff]
Marcin Bukat
2014-01-18 6879af9: rockbox: Improve button repeat handling.
apps/plugins/rockboy/sys_rockbox.c [diff]
Thomas Martitz
2014-01-18 1e7febe: coldfire: fix bootloader builds

In b31c856 startup code section was renamed but boot.lds linker scripts were not updated accordingly.
firmware/target/coldfire/iaudio/boot.lds [diff]
firmware/target/coldfire/iriver/boot.lds [diff]
firmware/target/coldfire/mpio/boot.lds [diff]
Marcin Bukat
2014-01-18 63cfbe0: There are 15 codepages to choose from, not 14.

2d9c0bab added a codepage but didn't increase the number of choices for the setting, so UTF8 dropped off the list.
apps/settings_list.c [diff]
Frank Gevaerts
2014-01-18 c448d7e: rockboy: Fix button read method.

The old method simply polled the lastbtn variable in button.c. This approach does not clear the button event queue which overflows as a result (panic in the simulator). Use proper APIs to fix that and adopt the method from the old read_scroll_wheel() function, which reads buttons until the button queue is empty, for all targets.
apps/plugins/rockboy/sys_rockbox.c [diff]
Thomas Martitz
2014-01-10 b31c856 G#718: coldfire: Implement HAVE_INIT_ATTR magic

This reclaims ~6kB of ram.
firmware/export/config.h [diff]
firmware/target/coldfire/app.lds [diff]
firmware/target/coldfire/crt0.S [diff]
Marcin Bukat
2014-01-17 d55e569: Some libc files are not needed on mingw anymore so don't compile them (unless HAVE_ROCKBOX_C_LIBRARY is set).
firmware/SOURCES [diff]
Thomas Martitz
2014-01-17 9d26619: Workarund GCC bug #52991 regarding packet attribute.

According to http://http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991, since mingw-gcc 4.7.1 -mms-bitfields is on by default, and this option breaks the packet attribute since around 4.2.0.

We haven't set this option so I'm assuming we don't need it. Therefore a workaround in configure can make things work again, because we rely on the packet attribute in quite a few places.
tools/configure [diff]
Thomas Martitz
2014-01-17 33f5fde: rockblox: Fix compilation under recent mingw-w64-gcc.
apps/plugins/rockblox.c [diff]
Thomas Martitz
2014-01-16 335d708 G#726: Fix chinese-trad translation
apps/lang/chinese-trad.lang [diff]
Purling Nayuki
2014-01-16 08d9b7f: Fix red. Screw those last-minute changes :\
firmware/font.c [diff]
Thomas Martitz
2014-01-16 06d3d4a: sansaclipzip: Correct simulator buttonmap for the different button layout.
uisimulator/buttonmap/sansa-clip.c [diff]
Thomas Martitz
2014-01-16 01b28ea: font: Fix crash due to uninitialized field.
firmware/font.c [diff]
Thomas Martitz
2014-01-09 7ab237b G#711: buflib: Add crc field protecting buflib cookie integrity

This should catch the case of buffer misuse which results in corrupted cookie of next allocation. The check is performed on move_block() so it may be a bit late.

There is buflib_check_valid() provided which checks the integrity of all cookies for given context. On DEBUG build with --sdl-thread this check is carried out for core_ctx on every context switch to catch problems earlier.
apps/plugin.h [diff]
firmware/buflib.c [diff]
firmware/common/crc32.c [diff]
firmware/core_alloc.c [diff]
firmware/include/buflib.h [diff]
firmware/include/core_alloc.h [diff]
firmware/include/crc32.h [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
firmware/thread.c [diff]
Marcin Bukat
2014-01-16 7f5dce4: ipods: fix DEBUG builds

iap-core.h defines LOGF_ENABLE unconditionally but hexstring() helper function was not compiled if logf support was not selected in configure. The regular builds worked by accident because logf() lines where discarded by preprocessor.
apps/iap/iap-core.c [diff]
Marcin Bukat
2014-01-15 47f648f: Fix Player warning.
apps/gui/usb_screen.c [diff]
Thomas Martitz
2014-01-15 aa4c2a5: usb screen: Crop logo to the UI viewport dimensions.

If the UI viewport is too small only the most top/left parts of the logo will be displayed. This goes one step further than bac85f2.
apps/gui/usb_screen.c [diff]
Thomas Martitz
2014-01-15 a648334: usb screen: Push the usb screen onto the activity stack. This enables %cs tag support for it.
apps/gui/usb_screen.c [diff]
apps/misc.h [diff]
Thomas Martitz
2014-01-15 98591a2: menus: Stop scrolling before entering the USB screen or remnants of the previous list could appear on it.
apps/menu.c [diff]
Thomas Martitz
2014-01-15 a969e1f: usb: Do not disable themes in the USB screen.

Fonts can now be assumed (by the code) to be available during USB. Make use of this fact in the USB screen and don't disable the skins.
apps/gui/usb_screen.c [diff]
Thomas Martitz
2014-01-15 c23ce62: fonts: Do not unload completely on USB.

The font engine can now perform cache lookups even if the font file is closed, if the font was disabled with the new font_disable_all() function. It is highly probable that the lookup succeeds but in the cache-miss case a blank, full-width glyph will be returned.
firmware/export/font.h [diff]
firmware/font.c [diff]
firmware/font_cache.c [diff]
firmware/include/font_cache.h [diff]
Thomas Martitz
2014-01-15 84c7d61: tagtree: Use strnatcasecmp() for the database browser too.

Even though you can insert leading zeros that makes ascii sort work for numbers, sometimes the leading zeros don't suffice. In order to always sort numerically strnatcasecmp() is needed.

With the default tagnavi.config this affects albums with discnum > 9 or tracnums > 99. This FS #12888.
apps/tagtree.c [diff]
Thomas Martitz
2014-01-15 4f5b130: Fix Player
apps/misc.c [diff]
Thomas Martitz
2014-01-15 5007bd6: Fix checkwps.
apps/misc.c [diff]
Thomas Martitz
2014-01-10 a02f863 G#713: coldfire: Use single app.lds script for all coldfires.

The only true difference in this platform is the amount of iram between MCF5249 and MCF5250. Instead of duplicating the file simply use one with proper ifdefs.
firmware/target/coldfire/app.lds [new]
firmware/target/coldfire/iaudio/app.lds [deleted]
firmware/target/coldfire/iriver/app.lds [deleted]
firmware/target/coldfire/mpio/app.lds [deleted]
tools/root.make [diff]
Marcin Bukat
2014-01-15 2eb873c: skins: Update SBS when changing activities.

When changing activities (those that are indicated via %cs skin tag), the sbs needs to be updated, so that the UI viewport can be applied before that activity draws its UI.

Fixes FS #12804. I hope this commit doesn't have bad side effects.
apps/gui/statusbar-skinned.c [diff]
apps/misc.c [diff]
Thomas Martitz
2014-01-15 644d9ea: radio: Fix crash with radioart after skipping some stations
apps/radio/radioart.c [diff]
Thomas Martitz
2014-01-13 80aac92 G#721: wpsbuild: Call gcc without having to create a temp file.
wps/wpsbuild.pl [diff]
Thomas Martitz
2014-01-14 d0d9f86: FMS: Load/update the skin at last, when fully initialzed, so that it can display the right content from the beginning.
apps/radio/radio.c [diff]
Thomas Martitz
2014-01-13 a43cce2: HDD1630: enable headphones detection.
firmware/export/config/gogearhdd1630.h [diff]
Szymon Dziok
2014-01-13 518d9ec: HDD1630: implement lcd_enable (display on/off).
firmware/export/config/gogearhdd1630.h [diff]
firmware/target/arm/philips/hdd1630/backlight-hdd1630.c [diff]
firmware/target/arm/philips/hdd1630/lcd-hdd1630.c [diff]
Szymon Dziok
2014-01-13 b25cd97: HDD1630: a proper way to enable and disable backlight.
firmware/target/arm/philips/hdd1630/backlight-hdd1630.c [diff]
Szymon Dziok
2014-01-12 feff021: Make the m:robe 100 stable again.
tools/builds.pm [diff]
Szymon Dziok
2014-01-12 bac85f2: Always check, if the USB logo for remotes overrides their physical size.

This fixes displaying of the main USB screen on m:robe 100. A remote for this particular target has no native remote USB logo and it uses a larger one. However it's a good idea to perform this check always IMHO.
apps/gui/usb_screen.c [diff]
Szymon Dziok
2014-01-09 621d74e: Fix text position in the cabbie (case without AA) and remove unnecessary scrolling.
wps/cabbiev2.160x128x1.wps [diff]
wps/cabbiev2.160x128x16.wps [diff]
wps/cabbiev2.160x128x2.wps [diff]
wps/cabbiev2.176x220x16.wps [diff]
wps/cabbiev2.800x480x16.wps [diff]
Szymon Dziok
2014-01-13 72367f4: Don't try to set default_val in volume_limit_is_changed().

We don't use the default_val anywhere, so there's no need to try to use it in a buggy and null pointer dereferencing way here.
apps/settings_list.c [diff]
Frank Gevaerts
2013-12-21 f0bec02 G#697: Implement volume limiter feature

Add a "volume limit" parameter to the configuration file. The maximum value of volume setting in sound menu will be limited to the same as volume limit. Also each time when setvol() is excuted, Rockbox will check if the global_settings.volume value larger than global_settings.volume_limit. If larger, take the value of volume_limit instead. The volume_limit argument shares the same maximum and minimum values with volume argument, while taking the maximum volume as its default value.
apps/gui/option_select.c [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/english.lang [diff]
apps/menus/sound_menu.c [diff]
apps/misc.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/configure_rockbox/sound_settings.tex [diff]
PurlingNayuki
2014-01-13 31dfabf: Improve wording.
manual/appendix/wps_tags.tex [diff]
Thomas Martitz
2014-01-12 25b7cff: manual: Update bar tags for new noborder parameter and default value for y.
manual/appendix/wps_tags.tex [diff]
Thomas Martitz
2014-01-12 4e1c690: skin_engine: Stricter checking for x, y, width, height for bar tags.

Every theme that doesn't parse anymore now has broken values. I hope it's not too many of them.
apps/gui/skin_engine/skin_parser.c [diff]
Thomas Martitz
2014-01-12 d243e7e: fuze+: Fix pitchscreen keymap.

Like on other targets, left/right should change by 2% only temporarily. In timestretch mode fast speed change was not available.

Fixes FS #12900.
apps/keymaps/keymap-fuzeplus.c [diff]
Thomas Martitz
2014-01-12 eafc701: scroll_engine: Fix FS #12894: Text scrolling stops working after a few seconds/minutes

Since commit 706b920 a timeout of TIMEOUT_BLOCK (-1) will cause queue_event_w_tmo() block indefinitely (previously it behaved as TIMEOUT_NOBLOCK). scroll_process_message() can be called with negative timeouts, with luck also -1.

To fix this convert all negative timeouts to TIMEOUT_NOBLOCK explicitely.
firmware/scroll_engine.c [diff]
Thomas Martitz
2014-01-12 09e655f: put_line(): Add another check against possible buffer overflow (see 193911a).
apps/gui/line.c [diff]
Thomas Martitz
2014-01-12 193911a: put_line(): Fix buffer overflow.

At the end of the format string it wrote a last byte (or inline string) past the end of the lcd boundaries, potentially overwriting unrelated memory. It now makes sure it won't exceed the viewport's width.
apps/gui/line.c [diff]
Thomas Martitz
2014-01-12 3ae7343: skin_engine: New param "noborder" for the bar tags.

By specifying this param the bar will not have a border/box. Instead the inner part that fills up is maximized on the bar area.

Note that this only affects bars using foreground and background colors, not those constructed with images.
apps/gui/scrollbar.c [diff]
apps/gui/scrollbar.h [diff]
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
Thomas Martitz
2014-01-12 6e882b4: put_line(): Do not lock up if the scroll engine runs out of lines.

Allocate MAX_LINES+1 because at the time get_line_desc() is called the scroll engine did not yet determine that it ran out of lines
(because puts_scroll_func() wasn't called yet. Therefore we can run out of lines before setting the used field. By allocating one item more we can survive that point and set used to false if the scroll engine runs out of lines.
apps/gui/line.c [diff]
Thomas Martitz
2014-01-12 c0a02c9: touchscreen/skin_engine: The touchregion handler didn't handle that vertical bars are bottom-up by default
apps/gui/skin_engine/skin_touchsupport.c [diff]
Thomas Martitz
2014-01-12 0a0d61e: Fix remote warnings and charcell reds, and remove minor left-over tuff.
apps/gui/line.c [diff]
apps/plugin.h [diff]
firmware/drivers/lcd-charcell.c [diff]
Thomas Martitz
2014-01-12 488a1b9: put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling.

With the new lcd_putsxy_scroll_func() code can register custom scroll functions
(put_line() makes use of that). In order for the custom scroller to be able to properly manage its userdata pointer (set via struct scrollinfo::userdata) the scroll engine must inform the scroller about start and stop of scrolling.

To inform about start the lcd_scroll_* functions now return true when the line will scroll. To inform about stop the scroll engine calls into the scroller one last time, with the text set to NULL.

put_line() can use this to release the userdata registered per scrolling line so that it can be recycled.

This fixes that some scrolling lines became glitchy after some time because the userdata was recycled too early.
apps/gui/line.c [diff]
apps/plugin.h [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-scroll.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
firmware/export/scroll_engine.h [diff]
Thomas Martitz
2014-01-04 656261b: Don't use core_alloc_maximum() in usb_storage.

usb_storage needs a fairly reasonable amount of memory. Allocating what we need and no more allows other (future) USB drivers to get something too, and is much cleaner in general.
firmware/usbstack/usb_storage.c [diff]
Frank Gevaerts
2014-01-11 26b317e: scroll engine: Factor out renderer function so it can be called by lcd code.

This is used by lcd_puts_scroll_worker() to render the line immediately instead of waiting for the next scroll tick when only the text was updated. Previously lcd_puts_scroll_worker() did not render anything in this case which could lead to visible blinking.

This fixes blinking scrolling lines with dynamic text in the skin engine.
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-scroll.c [diff]
firmware/export/scroll_engine.h [diff]
Thomas Martitz
2014-01-11 2a471c9: cuesheet: Fix another possible buffer overflow with long filenames.
apps/cuesheet.c [diff]
Thomas Martitz
2014-01-11 fe08ac4: cuesheet: Fix possible buffer overflow with long filenames.
apps/cuesheet.c [diff]
Thomas Martitz
2014-01-03 8c286b4: cuesheet: Search for /path/to/music.mp3.cue as well if all fails.
apps/cuesheet.c [diff]
Konstantin Kudakov
2014-01-11 5d37d25: icons: When loading mono icons keep them in mono format.

This enables monochrome icons them to work with the invert line selector.
apps/gui/icon.c [diff]
Thomas Martitz
2014-01-11 ce8aef7: bmp loader: Fix loading of monochrome/greyscale BMPs with newer headers.

The code expected the color table at offset 54 (14+size of BITMAPINFOHEADER), which was after the BITMAPINFOHEADER header. However, newer BITMAPINFOHEADER versions exist which have more fields before the color table. Fix this by explicitely seeking to the color table.
apps/recorder/bmp.c [diff]
Thomas Martitz
2014-01-05 25e50ed G#709: Print `last logf lines on panic().

If logf is enabled, panic() will print the last lines. On small screens this is more or less useless, but on large screens it can be very useful for debugging.

Tested: Frank Gevaerts
firmware/export/logf.h [diff]
firmware/logf.c [diff]
firmware/panic.c [diff]
Frank Gevaerts
2014-01-11 fe73d75: playlist_viewer: Reset icon callback after leaving the playlist viewer settings.

This fixes that the playlist viewer still shows the icons after changing the playlist viewer specific show_icons value until re-opened.
apps/playlist_viewer.c [diff]
Thomas Martitz
2014-01-11 2d4bf62: playlist_viewer: Resurrect playlist viewer settings submenu in the playlist viewer context menu.

This was lost in 97a4c1ef (svn r30177) for unkown reason but the manual still mentions this item, so I assume it was an accident. It doesn't hurt anyway.

Fixes FS #12930.
apps/menus/exported_menus.h [diff]
apps/playlist_viewer.c [diff]
Thomas Martitz
2014-01-10 d4d3f3c: skin engine: Fix FS #12884.

The %Vf and %Vb tags change the colors for the rest of the viewport. This requires the rest of the vp to be redrawn when they change due to a conditional. The previous code did this redraw in all cases (conditional or not) which led to visible blinking.
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
Thomas Martitz
2014-01-10 9cd3444: rk27xx: Implement HAVE_INIT_ATTR magic

This reclaims over 7kB of ram.
firmware/export/config.h [diff]
firmware/target/arm/rk27xx/app.lds [diff]
firmware/target/arm/rk27xx/crt0.S [diff]
Marcin Bukat
2014-01-09 837cad0: bidi.c: Check buffer sizes.

This could cause a crash with certain themes and long filenames.
firmware/bidi.c [diff]
Frank Gevaerts
2014-01-09 99f3f77: skin_engine: Pass string to put_line() via $t because they can be very large.
apps/gui/skin_engine/skin_display.c [diff]
Thomas Martitz
2014-01-09 7ba2d01: put_line(): Limit and truncate inline strings to MAX_PATH+32.

Because inline strings have to be copied (to escape '$') the local buffer can be exhaused. The code didn't check for this. The buffer is increased to handle filenames plus some extra chars but truncates to avoid overflow.

If you have longer strings please pass them via $t tag, in which case put_line() imposes no additional length-limitation.
apps/gui/line.c [diff]
apps/gui/line.h [diff]
Thomas Martitz
2014-01-09 3be3a40: put_line: Be more careful with changing fg and bg colors.

put_line() needs to change fore- and background colors if required by the line style. This should really only be done if required, and be undone as to not compromise subsequent lines. This fixes %Vf and %Vb skin tags.
apps/gui/line.c [diff]
Thomas Martitz
2014-01-08 fde92de: lcd_nine_segment_bmp: Fixes for non-ideal image dimensions.

1) The 9-segment images need not be multiple of 3 pixels anymore. If it isn't the inner segments will be smaller than the corners.

2) If the desired actual images is not a multiple of the segment sizes the function drawed more than the desired rectangle. This is fixed by drawing the last segment only partially.
firmware/drivers/lcd-bitmap-common.c [diff]
Thomas Martitz
2014-01-08 124e9c1: Fix put_line via multiscreen API on remotes. Stupid me.
apps/screen_access.c [diff]
Thomas Martitz
2014-01-08 51d8a45: adfuload: add atj213x timer0 test program

This simple program shows how to setup timer for periodic operation. Interrupts are not used yet and simply pending irq bit is polled and cleared when set. This program supports my understanding of disassm of ADEC_N63.BIN that P_CLK is configured for 7.5MHz and timer clock source is P_CLK directly.
utils/atj2137/adfuload/test_binary/timer_no_irq/Makefile [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/atj213x.h [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/crt0.S [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/mips-archdefs.h [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/mips.h [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/test.lds [new]
utils/atj2137/adfuload/test_binary/timer_no_irq/test_timer_noirq.c [new]
Marcin Bukat
2014-01-07 81be201: Fix Player red and icons on mono displays.
apps/gui/line.c [diff]
firmware/export/lcd-charcell.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2014-01-07 4f5894d: Bump plugin API and ABI for put_line and struct viewport related changes.
apps/plugin.h [diff]
Thomas Martitz
2014-01-07 e766e6d: reversi: Update viewport initialization to new member fields.
apps/plugins/reversi/reversi-gui.c [diff]
Thomas Martitz
2014-01-07 10a2e67: Oops, pasted to the wrong place.
apps/gui/skin_engine/skin_render.c [diff]
Thomas Martitz
2014-01-07 444d2e5: Add missing kernel.h include (hopefully the last one, really), take #4.
firmware/target/hosted/sdl/system-sdl.c [diff]
Thomas Martitz
2014-01-07 0e6d86e: Fix a few reds and yellows.
apps/gui/line.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
Thomas Martitz
2014-01-07 d146970: lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets.

Greylib performed a horrible hack and stored fg and bg patterns in other struct viewport fields. One of them was just removed. So instead of this hack simply enable the *_pattern fields for mono targets as well, so that greylib can use them normally.
apps/plugins/lib/grey.h [diff]
apps/plugins/lib/grey_draw.c [diff]
apps/plugins/lib/grey_parm.c [diff]
apps/plugins/lib/grey_scroll.c [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-30 e1c7b3b: lcd-16bit: Remove {lss,lse,lst}_pattern fields from struct viewport.

These where used for line styling during scrolling, which is now done in apps/, The viewport struct doesn't need to record these anymore.
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/viewport.c [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/reversi/reversi-gui.c [diff]
apps/plugins/test_viewports.c [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
apps/settings.c [diff]
firmware/drivers/lcd-16bit-common.c [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-16 deb6ac3: lcd-16bit: Move lcd_gradient_fillrect/_part() to lcd-16bit-common.c.
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
Thomas Martitz
2013-04-16 36e469d: lcd-common: Remove direct style (line decorations) from lcd-puts* functions.

This logic is moved into apps (put_line()) which can better handle line decorations with respect to scrolling, mulitline and other complications.

Firmware doesn't need this. The remaining drawing function know only one style, that is foreground on background/backdrop (changing drawmode is still supported).
apps/gui/line.c [diff]
apps/gui/line.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd.h [diff]
firmware/export/scroll_engine.h [diff]
Thomas Martitz
2013-04-16 ad0985e: lcd-common: Remove support for specifying y_offset from lcd_puts* functions.

This main (and only) purpose for it was to adjust the pixel position of the text in otherwise linebased (scrolling) functions. With pixel-based scrolling this isnt necessary anymore.
firmware/drivers/lcd-bitmap-common.c [diff]
Thomas Martitz
2013-04-16 4978094: lcd-common: Remove support for custom line heights from viewport.

Since scrolling is now pixel-based this is not necessary anymore. custom line height is handled by put_line() but can also possible to implement with lcd_puts_scroll_func().
apps/gui/viewport.c [diff]
apps/menus/time_menu.c [diff]
apps/plugins/lib/pluginlib_touchscreen.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-14 9a4686b: lcd-common/scroll_engine: Remove unused functions lcd_puts_style_xyoffset() and lcd_puts_scroll_style_xyoffset().

With this functions removed there is no exported function in firmware left that draws line decorations. Also no function supports specifying an y-offset anymore (was used for pixel accurate positioning of otherwise strictly line-based API calls).

Both should be handled in apps/ now.
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-14 775ebe4: lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_style().
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
docs/PLUGIN_API [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-13 7cd0729: lcd-common: Remove unused function lcd_puts_style_offset().
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-13 1e324aa: lcd-common: Remove unused function lcd_puts_style().
apps/plugin.c [diff]
apps/plugin.h [diff]
docs/PLUGIN_API [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-13 8f64625: lcd-common: Remove unused function lcd_puts_offset().
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-charcell.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-11 a422604: lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_offset() and lcd_puts_scroll_style_offset().
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-charcell.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2014-01-07 2ef9aa5: test_gfx: Add benchmark for put_line().
apps/plugins/test_gfx.c [diff]
Thomas Martitz
2013-12-20 5aa5a92: splitedit: Adapt put_line().

This plugin had a (broken) poor-mans list implementation which can be better achieved through put_line().
apps/plugins/splitedit.c [diff]
Thomas Martitz
2013-12-20 91ef653: skin_engine: Adapt put_line().

This allows for code unification and removal of a workaround (STYLE_XY_PIXELS).
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_display.h [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
Thomas Martitz
2013-12-20 eec89a9: lists: Adapt put_line().

This enables removing large portions of code, simplifiyng the drawing routine. All of the removed code is functionaltiy now available through put_line().
apps/gui/bitmap/list.c [diff]
apps/gui/charcell/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
Thomas Martitz
2013-12-20 5d69746: Introduce put_line().

This function is a fully-fletched, high-level pixel-based line printer, that combines functionality of several firmware and list functions. It can draw spacing, icons and text in a single call, in any order and each multiple times. It can also apply line decorations at the same time.

It features printf-like semantics by accepting a format string that contain format tags as well as inline text.

It's accessible directly, but also through the multi-screen api for plugins.
apps/SOURCES [diff]
apps/gui/line.c [new]
apps/gui/line.h [new]
apps/plugin.h [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
Thomas Martitz
2013-12-28 5752d02: icons: Provide accessors to the icon format (mono or native).

This is needed by the upcoming put_line() api to apply different drawmodes depending on the format.
apps/gui/icon.c [diff]
apps/gui/icon.h [diff]
Thomas Martitz
2013-12-20 bc9a45b: icons: Remove automatic left padding if x == 0.

Since x is viewport-relative the icon isn't necessarily placed at the physical display boundaries so that the padding isn't always useful. In fact it does more harm if one wants to place an icon exactly at 0 of a (non-default) viewport.

Calling code looks still mostly fine. I've only modified list drawer to include the padding in the call-site.
apps/gui/bitmap/list.c [diff]
apps/gui/icon.c [diff]
Thomas Martitz
2013-12-23 7647675: lcd-charcell: Correct get_icon_width() stub, everything is 1 char wide.
apps/gui/icon.h [diff]
Thomas Martitz
2013-12-20 acee675: lcd-charcell: Add set_drawmode() wrapper to multi-screen API.
apps/screen_access.c [diff]
apps/screen_access.h [diff]
Thomas Martitz
2013-12-20 77836e5: lcd-16bit: Introduce lcd_gradient_fillrect_part().

It is similar to lcd_gradient_fillrect(), except that it only draws a part of the complete gradient. This can be used to draw only the bottom half of a full gradient.
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-12-20 6630958: lcd-common/scroll_engine: Introduce lcd_putsxy_scroll_func().

This function supports installing a custom scroll callback. This will be called when the scrollengine redraws the line. It allows to draw extended styles (or anything your can possible imagine) along with the text.

It is also strictly pixel-based, the first pixel-based function that supports scrolling.
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-charcell.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-12-20 b850522: scroll_engine: Change header inclusion
firmware/export/scroll_engine.h [diff]
Thomas Martitz
2014-01-07 98d2121: bloat-o-meter.py: Now compatible to python 3.
utils/analysis/bloat-o-meter.py [diff]
Thomas Martitz
2014-01-05 204668d: Make sure usb class driver disconnect() functions are called properly.

disconnect() needs to be called exactly once per call to init_connection(). In case of bus resets, disconnect() was not called, which led to leaking alloc_maximum() allocated buflib handles, which led to buflib running out of memory to allocate.
firmware/usbstack/usb_core.c [diff]
Frank Gevaerts
2014-01-05 1e1b215: Bump Rockbox Utility version to 1.4.0.
rbutil/rbutilqt/Info.plist [diff]
rbutil/rbutilqt/version.h [diff]
Dominik Riebeling
2014-01-05 2a63502: Check that core_alloc_maximum() returned something useful, and panic if not
firmware/usbstack/usb_storage.c [diff]
Frank Gevaerts
2014-01-05 463d343: Add missing kernel.h includes (hopefully all of them), take #3.
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c [diff]
firmware/target/coldfire/iaudio/m3/adc-m3.c [diff]
Thomas Martitz
2014-01-05 22b33d6: Add missing kernel.h includes (hopefully all of them), take #2.
firmware/target/arm/as3525/fmradio-i2c-as3525.c [diff]
firmware/target/arm/imx233/fmradio-imx233.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c [diff]
firmware/target/arm/imx233/touchscreen-imx233.c [diff]
firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c [diff]
firmware/target/coldfire/iaudio/lcd-remote-iaudio.c [diff]
firmware/target/coldfire/iaudio/m3/lcd-m3.c [diff]
firmware/target/coldfire/mpio/hd300/button-hd300.c [diff]
firmware/target/sh/archos/ondio/fmradio_i2c-ondio.c [diff]
Thomas Martitz
2014-01-05 22a28f9: Add missing kernel.h includes (hopefully all of them).
bootloader/rk27xx.c [diff]
firmware/drivers/audio/tlv320.c [diff]
firmware/drivers/audio/uda1380.c [diff]
firmware/drivers/audio/wm8978.c [diff]
firmware/target/arm/as3525/button-clip.c [diff]
firmware/target/arm/as3525/button-e200v2-fuze.c [diff]
firmware/target/arm/ata-nand-telechips.c [diff]
firmware/target/arm/imx233/adc-imx233.c [diff]
firmware/target/arm/imx233/audioout-imx233.c [diff]
firmware/target/arm/imx233/button-lradc-imx233.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
firmware/target/arm/imx233/dcp-imx233.c [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/dma-imx233.c [diff]
firmware/target/arm/imx31/gigabeat-s/system-target.h [diff]
firmware/target/arm/rk27xx/ma/audio-ma.c [diff]
firmware/target/arm/rk27xx/ma/pca9555-ma.c [diff]
firmware/target/arm/rk27xx/pcm-rk27xx.c [diff]
firmware/target/arm/s3c2440/debug-s3c2440.c [diff]
firmware/target/arm/s3c2440/i2c-s3c2440.c [diff]
firmware/target/arm/s3c2440/lcd-s3c2440.c [diff]
firmware/target/arm/s5l8700/system-target.h [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
firmware/target/arm/tcc780x/system-target.h [diff]
firmware/target/arm/tms320dm320/debug-dm320.c [diff]
firmware/target/arm/tms320dm320/i2c-dm320.c [diff]
firmware/target/coldfire/debug-coldfire.c [diff]
firmware/target/coldfire/iriver/lcd-remote-iriver.c [diff]
firmware/target/sh/archos/player/lcd-player.c [diff]
firmware/target/sh/debug-sh.c [diff]
Thomas Martitz
2014-01-05 2f4a941: bmp.c: Undo debug stuff that got in by accident.
apps/recorder/bmp.c [diff]
Thomas Martitz
2014-01-05 281d1fa: Do not include kernel.h in system.h.

system.h doesn't need it on its own and this change makes it less dependant on Rockbox internals.
apps/codec_thread.c [diff]
apps/rbcodecconfig.h [diff]
apps/recorder/bmp.c [diff]
apps/recorder/resize.c [diff]
apps/voice_thread.c [diff]
firmware/buflib.c [diff]
firmware/drivers/audio/as3514.c [diff]
firmware/export/system.h [diff]
firmware/font.c [diff]
firmware/general.c [diff]
firmware/target/arm/as3525/debug-as3525.c [diff]
firmware/target/arm/as3525/lcd-fuze.c [diff]
firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c [diff]
firmware/target/arm/pp/system-target.h [diff]
firmware/target/hosted/android/pcm-android.c [diff]
firmware/target/hosted/kernel-unix.c [diff]
Thomas Martitz
2013-12-28 dd7b141: apps/bitmaps: Replace pseudo-native default icons with mono ones.

The old icons looked exactly like the mono version, and all >1 bpp drivers support rendering mono bitmaps. Therefore a mono bitmap can be used which requires less ram.

This affects only the builtin icons, not the ones used by cabbiev2.
apps/bitmaps/mono/SOURCES [diff]
apps/bitmaps/mono/default_icons.bmp [new]
apps/bitmaps/native/SOURCES [diff]
apps/bitmaps/native/default_icons.6x8x1.bmp [deleted]
apps/bitmaps/native/default_icons.6x8x16.bmp [deleted]
apps/bitmaps/native/default_icons.6x8x2.bmp [deleted]
apps/bitmaps/remote_mono/SOURCES [diff]
apps/bitmaps/remote_mono/remote_default_icons.bmp [new]
apps/bitmaps/remote_native/SOURCES [diff]
apps/bitmaps/remote_native/remote_default_icons.6x8x1.bmp [deleted]
apps/bitmaps/remote_native/remote_default_icons.6x8x2.bmp [deleted]
Thomas Martitz
2013-12-28 a17a703: lcd: Fix certain drawmode combinations.

Some seldomly used drawmode combinations did not work in conjunction with alpha bitmaps and backdrops. Now all should work (see comment added) by using more bits.
firmware/drivers/lcd-16bit-common.c [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2014-01-05 17a1867: Fix rm function on Windows once more.

Windows del doesn't handle a non-existing folder gracefully, so check for existence first.
rbutil/libtools.make [diff]
Dominik Riebeling
2014-01-05 82b30de: Fix rm function on Windows.

Windows del doesn't handle paths with / as separators, need to convert them first.
rbutil/libtools.make [diff]
Dominik Riebeling
2014-01-05 f3a1a33: Fix rebuilding of libs on OS X.

OS X ar operates on fat libaries. In this case updating the library isn't possible and when those change ar will only return an error. Remove the output file prior to running ar to work around this limitation.
rbutil/libtools.make [diff]
Dominik Riebeling
2014-01-05 660c8d0: Add missing german translations and lupdate remaining ones.
rbutil/rbutilqt/lang/rbutil_cs.ts [diff]
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
rbutil/rbutilqt/lang/rbutil_fi.ts [diff]
rbutil/rbutilqt/lang/rbutil_fr.ts [diff]
rbutil/rbutilqt/lang/rbutil_gr.ts [diff]
rbutil/rbutilqt/lang/rbutil_he.ts [diff]
rbutil/rbutilqt/lang/rbutil_it.ts [diff]
rbutil/rbutilqt/lang/rbutil_ja.ts [diff]
rbutil/rbutilqt/lang/rbutil_nl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt_BR.ts [diff]
rbutil/rbutilqt/lang/rbutil_ru.ts [diff]
rbutil/rbutilqt/lang/rbutil_tr.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_CN.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_TW.ts [diff]
Dominik Riebeling
2014-01-05 2e40f31: Update french Rockbox Utility translation.

Thanks to lebellium for updating.
rbutil/rbutilqt/lang/rbutil_fr.ts [diff]
Dominik Riebeling
2014-01-05 b91ec7e: Make some missing strings translatable.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2014-01-05 ceff063: Update german Rockbox Utility translation.
rbutil/rbutilqt/lang/rbutil_cs.ts [diff]
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
Dominik Riebeling
2013-12-28 7602f10 G#700: Fix Chinese translation and missing "Attack Time" string

Tested: Purling Nayuki
apps/lang/chinese-simp.lang [diff]
PurlingNayuki
2014-01-05 6a3fd9a: Dutch (nl) translation update of RockboxUtility
rbutil/rbutilqt/lang/rbutil_nl.ts [diff]
Bertrik Sikken
2014-01-05 473b26f: lupdate all translations.
rbutil/rbutilqt/lang/rbutil_cs.ts [diff]
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
rbutil/rbutilqt/lang/rbutil_fi.ts [diff]
rbutil/rbutilqt/lang/rbutil_fr.ts [diff]
rbutil/rbutilqt/lang/rbutil_gr.ts [diff]
rbutil/rbutilqt/lang/rbutil_he.ts [diff]
rbutil/rbutilqt/lang/rbutil_it.ts [diff]
rbutil/rbutilqt/lang/rbutil_ja.ts [diff]
rbutil/rbutilqt/lang/rbutil_nl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt_BR.ts [diff]
rbutil/rbutilqt/lang/rbutil_ru.ts [diff]
rbutil/rbutilqt/lang/rbutil_tr.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_CN.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_TW.ts [diff]
Dominik Riebeling
2014-01-05 72da9be: Drop year from (c) notice in Rockbox Utility.

Instead of having to update it every year just drop it. We have the build date in the binaries we provide, and the years it has been developed can be retrieved via git anyway.
rbutil/rbutilqt/aboutbox.ui [diff]
rbutil/rbutilqt/lang/rbutil_cs.ts [diff]
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
rbutil/rbutilqt/lang/rbutil_fi.ts [diff]
rbutil/rbutilqt/lang/rbutil_fr.ts [diff]
rbutil/rbutilqt/lang/rbutil_gr.ts [diff]
rbutil/rbutilqt/lang/rbutil_he.ts [diff]
rbutil/rbutilqt/lang/rbutil_it.ts [diff]
rbutil/rbutilqt/lang/rbutil_ja.ts [diff]
rbutil/rbutilqt/lang/rbutil_nl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pl.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt.ts [diff]
rbutil/rbutilqt/lang/rbutil_pt_BR.ts [diff]
rbutil/rbutilqt/lang/rbutil_ru.ts [diff]
rbutil/rbutilqt/lang/rbutil_tr.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_CN.ts [diff]
rbutil/rbutilqt/lang/rbutil_zh_TW.ts [diff]
Dominik Riebeling
2014-01-05 827a03b: Fix potentially problematic sprintf statement.
rbutil/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
Dominik Riebeling
2014-01-05 042d8bf: Revert "Fix data abort introduced by ef92ed4a."

This reverts commit 61a096499b72f82dd8efc782e30cfeb1a31ef400.

The original issue was caused by a new structure member which caused bmp_args::buf to be unaligned for 2-byte reads. Enforcing that alignment should be the faster fix. Aligning to cache (while at it) should improve bmp loading times even more.
apps/recorder/bmp.c [diff]
Thomas Martitz
2014-01-04 61a0964: Fix data abort introduced by ef92ed4a.
apps/recorder/bmp.c [diff]
Frank Gevaerts
2014-01-04 646edc5: Fix bpb_is_sane() cluster size calculation for non-512 byte sectors.

bpb_is_sane() used to effectively multiplying the sector size (relative to 512 bytes) twice, which meant that filesystems with e.g. 2K sectors and 32 sectors per cluster were rejected because while this adds up to 64K clusters (i.e. the upper limit), the calculation wrongly came to 256K.

This bug tends to affect 5.5G ipods when formatted using dosfstools.
firmware/drivers/fat.c [diff]
Frank Gevaerts
2014-01-03 da94b63: Make fat test tool build again, and make its sector size configurable.
firmware/test/fat/Makefile [diff]
firmware/test/fat/ata-sim.c [diff]
firmware/test/fat/main.c [diff]
Frank Gevaerts
2014-01-03 062801e: atj213x: obtain PC value in more elegant way
utils/atj2137/adfuload/test_binary/backlight_c/crt0.S [diff]
Marcin Bukat
2013-12-30 9dbdec1 G#703: creativezenv: change target_id & MODEL_NUMBER.

85 is already used by HIFI E.T. MA8C.
firmware/export/config/creativezenv.h [diff]
tools/configure [diff]
Andrew Ryabinin
2013-12-30 124c969: Fix build error
apps/gui/skin_engine/skin_engine.c [diff]
Jonathan Gordon
2013-12-29 00b3fd2: skin_engine: unload skin backdrops when the skins are reset

Hopefully this will fix various skin related bugs which happen on usb plug/unplug!
apps/gui/skin_engine/skin_engine.c [diff]
Jonathan Gordon
2013-12-24 8566cd7: regtools/qeditor: always open a register tab at init
utils/regtools/qeditor/mainwindow.cpp [diff]
Amaury Pouly
2013-12-24 a0fd5e8: hwstub: update zenxfistyle code
utils/hwstub/tools/lua/zenxfistyle.lua [diff]
Amaury Pouly
2013-12-24 16de558: hwstub: use delay in zenxfistyle code
utils/hwstub/tools/lua/zenxfistyle.lua [diff]
Amaury Pouly
2013-12-24 01475e7: hwstub: fix lcdif pin setup for 18-bit bus
utils/hwstub/tools/lua/stmp/pinctrl.lua [diff]
Amaury Pouly
2013-12-24 5b865de: hwstub: add delay function
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
Amaury Pouly
2013-12-24 1dc91b4: hwstub: add ZEN X-Fi Style code (preliminary)
utils/hwstub/tools/lua/zenxfistyle.lua [new]
Amaury Pouly
2013-12-24 84f1a0a: imxtools/scsitools: tool can now write a firmware using SCSI
utils/imxtools/scsitools/scsitool.c [diff]
Amaury Pouly
2013-12-24 e0636af: hwstub: fix lcdif code for 18-bit word length
utils/hwstub/tools/lua/stmp/lcdif.lua [diff]
Amaury Pouly
2013-12-24 40fae1d: zenxfi2: remove unused function
firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c [diff]
Amaury Pouly
2013-12-24 a56837b: recording: Fix sloppy return value check. This caused an OOM panic.
apps/recorder/pcm_record.c [diff]
Thomas Martitz
2013-12-24 5827e41: hwcodec: core_alloc_maximum() returned 0 bytes if talk.c controls the audio buffer.

On hwcodec talk.c has the entire audio buffer (not just parts of it), therefore it must give up everything and cannot count on core_alloc_maximum() to return the remaining space. This is equivalent to it was handled before 22e802e.

You could probaby do smarter and shrink for example the .talk clip buffer but is it really worth it?
apps/talk.c [diff]
Thomas Martitz
2013-12-23 d2ae832: lcd: Fix scrolling.
firmware/drivers/lcd-bitmap-common.c [diff]
Thomas Martitz
2013-07-11 ca423ed G#507: Proposed fix for FS #12878: Zero-length embedded album art prevents mp3 playback

see http://www.rockbox.org/tracker/task/12878
lib/rbcodec/metadata/id3tags.c [diff]
Jack Whitham
2013-12-23 10d71bb: Fix more reds.
apps/mpeg.c [diff]
Thomas Martitz
2013-12-23 a4d1849: Fix yellow.
apps/talk.c [diff]
Thomas Martitz
2013-12-23 ee7c135: hwcodec: Need to grab audio buffer before recording.

This was missed in 22e802e because I didn't realize that hwcodec doesn't compile pcm_record.c.
apps/mpeg.c [diff]
Thomas Martitz
2013-12-23 ec6258f: fix some reds.
apps/gui/skin_engine/skin_render.c [diff]
apps/recorder/recording.c [diff]
Thomas Martitz
2013-05-30 22e802e: playback,talk: Share audiobuffer via core_alloc_maximum().

This fixes the radioart crash that was the result of buffering.c working on a freed buffer at the same time as buflib (radioart uses buffering.c for the images). With this change the buffer is owned by buflib exclusively so this cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call core_alloc_maximum() directly. This buffer needs to be protected as usual against movement if necessary (previously it was not protected at all which cased the radioart crash), To get most of it they can adjust the willingness of the talk engine to give its buffer away (at the expense of disabling voice interface) with the new talk_buffer_set_policy() function.
apps/gui/skin_engine/skin_render.c [diff]
apps/mpeg.c [diff]
apps/playback.c [diff]
apps/playback.h [diff]
apps/playlist.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/radio/radioart.c [diff]
apps/recorder/pcm_record.c [diff]
apps/recorder/recording.c [diff]
apps/talk.c [diff]
apps/talk.h [diff]
firmware/export/audio.h [diff]
firmware/target/arm/pp/usb-fw-pp502x.c [diff]
firmware/usbstack/usb_storage.c [diff]
Thomas Martitz
2013-11-21 64b9e1f: buflib: Add buflib_context_relocate().

This function relocates a buflib back buffer, updating pointers in struct buflib_context. It does not move any data by itself.

The intended use-case is buflib-on-buflib, where a buflib back buffer is allocated with buflib and attempted to be moved. The move_callback() can call this and return BUFLIB_CB_OK on success. No move_callback() is called for the subordinate buflib buffer, therefore it must not contain non-movable allocations. The caller is generally responsible moving the data and all its implications.
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
Thomas Martitz
2013-05-29 d25a512: buflib: Try harder in buflib_alloc_maximum().

This function will now ask shrinkable allocations to give up all of their memory. With future support of playback.c this can be used as a safe replacement for audio_get_buffer().
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
Thomas Martitz
2013-12-22 9f878b1: Fix errors introduced by a62bd92.
apps/recorder/bmp.c [diff]
Thomas Martitz
2013-12-22 a62bd92: Fix warning and re-order code a bit.
apps/recorder/bmp.c [diff]
Thomas Martitz
2013-12-21 ef92ed4: Support GIMP bmp files.
apps/recorder/bmp.c [diff]
apps/recorder/bmp.h [diff]
Thomas Martitz
2013-12-15 21ff832: Update changelog.
rbutil/rbutilqt/changelog.txt [diff]
Dominik Riebeling
2013-12-15 5875764: Fix recorderv2 manual.

archosrecorderv2 uses the archosfmrecorder manual.
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2013-12-17 17f265d: Fix cabbie WPS for black&white targets (m:robe 100)
wps/cabbiev2.160x128x1.wps [diff]
Szymon Dziok
2013-12-17 e7499ba: Fix audio on m:robe 100.

Tested on different revisions and it works reliably.
firmware/drivers/audio/wm8751.c [diff]
Szymon Dziok
2013-12-11 e3c2ed7: Sync libopus to upstream release 1.1
lib/rbcodec/codecs/libopus/SOURCES [diff]
lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h [diff]
lib/rbcodec/codecs/libopus/celt/arch.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv4.h [diff]
lib/rbcodec/codecs/libopus/celt/arm/fixed_armv5e.h [diff]
lib/rbcodec/codecs/libopus/celt/bands.c [diff]
lib/rbcodec/codecs/libopus/celt/celt.h [diff]
lib/rbcodec/codecs/libopus/celt/celt_decoder.c [diff]
lib/rbcodec/codecs/libopus/celt/celt_lpc.c [diff]
lib/rbcodec/codecs/libopus/celt/celt_lpc.h [diff]
lib/rbcodec/codecs/libopus/celt/cpu_support.h [diff]
lib/rbcodec/codecs/libopus/celt/cwrs.c [diff]
lib/rbcodec/codecs/libopus/celt/ecintrin.h [diff]
lib/rbcodec/codecs/libopus/celt/entcode.h [diff]
lib/rbcodec/codecs/libopus/celt/fixed_generic.h [diff]
lib/rbcodec/codecs/libopus/celt/float_cast.h [diff]
lib/rbcodec/codecs/libopus/celt/mathops.c [diff]
lib/rbcodec/codecs/libopus/celt/mathops.h [diff]
lib/rbcodec/codecs/libopus/celt/os_support.h [diff]
lib/rbcodec/codecs/libopus/celt/pitch.c [diff]
lib/rbcodec/codecs/libopus/celt/pitch.h [diff]
lib/rbcodec/codecs/libopus/celt/quant_bands.c [diff]
lib/rbcodec/codecs/libopus/celt/rate.c [diff]
lib/rbcodec/codecs/libopus/celt/rate.h [diff]
lib/rbcodec/codecs/libopus/celt/stack_alloc.h [diff]
lib/rbcodec/codecs/libopus/config.h [diff]
lib/rbcodec/codecs/libopus/opus.c [new]
lib/rbcodec/codecs/libopus/opus.h [diff]
lib/rbcodec/codecs/libopus/opus_custom.h [diff]
lib/rbcodec/codecs/libopus/opus_decoder.c [diff]
...and 67 more files.
Nils Wallménius
2013-10-03 d0918b9 G#626: DSP Compressor: Sidechain, Exponential Atk/Rls

This is an improvement to the current compressor which I have added to my own Sansa Fuze V2 build. I am submitting here in case others find it interesting.

Features added to the existing compressor: Attack, Look-ahead, Sidechain Filtering. Exponential attack and release characteristic response.

Benefits from adding missing features: Attack: Preserve perceived "brightness" of tone by letting onset transients come through at a higher level than the rest of the compressed program material.

Look-ahead: With Attack comes clipping on the leading several cycles of a transient onset. With look-ahead function, this can be pre-emptively mitigated with a slower gain change (less distortion). Look-ahead limiting is implemented to prevent clipping while keeping gain change ramp to an interval near 3ms instead of instant attack.

The existing compressor implementation distorts the leading edge of a transient by causing instant gain change, resulting in log() distortion. This sounds "woofy" to me.

Exponential Attack/Release: eMore natural sounding. On attack, this is a true straight line of 10dB per attack interval. Release is a little different, however, sounds natural as an analog compressor.

Sidechain Filtering: Mild high-pass filter reduces response to low frequency onsets. For example, a hard kick drum is less likely to make the whole of the program material appear to fade in and out. Combined with a moderate attack time, such a transient will ride through with minimal audible artifact.

Overall these changes make dynamic music sound more "open", more natural. The goal of a compressor is to make dyanamic music sound louder without necessarily sounding as though it has been compressed. I believe these changes come closer to this goal.

Enjoy. If not, I am enjoying it

Tested: Purling Nayuki
apps/lang/english.lang [diff]
apps/menus/sound_menu.c [diff]
apps/settings_list.c [diff]
docs/CREDITS [diff]
lib/rbcodec/dsp/compressor.c [diff]
lib/rbcodec/dsp/compressor.h [diff]
manual/configure_rockbox/sound_settings.tex [diff]
Ryan Billing
2013-11-16 5b5f075: Introduce IHIFI760/960 targets.
apps/SOURCES [diff]
apps/keymaps/keymap-ihifi.c [new]
bootloader/SOURCES [diff]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/ihifi760.h [new]
firmware/export/config/ihifi960.h [new]
firmware/target/arm/rk27xx/backlight-rk27xx.c [diff]
firmware/target/arm/rk27xx/debug-rk27xx.c [diff]
firmware/target/arm/rk27xx/ihifi/button-ihifi.c [new]
firmware/target/arm/rk27xx/ihifi/button-target.h [new]
firmware/target/arm/rk27xx/ihifi/lcd-ihifi.c [new]
firmware/target/arm/rk27xx/ihifi/lcd-target.h [new]
firmware/target/arm/rk27xx/ihifi/power-ihifi.c [new]
firmware/target/arm/rk27xx/ihifi/powermgmt-ihifi760.c [new]
firmware/target/arm/rk27xx/ihifi/powermgmt-ihifi960.c [new]
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
tools/configure [diff]
Andrew Ryabinin
2013-12-15 04c59b8: rk27xx: Fix ifdef for DEBUG_CANCEL button.
firmware/target/arm/rk27xx/debug-rk27xx.c [diff]
Andrew Ryabinin
2013-12-14 ed5b853: Fix more reds.
apps/screens.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
Thomas Martitz
2013-12-14 c72b454: Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered an error).
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-charcell.c [diff]
firmware/drivers/lcd-scroll.c [diff]
firmware/export/lcd.h [diff]
firmware/export/scroll_engine.h [diff]
firmware/rolo.c [diff]
Thomas Martitz
2013-12-14 1fc1904: Bump plugin api and sort.
apps/plugin.c [diff]
apps/plugin.h [diff]
Thomas Martitz
2013-01-31 50eb528: scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks.

Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c, a small scroll callback routine remains. This callback can potentially be overridden by more extensive scrollers.

The callback also gets fed with pixel-based scrolling information, which finally removes the strict line-based nature of the scroll engine. Along with this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect() which works on a pixel-based rectangle instead of lines.

The ultimate goal is to move most of the scroll work to apps, which can much better decide which line decorations to apply etc. This work is laying the ground work.
apps/gui/skin_engine/skin_render.c [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-scroll.c [diff]
firmware/export/scroll_engine.h [diff]
firmware/scroll_engine.c [diff]
Thomas Martitz
2013-04-12 26801b3: scroll_engine: Add STYLE_NONE to allow for drawing lines without styling.

This allows to draw lines without destroying styles that were drawn manually
(e.g. from apps/) beforehand.
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd-remote.h [diff]
firmware/export/lcd.h [diff]
Thomas Martitz
2013-04-04 b094d80: scroll_engine: Split out common main and remote lcd functions.

Uses a similar technique as lcd_*.c files of #including a common .c file, so that a unified implementation can be reused for both displays.
firmware/drivers/lcd-scroll.c [new]
firmware/scroll_engine.c [diff]
Thomas Martitz
2013-04-03 1c5d0b4: scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api.
apps/debug_menu.c [diff]
apps/gui/bitmap/list-skinned.c [diff]
apps/gui/bitmap/list.c [diff]
apps/gui/charcell/list.c [diff]
apps/gui/quickscreen.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/splash.c [diff]
apps/gui/usb_screen.c [diff]
apps/gui/viewport.c [diff]
apps/gui/wps.c [diff]
apps/gui/yesno.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/boomshine.lua [diff]
apps/plugins/chessclock.c [diff]
apps/plugins/lrcplayer.c [diff]
apps/plugins/resistor.c [diff]
apps/plugins/splitedit.c [diff]
apps/plugins/superdom.c [diff]
apps/radio/radio_skin.c [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
apps/screens.c [diff]
apps/settings.c [diff]
apps/settings_list.c [diff]
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-charcell.c [diff]
firmware/export/lcd-remote.h [diff]
...and 4 more files.
Thomas Martitz
2013-03-26 47c8d3c: lcd-*: Merge common viewport operations into lcd-bitmap-common.c
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
Thomas Martitz
2013-12-13 87c6df9: adfuload: add test program

This test program. I add it mainly to document somehow my work: 1) atj213x.h lists registers addresses 2) crt0.S exploits self relocation of the binary 3) test_bl.c documents how to control backlight on e150
utils/atj2137/adfuload/test_binary/backlight_c/Makefile [new]
utils/atj2137/adfuload/test_binary/backlight_c/atj213x.h [new]
utils/atj2137/adfuload/test_binary/backlight_c/crt0.S [new]
utils/atj2137/adfuload/test_binary/backlight_c/mips-archdefs.h [new]
utils/atj2137/adfuload/test_binary/backlight_c/mips.h [new]
utils/atj2137/adfuload/test_binary/backlight_c/test_bl.c [new]
utils/atj2137/adfuload/test_binary/backlight_c/test_bl.lds [new]
Marcin Bukat
2013-12-13 32a6ed8: CREDITS: Add Albert Song for his FLAC embedded albumart patch.
docs/CREDITS [diff]
Thomas Martitz
2013-12-13 f633d5e G#694: Add support for flac embeded album art.
lib/rbcodec/metadata/flac.c [diff]
Albert Song
2013-12-12 8666871: hwstub/stmp: disable watchdog

Some targets like Sony NWZ use a watchdog, so we must disable it to prevent spurious reboot when we take over
utils/hwstub/stub/stmp/target.c [diff]
Amaury Pouly
2013-12-12 3bbe52b: hwstub/stmp: cleanup

Conditional no longer needed since ctr0.S is private to target, also setup stack just before jumping to C code only
utils/hwstub/stub/stmp/crt0.S [diff]
Amaury Pouly
2013-12-11 b5ca0cf: adfuload: utility to upload and exec binary using brom adfu mode of atj213x SoC
utils/atj2137/adfuload/Makefile [new]
utils/atj2137/adfuload/adfuload.c [new]
utils/atj2137/adfuload/encrypt.c [new]
utils/atj2137/adfuload/encrypt.h [new]
Marcin Bukat
2013-12-08 01d8cc6: Fix yellow
firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c [diff]
Amaury Pouly
2013-12-08 b163fb9: rmi/fuze+: add product info in the debug screen
firmware/export/synaptics-rmi.h [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c [diff]
Amaury Pouly
2013-12-08 b69ea18: Fix typo in the manual
manual/configure_rockbox/system_options.tex [diff]
Amaury Pouly
2013-12-02 43f1ac8 G#689: Docs: Manual entry for touchpad settings.

New section Touchpad added to the manual. Gigabeatfx and SansaFuze+ entries added for touchpad sensitivity setting.

Tested: Benjamin Brown
manual/configure_rockbox/system_options.tex [diff]
manual/platform/gigabeatfx.tex [diff]
manual/platform/sansafuzeplus.tex [diff]
Benjamin Brown
2013-12-06 99835fa: imxtools/sbtools/sb1: fix parsing/debug bug about jump/call arguments
utils/imxtools/sbtools/sb1.c [diff]
Amaury Pouly
2013-12-06 6eefc41: imxtools/sbtools/elf: fix debug code
utils/imxtools/sbtools/elf.c [diff]
Amaury Pouly
2013-12-06 3440f35 G#690: hwstub: Prepare for multi arch support
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/asm/arm/memcpy.S [new]
utils/hwstub/stub/asm/arm/memmove.S [new]
utils/hwstub/stub/asm/arm/memset.S [new]
utils/hwstub/stub/memcpy.S [deleted]
utils/hwstub/stub/memmove.S [deleted]
utils/hwstub/stub/memset.S [deleted]
Marcin Bukat
2013-12-06 c5b209f: elftosb: fix crash on invalid command file
utils/imxtools/sbtools/elftosb.c [diff]
Amaury Pouly
2013-12-06 f365a51: hwstub: forgot the db command file for stmp
utils/hwstub/stub/stmp/hwstub.db [new]
Amaury Pouly
2013-12-06 2bf192e: imx233: regenerate registers headers
firmware/target/arm/imx233/regs/regs-emi.h [diff]
firmware/target/arm/imx233/regs/stmp3600/regs-emi.h [new]
Amaury Pouly
2013-12-06 e43bfdd: regtools: update STMP3600 descriptio (fix EMI block)
utils/regtools/desc/regs-stmp3600.xml [diff]
Amaury Pouly
2013-12-06 58bb4b9: hwstub: implement i2c and i2c eeprom dump
utils/hwstub/tools/lua/i2c_scan.lua [diff]
utils/hwstub/tools/lua/stmp/i2c.lua [diff]
Amaury Pouly
2013-12-06 c945fb6: imx233: fix storage code to work for non-MD builds
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-12-06 0659106: storage: fix MD vs MV confusion
firmware/export/sd.h [diff]
Amaury Pouly
2013-12-06 d8cbe4e: fuze+: remove unused, duplicate code in config file
firmware/export/config/sansafuzeplus.h [diff]
Amaury Pouly
2013-12-03 a15a15b: hstub: add Sansa Express lcd code
utils/hwstub/tools/lua/sansaexpress.lua [new]
utils/hwstub/tools/lua/stmp/lcdif.lua [diff]
Amaury Pouly
2013-11-15 1deab73 G#490: Initial commit for the YP-Z5 port

The port uses the imx233 soc, it's a STMP3650 based Samsung player
apps/SOURCES [diff]
apps/keymaps/keymap-ypz5.c [new]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/samsungypz5.h [new]
firmware/target/arm/imx233/power-imx233.c [diff]
firmware/target/arm/imx233/samsung-ypz5/audio-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/backlight-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/backlight-ypz5.c [new]
firmware/target/arm/imx233/samsung-ypz5/button-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/button-ypz5.c [new]
firmware/target/arm/imx233/samsung-ypz5/debug-ypz5.c [new]
firmware/target/arm/imx233/samsung-ypz5/fmradio-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/ftl-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/lcd-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/lcd-ypz5.c [new]
firmware/target/arm/imx233/samsung-ypz5/powermgmt-target.h [new]
firmware/target/arm/imx233/samsung-ypz5/powermgmt-ypz5.c [new]
firmware/target/arm/imx233/touchscreen-imx233.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Lorenzo Miori
2013-11-21 15155ed G#671: regtools: update xml format documentation
utils/regtools/desc/XML.txt [diff]
Amaury Pouly
2013-12-02 23c6421: imx233: don't compile fm tuner code in bootloader
firmware/SOURCES [diff]
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2013-12-02 9dab30a: imx233: fix red on stmp3600
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
Amaury Pouly
2013-12-01 3f55f01: imx233: rework power management for work on stmp3700
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
Amaury Pouly
2013-11-27 2ce484c: Revert "imx233: always keep cards in TRAN mode"

This reverts commit 462adf2a0fefbfdbccfafa11c999ac6beb114e8a. Leaving the card in TRAN results in a huge power consumption because some cards and internal bridges do not automatically enter power saving mode in TRAN state.
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-11-26 cbed7ec: zen: rework lcd enable

The ZEN/ZEN-XFi seem to be very picky about the lcd. And they do not like standby mode so I'm going to drop it, the OF doesn't use it anyway. I still don't know what this "power" pin is about, obviously it's not real power but the OF toggle it. Let's hope the lcd will finally become more stable with fix: the driver now does full power on/off on enable/disable.
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2013-11-25 f04d3c5 G#679: regtools: add shortcut notation for simple register in the desc files
utils/regtools/desc/XML.txt [diff]
utils/regtools/lib/soc_desc.cpp [diff]
Amaury Pouly
2013-11-25 ef2b6db: regtools/qeditor: fix url
utils/regtools/qeditor/main.cpp [diff]
Amaury Pouly
2013-11-25 75c791d G#678: imx233: add the possibility to choose audio output coupling mode via target-defined option
firmware/target/arm/imx233/audioout-imx233.c [diff]
firmware/target/arm/imx233/audioout-imx233.h [diff]
firmware/target/arm/imx233/creative-zen/audio-target.h [diff]
firmware/target/arm/imx233/creative-zenxfi2/audio-target.h [diff]
firmware/target/arm/imx233/creative-zenxfi3/audio-target.h [diff]
firmware/target/arm/imx233/sansa-fuzeplus/audio-target.h [diff]
firmware/target/arm/imx233/sony-nwz/audio-target.h [diff]
Lorenzo Miori
2013-11-25 85578cd: utils/regtools/qeditor: fix compilation by avoiding g++ specific syntax
utils/regtools/qeditor/std_analysers.cpp [diff]
Amaury Pouly
2013-07-18 8e63338: hwstub rk27xx port
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/crt0.S [deleted]
utils/hwstub/stub/hwstub.lds [deleted]
utils/hwstub/stub/hwstub.make [diff]
utils/hwstub/stub/rk27xx/Makefile [new]
utils/hwstub/stub/rk27xx/convert_to_rkw.txt [new]
utils/hwstub/stub/rk27xx/crt0.S [new]
utils/hwstub/stub/rk27xx/hwstub.lds [new]
utils/hwstub/stub/rk27xx/rk27xx.h [new]
utils/hwstub/stub/rk27xx/target-config.h [new]
utils/hwstub/stub/rk27xx/target.c [new]
utils/hwstub/stub/rk27xx/usb_drv_rk27xx.c [new]
utils/hwstub/stub/stmp/crt0.S [new]
utils/hwstub/stub/stmp/hwstub.lds [new]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/load.lua [diff]
Marcin Bukat
2013-11-23 1ed57aa: rk27xx: fix typo in comment about SCU_ID values
bootloader/rk27xx.c [diff]
Marcin Bukat
2013-11-23 71f0b88: rk27xx: small cleanup of crt0.S
firmware/target/arm/rk27xx/crt0.S [diff]
Marcin Bukat
2013-11-21 adc5033 G#670: tea5767: properly power up the tuner during detect
firmware/drivers/tuner/tea5767.c [diff]
Lorenzo Miori
2013-11-20 193753a G#669: Introduce volume_{present,removable} and fix invalid calls in apps/

The code was trying to probe for volume presence by calling drive layer with volume index. It is a miracle it get unnoticed so far. Introduce proper volume probing using the vol->drive map in the disk layer.
apps/root_menu.c [diff]
firmware/common/disk.c [diff]
firmware/export/disk.h [diff]
Amaury Pouly
2013-11-19 c71e056 G#668: Add IAP support to iPod Mini 1G.

Tested on iPod Mini 1G.
firmware/export/config/ipodmini1g.h [diff]
firmware/target/arm/pp/uart-pp.c [diff]
andypotter
2013-11-20 fb8faa1: hwstub: only load stmp files on stmp targets
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/load.lua [diff]
Amaury Pouly
2013-11-20 75dc601: imx233/sdmmc: {sd,mmc}_{present,removable} don't depend on multivolume
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-11-20 2624791: sonynwz: rework keymap based on lebellium's work and enable volume in list
apps/keymaps/keymap-nwz.c [diff]
firmware/export/config/sonynwze360.h [diff]
Amaury Pouly
2013-11-19 1ef7b65: Finally fix yellow
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2013-11-19 0fb0524: Fix yellow
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
firmware/target/arm/imx233/creative-zen/powermgmt-zen.c [diff]
Amaury Pouly
2013-11-19 da7be39: Fix sim red
bootloader/imx233.c [diff]
firmware/target/arm/imx233/adc-imx233.c [diff]
firmware/target/arm/imx233/adc-target.h [diff]
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
firmware/target/arm/imx233/powermgmt-imx233.h [diff]
firmware/target/arm/imx233/sansa-fuzeplus/powermgmt-target.h [diff]
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2013-11-19 0cb76de: Fix red
bootloader/imx233.c [diff]
Amaury Pouly
2013-11-19 0c39477: Forgot lcd driver of the ZEN V !
firmware/target/arm/imx233/creative-zen/lcd-zenv.c [new]
Amaury Pouly
2013-11-19 446f352: imx233: factor fmradio i2c and tuner power code

Choices are limited for those: i2c is either generic software or imx233 hardware and power is either none or with a gpio. So factor ever possible combination in a single common file and use fmradio-target.h to supply the required parameters. This will remove a bunch of duplicate code.
firmware/SOURCES [diff]
firmware/target/arm/imx233/creative-zen/fmradio-i2c-zen.c [deleted]
firmware/target/arm/imx233/creative-zen/fmradio-target.h [new]
firmware/target/arm/imx233/creative-zen/power-zen.c [diff]
firmware/target/arm/imx233/creative-zenxfi2/fmradio-i2c-zenxfi2.c [deleted]
firmware/target/arm/imx233/creative-zenxfi2/fmradio-target.h [new]
firmware/target/arm/imx233/creative-zenxfi2/power-zenxfi2.c [deleted]
firmware/target/arm/imx233/creative-zenxfi3/fmradio-i2c-zenxfi3.c [deleted]
firmware/target/arm/imx233/creative-zenxfi3/fmradio-target.h [new]
firmware/target/arm/imx233/creative-zenxfi3/power-zenxfi3.c [deleted]
firmware/target/arm/imx233/fmradio-imx233.c [new]
firmware/target/arm/imx233/fmradio-imx233.h [new]
firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/fmradio-target.h [new]
firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c [deleted]
firmware/target/arm/imx233/sony-nwz/fmradio-i2c-nwz.c [deleted]
firmware/target/arm/imx233/sony-nwz/fmradio-target.h [new]
firmware/target/arm/imx233/sony-nwz/power-nwz.c [deleted]
Amaury Pouly
2013-11-19 c2c2274: imx233: factor adc accross targets

The old code allowed each target to specify its adc targets but this proved useless since the target rely directly on imx233/lradc for input method and generic adc is mostly used for battery and debug. Remove all target specific files and provide a generic implemenation. The targets can still specify a battery temperature channel in powermgmt-target.h
firmware/SOURCES [diff]
firmware/target/arm/imx233/adc-imx233.c [diff]
firmware/target/arm/imx233/adc-imx233.h [deleted]
firmware/target/arm/imx233/adc-target.h [new]
firmware/target/arm/imx233/creative-zen/adc-target.h [deleted]
firmware/target/arm/imx233/creative-zen/adc-zen.c [deleted]
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
firmware/target/arm/imx233/creative-zenxfi2/adc-target.h [deleted]
firmware/target/arm/imx233/creative-zenxfi2/adc-zenxfi2.c [deleted]
firmware/target/arm/imx233/creative-zenxfi3/adc-target.h [deleted]
firmware/target/arm/imx233/creative-zenxfi3/adc-zenxfi3.c [deleted]
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/adc-fuzeplus.c [deleted]
firmware/target/arm/imx233/sansa-fuzeplus/adc-target.h [deleted]
firmware/target/arm/imx233/sony-nwz/adc-nwz.c [deleted]
firmware/target/arm/imx233/sony-nwz/adc-target.h [deleted]
Amaury Pouly
2013-11-18 287be81: hwstub: use a more reasonable hclk frequency

The old code would set CPU to 64MHz and HCLK to 9MHz but that's too low for many things like usb and gpmi. So change HCLK to ~32MHZ.
utils/hwstub/stub/stmp/target.c [diff]
Amaury Pouly
2013-11-18 977a6c3: Initial commit for the Creative ZEN V
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/creativezenv.h [new]
firmware/target/arm/imx233/creative-zen/backlight-zen.c [diff]
firmware/target/arm/imx233/creative-zen/button-target.h [diff]
firmware/target/arm/imx233/creative-zen/button-zen.c [diff]
firmware/target/arm/imx233/creative-zen/power-zen.c [diff]
firmware/target/arm/imx233/emi-imx233.c [diff]
firmware/target/arm/imx233/power-imx233.c [diff]
firmware/target/arm/imx233/power-imx233.h [diff]
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
rbutil/mkzenboot/dualboot.c [diff]
rbutil/mkzenboot/dualboot.h [diff]
rbutil/mkzenboot/dualboot/Makefile [diff]
rbutil/mkzenboot/dualboot/dualboot.c [diff]
rbutil/mkzenboot/mkzenboot.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2013-11-18 a8b816a: creativezenmozaic: factor out code with the zen/zenxfi

Most of the code is similar, only the lcd driver is significantly different.
firmware/SOURCES [diff]
firmware/target/arm/imx233/creative-zen/button-zen.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zen/power-zen.c [diff]
firmware/target/arm/imx233/creative-zenmozaic/adc-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/adc-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/audio-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/backlight-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/backlight-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/button-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/button-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/debug-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/fmradio-i2c-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/lcd-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/lcd-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/power-zenmozaic.c [deleted]
firmware/target/arm/imx233/creative-zenmozaic/powermgmt-target.h [deleted]
firmware/target/arm/imx233/creative-zenmozaic/powermgmt-zenmozaic.c [deleted]
tools/configure [diff]
Amaury Pouly
2013-11-09 b770f63 G#658: flac: fix seeking.

As comment in code states:
"It is possible for our seek to land in the middle of audio data that looks exactly like a frame header from a future version of an encoder. When that happens, frame_sync() will return false. But there is a remote possibility that it is properly synced at such a "future-codec frame", so to make sure, we wait to see several "unparseable" errors in a row before bailing out."

Currently we wait for 10 "unparseable" errors. libFLAC waits for 20. But I've got a valid flac+cue, wherein switching to certain track gave me 24 "unparsaeable" errors. Therefore I increased unparseable_count to 30.

Tested-by: Andrew Ryabinin
lib/rbcodec/codecs/flac.c [diff]
Andrew Ryabinin
2013-11-15 8b06039 G#663: Fix typo in apps/plugins/lib/pluginlib_actions.c

BUTOTN_REL should be BUTTON_REL
apps/plugins/lib/pluginlib_actions.c [diff]
Benjamin Brown
2013-11-14 e387a74: sonynwz: add pluginlib keymap
apps/plugins/lib/pluginlib_actions.c [diff]
Amaury Pouly
2013-11-14 42452d0: sonynwz: add battery_bench keymap
apps/plugins/battery_bench.c [diff]
Amaury Pouly
2013-11-13 457d64f: sims.pl: add a few unusable targets
tools/release/sims.pl [diff]
Amaury Pouly
2013-11-13 776d51c: configure: change E370 to E370/E380
tools/configure [diff]
Amaury Pouly
2013-11-13 192f302: mkimxboot: add NWZ-E380 1.0.0 firmware

Since E380 is just rebranded E370, mark it as E370
rbutil/mkimxboot/mkimxboot.c [diff]
Amaury Pouly
2013-11-12 0372a52: Add missing entry to changelog.

Add a missing entry and treat changelog file always as UTF-8.
rbutil/rbutilqt/changelog.txt [diff]
rbutil/rbutilqt/gui/changelog.cpp [diff]
Dominik Riebeling
2013-11-12 17a781d: Move LDOPTS to the end of the linker call.

Command line order is important with newer gcc versions. mkzenboot extends LDOPTS but the linker would ignore that since no object using it has been mentioned on the command line. Moving it to the end should fix this.
rbutil/libtools.make [diff]
Dominik Riebeling
2013-11-04 3c6f394: Suppress some unused variable warnings in libmspack.
rbutil/rbutilqt/mspack/cabd.c [diff]
rbutil/rbutilqt/mspack/system-mspack.c [diff]
Dominik Riebeling
2013-11-12 6bff0f7: Add Creative Zen, X-Fi and Mozaic to builds.pm
tools/builds.pm [diff]
Amaury Pouly
2013-11-11 5e43c05: mkzenboot: add Zen X-Fi firmware 1.04.08
rbutil/mkzenboot/mkzenboot.c [diff]
Amaury Pouly
2013-11-11 bb8dd05: imx233/creative: workaround stupid Creative partition table

This should fix wrong partition size on the ZEN, X-Fi and Mozaic
firmware/target/arm/imx233/partitions-imx233.c [diff]
firmware/target/arm/imx233/partitions-imx233.h [diff]
Amaury Pouly
2013-11-11 39bfd0d: imx233: fix yellow
firmware/target/arm/imx233/lcdif-imx233.c [diff]
Amaury Pouly
2013-11-11 a54c4ab: zen/zenxfi: correctly implement partial redraw

Although there is no difference in the cost of a full or partial update, it is preferable that the semantic of lcd_update_rect() be correct.
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2013-11-11 7bbdcc1: zen/zenxfi: implement lcd standby
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2013-06-22 b170c73 G#533: Updated IAP commands.

Originally written and uploaded by Lalufu (Ralf Ertzinger) in Feb 2012. They have been condensed into a single patch and some further additions by Andy Potter.

Currently includes Authentication V2 support from iPod to Accessory, RF/BlueTooth transmitter support, selecting a playlist and selecting a track from the current playlist. Does not support uploading Album Art or podcasts. Has been tested on the following iPods, 4th Gen Grayscale, 4th Gen Color/Photo, Mini 2nd Gen, Nano 1st Gen and Video 5.5Gen.

Co-Authored by: Andy Potter
apps/SOURCES [diff]
apps/iap.c [deleted]
apps/iap/iap-core.c [new]
apps/iap/iap-core.h [new]
apps/iap/iap-lingo.h [new]
apps/iap/iap-lingo0.c [new]
apps/iap/iap-lingo2.c [new]
apps/iap/iap-lingo3.c [new]
apps/iap/iap-lingo4.c [new]
apps/misc.c [diff]
firmware/export/iap.h [diff]
firmware/export/kernel.h [diff]
firmware/target/arm/pp/debug-pp.c [diff]
tools/iap/Device/iPod.pm [new]
tools/iap/Makefile [new]
tools/iap/README [new]
tools/iap/device-ipod.t [new]
tools/iap/iap-verbose.pl [new]
tools/iap/ipod-001-general.t [new]
tools/iap/ipod-002-lingo0.t [new]
tools/iap/ipod-003-lingo2.t [new]
Ralf Ertzinger
2013-11-10 500b137: playback: Fix build with LOGF_ENABLE.
apps/playback.c [diff]
Andrew Ryabinin
2013-11-08 6979a5b: zenmozaic: add keymap and bitmap for simulator
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-creativezenmozaic.bmp [new]
uisimulator/buttonmap/creative-zen.c [diff]
Amaury Pouly
2013-11-08 0c2ebbb: zenxfi: add simulator keymap and bitmap
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-creativezenxfi.bmp [new]
uisimulator/buttonmap/creative-zen.c [diff]
Amaury Pouly
2013-11-08 b1ee21d: zenxfi/zenmozaic: put HAVE_HEADPHONE_DETECTION in config file

Otherwise it breaks the simulator build
firmware/export/config/creativezenmozaic.h [diff]
firmware/export/config/creativezenxfi.h [diff]
firmware/target/arm/imx233/creative-zen/button-target.h [diff]
firmware/target/arm/imx233/creative-zenmozaic/button-target.h [diff]
Amaury Pouly
2013-11-07 59b1fbc: Add Creative ZEN simulator bitmap and button map
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-creativezen.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/creative-zen.c [new]
Amaury Pouly
2013-11-05 357dd68: ma8/ma9: Cleanup - fix tabs, remove unused defines. firmware/drivers/audio/pcm1792.c [diff]
firmware/target/arm/rk27xx/ma/lcd-ma.c [diff]
Andrew Ryabinin
2013-11-05 a7fa7b9: builds.pm: Add HiFi E.T. MA9C/MA8/MA8C. tools/builds.pm [diff]
Andrew Ryabinin
2013-06-02 3a97e12: Introduce HiFi E.T. MA8/MA8C ports.

HiFi E.T. MA8 is almost the same as MA9 except another DAC(pcm1792 in ma8, df1704 in ma9).

MA8 has ILI9342 lcd, MA8C has ILI9342C lcd.
bootloader/SOURCES [diff]
firmware/SOURCES [diff]
firmware/drivers/audio/pcm1792.c [new]
firmware/export/audiohw.h [diff]
firmware/export/config.h [diff]
firmware/export/config/hifietma8.h [new]
firmware/export/config/hifietma8c.h [new]
firmware/export/pcm1792.h [new]
firmware/target/arm/rk27xx/backlight-rk27xx.c [diff]
firmware/target/arm/rk27xx/ma/audio-ma.c [diff]
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
tools/configure [diff]
Andrew Ryabinin
2013-11-01 a170c99: ma9: Slightly change df1704 driver API.

This change should be done for easier integration of ma8 port.
firmware/drivers/audio/df1704.c [diff]
firmware/export/df1704.h [diff]
firmware/target/arm/rk27xx/ma/audio-ma.c [diff]
Andrew Ryabinin
2013-10-27 d602717: Introduce HiFi E.T. MA9C port.

The only difference between this target and HiFi E.T. MA9 is display driver (ILI9342 in MA9 and ILI9342c in MA9C)
bootloader/SOURCES [diff]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/hifietma9c.h [new]
firmware/target/arm/rk27xx/backlight-rk27xx.c [diff]
firmware/target/arm/rk27xx/debug-rk27xx.c [diff]
firmware/target/arm/rk27xx/ma/lcd-ma.c [diff]
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
tools/configure [diff]
Andrew Ryabinin
2013-10-27 b48e6d0: ma9: Fix 'always load OF' bug in bootloader.

button_read_device() could be called before pca9555_read_thread intializes pca9555_in_ports variable, and return incorrect value.
firmware/target/arm/rk27xx/ma/pca9555-ma.c [diff]
Andrew Ryabinin
2013-11-04 c49a447: Update changelog.

Add changes merged via Gerrit to changelog.
rbutil/rbutilqt/changelog.txt [diff]
Dominik Riebeling
2013-11-04 bd874c0: Fix changelog showing up too often.

- Prevent the Changelog showing up when closing the configuration dialog if
"Show on startup" is enabled.
- Increase dialog size a bit.
- Detect and link Gerrit IDs.
rbutil/rbutilqt/gui/changelog.cpp [diff]
rbutil/rbutilqt/gui/changelogfrm.ui [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
Dominik Riebeling
2013-11-03 dd0d52e: Handle conversion to text in Sysinfo::getInfo().

When saving the system info from the progresslogger it shouldn't have knowledge about the format of the data provided by getInfo(). Instead of relying on the output being HTML formatted make getInfo() accept a parameter that indicates if the data is to be formatted as HTML or text.
rbutil/rbutilqt/progressloggergui.cpp [diff]
rbutil/rbutilqt/sysinfo.cpp [diff]
rbutil/rbutilqt/sysinfo.h [diff]
Dominik Riebeling
2013-11-03 646f749: Fix compiling with MSVC.

MSVC doesn't understand the gcc specific -Wno-unused-local-typedefs option. Don't add it in this case.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2013-11-03 2b054e6: Fix cutelogger with MSVC.

We're compiling cutelogger directly, not as DLL. Therefore we must not add __declspec attributes to the header.
rbutil/rbutilqt/logger/CuteLogger_global.h [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2013-11-03 4d2ce94: Use cutelogger for Rockbox Utility internal trace.

Change tracing from qDebug() to use cutelogger, which is available under the LGPL2.1. This allows to automatically add filename and line number to the log, and also provides multiple log levels.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallams.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallbase.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallfile.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallhex.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallimx.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallipod.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallmi4.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallmpio.cpp [diff]
rbutil/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
rbutil/rbutilqt/base/encoderexe.cpp [diff]
rbutil/rbutilqt/base/encoderlame.cpp [diff]
rbutil/rbutilqt/base/encoderrbspeex.cpp [diff]
rbutil/rbutilqt/base/httpget.cpp [diff]
rbutil/rbutilqt/base/httpget.h [diff]
rbutil/rbutilqt/base/mspackutil.cpp [diff]
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/rockboxinfo.cpp [diff]
rbutil/rbutilqt/base/serverinfo.cpp [diff]
rbutil/rbutilqt/base/system.cpp [diff]
rbutil/rbutilqt/base/systeminfo.cpp [diff]
rbutil/rbutilqt/base/talkfile.cpp [diff]
rbutil/rbutilqt/base/talkgenerator.cpp [diff]
rbutil/rbutilqt/base/ttscarbon.cpp [diff]
rbutil/rbutilqt/base/ttsexes.cpp [diff]
rbutil/rbutilqt/base/ttsfestival.cpp [diff]
rbutil/rbutilqt/base/ttssapi.cpp [diff]
rbutil/rbutilqt/base/uninstall.cpp [diff]
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/voicefile.cpp [diff]
...and 35 more files.
Dominik Riebeling
2013-03-11 335ec75 G#419: Add support for the ZEN X-Fi3 to rbutil
rbutil/rbutilqt/rbutil.ini [diff]
Amaury Pouly
2013-03-11 6375c47 G#418: Add support for CAB archives to rbutil
rbutil/rbutilqt/base/archiveutil.cpp [new]
rbutil/rbutilqt/base/archiveutil.h [new]
rbutil/rbutilqt/base/bootloaderinstallbase.cpp [diff]
rbutil/rbutilqt/base/mspackutil.cpp [new]
rbutil/rbutilqt/base/mspackutil.h [new]
rbutil/rbutilqt/base/ziputil.cpp [diff]
rbutil/rbutilqt/base/ziputil.h [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
Amaury Pouly
2013-03-11 289acf3 G#417: Fix libmspack to compile with rbutil

The build system used by rbutil is not very robust: all the files are eventually compiled to the same directory so we cannot have two files with the same name (system.c would conflicts with system.cpp) so rename one file to avoid this. Also change all include directives to local ones because we don't have to expose the entire mspack source to inclusion.
rbutil/rbutilqt/mspack/cab.h [diff]
rbutil/rbutilqt/mspack/cabc.c [diff]
rbutil/rbutilqt/mspack/cabd.c [diff]
rbutil/rbutilqt/mspack/chm.h [diff]
rbutil/rbutilqt/mspack/chmc.c [diff]
rbutil/rbutilqt/mspack/chmd.c [diff]
rbutil/rbutilqt/mspack/hlp.h [diff]
rbutil/rbutilqt/mspack/hlpc.c [diff]
rbutil/rbutilqt/mspack/hlpd.c [diff]
rbutil/rbutilqt/mspack/kwaj.h [diff]
rbutil/rbutilqt/mspack/kwajc.c [diff]
rbutil/rbutilqt/mspack/kwajd.c [diff]
rbutil/rbutilqt/mspack/lit.h [diff]
rbutil/rbutilqt/mspack/litc.c [diff]
rbutil/rbutilqt/mspack/litd.c [diff]
rbutil/rbutilqt/mspack/lzssd.c [diff]
rbutil/rbutilqt/mspack/lzxc.c [diff]
rbutil/rbutilqt/mspack/lzxd.c [diff]
rbutil/rbutilqt/mspack/mszipc.c [diff]
rbutil/rbutilqt/mspack/mszipd.c [diff]
rbutil/rbutilqt/mspack/qtmd.c [diff]
rbutil/rbutilqt/mspack/system-mspack.c [new]
rbutil/rbutilqt/mspack/system-mspack.h [new]
rbutil/rbutilqt/mspack/system.c [deleted]
rbutil/rbutilqt/mspack/system.h [deleted]
rbutil/rbutilqt/mspack/szdd.h [diff]
rbutil/rbutilqt/mspack/szddc.c [diff]
rbutil/rbutilqt/mspack/szddd.c [diff]
Amaury Pouly
2013-03-11 739a7ae G#391: Add libmspack to rbutil
rbutil/rbutilqt/mspack/COPYING.LIB [new]
rbutil/rbutilqt/mspack/README.ROCKBOX [new]
rbutil/rbutilqt/mspack/cab.h [new]
rbutil/rbutilqt/mspack/cabc.c [new]
rbutil/rbutilqt/mspack/cabd.c [new]
rbutil/rbutilqt/mspack/chm.h [new]
rbutil/rbutilqt/mspack/chmc.c [new]
rbutil/rbutilqt/mspack/chmd.c [new]
rbutil/rbutilqt/mspack/des.h [new]
rbutil/rbutilqt/mspack/hlp.h [new]
rbutil/rbutilqt/mspack/hlpc.c [new]
rbutil/rbutilqt/mspack/hlpd.c [new]
rbutil/rbutilqt/mspack/kwaj.h [new]
rbutil/rbutilqt/mspack/kwajc.c [new]
rbutil/rbutilqt/mspack/kwajd.c [new]
rbutil/rbutilqt/mspack/lit.h [new]
rbutil/rbutilqt/mspack/litc.c [new]
rbutil/rbutilqt/mspack/litd.c [new]
rbutil/rbutilqt/mspack/lzss.h [new]
rbutil/rbutilqt/mspack/lzssd.c [new]
rbutil/rbutilqt/mspack/lzx.h [new]
rbutil/rbutilqt/mspack/lzxc.c [new]
rbutil/rbutilqt/mspack/lzxd.c [new]
rbutil/rbutilqt/mspack/mspack.h [new]
rbutil/rbutilqt/mspack/mszip.h [new]
rbutil/rbutilqt/mspack/mszipc.c [new]
rbutil/rbutilqt/mspack/mszipd.c [new]
rbutil/rbutilqt/mspack/qtm.h [new]
rbutil/rbutilqt/mspack/qtmd.c [new]
rbutil/rbutilqt/mspack/readbits.h [new]
...and 7 more files.
Amaury Pouly
2013-10-26 27111d8: hwstub: fix stmp3600

The microseconds register has a different address
utils/hwstub/stub/stmp/target.c [diff]
Amaury Pouly
2013-10-26 1085d15: hwstub: produce sb1 image too (for STMP3600)
utils/hwstub/stub/stmp/Makefile [diff]
Amaury Pouly
2013-10-26 2778e76: Forgot the config files for ZEN, ZEN Mozaic and ZEN X-Fi
firmware/export/config/creativezen.h [new]
firmware/export/config/creativezenmozaic.h [new]
firmware/export/config/creativezenxfi.h [new]
Amaury Pouly
2013-10-22 78c060b G#640: imx233: rework vdd5v shared irq handling

The previous code disabled the irq when there were fired. This seems unreliable for some mysterious reason. Instead simply disable them before enabling the irq.

Tested-by: benjamin brown
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
2013-10-22 4aa32fb: imx233: fix partition window computation

The code was broken in two ways:
- it called storage_read_sectors with a wrong drive number
- calling storage_read_sectors too early at boot time will fail because we are in the init function, so the drive is not yet registered. To fix this, use a user provided read callback instead of storage read functions.
firmware/target/arm/imx233/partitions-imx233.c [diff]
firmware/target/arm/imx233/partitions-imx233.h [diff]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-10-21 51ed6da: zenxfi2: fix red by adding partition style
firmware/export/config/creativezenxfi2.h [diff]
Amaury Pouly
2013-10-21 eefab13: utils/regtools: add a bunch of regdumps for various sources
utils/regtools/regdumps/bl.txt [new]
utils/regtools/regdumps/rb_imx233_emi.txt [new]
utils/regtools/regdumps/sony_nwz_e373_regdump.txt [new]
utils/regtools/regdumps/zen_1.21.03e_regdump.txt [new]
utils/regtools/regdumps/zen_bl_regdump.txt [new]
utils/regtools/regdumps/zenmozaic_bl_regdump.txt [new]
utils/regtools/regdumps/zenxfi2_1.23.01e_hwinit_regdump.txt [new]
utils/regtools/regdumps/zenxfi2_1.23.01e_nand_regdump.txt [new]
utils/regtools/regdumps/zenxfi3_1.00.25e_regdump.txt [new]
Amaury Pouly
2013-10-21 2e0c558: Introduce rbutil/mkzenboot, a replacement for tools/mkzenboot

The old tools/mkzenboot has a number of problems: very hard to maintain, poor integration with rbutil. Restart from scratch by recycling all the crypto and descrambling code, rewrite the actual firmware modification part to handle all scenarios in a much clearer way. The code is ready to be integrated into Rockbox Utility, by using the very similar interface to mkimxboot. I copied all the keys from the old mkzenboot, so it can potentially support the older Creative ports, but since this is untested, I prefer not do so at the moment. However, I did add a "mixed" boot option to support the dualboot style used in the older ports.
rbutil/mkzenboot/Makefile [new]
rbutil/mkzenboot/dualboot.c [new]
rbutil/mkzenboot/dualboot.h [new]
rbutil/mkzenboot/dualboot/Makefile [new]
rbutil/mkzenboot/dualboot/bin2c.c [new]
rbutil/mkzenboot/dualboot/config.h [new]
rbutil/mkzenboot/dualboot/dualboot.c [new]
rbutil/mkzenboot/dualboot/dualboot.lds [new]
rbutil/mkzenboot/main.c [new]
rbutil/mkzenboot/md5.c [new]
rbutil/mkzenboot/md5.h [new]
rbutil/mkzenboot/mkzenboot.c [new]
rbutil/mkzenboot/mkzenboot.h [new]
rbutil/mkzenboot/utils.c [new]
rbutil/mkzenboot/utils.h [new]
Amaury Pouly
2013-10-21 5cfb148: tools/configure: add the Creative targets to selector
tools/configure [diff]
Amaury Pouly
2013-10-21 cec5ac7: utils/hwstub: fix zen target id
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
2013-10-21 3d3f419: tools/scramble: document zen/xzfi/zmoz targets
tools/scramble.c [diff]
Amaury Pouly
2013-10-21 7a65710: tea5760uk: use correct i2c address on the Creative

Actually 0x20 is the right address, the 0x22 applies to the meizu which probably use a Chinese clone with a non-spec compliant address.
firmware/drivers/tuner/tea5760uk.c [diff]
Amaury Pouly
2013-10-21 a072867: Initial commit for the Creative ZEN and ZEN X-Fi
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/target/arm/imx233/creative-zen/adc-target.h [new]
firmware/target/arm/imx233/creative-zen/adc-zen.c [new]
firmware/target/arm/imx233/creative-zen/audio-target.h [new]
firmware/target/arm/imx233/creative-zen/backlight-target.h [new]
firmware/target/arm/imx233/creative-zen/backlight-zen.c [new]
firmware/target/arm/imx233/creative-zen/button-target.h [new]
firmware/target/arm/imx233/creative-zen/button-zen.c [new]
firmware/target/arm/imx233/creative-zen/debug-zen.c [new]
firmware/target/arm/imx233/creative-zen/fmradio-i2c-zen.c [new]
firmware/target/arm/imx233/creative-zen/lcd-target.h [new]
firmware/target/arm/imx233/creative-zen/lcd-zen.c [new]
firmware/target/arm/imx233/creative-zen/power-zen.c [new]
firmware/target/arm/imx233/creative-zen/powermgmt-target.h [new]
firmware/target/arm/imx233/creative-zen/powermgmt-zen.c [new]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2013-10-21 d3bc648: Initial commit for the Creative ZEN Mozaic
apps/SOURCES [diff]
apps/keymaps/keymap-zen.c [new]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/target/arm/imx233/creative-zenmozaic/adc-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/adc-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/audio-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/backlight-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/backlight-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/button-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/button-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/debug-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/fmradio-i2c-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/lcd-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/lcd-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/power-zenmozaic.c [new]
firmware/target/arm/imx233/creative-zenmozaic/powermgmt-target.h [new]
firmware/target/arm/imx233/creative-zenmozaic/powermgmt-zenmozaic.c [new]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2013-10-21 9ed9807: hwstub: rework i2c completely
utils/hwstub/tools/lua/i2c_scan.lua [new]
utils/hwstub/tools/lua/sonynwze360.lua [diff]
utils/hwstub/tools/lua/stmp/i2c.lua [diff]
utils/hwstub/tools/lua/stmp/pinctrl.lua [diff]
Amaury Pouly
2013-10-21 bfb67f4: hwstub: don't touch mmu registers on non-STMP targets, they might not exist
utils/hwstub/stub/crt0.S [diff]
Amaury Pouly
2013-10-21 4da8a44: tools/scramble: add support for a couple more Creative devices

This is mostly for consistency, this tool will be unused by the newer targets. Also update the usage() display to mention -no-ciff
tools/creative.c [diff]
tools/creative.h [diff]
tools/scramble.c [diff]
Amaury Pouly
2013-10-21 0ff8ce7: tools/mkzenboot: compile in C99 mode
tools/Makefile [diff]
Amaury Pouly
2013-10-21 3d16660: imx233/system: don't do frequency management on < stmp3780, it's not working
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2013-10-21 151fa30: imx233/sdmmc: add write protect pin config

The setting is currently unused but it provides some documentation and basic support for a more comprehensive implementation of read-only support.
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-10-21 17851f7: imx233/audio: workaround unused variable

The exact combination on which recording is needed is too complicated, so just always cancel the unused warning, the compiler will optimise it away.
firmware/target/arm/imx233/audio-imx233.c [diff]
Amaury Pouly
2013-10-21 7d62a78: imx233: extend partition window support to be more generic

The new code can select among several types of window (user, system, ...). Furthermore, the type of partitions to use is selectable in config file. Currently, two types are support: Freescale style MBR and Creative MBLK
firmware/export/config.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sonynwze360.h [diff]
firmware/export/config/sonynwze370.h [diff]
firmware/target/arm/imx233/partitions-imx233.c [diff]
firmware/target/arm/imx233/partitions-imx233.h [diff]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-10-21 5c7167c: imx233/i2c: relax timeout
firmware/target/arm/imx233/i2c-imx233.c [diff]
Amaury Pouly
2013-10-21 a31c50f: Remove useless braces
rbutil/mkimxboot/main.c [diff]
Amaury Pouly
2013-10-21 15dc944: imx233: add package defines

Currently we only support the BGA169 but if by chance Rockbox was to run on a lqfp package for example, some pins may becomes unavailable or different.
firmware/export/config.h [diff]
Amaury Pouly
2013-10-21 0463bf4: tea5760uk: properly power up the tuner during detect

The old was doing register read/writes without calling tuner_power(), this is broken for target with real tuner power management.
firmware/drivers/tuner/tea5760uk.c [diff]
Amaury Pouly
2013-10-21 9bdf24a: tea5760uk: add support for TEA5761UK

They share most of registers (except test and some extra bits), since our driver is very basic, it is safe to relax the manufacurer & chip id check.
firmware/drivers/tuner/tea5760uk.c [diff]
Amaury Pouly
2013-10-21 b1a6a24: debug_menu: add tea5760uk tuner debug info
apps/debug_menu.c [diff]
Amaury Pouly
2013-09-29 71c5a52: imx233: fix power irq storm

When bootloader is too intelligent, like on Creative devices, it might leave some unexpected IRQs sources on, this is problematic when those sources share the same IRQ line.
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
2013-10-19 898b760: imx233: fix audioout on stmp3700

Strangely enough, only stmp3780 and stmp3600 have speaker control
firmware/target/arm/imx233/audioout-imx233.c [diff]
Amaury Pouly
2013-10-20 28669ca: fuze+: fix typo
firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c [diff]
Amaury Pouly
2013-10-20 46416c6: imx233: fix usb_detect() to be consistent with vbus detection

The STMP3700 has unreliable vbusvalid irq so we need to use vdd5gtvddio. Therefore, using the vbusvalid bit produces inconsistent results between events and detect. Fix that by making power handle all the usb detect stuff.
firmware/target/arm/imx233/power-imx233.c [diff]
firmware/target/arm/imx233/power-imx233.h [diff]
firmware/target/arm/imx233/usb-imx233.c [diff]
Amaury Pouly
2013-10-02 187017b: imx233: simplify sd/mmc code
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2013-10-20 5b3eaf6: imx233/i2c: use 1sec timeout by default instead of blocking

These functions are mostly used by the radio drivers and any blocking call could potentially block the entire UI, which is pretty bad. Since any request is expected to finish within a few us, having a 10ms timeout doesn't seem unreasonable.
firmware/target/arm/imx233/i2c-imx233.c [diff]
Amaury Pouly
2013-10-20 6006eb5: imx233/i2c: always reset the i2c block on timeout

On targets like stmp3700, resetting the dma channel on "soft" timeout drives the whole block crazy unless it goes through complete reset.
firmware/target/arm/imx233/i2c-imx233.c [diff]
Amaury Pouly
2013-10-20 efc591e: imx233/bootloader: fix comment about disk init
bootloader/imx233.c [diff]
Amaury Pouly
2013-10-02 e21d8f5: imx233: fix bootloader

The bootloader must call disk_init_subsystem() because it is multithread
(because of USB), otherwise strange things might happen. Calling disk_init() is unnecessary since it is call when mounting partitions.
bootloader/imx233.c [diff]
Amaury Pouly
2013-10-20 110e094: Switch back to kernel.org.

kernel.org is back, and nic.funet.fi is being difficult, so it's time to switch back.
tools/rockboxdev.sh [diff]
Frank Gevaerts
2013-10-17 4626b17 G#639: Add missing #include statements.

Although Linux accepts several implicit definitions of SEEK_END found in stdio.h, the compiler on FreeBSD won't. Rockbox compilation will fail without stdio.h included.

There is a precedent for including this header, see lib/rbcodec/codecs/libtremor/ivorbisfile.h.

Tested-by: Kevin Zheng
lib/rbcodec/codecs/aiff_enc.c [diff]
lib/rbcodec/codecs/mp3_enc.c [diff]
lib/rbcodec/codecs/wav_enc.c [diff]
Kevin Zheng
2013-10-13 6845f6c G#636: Include 60s timeout for wget commands in rockboxdev.sh

Added a 60s timeout to the script to avoid having to wait for ages when a download stalls.

Tested-by: Michael Rodger
tools/rockboxdev.sh [diff]
Michael Rodger
2013-02-23 4ead034: Disable LCD_FLIP and MORSE_INPUT on recorder to make it build.

Disabling these two settings makes the image small enough to build again. This build has been broken for long enough without any better solution actually being worked on, so I think this is much better than nothing.
firmware/export/config/archosrecorder.h [diff]
Frank Gevaerts
2013-10-14 513914c G#637: Do not compile with "-ldl" on FreeBSD.

The dynmaic library support provided in dlfcn.h does not require additional linker flags on FreeBSD. It is provided with the standard C library and will fail to link if "-ldl" is specified.

Tested-by: Kevin Zheng
tools/configure [diff]
Kevin Zheng
2013-10-09 f580714: imxtools/scsitools: document some of the SCSI vendor commands
utils/imxtools/scsitools/scsitool.c [diff]
utils/imxtools/scsitools/stmp_scsi.h [diff]
Amaury Pouly
2013-10-09 468aa95: imxtools/sbloader: rewrite hid code

Rewrite code with proper documentation: it uses a UMS like CBW/CSW to wrap commands and status.
utils/imxtools/sbtools/sbloader.c [diff]
Amaury Pouly
2013-10-09 1c63993: imxtools/sbtools: always probe report size for HID recovery mode

Some older versions of the ROM (TA3 for example), use a 64 byte report size instead of 1024, so hardcoding 1024 is just a bad idea.
utils/hwstub/stub/stmp/Makefile [diff]
utils/imxtools/sbtools/sbloader.c [diff]
Amaury Pouly
2013-10-02 0f1d44d G#632: Simulator - encoders can now be loaded

This enables the encoders - i.e. to record audio - to be loaded also on the simulator.
lib/rbcodec/codecs/codecs.h [diff]
Lorenzo Miori
2013-10-02 2e0a3fc G#631: Add a few targerts to builds.pm
tools/builds.pm [diff]
Amaury Pouly
2013-09-30 5ab4e90 G#630: fwpatcher/rbutil - added support for H300 v1.31K

Tested-by: Marcin Bukat
rbutil/rbutilqt/irivertools/h300sums.h [diff]
tools/fwpatcher/h300sums.h [diff]
Lorenzo Miori
2013-09-20 8df12c6: Implement a first, simple changelog dialog.

When Rockbox Utility is started for the first time, a new version is started or the user selected to do so on startup a changelog window is shown.
rbutil/rbutilqt/base/rbsettings.cpp [diff]
rbutil/rbutilqt/base/rbsettings.h [diff]
rbutil/rbutilqt/changelog.txt [new]
rbutil/rbutilqt/gui/changelog.cpp [new]
rbutil/rbutilqt/gui/changelog.h [new]
rbutil/rbutilqt/gui/changelogfrm.ui [new]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/rbutilqt.h [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
rbutil/rbutilqt/rbutilqt.qrc [diff]
rbutil/rbutilqt/rbutilqtfrm.ui [diff]
Dominik Riebeling
2013-09-20 1977281: Use function for updating detected device entry.

Use a function instead of looking for an existing entry and creating a new one if necessary every time.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/autodetection.h [diff]
Dominik Riebeling
2013-09-29 310e7b4: Add some unstable targest to "sim release"
tools/release/sims.pl [diff]
Amaury Pouly
2013-09-15 9a8ed6b G#618: Simulator for Samsung YP-R0

Enable simulator for the target ypr0 to be built and used.
firmware/SOURCES [diff]
firmware/export/config/samsungypr0.h [diff]
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
tools/configure [diff]
uisimulator/bitmaps/UI-samsungypr0.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/samsung-ypr0.c [new]
Lorenzo Miori
2013-09-28 d13e5b9: mkimxboot: add NWZ-E370 1.0.1 firmware (US)
rbutil/mkimxboot/mkimxboot.c [diff]
Amaury Pouly
2013-07-26 c300c1b G#613: screendump.c: use HOME_DIR instead of the hard-coded "" (root)

This adds the support for hosted or other particular platforms, where the "root" ("home") path is NOT "/" (or ""). The change affects screendump in particular.
firmware/screendump.c [diff]
Lorenzo Miori
2013-09-26 4c6c8cd: fuze+/zenxfi2: make sure pixclk is running before initialising lcdif
firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c [diff]
firmware/target/arm/imx233/lcdif-imx233.h [diff]
firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c [diff]
Amaury Pouly
2013-09-26 b60712d: sonynwz: rework dualboot mechanism

Now boot to RB if play/pause is pressed during 1 second, and to OF if back is pressed 1 second. Otherwise power off. If hold is on, also power off. In USB and alarm context, always boot and back determines OF vs RB.
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
Amaury Pouly
2013-09-26 d527c55: mkimxboot: always clean up dualboot elf files
rbutil/mkimxboot/dualboot/Makefile [diff]
Amaury Pouly
2013-09-26 1207016: imx233: always start SSPCLK before ungating the spp blocks

This should fix some boot hang issues which appeared at random.
firmware/target/arm/imx233/ssp-imx233.c [diff]
Amaury Pouly
2013-09-26 f753105: imx233/bl: usb mode has priority over hold
bootloader/imx233.c [diff]
Amaury Pouly
2013-09-26 7a828ac: imx233/bootloader: fix red
bootloader/imx233.c [diff]
Amaury Pouly
2013-09-26 6dcd465: imx233/bootloader: power off on hold
bootloader/imx233.c [diff]
Amaury Pouly
2013-09-26 0897794: sonynwz: fix time handling

Be consistent with the OF and use RTC PERSISTENT2 as offset
firmware/drivers/rtc/rtc_imx233.c [diff]
Amaury Pouly
2013-09-26 94f2bc7: sonynwze360: fix color swap

I found the BGR bits in the lcd registers by trival and error.
firmware/target/arm/imx233/sony-nwz/lcd-nwze360.c [diff]
Amaury Pouly
2013-09-26 835d740: hwstub: fix lcd drivers for sony NWZ
utils/hwstub/tools/lua/sonynwze360.lua [diff]
utils/hwstub/tools/lua/sonynwze370.lua [diff]
utils/hwstub/tools/lua/stmp/lcdif.lua [diff]
Amaury Pouly
2013-09-26 f37f339: sonynwze370: fix simulator
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-sonynwze370.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/sony-nwz.c [new]
uisimulator/buttonmap/sony-nwze360.c [deleted]
Amaury Pouly
2013-09-25 ddf56a1: sonynwze360: fix simulator
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-sonynwze360.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/sony-nwze360.c [new]
Amaury Pouly
2013-09-25 7ba802b: Add missing keymap
apps/keymaps/keymap-nwz.c [new]
Amaury Pouly
2013-09-25 e41d2ba: imx233: only clear got_a_nak on imx233, it doesn't exists on other stmps
firmware/target/arm/imx233/i2c-imx233.c [diff]
Amaury Pouly
2013-09-25 6ac481e: Add support for the sony NWZ-E360/E370 to mkimxboot
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/Makefile [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
rbutil/mkimxboot/mkimxboot.c [diff]
rbutil/mkimxboot/mkimxboot.h [diff]
Amaury Pouly
2013-09-25 9392d03: Initial commit for the sony NWZ-E360 and NWZ-E370
apps/SOURCES [diff]
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/config/sonynwze360.h [new]
firmware/export/config/sonynwze370.h [new]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
firmware/target/arm/imx233/sony-nwz/adc-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/adc-target.h [new]
firmware/target/arm/imx233/sony-nwz/audio-target.h [new]
firmware/target/arm/imx233/sony-nwz/backlight-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/backlight-target.h [new]
firmware/target/arm/imx233/sony-nwz/button-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/button-target.h [new]
firmware/target/arm/imx233/sony-nwz/debug-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/fmradio-i2c-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/lcd-nwze360.c [new]
firmware/target/arm/imx233/sony-nwz/lcd-nwze370.c [new]
firmware/target/arm/imx233/sony-nwz/lcd-target.h [new]
firmware/target/arm/imx233/sony-nwz/power-nwz.c [new]
firmware/target/arm/imx233/sony-nwz/powermgmt-nwze360.c [new]
firmware/target/arm/imx233/sony-nwz/powermgmt-nwze370.c [new]
firmware/target/arm/imx233/sony-nwz/powermgmt-target.h [new]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2013-09-25 46248b3: hwstub: add some code for the NWZ-E360/E370
utils/hwstub/tools/lua/sonynwze360.lua [new]
utils/hwstub/tools/lua/sonynwze370.lua [diff]
Amaury Pouly
2013-09-25 f46ff0f: hwstub: add stmp i2c code
utils/hwstub/tools/lua/stmp.lua [diff]
utils/hwstub/tools/lua/stmp/i2c.lua [new]
Amaury Pouly
2013-09-25 b181c49: fix whitespace
firmware/target/arm/imx233/i2c-imx233.c [diff]
Amaury Pouly
2013-09-25 5909438: imx233: improve button lradc driver

The driver can now handle HOLD in several ways, including using a GPIO. Also add a debug routine to read the raw value of the adc.
firmware/target/arm/imx233/button-lradc-imx233.c [diff]
firmware/target/arm/imx233/button-lradc-imx233.h [diff]
Amaury Pouly
2013-09-25 2f5f2ba: imx233: always boost in bootloader

Many imx233 targets boot in a very low performance mode, typically cpu and dram at 24MHz. This results in very slow boots and very unstable USB bootloader mode. Since cpu frequency scaling is disabled in bootloader in rockbox, always make the frequency scaling code available and boost at boot time.
bootloader/imx233.c [diff]
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
Amaury Pouly
2013-09-25 7e03dbb: imx233: shorten bootloader messages when screen is small
bootloader/imx233.c [diff]
Amaury Pouly
2013-09-25 f67d9bd: apps: factor depth3d capability in features.txt

Currently the 3 possible sources for this setting are: imx233, wm8750, wm8978
apps/features.txt [diff]
apps/lang/english.lang [diff]
Amaury Pouly
2013-09-19 c40a821 G#622: fuze+/keymaps: Add action_std_cancel to bookmark and recording screen

This fix FS #12902 and prevent same bug in bookmark screen. thanks to Julian67 for reporting
apps/keymaps/keymap-fuzeplus.c [diff]
Jean-Louis Biasini
2013-09-18 5d9086b: Handle ambiguous state in configuration dialog.

If a single player is detected it might still have ambiguous as state due to the mountpoint not being found. Make sure to display a sensible error message in that case.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2013-09-18 5c31063: Add "FAT" as supported filesystem on Windows.

In some cases Windows reports the string "FAT" (without any type number). Accept that as well.
rbutil/rbutilqt/base/utils.cpp [diff]
Dominik Riebeling
2013-09-18 b943c59: Rework autodetection to better handle ambiguous cases.

The old detection code simply assumed only one player to be connected and threw all information it could find together, causing wrong results in various cases. Rewrite it to better handle this.

- Don't expect only a single player to be attached. Return a list of players found instead. The configuration dialog can then show the user a list to select from. This is not implemented yet, the configuration dialog will only show the devices found and tell the user to disconnect all but one.

- Handle ambiguous cases better. A player found that is ambiguous is treated as such, and if refining the result didn't lead to a single match for each possible player a single entry is created that indicates it being ambiguous.

The current code needs a bit of additional cleanup (the result exposes internal data to the caller it shouldn't) to be done later.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/base/autodetection.h [diff]
Dominik Riebeling
2013-09-16 fe45f8f: Show mountpoint on multiple devices found message as well.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2013-09-16 f3b56eb: Handle multiple devices with identical USB IDs correctly when listing.

Use insertMulti() instead of insert() when adding found USB devices to the list. This means the keys of the list will now be ambiguous. This is not a problem since the value is only used to display the user a nice string. Previously we'd loose two identical devices attached to the system since the second one would overwrite the first.

This does not apply for Windows, since Windows will list each function of a composite device. This results in a device running Rockbox (with HID enabled) showing up twice, which isn't wanted.
rbutil/rbutilqt/base/system.cpp [diff]
Dominik Riebeling
2013-09-16 935c7fb: List detected devices if multiple are found.

In preparation of giving the user a list to choose from add displaying a list of all devices connected. Since devices might be ambiguous (multiple devices share the same USB ID but detecting by other means failed) the listed devices might exceed the number of actually attached ones.
rbutil/rbutilqt/configure.cpp [diff]
Dominik Riebeling
2013-09-14 3dcf833: langstat: improve code style a bit.
rbutil/rbutilqt/langstats.py [diff]
Dominik Riebeling
2013-09-18 89afa32 G#621: fuze+: fix volume bottom limit

Even with volume at minimal fuze+ was still playing sound pretty loud. this fix it.
firmware/export/imx233-codec.h [diff]
Jean-Louis Biasini
2013-09-18 b8c98a8: regtools/qeditor: improve pinctrl analyser display
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
Amaury Pouly
2013-09-18 963dfc5: regtools/qeditor: enhance pinctrl analyser
utils/regtools/qeditor/std_analysers.cpp [diff]
Amaury Pouly
2013-09-13 30b20bf: retools/qeditor: add pin decoder (very basic add the moment)
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
Amaury Pouly
2013-09-13 8f122e0: imxtools: add pin map and decoding tool

Also add the tool which was used to generate the map on wiki.
utils/imxtools/misc/Makefile [new]
utils/imxtools/misc/io_pins.c [new]
utils/imxtools/misc/map.h [new]
utils/imxtools/misc/wiki_gen.c [new]
Amaury Pouly
2013-09-18 b4c1bb0: imx233: fix block reset code
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2013-09-18 2743307: tcctool: fix Makefile

The version.sh tool tries to locate the repository root if no argument is given but it doesn't really work. Instead explicitely give it the path to the root.
utils/tcctool/Makefile [diff]
Amaury Pouly
2013-09-18 afd8563: tcctool: add YP-T10

The SDCFG value is the default one but it seems to work
utils/tcctool/tcctool.c [diff]
Amaury Pouly
2013-09-17 4f3f639 G#620: fuze+/keymaps: define Cancel over Menu in EQ context

This fix FS #12895, Menu has no effect in EQ context anyway...
apps/keymaps/keymap-fuzeplus.c [diff]
Jean-Louis Biasini
2013-07-23 66aa00d: Samsung YP-R0/YP-R1 Safe Mode improvement

This is an improvement for the special mode present in the samsung ypr0 target. Apart adding new useful functionalities, it fixes a random disconnection bug, solved by debouncing and fully support to YP-R1 target. This opens also the possibility to interface this operating mode to rockbox USB functionality.
utils/ypr0tools/Makefile [diff]
utils/ypr0tools/cable_detect.c [new]
utils/ypr0tools/files/.rockbox/README [deleted]
utils/ypr0tools/files/Playlists/README [deleted]
utils/ypr0tools/files/common/.rockbox/README [new]
utils/ypr0tools/files/common/Playlists/README [new]
utils/ypr0tools/files/common/etc/profile [new]
utils/ypr0tools/files/common/etc/safemode/smode [new]
utils/ypr0tools/files/etc/mods/safe_mode.raw [deleted]
utils/ypr0tools/files/etc/mods/safe_mode.sh [deleted]
utils/ypr0tools/files/etc/profile [deleted]
utils/ypr0tools/files/images/r0/post_smode.bmp [new]
utils/ypr0tools/files/images/r0/pre_smode.bmp [new]
utils/ypr0tools/files/images/r0/safemode.bmp [new]
utils/ypr0tools/files/images/r1/post_smode.bmp [new]
utils/ypr0tools/files/images/r1/pre_smode.bmp [new]
utils/ypr0tools/files/images/r1/safemode.bmp [new]
utils/ypr0tools/files/lib/modules/si4709.ko [deleted]
utils/ypr0tools/files/r0/lib/modules/si4709.ko [new]
utils/ypr0tools/patch-firmware.sh [diff]
Lorenzo Miori
2013-09-11 5ef1e2d G#616: ypr0-ypr1 firmware tools fix

fixed a bug concerning bytes padding, since it wasn't correctly implemented regarding original firmware structure. This fixes ROM generation especially for ypr1.
utils/ypr0tools/fwcrypt.c [diff]
Lorenzo Miori
2013-09-10 743a6d0: hwstub: add pix clock setup
utils/hwstub/tools/lua/stmp/lcdif.lua [diff]
Amaury Pouly
2013-09-10 0ee25f6: hwstub: various fix
utils/hwstub/tools/lua/stmp/pinctrl.lua [diff]
Amaury Pouly
2013-09-10 8785a49: imxtools/efltosb: fix extern() in db files
utils/imxtools/sbtools/dbparser.c [diff]
Amaury Pouly
2013-09-10 3b6d2ac: hwstub: add delay functions, and plain binary/sb file generation
utils/hwstub/stub/hwstub.make [diff]
utils/hwstub/stub/stmp/Makefile [diff]
utils/hwstub/stub/stmp/target.c [diff]
utils/hwstub/stub/target.h [diff]
utils/hwstub/stub/usb_drv_arc.c [diff]
Amaury Pouly
2013-09-02 acf3af4 G#614: radio: fix FS #12747

Tested-by: Dominik Riebeling
apps/radio/radio.c [diff]
Jonathan Gordon
2013-09-08 0e8fa70: bmp2rb: Data was written with an incorrect offset.
tools/bmp2rb.c [diff]
Thomas Martitz
2013-07-09 da8a6a9 G#506: Firmware tools for Samsung YP-R0/YP-R1 (and possibly others) They have been rewritten for being completely free and as fast as possible. Successfully extracted, patched, repacked and flashed original firmware (tested on device and it worked)

Tested-by: Thomas Martitz
utils/ypr0tools/Makefile [diff]
utils/ypr0tools/MuonEncrypt [deleted]
utils/ypr0tools/README [diff]
utils/ypr0tools/common.c [new]
utils/ypr0tools/common.h [new]
utils/ypr0tools/extract_section.c [deleted]
utils/ypr0tools/fwcrypt.c [new]
utils/ypr0tools/fwdecrypt.c [new]
utils/ypr0tools/pack-firmware.sh [deleted]
utils/ypr0tools/test.sh [new]
utils/ypr0tools/unpack-firmware.sh [