Thomas Martitz
c08299cedd
Dircache: Fix memory leak (and recently panic).
...
If the dircache was interrupted during generation (e.g. through USB
insertion), then the allocated buffer was leaked and a new one
was allocated for the second cache generation. This causes a
panic since r30308 since playback holds the control over the
audiobuffer at that time.
The fix is to simply check allocated_size instead of
dircache_size which is reset to 0 upon cancellation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30321 a1c6a512-1295-4272-9138-f99709370657
2011-08-16 13:01:03 +00:00
Thomas Martitz
4087875f1c
Dircache: Fix bug introduced in r30308.
...
dircache_root wasn't initialized at all and the giving allocated_size
passed to buffer_release_buffer() didn't account for alignment padding.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30318 a1c6a512-1295-4272-9138-f99709370657
2011-08-15 15:13:17 +00:00
Thomas Martitz
d1322b7159
GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
...
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.
Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.
audiobuf and audiobufend are local to buffer.c now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Thomas Martitz
44ffa3ef93
format/*printf: Add simple support for %p format specifier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30249 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 10:44:41 +00:00
Thomas Martitz
32b54164d8
Dircache: Fix 2 nasty bugs introduced with the reworks starting with r30032.
...
The first is an off-by-one that leads to miscalculation of the dircache size.
The format string size was used but dircache size was incremented by the snprintf() result which is smaller.
The other forgot to update the location of the "." and ".." strings upon compaction,
so that new folders got assigned orphaned pointers for those directory entires.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30224 a1c6a512-1295-4272-9138-f99709370657
2011-07-30 23:21:58 +00:00
Thomas Martitz
1b7ff725c6
Revert "Introduce bsearch() and use it in tagtree.c."
...
It was committed by accident (it's on FS still).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30157 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:57:50 +00:00
Thomas Martitz
74ab227b58
Introduce bsearch() and use it in tagtree.c.
...
bsearch() is a general purpose binary search function for arrays.
It's supposedly faster than looping over arrays.
The array needs to be sorted in ascending order under the provided
comparison function. If the key and array element are of the same kind,
then the same compare function can be used for qsort() and bsearch().
Code taken from glibc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30155 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:55:20 +00:00
Miika Pekkarinen
e06bb54d12
Initialize the d_names_start pointer correctly in dircache. This should
...
prevent d_names data from being overwritten (likely causing garbage in
file browser and other strange symptoms).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30122 a1c6a512-1295-4272-9138-f99709370657
2011-07-04 17:13:48 +00:00
Miika Pekkarinen
563a185ff4
Fixed incorrect dircache reallocation during tagcache commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30108 a1c6a512-1295-4272-9138-f99709370657
2011-07-01 13:38:20 +00:00
Thomas Martitz
88234fa921
Fix loading dircache stat on h100. Relocating the data was broken due to struct alignment problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30051 a1c6a512-1295-4272-9138-f99709370657
2011-06-22 14:18:22 +00:00
Thomas Martitz
2b61f7ce64
Use ALIGN_UP() macro for alignment, in a more correct way also.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30041 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:58 +00:00
Thomas Martitz
287d69d7c4
Dircache: A bit of follow-up code cleanup suggested by Amaury Pouly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30040 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:52 +00:00
Thomas Martitz
3b29aa49d3
Optimize new dircache_copy_path so that the helper (strlcat) doesn't need to walk through the entire string repeatedly.
...
Also fix a off-by-one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30039 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:47 +00:00
Thomas Martitz
af7aaae478
Dircache: Don't expose struct dircache_entry and pointers into the cache, use IDs instead.
...
Only integer IDs are exposed from dircache with this. This way the cache is isolated from other modules.
This is needed for my buflib gsoc project.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30038 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:42 +00:00
Thomas Martitz
0b9c57d33e
Dircache: Move struct maindata declaration to dircache.c and actually check for DIRCACHE_MAGIC when loading from disk.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30037 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:35 +00:00
Thomas Martitz
52abbb186d
Dircache: Change internal cache layout.
...
The dircache_entry structs are now allocated subsequently from the front, allowing to treat them as an array. The d_names are allocated from the back (in reverse order, growing downwards).
This allows the cache to be moved around (needed for my buflib gsoc project). It is utilized when loading the cache from disk (on the h100), now the pointer to the cache begin doesn't need to be the same across reboots anymore.
This should save a bit memory usage, since there's no need for aligning padding bytes after d_names anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30036 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:30 +00:00
Thomas Martitz
b67f4a1824
Fix dircache_size calculation bug introcuced 3 revisions ago.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30035 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:26 +00:00
Thomas Martitz
e063725534
Dircache: Return the size of the result string in dircache_copy_path() so that callers don't need to call strlen on it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30034 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:15 +00:00
Thomas Martitz
38da400e58
Dircache: Rework and simplify dircache_copy_path().
...
Use a recursive helper function with strlcat to build up the path backwards. This way the tree doesn't need to be walked twice and no extraneous size calculation is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30033 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:10 +00:00
Thomas Martitz
60e4f20c38
Dircache: Remove dircache_entry::name_len.
...
It's reduntant, and enlarges the dircache unnecessarily. Saves 4 byte per file in the whole filesystem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30032 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:07:35 +00:00
Andree Buschmann
67f215032d
Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29841 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 21:06:38 +00:00
Thomas Martitz
294d058034
Return -1 for not implemented RTC functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29546 a1c6a512-1295-4272-9138-f99709370657
2011-03-08 21:36:47 +00:00
Thomas Jarosch
f9f89cf5cb
RaaA: Fix write locations of plugins
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 23:43:54 +00:00
Thomas Jarosch
6e9e6a7571
RaaA: Add initial Pandora support
...
More information: www.openpandora.org
Possible things to implement:
- Special button mappings
- Battery monitoring
- ALSA audio backend
- Automate creation of "pnd" (=binary) file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29451 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 23:42:37 +00:00
Michael Sparmann
a5034bd244
Fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29449 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 23:22:09 +00:00
Michael Sparmann
59c5e791a1
iPod Classic CE-ATA Support (Part 3 of 4: Introduce STORAGE_NEEDS_ALIGN, which ensures that no unaligned storage accesses are performed through file.c)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29447 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:47:33 +00:00
Michael Sparmann
1b5e31ed43
iPod Classic CE-ATA Support (Part 2 of 4: Remove on-stack sector buffers, and replace them with a single statically allocated sector buffer that's arbitrated amongst users)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29445 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:44:54 +00:00
Michael Sparmann
751303c2ac
iPod Classic CE-ATA Support (Part 1 of 4: Cacheline align some statically allocated sector buffers)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29444 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:44:30 +00:00
Thomas Jarosch
70e48bf66d
RaaA: Create full config directory tree during initialization
...
Also robustify against unset HOME environment var.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29397 a1c6a512-1295-4272-9138-f99709370657
2011-02-25 14:31:26 +00:00
Thomas Jarosch
351c851d08
RaaA: app_rename() must also do ROCKBOX_DIR translation for the target path
...
Fixes the "recent bookmarks" feature
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29316 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 22:46:36 +00:00
Michael Sevakis
b15aa47c56
All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
2011-02-14 11:27:45 +00:00
Thomas Jarosch
5f037ac015
Initial maemo platform support
...
Adds Nokia N900, N810 and N800 support.
Features:
- Introduce maemo specific platform defines
- Play audio in silent mode
- Stop playback on incoming calls
- Battery level readout
- Bluetooth headset support
- Save CPU by disabling screen updates if the display
is off or the app doesn't have input focus
- N900: GStreamer audio backend
Kudos to kugel for the code review.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29248 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 20:05:25 +00:00
Andree Buschmann
5d849a963e
Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:43:32 +00:00
Thomas Martitz
771011a6fc
RaaA: Fix database duplication issue on every start
...
The code in tagcache.c:commit() was unable to delete
the to-be-commited database file as it read from
$(HOME)/.config/rockbox.org and tried to delete
the file later on in /.rockbox/.
As we didn't specify any flags like IS_FILE or NEED_WRITE
in _get_user_file_path() (which is called by f.e. app_remove()),
it searched for the file in two places.
In case of app_rename() IS_FILE would be wrong, so we just
add a NEED_WRITE to any write operation.
Author: Thomas Jarosch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29148 a1c6a512-1295-4272-9138-f99709370657
2011-01-27 21:09:25 +00:00
Michael Sparmann
7fea136903
Autodetect sector size on superfloppy volumes based on the FAT32 BPB (kudos to Frank Gevaerts)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28946 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 22:28:22 +00:00
Teruaki Kawashima
b1a888a023
correct argument of open.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28756 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 12:20:27 +00:00
Thomas Martitz
2c2416094f
Get rid of get_user_file_path and do the path handling in wrappers for open() and friends.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:26:31 +00:00
Frank Gevaerts
1db3dfdd75
Accept FS#11774 by Michael Hohmuth (with some own modifications to #ifdef conditions)
...
Unmount all filesystems before connecting USB. This ensures that all filehandles are closed, which avoids possible filesystem corruption
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28693 a1c6a512-1295-4272-9138-f99709370657
2010-11-28 15:22:51 +00:00
Michael Sparmann
79d26ed7f9
Reduce the amount of stack space needed by fat_rename and mkdir_uncached.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28576 a1c6a512-1295-4272-9138-f99709370657
2010-11-13 15:41:18 +00:00
Michael Sparmann
01cdb6a21f
Fix screendump on iPod Nano 2G by increasing the usb thread stack size and reducing the stack usage of FAT and storage functions
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28356 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 12:36:57 +00:00
Rafaël Carré
7240478457
file_exists(): fix DEBUGF()
...
- %s was missing the argument (function name)
- add %p to print the function argument
- also don't call strlen() to test string nullity (and strlen() can't return a negative result)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28123 a1c6a512-1295-4272-9138-f99709370657
2010-09-20 16:39:22 +00:00
Rafaël Carré
5a98ad2d7f
format() (and its alias vuprintf) return values are uncheck -> void
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28119 a1c6a512-1295-4272-9138-f99709370657
2010-09-20 08:55:45 +00:00
Thomas Martitz
ded525e466
Revert r27972 to fix FS#11610 (but in a way android builds still work).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28050 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 21:26:36 +00:00
Thomas Martitz
a4264eb89a
Redo previous commit to not break android builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27972 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 22:06:03 +00:00
Thomas Martitz
4ada1ee44e
Fix database
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27971 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 21:58:00 +00:00
Thomas Martitz
eac36d5a09
struct DIR -> DIR, should fix most if not all reds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27970 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 21:45:58 +00:00
Thomas Martitz
6eaab4d004
Ged rid of uisimulator/common/io.c for android builds.
...
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants.
Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know).
For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one,
the values can be retrieved via the new dir_get_info().
Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 21:29:34 +00:00
Rafaël Carré
1477aca562
typo in r27953 spotted by kugel: s/long/ssize_t/
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27955 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 23:15:00 +00:00
Rafaël Carré
640c4107f3
format: supports %zd (ssize_t) and %zu (ssize_t)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27953 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 23:08:08 +00:00
Thomas Martitz
87409a2619
Move memset6() declaration to string-extra.h, kills a warning compiling for android since it ships a memory.h.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27789 a1c6a512-1295-4272-9138-f99709370657
2010-08-12 13:55:01 +00:00
Bertrik Sikken
82a2cdb2ad
Various minor fixes for Samsung YH* targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27751 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 09:02:41 +00:00
Thomas Martitz
240923a801
Rockbox as an application: Commit current Android port progress.
...
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too).
Problems:
- Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now.
- no cabbiev2 (only some preliminary files for it), no other default theme.
- screen flickers sometimes if the updates are too frequent
- no multi screen apk/package
- strange behavior when a phone call comes in
The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder.
I've put a small README in there for instructions. There are some steps needed after the make part, which are described there,
and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657
2010-08-02 20:34:47 +00:00
Thomas Martitz
5d8ab7b364
Fix reds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27657 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:22:48 +00:00
Thomas Martitz
9c0b2479f7
Rockbox as an application: add get_user_file_path().
...
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.
On the DAPs it's a no-op, returing /.rockbox directly.
Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Bertrik Sikken
028d91aa0c
Let format.c #include its own format.h header file
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27633 a1c6a512-1295-4272-9138-f99709370657
2010-07-31 10:09:55 +00:00
Thomas Martitz
74085d2103
Factor out opening and removing DIRCACHE_FILE into separate functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27575 a1c6a512-1295-4272-9138-f99709370657
2010-07-26 13:41:47 +00:00
Frank Gevaerts
63011c6743
Revert accidental commit of "%z" support in r26071 (the implementation assumed size_t==long, which is not always the case in hosted environments)
...
Remove four remaining uses of %z, three of which were in DEBUGF
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27479 a1c6a512-1295-4272-9138-f99709370657
2010-07-18 12:42:47 +00:00
Thomas Martitz
35e8b1429a
Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
...
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.
Should be no functional change to targets or the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Frank Gevaerts
2b0ef19900
Don't autogenerate version.c. Just version.h is enough
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27003 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 00:18:29 +00:00
Frank Gevaerts
d39ac31877
Make disk_init() non-static again. I forgot to look at the bootloaders
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26629 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:28:13 +00:00
Frank Gevaerts
9c43b2ce17
Remove card_enable_monitoring() and use a mutex instead. The card_enable_monitoring() method actually didn't eliminate the possible race conditions it was meant to fix.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26627 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:20:47 +00:00
Frank Gevaerts
a0557b23f0
remane hotswap.* to sdmmc.*. The contents have nothing at all to do with hotswapping things
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26598 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:12:16 +00:00
Amaury Pouly
b8ad90aba8
dircache:
...
- fix check_event_queue to use queue_peek and not mess message order
- change check_dircache_state to a more modest check to avoid messing up dircache state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26228 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 12:50:50 +00:00
Michael Chicoine
5e98b27178
Fix typos in comment
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26224 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 10:35:35 +00:00
Amaury Pouly
7c205aa686
FS#10913: fix file browser not updated on microsd insertion/removal. This is a synchro bug in dircache: the system send a SYS_FS_CHANGED message which is first handled by the main thread which rescan the directory but as dircache main treats the message after, the file browser get the old version... Workaround is to check message queue before opening a directory.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26222 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 08:31:11 +00:00
Rafaël Carré
24aeac2a75
disk/file: Do not use & on arrays
...
it might be valid C but is confusing, and not consistent with the rest of file.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26191 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 12:59:12 +00:00
Frank Gevaerts
3763ace3ec
Revert r26048. APE tags in mp3 is explicitely on http://www.rockbox.org/wiki/NoDo
...
This sort of change should never go in without prior discussion or consensus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26071 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 21:57:17 +00:00
Thomas Martitz
50a6ca39ad
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
...
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7
Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Thomas Martitz
c61e89c0ed
Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +00:00
Amaury Pouly
57dc493db5
dircache: increase stack size to handle the worse case path during rebuild (dircache->fat->ata-sd-pp+sdhc) and allows directory with depth up to 20 approximately
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25697 a1c6a512-1295-4272-9138-f99709370657
2010-04-22 08:31:10 +00:00
Tomer Shalev
56058c7213
FS#11187 - diacritic.c is in 'drivers' but it does not belong there
...
- Move diacritic.c to firmware/common
- The function is_diacritic returns bool now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25526 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 20:41:18 +00:00
Frank Gevaerts
376d8d577f
Add IO priority handling. Currently all IO has equal priority, except the dircache scanning thread which is lower. This fixes the slow boot problem for me, with the added benefit that actual audio playback also starts faster.
...
Lots of the changes are due to changing storage_(read|write)sectors() from macros to wrapper functions. This means that they have to be called with IF_MD2(drive,) again.
Flyspray: FS#11167
Author: Frank Gevaerts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25459 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 22:02:09 +00:00
Amaury Pouly
42660535be
dir_uncached: fix opendir_uncached to have opened directories keep enough information to update metadata; this is necessary because of the way rmdir_uncached is implemented
...
FS#11107: should be fixed now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25203 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 12:32:04 +00:00
Amaury Pouly
56069476be
Get rid of the parent_dir field in dir_uncached.c by using the same FAT trick as in dircache. This should save ~20KB on 512B/sector targets and ~80KB on 2K/sector ones.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25105 a1c6a512-1295-4272-9138-f99709370657
2010-03-10 08:56:27 +00:00
Andree Buschmann
0b7dcd69c8
Remove tabs in firmware path (taking into account the original spacing).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24864 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 21:24:09 +00:00
Amaury Pouly
4832c3ce42
Fix a dircache NULL-pointer dereference.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24835 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:48:54 +00:00
Amaury Pouly
eb54ede182
Fix error handling in dircache generation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24730 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 19:31:07 +00:00
Amaury Pouly
53b1af7a61
-Cosmetic change in a comparison
...
-Move fat_dir structure out of dircache stack to RAM. Reduce dircache stack size (max level depth should stay be around 20). This should fix nano2g dircache stkov of FS#10679
-Change the structure returned by readdir_cached to match the one returned by readdir_uncached: remove useless fields to save space and avoid any potential incoherence
-Remove one field from the internal structure used by {opend,read,close}dir_cached because it was mostly redundant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24708 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 22:49:11 +00:00
Amaury Pouly
26c0e753d1
Rewrite dircache generation to take advantage for the FAT code. Reduce RAM usage by ~30Kb and binsize by at least several hundreds bytes. Also remove the directory depth limit of dircache.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24657 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 19:09:52 +00:00
Amaury Pouly
cbf136d57a
Remove a file that mcuelenaere forgot to delete (see r23763 and r23767).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24543 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 13:31:52 +00:00
Amaury Pouly
64c0cfb0bd
Optimize (size and speed) strncasecmp (based on a newlib patch).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24542 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 00:37:47 +00:00
Amaury Pouly
1459bbc45f
Various dircache improvements: reduce size of a path buffer to MAX_PATH and rewrote copy_path to improve stack usage. Also simplified get_entry.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24445 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 23:00:35 +00:00
Amaury Pouly
4b930df35e
Fix a dircache bug (opening a directory opens the first file of that directory). Also clarify the behaviour of dircache_get_entry.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24420 a1c6a512-1295-4272-9138-f99709370657
2010-01-31 17:02:56 +00:00
Andree Buschmann
508bf2b45a
Final removal of tabs in firmware path
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24158 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 11:31:14 +00:00
Torne Wuff
6e9af8bd44
Add strlcat to core to match strlcpy (also add to plugin api). Some uses of strcat could probably do with being changed to this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24141 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 13:31:46 +00:00
Amaury Pouly
839007872a
FS#9409: fix rename which didn't close file handles on error and enventually cause cut/paste to fail between volumes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24134 a1c6a512-1295-4272-9138-f99709370657
2010-01-01 20:41:29 +00:00
Frank Gevaerts
5509372f03
Make read() and write() return -1/EISDIR on directories
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24106 a1c6a512-1295-4272-9138-f99709370657
2009-12-23 22:13:37 +00:00
Frank Gevaerts
e0263b166c
only get the file pointer if fd is actually valid.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24105 a1c6a512-1295-4272-9138-f99709370657
2009-12-23 21:51:29 +00:00
Maurus Cuelenaere
d7d3bc248f
Move strip_volume() to filefuncs.c and set properties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23767 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 22:34:08 +00:00
Maurus Cuelenaere
d027ddb75d
Forgot file
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23763 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 17:41:19 +00:00
Maurus Cuelenaere
eab70ca28c
- Split off strip_volume() to a separate file
...
- fix some yellows
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23762 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 17:39:30 +00:00
Maurus Cuelenaere
d052ced874
Merge branch 'hotswap'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23759 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 16:57:30 +00:00
Thomas Martitz
1ddb91ad36
Rename vfnprintf to vuprintf (u stands for user for the user callback and data passed to it) to avoid confusion with file and buffer size related functions from the printf-family, and add a comment to its declaration.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23503 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 21:20:09 +00:00
Nils Wallménius
0b302f0cb9
Little bit of const correctness
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23343 a1c6a512-1295-4272-9138-f99709370657
2009-10-25 10:42:21 +00:00
Bertrik Sikken
d24d885aa4
Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +00:00
Dave Chapman
14eb02d347
Patch #1 from FS#10633 (Nano 2G developments) by Michael Sparmann - Allows targets to set a different sector size than 512 for the storage system. Should not affect any other target.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22874 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 16:41:55 +00:00
Nils Wallménius
c8b87d76eb
FS#10569 RTC driver cleanup
...
Change the RTC drivers so that the rtc_(read|write)_datetime functions now deal directly with the tm struct instead of passing a string of bcd digits to/from (set|get)_time .
This simplifies drivers for rtc's that do not use a bcd representation internally and cleans up some target specific code and #ifdefs in generic code. Implement simple stubs for the sim to avoid #ifdefing for that too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22839 a1c6a512-1295-4272-9138-f99709370657
2009-09-26 14:58:32 +00:00
Maurus Cuelenaere
20b0dd2788
A new implementation of logf, logfdisplay and logfdump.
...
Flyspray: FS#10528
Author: Amaury Pouly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22462 a1c6a512-1295-4272-9138-f99709370657
2009-08-21 22:54:23 +00:00
Alexander Levin
345920fe7e
Remove dead code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22268 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 13:49:29 +00:00
Alexander Levin
d353a7fd4e
Change the function name in strnatsort so that the code doesn't contradict itself
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22267 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 13:44:50 +00:00
Frank Gevaerts
ceccec503e
Move yearday_to_daymonth() to usb_storage.c. It's the only user, this function is pretty specific, and it seems to be the cleanest way to avoid ram usage increases for unrelated targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22259 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 20:03:59 +00:00
Frank Gevaerts
2dc50471ca
Consolidate day of week calculation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22258 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 19:30:19 +00:00
Frank Gevaerts
eadfa483d1
rework new time handling functions a bit to be more memory efficient
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22257 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 18:54:13 +00:00
Frank Gevaerts
ed73a3274c
Add support for setting the clock using a special SCSI command. This is the same method that itunes uses, and there are host-side tools for it (e.g. libgpod)
...
Flyspray: FS#10514
Author: Laurent Papier and myself
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22255 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 17:54:47 +00:00
Thomas Martitz
28fbb49c0b
Fix for:
...
FS#10031 - "improper sorting of names with underscores when Interpret numbers when sorting is used" and
FS#10200 - "Incorrect sorting of roman numerals when whole numbers selected"
a) By using tolower instead of toupper for case-insensitive sorting
b) By not ignoring spaces (which isn't really what we aimed for anyway).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22153 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 13:00:40 +00:00
Frank Gevaerts
c0a5a67387
Commit FS#9545, storage cleanup and multi-driver support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21933 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 22:28:49 +00:00
Nils Wallménius
3d4701a6e4
FS#10080
...
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Alexander Levin
eaa9df37e0
Fix yellow introduced in r21561
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21563 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:58:02 +00:00
Alexander Levin
44bf40988b
Make the get_time on non-RTC sims behave like target, i.e. always return a constant time (FS#10390)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21561 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:31:46 +00:00
Bertrik Sikken
bef264264c
Add missing #includes for the ondas.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20457 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 15:40:40 +00:00
Thomas Martitz
877efe1123
Update the comment about our changes too.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20341 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 19:01:25 +00:00
Thomas Martitz
fa2d011a55
Restore behavior of the original implementation strnatcmp to not ignore leading zeros. Fixes FS#10029 (Files being sorted incorrectly in latest builds), leads to better sorting of decimal numbers. It also doesn't sort 2 before 03 (but still before 10) anymore.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20340 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 18:58:47 +00:00
Frank Gevaerts
babda88228
Make strnatcmp() and strnatcasecmp() call strcmp() or strcasecmp() if strings otherwise sort the same. This is done to make sure that strings always sort the same.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20265 a1c6a512-1295-4272-9138-f99709370657
2009-03-09 22:04:40 +00:00
Alexander Levin
7389928d89
Make sure that sorting works both for signed and unsigned char (it depends on the platform/compiler used)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20183 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 22:02:13 +00:00
Alexander Levin
22b925495a
Make natural sorting work properly with cyrillic chars: they should be placed after the latin ones (FS#9975).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20180 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 21:35:05 +00:00
Thomas Martitz
7125b9ebcb
Actually apply the patch...thanks again to Bryan Vandyke (and Tom Ross for notifying me about my commit-fail).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20167 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 02:30:39 +00:00
Thomas Martitz
4fd02fdd42
FS#9972 - Simplify strnatcmp. As we do ignore leading zeros (as opposed to the original version), we can remove some unused code.
...
Also, change the header to state that we changed it and do not use the original version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20166 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 02:07:13 +00:00
Tom Ross
c645752314
Fix some memset calls that use the wrong order for arguments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20165 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 01:40:41 +00:00
Thomas Martitz
d13f1a485f
Commit FS#8314. This adds strnat[case]cmp written by Martin Pool, which respects numbers within strings, and gives a more intuitive
...
sorting. This also adds a setting, so that the sorting can be used in the file browser. The implementation is very generic, and can possibly
be used in other places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20155 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 17:55:59 +00:00
Maurus Cuelenaere
4532d145f1
Onda VX747:
...
* Add preliminary keymap
* Split up generic MIPS stuff from Ingenic specific
* Make apps/ compilable
* Add SD driver
* Fix RTC driver
* Add debug screen
* Other cleanups/rewrites/fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19993 a1c6a512-1295-4272-9138-f99709370657
2009-02-13 00:45:49 +00:00
Björn Stenberg
ee46a3d88e
Moved database builder into a separate directory, and gave it its' own Makefile. Now it compiles cleanly and builds a database if ran in root of music tree.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19448 a1c6a512-1295-4272-9138-f99709370657
2008-12-15 23:42:19 +00:00
Björn Stenberg
af078b4f86
Cleaned up codepage handling, by Yoshihisa Uchida. (FS#9349)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19339 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 22:00:12 +00:00
Björn Stenberg
ad8d6031c1
Added support for configurable rockbox directory. FS#9567 by Alex Bennee.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19208 a1c6a512-1295-4272-9138-f99709370657
2008-11-24 22:16:07 +00:00
Karl Kurbjun
f6791faedd
Fix a small bug in %x when padding is being added
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19092 a1c6a512-1295-4272-9138-f99709370657
2008-11-12 03:50:11 +00:00
Rafaël Carré
f18591e410
drive might be used uninitialized, prevent that
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19042 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 06:17:07 +00:00
Frank Gevaerts
430343bca7
implement single-driver storage layer with macros instead of inlines
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18975 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 01:14:46 +00:00
Frank Gevaerts
2f8a0081c6
Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
...
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Maurus Cuelenaere
23fc923bde
ZVM:
...
* Optimize MiniFS handling
* Add basic CFS handling (doesn't work yet)
* Remove hacky stuff in disk.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18438 a1c6a512-1295-4272-9138-f99709370657
2008-09-07 17:24:14 +00:00
Jonathan Gordon
c50eef0582
ok, that was bigger than expected... reduce the max to 12 open dirs as a happy compromise.., If you still have errors rethink your directory layout
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18235 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 13:22:31 +00:00
Jonathan Gordon
eb0137fcb5
"waste" a bit more RAM on targets with more than 8MB so more directories can be opened at the same time (most obvious when you have really deep directory trees)
...
closes FS#6410, FS#6512, FS#6514
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18234 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 12:46:15 +00:00
Maurus Cuelenaere
ebb612fbcc
Onda VX747:
...
1) Improve touchscreen handling
2) Add RTC driver
4) Add NAND Flash ID scanning
3) Other minor fixes
Nand_ID:
Add a generic NAND ID database (currently only containg Samsung chips)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18052 a1c6a512-1295-4272-9138-f99709370657
2008-07-15 17:17:01 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Jens Arnold
3cec5e2b6a
Check for a supported partition type before trying to mount a partition. This will reduce the risk of irregular mounts, e.g. due to stray FAT boot sectors when probing the logical sector size on iPod Video.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17530 a1c6a512-1295-4272-9138-f99709370657
2008-05-15 22:23:14 +00:00
Maurus Cuelenaere
e031db4b87
1) Use a separate config-<target>.h for Zen Vision(:M) (60GB)
...
2) Other unrelated cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17503 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 18:55:19 +00:00
Nicolas Pennequin
357ffb3c46
Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Bertrik Sikken
e15f8a21a9
Made source files #include the header file that they implement to make sure they are in sync. Made some local functions static.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17312 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 08:35:14 +00:00
Bertrik Sikken
9c0abbf838
Added #include <string.h> to memmove.c, memcpy.c and strcat.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17285 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 20:39:44 +00:00
Bertrik Sikken
bff3ddd537
Forgot to #include stdlib.h for atoi implementation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17283 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 18:40:17 +00:00
Bertrik Sikken
2843469876
Moved atoi declaration to stdlib.h. Deleted atoi.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17280 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 16:18:04 +00:00
Maurus Cuelenaere
95167e0177
Commit whole Creative Zen Vision:M target tree + all related firmware/
...
changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Bertrik Sikken
db2d61f4ea
Killed unnecessary global variables by making them static.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17184 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 10:24:15 +00:00
Bertrik Sikken
7697609455
Fixed FS#7849
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17123 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 18:34:20 +00:00
Michael Sevakis
27cf677339
Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +00:00
Michael Sevakis
e37044ff1d
Hotswap code shuffling: Fix yellow. Simplify some target function access. Keep fat lock access from compiling for Ondios - think of a nicer way later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16637 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 11:08:41 +00:00
Michael Sevakis
06a5299aff
Do some crackdown on kernel object reinitialization after they could be in use and use before initialization. For c200/e200: Be sure fat cache and ata locks are acquired in the proper order during hot swapping. Delay hotswap monitoring until after initial file mounting (address 2nd kobj concern + possible call of fat driver before init).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16636 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 10:03:52 +00:00
Miika Pekkarinen
d80246fac0
Committed the missing file to r16632.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16634 a1c6a512-1295-4272-9138-f99709370657
2008-03-11 19:52:07 +00:00
Miika Pekkarinen
52d827a26d
FS#7598 - Dircache support for multivolume targets (by Phil Light).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16632 a1c6a512-1295-4272-9138-f99709370657
2008-03-11 19:39:26 +00:00
Robert Kukla
e96f19c690
enable partition probing for superfloppy targets; hanging was caused by out-of-bounds sector access
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16583 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 01:56:38 +00:00
Björn Stenberg
2f7cffa204
Major USB fixes by Frank Gevaerts. Still disabled in builds, #define USE_ROCKBOX_USB to test.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16279 a1c6a512-1295-4272-9138-f99709370657
2008-02-11 14:26:25 +00:00
Peter D'Hoye
c04f497670
Let the FAT namecheck also look for trailing spaces, fixes FS #8560 .
...
Only call the dircache rename function if the actual rename was ok.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16241 a1c6a512-1295-4272-9138-f99709370657
2008-02-07 22:15:13 +00:00
Miika Pekkarinen
7aedb02fcc
Dircache state should be checked too to make appflags work in every situation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16082 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 19:20:04 +00:00
Miika Pekkarinen
39c597b5e1
Always check for deleted files, no matter how slow it might be when DB autoupdate is enabled. Also simplified code a bit. Fixed a crash when search is performaed and dircache has been vanished and DB is still exists ram.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16081 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 19:13:37 +00:00
Mark Arigo
e66ddd754f
Initial commit for the Olympus m:robe 100 port (PP5020). The LCD driver works. The ADC driver was copied from the H10 port (they can probably be combined later), but the battery readings aren't right and it shuts down. The touch pad buttons do not work. Install the bootloader and rockbox the H10 way. Still lots of work to do.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16030 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 07:24:43 +00:00
Peter D'Hoye
eb947cdde1
Another fix for file system issues when encountering disk full (like when recording)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15920 a1c6a512-1295-4272-9138-f99709370657
2007-12-13 23:36:22 +00:00
Nicolas Pennequin
d5430994ad
Oops. Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15837 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 15:55:06 +00:00
Nicolas Pennequin
c2ca8c710c
* Make the Gigabeat S bootloader a bit more interesting: it looks for the first firmware file it finds on the second partition and attempts to load it. Loading fails to get past the splash screen though.
...
* Make the main binary compile.
To send a firmware file, use mtp-sendfile. To update you'll need to delete the previous firmware file, as files are named sequentially and the first one is loaded.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15836 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 15:40:29 +00:00
Michael Sevakis
99617d71ba
Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +00:00
Peter D'Hoye
bae8f4c316
More code police...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15353 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 00:04:35 +00:00
Michael Sevakis
84f5c5c3e3
Take out some NOCACHEBSS_ATTR's that were accidentally left. Put some threading code in IRAM that should be there on PP502x.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15155 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 22:00:51 +00:00
Michael Sevakis
a9b2fb5ee3
Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Peter D'Hoye
85058f5d9c
Fix FS #5852 by trying to properly close and update the recorded file, and give the FAT the correct file info. Add filehandle checks to some file functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15072 a1c6a512-1295-4272-9138-f99709370657
2007-10-10 23:26:17 +00:00
Nicolas Pennequin
fa1e73172e
Correct a dodgy logf call.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14955 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 15:35:12 +00:00
Jens Arnold
227181deb0
Make codepage Win-1250 actually work on charcell.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14946 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 07:25:24 +00:00
Marcoen Hirschberg
ded94e69c4
FS#7712 by Przemysław Hołubowski: New codepage (CP1250 - WIN1250) added
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14942 a1c6a512-1295-4272-9138-f99709370657
2007-10-01 17:16:31 +00:00
Daniel Stenberg
a20f32d2a5
import and use the Linux one instead, bound to be faster
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14741 a1c6a512-1295-4272-9138-f99709370657
2007-09-18 07:04:05 +00:00
Christian Gmeiner
2077cebca0
* implement strstr
...
* clean up usb_arcotg_dcd_enable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14740 a1c6a512-1295-4272-9138-f99709370657
2007-09-17 23:06:23 +00:00
Magnus Holmgren
8620e3e864
Remove redundant remove call, which caused problems in the simulator.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14728 a1c6a512-1295-4272-9138-f99709370657
2007-09-16 11:39:49 +00:00
Jonathan Gordon
e73f287b5a
Fix FS#7679 - modifying files with dircahce enabled doesnt change the access time/date in dircache
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14580 a1c6a512-1295-4272-9138-f99709370657
2007-09-02 13:24:51 +00:00
Kevin Ferrare
011a325e32
Makes apps and plugins interract with directories using a posix-like api instead of calling dircache / simulator functions (no additionnal layer added, only a cosmetic change)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13943 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 17:06:55 +00:00
Robert Keevil
ef65d91492
FS#7353 - mktime() is only used by targets that have an RTC
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13883 a1c6a512-1295-4272-9138-f99709370657
2007-07-14 12:34:52 +00:00
Michael Sevakis
1167e3c72f
Accept FS#7134 - Sansa: external sd card support by Antonius Hellmann with some tweaks. All testers have given the green light. (Now for the RED ?? ;).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13741 a1c6a512-1295-4272-9138-f99709370657
2007-06-30 02:08:27 +00:00
Barry Wardell
54c73a24b6
Bring back rolo for mi4-based targets (H10 and Sansa).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13550 a1c6a512-1295-4272-9138-f99709370657
2007-06-04 13:48:21 +00:00
Karl Kurbjun
aec5814d43
Some fixes to doom dehacked loading - make embedded dehacked files actually load, fix end of file detection in the string loader, fix ammo changes, fix bex code pointers. Also added the * flag to sscanf - still only tested against rockdoom sscanf calls.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13547 a1c6a512-1295-4272-9138-f99709370657
2007-06-03 22:03:36 +00:00
Steve Bavin
9e107b4835
Tiny fix for an unlikely error path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13533 a1c6a512-1295-4272-9138-f99709370657
2007-06-01 10:46:52 +00:00
Jens Arnold
c5d71aab16
ATA driver: * Support for drives with large physical sectors and no support for partial access in the firmware (i.e. Toshiba MK8010GAH - iPod G5.5/80GB). Sequential writes with a single 512-byte buffer to that disk are really slow, so this is an intermediate solution that allows to adjust the FAT driver and the file system gradually. * Assume multisectors = 16 if the value reported by the drive is invalid (also MK8010GAH).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13480 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 17:51:18 +00:00
Daniel Stenberg
5079812031
avoid declaring shadow 'rc' variables (-Wshadow!)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13270 a1c6a512-1295-4272-9138-f99709370657
2007-04-26 10:29:41 +00:00
Miika Pekkarinen
7b1e827f0c
Dircache fixes: Stop scanning properly if shutdown is initiated. Require user to re-enable dircache if initialization fails. Don't create statefile unless eeprom settings have been initialized.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13060 a1c6a512-1295-4272-9138-f99709370657
2007-04-07 17:48:51 +00:00
Jens Arnold
c67c892cd3
Ooops. Bring back the full set of codepages for bitmap targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12991 a1c6a512-1295-4272-9138-f99709370657
2007-04-01 13:31:09 +00:00
Jens Arnold
738c37cdcf
Player: Reduced the selectable codepages to those which can actually work, and made them work.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12990 a1c6a512-1295-4272-9138-f99709370657
2007-04-01 13:09:22 +00:00
Michael Sevakis
e693bc0f5d
Oops. Should've used the unsigned local variables.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12857 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 13:45:38 +00:00
Michael Sevakis
658561d135
Add %u and %lu formats to format(). Coming up: logf fixes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12856 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 13:36:03 +00:00
Barry Wardell
739ff041ac
Do the sprintf .precision format in a safer way.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12846 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 09:52:50 +00:00
Michael Sevakis
e1dd10ddfb
SWCODEC: Get rid of extra swap buffer and get back 512K of RAM or 100K if the players RAM is <= 1MB. Make any needed changes to things to stabilize and facilitate this including removing flattening out initialization. Comment some things heavily. Fix a few logfs I didn't want to see the compiler complaining about.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12843 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 22:04:17 +00:00
Barry Wardell
58038d86f1
Add support for the .precision format in the sprintf()-like functions to allow limiting the maximum length of a string.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12838 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 10:57:23 +00:00
Magnus Holmgren
01a010fd19
Fix several printf-style warnings in logf builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12830 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 09:50:53 +00:00
Jens Arnold
2c7b127dd7
Set CONFIG_RTC to 0 for non-RTC targets, and check with #if to profit from -Wundef. No code change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12811 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 23:47:03 +00:00
Daniel Ankers
82f9056988
Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Robert Kukla
ae08eeb4ff
remove runtime detection of h1x0 series RTC MOD, but leave driver code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12554 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 00:11:20 +00:00
Robert Kukla
50b5ee4781
FS#6419 - driver for H1x0 series RTC Mod with runtime detection
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12520 a1c6a512-1295-4272-9138-f99709370657
2007-02-28 13:20:36 +00:00
Miika Pekkarinen
7a395a23bf
Start using the new endian conversion system outside tagcache also to simplify code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12309 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 19:20:13 +00:00
Jens Arnold
19417db99a
Use the correct swap functions for live conversion, and fix 64 bit sims.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12302 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 07:46:11 +00:00
Miika Pekkarinen
9b9539c8d3
Make database endianess independent.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12297 a1c6a512-1295-4272-9138-f99709370657
2007-02-13 21:51:18 +00:00
Jens Arnold
6b0fdae0f6
Removed unused 'mode' parameter from mkdir() for consistency with creat().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12183 a1c6a512-1295-4272-9138-f99709370657
2007-02-03 10:28:55 +00:00
Jens Arnold
67eb154146
Removed 'mode' parameter from creat(). It wasn't pure posix anyway, it was ignored on target and mixed into 'oflags' in the simulator. * Simplified io.c a bit by defining a dummy O_BINARY for OSes which don't have that.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12179 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 23:08:15 +00:00
Steve Bavin
74db69e240
Fix dircache on simulators
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12175 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 17:15:50 +00:00
Nils Wallménius
faba818e1d
Comment out an unused function and make another one static to save a few bytes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12073 a1c6a512-1295-4272-9138-f99709370657
2007-01-19 15:55:11 +00:00
Jonathan Gordon
b0d1bb891e
increase the dircache thread size to hopefully stop it StkOv'ing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12040 a1c6a512-1295-4272-9138-f99709370657
2007-01-17 10:25:11 +00:00
Steve Bavin
12ef310466
Fix lockup of simulator at startup if dircache enabled
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11990 a1c6a512-1295-4272-9138-f99709370657
2007-01-12 11:10:04 +00:00
Linus Nielsen Feltzing
e2022a26d0
Removed executable flag
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11967 a1c6a512-1295-4272-9138-f99709370657
2007-01-09 23:29:07 +00:00