summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Fix puzzles... againFranklin Wei2017-04-30
| | | | Change-Id: I34dd8673ebcbc7fcd55681175d0e18c8bbc5fe6c
* Revert "Bump version to 3.14"Franklin Wei2017-04-30
| | | | This reverts commit 42115ffab8c36ee9f1dead8f20a6da93bb7298db.
* Bump version to 3.14Franklin Wei2017-04-30
| | | | Change-Id: I839e90638d55782d0ce330808051842de581a0bd
* puzzles: refactor and resync with upstreamFranklin Wei2017-04-29
| | | | | | | | | | This brings puzzles up-to-date with upstream revision 2d333750272c3967cfd5cd3677572cddeaad5932, though certain changes made by me, including cursor-only Untangle and some compilation fixes remain. Upstream code has been moved to its separate subdirectory and future syncs can be done by simply copying over the new sources. Change-Id: Ia6506ca5f78c3627165ea6791d38db414ace0804
* nwztools/database: misc improvementsIgor Skochinsky2017-04-25
| | | | | | | | | | | | | | | | | | | | | | | | * make gen_db.py work on Windows/Python 2 - use hashlib module instead of md5sum, also don't rely on / for file path matching - don't use 'file' for a variable name * fix parse_nvp_header.sh for older kernels pre-emmc kernel sources use a slightly different #define format; adjust regexp to catch it. * add nwz-x1000 series NVP layout (from icx1087_nvp.h) some new tags have no description, alas the driver doesn't have them :/ * minor fixes to nvp/README fixed typos/wording Change-Id: I77d8c2704be2f2316e32aadcfd362df7102360d4
* nwztools/upgtools: misc fixesIgor Skochinsky2017-04-25
| | | | | | | | * added KAS for nwz-x1000 (extracted from an NWZ-X1060 via "get_dnk_nvp kas") * hint that -o is needed when extracting Change-Id: Ic91c448aa058a22c8ddcae54726f628f7cf60f6b
* nwztools/upgtools: add key for NWZ-A840Amaury Pouly2017-04-25
| | | | Change-Id: I0a191db1970e64b5ced518c68861392ba342404f
* nwztools: small cleanupsAmaury Pouly2017-04-25
| | | | Change-Id: I4fde020ca0556a84d051f9b5e46f49ee1241266e
* RDS: Fix a few goofs in the unicode tableMichael Sevakis2017-04-21
| | | | Change-Id: I54c681a9eb3d5e90ee4aeedc3ec5dbd6243cb208
* RDS on Samsung YPR0: Make compatible with RDS changesMichael Sevakis2017-04-19
| | | | | | | | | | | | | | si4700_rds_process() should only be called on the rising edge of RDSR since it now rejects segments out of sequence. Receiving the same segment multiple times due to rapid polling is of course out of sequence so do no more processing until RDSR bit cycles to avoid repeatedly sending the same data instance. I don't have the tools installed to test compile so there could be typos. However, I tested on gigabeat-s with YPR0 setup copied over and it fixed the issue with PS and RT. Change-Id: Iab511bef64030de8c07d4d22dcf338c8720e2ae2
* manual: typo fixesFranklin Wei2017-04-17
| | | | Change-Id: I4a86e031c2dccd2a60b6d0d3fd7cca5df1d88774
* ipod6g: some fixes for recordingCástor Muñoz2017-04-16
| | | | | | | | | - Fix broken recording from jack microphone. - Fix recording hardware detection on models that do not support the jack microphone. - Enable monitor mode when recording. Change-Id: Ib79a2746f2d75f74cf6667d33bc9ed6512bbc8a9
* Fix inconsistent caps in CREDITSFranklin Wei2017-04-14
| | | | Change-Id: If2a343e24e624d17f12c73b47f60fcb0dc5897ac
* Optimize lld_remove() a bitMichael Sevakis2017-04-13
| | | | | | | Just need to check prev and next for NULL to know whether to mess with the head and/or tail pointers. Change-Id: I0aee057111e11735b7806e7214af0a6038f0ab53
* mks5lboot v1.0 - dualboot installer for s5l8702 targetsCástor Muñoz2017-04-14
| | | | | | | | | | | A tool to install/uninstall a bootloader into a s5l8702 based device: - iPod Classic 6G - iPod Nano 3G (TODO) See mks5lboot/README for detailed info. Change-Id: I451d2aaff34509ebd356e4660647e5222c5d3409
* Fix some problems with playback crashingMichael Sevakis2017-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not sure all the situations it affects, to be honest. The fix aimed to address the strange symptom here: http://forums.rockbox.org/index.php/topic,50793.0.html It turns out that ringbuf_add_cross was used when handles were butted up against one another with the first parameter equal to the last, which it interprets as being an empty case when it should be interpreted as full in the context it was used. To fix this, introduce full/empty variants of ringbuf_add_cross and ringbuf_sub and use them at the appropriate time. The other way to address the problem is ensure there's always at least a space byte between the end of one handle and the start of another but this make the code a bit trickier to reason about than using additional function variants. bufopen() may yield after creating a handle and so do some more locking so that the buffering thread doesn't mess things up by moving anything or not seeing the yet-to-be linked-in allocation. Add alignof() macro to use proper method to get alignment of struct memory_handle. That should be useful in general anyway. It's merely defined as __alignof__ but looks nicer. Change-Id: If21739eaa33a4f6c084a28ee5b3c8fceecfd87ce
* Fix a problem with audio not starting on a list of short filesMichael Sevakis2017-04-06
| | | | | | | | | | | | Forced audio start was left out when a third codec attempts to start a second track transition. Only one pending transition is allowed at a time. There wouldn't be enough PCM in the buffer to trigger audio playback and audio would just return without giving the pcm buffer a kick. Fixes FS#13100 - Player failed on short tracks Change-Id: I338b0b12022c591930451fd5ed26a2a73008835f
* scsi: don't make the linux lib depend on a library header fileAmaury Pouly2017-04-03
| | | | | | | The code dependend on the sg_lib header being present, remove this dependency so that we only need public headers. Change-Id: I69398453635135deb33e2adf67f15ddb80e4ba16
* Database: Fix destabilization if ramcache fails to load + misc.Michael Sevakis2017-04-01
| | | | | | | | | | | | | | | | | | | It seems to like not having any idea any attempt was made to load it so just try to put it back like the option was never on. Integrity check other tags besides the filename. Fix a few logfs that spat out warnings and add a bit more detail to a couple. Move a buffer lock to the right spot. Better aligning macro. Add a "continue" that should have been there when filename is seeked over during load. Change-Id: Ib0c517a7b77d3ba0dd6530ddef19bed62116e4a8
* Fix self-contradictory code indentation and formatting in CONTRIBUTINGFranklin Wei2017-03-22
| | | | Change-Id: I6b8a47f557c681d26e12781c733bca8f7433959e
* Dircache: Improve freed name memory recallocationMichael Sevakis2017-03-21
| | | | | | | | | There's only a need to check every MAX_TINYNAME+1 bytes and that the last character of the needed size 0xff in order to verify the size of the block since the minimum indirectly-stored string is MAX_TINYNAME+1. Change-Id: Ic789376b8575bab9266fcd54c610db0961de5d7f
* Avoid having to wait for dircache builds if shut down too soonBoris Gjenero2017-03-21
| | | | | | | | | | | | When dircache scanning is happening in the background, the user can shut down the device before it is complete. Then, reset_cache() sets size to 0 before it is copied to last_size at the end of build_volumes(). When saved last_size is zero, scanning happens in the foreground during next startup. Avoid shrinking the size if the build is suspended. Change-Id: Ife133e0be0dc0dfd53a4de119f70dba014c7ee68
* Rewrite void* arithmeticFranklin Wei2017-03-15
| | | | | | | cppcheck reported: [chessbox/chessbox_pgn.c:51]: (portability) 'bufptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. Change-Id: Ib2139489fa316fb61b4bcdc08f17b97eb6ad0be7
* Remove redundant codeFranklin Wei2017-03-15
| | | | | | cppcheck reported: [speedread.c:151]: (style) Condition 'h<0' is always true Change-Id: I78fe0bbd205b0ca5b03a71ace81ef4f9b616e268
* fix build for mono targetsFranklin Wei2017-03-15
| | | | Change-Id: I704231b10987ae2adddedebb975538f222843bce
* fix nameFranklin Wei2017-03-15
| | | | Change-Id: I6113d48f763195cdea36b8a9efd9e5dd18098c99
* Speed-reading pluginFranklin Wei2017-03-15
| | | | | | | | Partially based on `spread0r', an open-source ebook reader: https://github.com/xypiie/spread0r Similar to Spritz(TM): http://spritzinc.com Change-Id: I6aa54addd1910a83a266aea561406b6268449b67
* Add Benjie T6/AGPTek Rocker bitmap for simulator.Szymon Dziok2017-03-15
| | | | Change-Id: Id19662b9fd4bb8338a1f839e6ed1a9492aea188c
* SVG image of the Benjie T6/AGPTek Rocker and other formats for the manual.Szymon Dziok2017-03-15
| | | | Change-Id: I31f24d3880bad63f5b7b1fe492011b1454e0a096
* Better graphic for the Creative Zen Xfi Style.Szymon Dziok2017-03-15
| | | | | | | More realistic pattern on the body, the old version is underneath, on the "Old" layer. Change-Id: Ie732bde672deaabfa2aef31f72be92ddb37ffb15
* Do some housekeeping with fat.h and SECTOR_SIZEMichael Sevakis2017-03-12
| | | | | | | | | | | | | | Many includes of fat.h are pointless. Some includes are just for SECTOR_SIZE. Add a file 'firmware/include/fs_defines.h' for that and to define tuneable values that were scattered amongst various headers. Remove some local definitions of SECTOR_SIZE since they have to be in agreement with the rest of the fs code anyway. (We'll see what's in fact pointless in a moment ;) Change-Id: I9ba183bf58bd87f5c45eba7bd675c7e2c1c18ed5
* Dircache: Refine name allocation and error handling.Michael Sevakis2017-03-12
| | | | | | | | | | | | | | | | | * 8 bits is enough to allow 260 character base names when five bytes is the minimum indirect storage size (0..255->5..260). * Don't truncate anything that's too long as that can lead to bad behavior, simply don't include the offending entry in the parent. * Set the .tinyname flag to 1 by default to indicate that the entry's name doesn't need freeing. Clear it only when allocating indirect storage. * Rename some things to help catch all instances Change-Id: Iff747b624acbb8e03ed26c24afdf0fc715fd9d99
* Fix a couple dircache oopsies.Michael Sevakis2017-03-08
| | | | | | | | | | | | Moving binding from queued to resolved was messed up if it was the first queued one and there were other resolved files open at the time of resolving it. Dircache info for a directory about to be recursively scanned should be filled before opening it. Would only affect a directory if it happened to be opening while it was being initialized. Change-Id: I26ccf219c382d7caf1424b5ddddc4793e74cb390
* ipod6g: rename some target filesCástor Muñoz2017-03-03
| | | | | | | | | As preparation to add new targets to the s5l8702 directory, rename files as: s5l8702/ipod6g/*-ipod6g.c -> s5l8702/ipod6g/*-6g.c Change-Id: I0cd03d6bcf39b2aa198235f9014cb6948bbafcd5
* Remove FF_CREAT and FF_EXCL flags in from file code.Michael Sevakis2017-02-14
| | | | | | | | | These flags aren't stored for an open file because they're simply actions for open() to take, corresponding to O_CREAT and O_EXCL. Just pass the oflag argument along to the deeper call, with some minor filtering. Change-Id: Ic8bcfba718ebf4228bdc45de3088af1974820557
* Tweak a few tagcache things.Michael Sevakis2017-02-13
| | | | | | | | | | | | | | * Take out pointless dircache_search; nothing can be reconstructed with the given info in find_entry_ram(); don't even try there. Path AND index id must be known. Work it out later. * Timed yield must be far more often than once every 1/4 second (?!) * Do better the memory-remaining checks for ramcache load. * Root separator mustn't be doubled up when searching files. Change-Id: I091813f4495f3bd0d0c4672bc674df52343b3e48
* xworld: fix several horrendous bugsFranklin Wei2017-02-12
| | | | | | | | - unregisters timer on exit, preventing possible crash - disables synchronization mechanisms when used from an IRQ - prevents memory allocations from overflowing the audio buffer (unlikely) Change-Id: I3c2c4ebe93c10ca9176ed0455e7aacc2d10c059e
* xworld: get rid of annoying warningFranklin Wei2017-02-12
| | | | Change-Id: I9faf00a97d0718efb0e4667018e9ff81ba80ee83
* Forgot to remove unused RDS buffers from the ipod remote tuner.Michael Sevakis2017-02-12
| | | | | | | Also, use rds_reset() now to clear data on station change since the rds driver internal buffers are used. Change-Id: I043b09d661eeec21617381015347f0bcead4f7d4
* Fix warnings and errors from fc9695eMichael Sevakis2017-02-11
| | | | | | | | | | * fmradio.c needs an implementation of tuner_get_rds_info() for the sim (kill all the sims). * Some macro bitflags shouldn't be seen unless HAVE_RDS_CAP is defined. Change-Id: Idd00c94ca2fc43cf32f9223aa4530d5a02fb3454
* Improve radio RDS driver and frameworkMichael Sevakis2017-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused bits like the radio event and simplify basic radio interface. It can be more self-contained with rds.h only required by radio and tuner code. * Add post-processing to text a-la Silicon Labs AN243. The chip's error correction can only do so much; additional checks are highly recommended. Simply testing for two identical messages in a row is extremely effective and I've never seen corrupted text since doing that, even with mediocre reception. Groups segments must arrive in order, not randomly; logic change only accepts them in order, starting at 0. Time readout was made a bit better but really we'd need to use verbose mode and ensure that no errors were seen during receiving of time and more checks would be need to have a stable PI. The text is the important bit anyway. * Time out of stale text. * Text is no longer updated until a complete group has been received, as is specified in the standard. Perhaps go back to scrolling text lines in the radio screen? * Add proper character conversion to UTF-8. Only the default G0 table for the moment. The other two could be added in. * Add variants "RDS_CFG_PROCESS" and "RDS_CFG_PUSH" to allow the option for processed RDS data to be pushed to the driver and still do proper post-processing (only text conversion for now for the latter). Change-Id: I4d83f8b2e89a209a5096d15ec266477318c66925
* Fix tagtree from blowing up when its buffer movesMichael Sevakis2017-02-10
| | | | | | | | | | | | | | | I noticed that after booting with the external storage removed, playing from tagtree, inserting the card, forcing dircache to reallocate from the debug screen, and trying to reenter tagtree, it would data abort because the dircache reallaction to a larger size caused the tagtree buffer to move. Adjustment to at least one pointer (csi) was missed. Since it's non-trivial there to determine when things should be NULL and when they shouldn't, add check for menu too before moving it. As for the rest, who knows. Change-Id: Iea6538a2091b4b47083f39296555efc47edf8ba8
* puzzles: fix makefile producing temporary files in the build directory (sorry!)Franklin Wei2017-02-10
| | | | | | - thanks to Michael Sevakis for catching this Change-Id: Ia02ba7a06a55bc0741df9ce2c21f868d7e0abdd4
* Fix warnings and errors from 7373cf5Michael Sevakis2017-02-10
| | | | | | dircache.h has to be included no matter what. Change-Id: Ib9ae4277615e8573b931d42fc6f1b3681d898bca
* Restore dircache hookup in the database ramcache.Michael Sevakis2017-02-10
| | | | | | | Do a few other changes to dircache and file code flags to accomodate its demands. Change-Id: I4742a54e8cfbe4d8b9cffb75faaf920dd907cf8a
* puzzles: fix up makefileFranklin Wei2017-02-09
| | | | | | - rewrote a bunch of repetitive rules with a pattern rule Change-Id: I86a61a7ed8398f18789e5efaf4996d9eafd50651
* ipod6g: bootloader v1Cástor Muñoz2017-02-09
| | | | | | | | - dual boot - USB mode - battery trap Change-Id: I8586cfeb21ee63f45ab965430725225fdfc4212d
* Slightly increase CVDD1 for Clip ZipMihail Zenkov2017-02-07
| | | | Change-Id: Ic784c72a643546c8e31affa820f701eb7982b7c7
* Add some comments about the behavior of a couple path functions.Michael Sevakis2017-02-07
| | | | | | | | Critical reminders about the reasons path_dirname() and path_basename() do certain things with a given kind of input and how to interpret them. Change-Id: I4e6ad29476bdd30abfb644f9360cc7dfd86298df
* Make sure dircache resolves outstanding references on volume root.Michael Sevakis2017-02-06
| | | | | | | | | | If a volume root was open at the beginning of a build, its dircache reference wouldn't be resolved on an already open volume root directory because the call to do it was simply omitted. Nothing horribly bad unless a root were opened at mount time and kept open long term. Change-Id: I09de30ff8174ad1d14eeeb9539bd23fb51b9e31a