summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-07puzzles: add cursor interface to untangleFranklin Wei
- makes it playable - submitted to upstream Change-Id: Ib672ee374d500a994bc8e78eb01fea529ec5132f
2017-01-07nwztools: add NW-WM1A/Z model IDsAmaury Pouly
Also fix code that was supposed to sort things deterministically and was a massive failure. Change-Id: Iedf25f05a94ef51421710a283eb60f33ee977de1
2017-01-07nwztools/scsitools: use new SCSI libraryAmaury Pouly
Change-Id: I1b5688ba7ad99c7a22ba4532c8237b4563e4a9e4
2017-01-07nwztools/scsitool: add relaxed mode for nvpAmaury Pouly
Change-Id: I0a139eb236f825368ae627fdbb2f75286f747f10
2017-01-07imxtools: various fixes for WindowsAmaury Pouly
Don't use colors since the terminal doesn't support it. Also packing is broken on MinGW so use #pragma pack when compiling for windows, this is also supported by MSCV. Change-Id: I635649d52ed5f2e0af46cb9ca2ec325955b2ddb2
2017-01-07imxtools: move firmware read/write to libraryAmaury Pouly
Split the ugly firmware read/write into a API function and a much simplified code. Also the code can now report progress. Change-Id: I3f998eaf0c067c6da42b1d2dd9c5a5bf43c6915d
2017-01-07imxtools/scsitools: move stmp scsi api to its own fileAmaury Pouly
No code modification code, just moving code around. Change-Id: I30744d3994aa7540f4b5b158f31b51959d5d8586
2017-01-07imxtools/scsitools: rework stmp scsi APIAmaury Pouly
Sanitize the whole library by hiding most of the horrible details of the implementation. This means that all logical/drive/table attributes are exported in structures that are internally filled by higher-level API functions. This makes the code much more readable and prepares for a split between scsitool and the stmp scsi library. Change-Id: Id85d450b25cf99cd7c0896c6fc35bcd00babe9e1
2017-01-07imxtools/scsitools: use new SCSI libraryAmaury Pouly
The function names and prototypes are also normalized so make subsequent reworks easier. Change-Id: Ifa5d64aa144b11f8c087517ddc904744e3037361
2017-01-07Add multiplatform library for raw SCSI commandsAmaury Pouly
Several tools need to perform raw SCSI commands, and we need to support Linux, Windows and Mac OS, without pulling tons of dependencies to build it easily. This very simple library has no dependency and supports Linux. TODO: - windows - mac os Change-Id: I496f5ad2490bd3e96ad962d31cce4e511a523c3a
2017-01-06Midiplay: only boost cpu in sensible code partsSebastian Leonhardt
Change-Id: I9aaf7f2844e9f90030dbf0a63ebec80db4851e18
2017-01-06Midi Player: fix premature stopping of audio buffer playbackSebastian Leonhardt
Change-Id: I3794e8d8837722442b25e2b48db1b5b3c3c2dc51
2017-01-06Midi Player: fix playback of buffer remains when seekingSebastian Leonhardt
Change-Id: Iccf4444b9c8ae421b9e44332791a789a767ae411
2017-01-06Fix red (midi plugin: action rename)Sebastian Leonhardt
Change-Id: Ie21711cbf98aad1fbfc24924c9281caf39f22af5
2017-01-06Midi Player: give button actions meaningful namesSebastian Leonhardt
Change-Id: I53183e024c202f6c35903fc9a74db7e49d4bdc20
2017-01-06midi: Recalculate (and rename) the note frequency table.Frank Gevaerts
gustable[] contained plain note frequencies in milliHertz, but was named and documented to appear like a table of magic numbers. The values also seemed to be slightly inaccurate (up to about 0.01Hz, so probably irrelevant). This changes the name to freqtable to make the purpose clearer, and uses slightly better values. Change-Id: I6b568d834c8c2c92161bed5290572a29733e28dc
2017-01-05Fix previous errors for targets with no crossfade.Michael Sevakis
Change-Id: I1c10f5588f3fe06c7071f3f07b68e3d552c44f05
2017-01-05Playback: Fix problems with crossfade on short tracks.Michael Sevakis
Addresses issues brought up in this thread: http://forums.rockbox.org/index.php/topic,51605.0.html While we're at it, improve the quality with a sample-level fader. Change-Id: I73dde60d6858a1c9042812e26d490739e3906a1e
2017-01-04puzzles: fix a minor bug in the configuration screenFranklin Wei
- when an invalid string setting was entered, the string value would continue to be used after being freed Change-Id: I3a9da016f6f32eac8636b9f55e4e09006bc6059e
2017-01-04puzzles: minor polishing touches on the user interfaceFranklin Wei
- the debug menu has been neatly hidden away in the classic Android style ;) - playback control option added to the pause menu when possible - also fixes a minor redraw issue Change-Id: I00d0186986a8e659991948336b26b4f2e2a0ce66
2017-01-04puzzles: fix a few thingsFranklin Wei
- old acos() function was broken, replaced with a call to atan2(); this fixes "Cube!" - Makefile extended to support building "unfinished games", but not enabled - a backdrop issue fixed in rockbox.c Change-Id: I9393e958d43de32f4ccf18e1cb409f75c2e1ed3c
2017-01-04nwztools/scsitool: add option to force/specify seriesAmaury Pouly
We cannot auto-detect a device if we don't know its model ID, but we can't know the model ID if we haven't decrypted the upgrade which requires the key. The only way to solve this chicken-and-egg problem is to get the NVP table from kernel, create an empty series in the database (no model ID), then get the key using scsitool and forcing the model (using this commit), then decrypt the upgrade and get the model ID list. Change-Id: I8eced486a5f6a1a99028b25fdc4f87a3b11e31a8
2017-01-04nwztools: cleanup crypto, switch MD5 to Crypto++Amaury Pouly
We already use Crypto++ for DES anyway, and using OpenSSL is not great because of its incompatible licence. Change-Id: I78771b84c1708795a0c0c30afa5bdfe4885dea4e
2017-01-04nwztools/upg: move upg handling to its own file, completely rework kas handlingAmaury Pouly
This was a huge mess, the new is much cleaner hopefully. Change-Id: I43663d021dc8bc31662d3923e1c3da22d987ebf9
2017-01-04nwztools/upgtools: add more brute force algorithmsAmaury Pouly
Allow to search for hex with upper case and alphanumeric. This is *much* slower of course. Change-Id: I41a2fc63c4b2220c21147b711098ebc37ddb3527
2017-01-04nwztools: add NW-WM1 nvp table, regenerate databaseAmaury Pouly
Change-Id: If5781f0a98b3f2fee08a2daed383064cc59f1680
2017-01-04nwztools: small fixesAmaury Pouly
Make sure scripts use bash, make nwz database generator more deterministic Change-Id: I26812b697abe0406fb3c60d6eb231cb27edc81d5
2017-01-03puzzles: rename bcopy() to bcopy_wrapper() and make staticFranklin Wei
- fixes a name collision on linux Change-Id: I9f162b5c8a1f319fa6495ff9343fb6007cc20edf
2017-01-02mkimxboot: add NWZ-E380 firmware 1.00.200Amaury Pouly
Change-Id: I0c949a464a0e5880d1215db571aac402ca81eae9
2017-01-02mkimxboot: implement firmware unpatchingAmaury Pouly
Change-Id: Idfd68c06f89cdef8e95865e3ff177a6daa072c1a
2017-01-02imxtools: completely rework patching logic to prepare unpatchingAmaury Pouly
The old code was working but a mess to maintain. The new code is cleaner and always simpler handling of all the different options. Extraction of the OF is no longer a standalone function but just one particular output type. This commit prepares the ground for firmware "unpatching" (aka OF extraction from patched OF). The patching code itself did not change so this commit should still produce the exact same images as before. Change-Id: I3840793d4b78b8435e38c08f558840925085ead1
2017-01-02mkimxboot: add the concept of soft MD5 sumAmaury Pouly
Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
2017-01-01Fixes and re-sync for puzzlesFranklin Wei
- Updates to latest upstream (7cae89fb4b22c305b3fd98b4e1be065ad527a9f7). - Also fixes a bug relating to updating parts of the display. - Adds some docs. Change-Id: Idfcce66e0cf3c59e467bab42eafc161df2e495bb
2017-01-01imxtools: fix bug aes128 (did not update cbc-macp)Amaury Pouly
Although this does bug is never triggered because we never decrypt and use the resulting CBC-MAC, it's a major overlook. Change-Id: I3c5d318e6428d528483bf888ea284e9ded3889f0
2016-12-19mkimxboot: don't forget to pass model if given on command lineAmaury Pouly
Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
2016-12-19zenxfistyle: enable dualboot stub apiAmaury Pouly
The ZEN X-Fi Style doesn't have an updater like the other stmp targets but at least the stub enables rebooting to the OF. Change-Id: I630653a37b94b77210ffdd0d30e1748b13eca96a
2016-12-18work around little bugs in puzzlesFranklin Wei
Change-Id: I80d72a6bb0189eb842385aa622506d5efe319053
2016-12-18Add circle drawing/filling to xlcdFranklin Wei
Change-Id: I5d28ade42145d9d82babcf62c0db7948927cafec
2016-12-18add missing file to puzzlesFranklin Wei
Change-Id: I63b80718f48eede54c3312d9e66c77bfd2472a79
2016-12-18Port of Simon Tatham's Puzzle CollectionFranklin Wei
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9 MIT Licensed. Some games still crash and others are unplayable due to issues with controls. Still need a "real" polygon filling algorithm. Currently builds one plugin per puzzle (about 40 in total, around 100K each on ARM), but can easily be made to build a single monolithic overlay (800K or so on ARM). The following games are at least partially broken for various reasons, and have been disabled on this commit: Cube: failed assertion with "Icosahedron" setting Keen: input issues Mines: weird stuff happens on target Palisade: input issues Solo: input issues, occasional crash on target Towers: input issues Undead: input issues Unequal: input and drawing issues (concave polys) Untangle: input issues Features left to do: - In-game help system - Figure out the weird bugs Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368
2016-12-16Fix linking with C++ files.Dominik Riebeling
When linking with C++ files the linker also needs to link against the C++ libraries. This is done automatically when invoking the compiler upon linking. Since we don't want C++ dependencies on C-only projects we check if we actually have C++ files and use either the C or C++ compiler. Rename CFLAGS since it's now used for both C and C++ compiler and add dedicated CFLAGS, CXXFLAGS and LDFLAGS variables. Change-Id: I9cc068a8038f21e8fd96b20173a8f790e6ab4b6e
2016-12-16Support C++ in libtools.make and rewrite dependency handling.Dominik Riebeling
- Change suffix of objects and depencency files to keep the original file suffix. This makes it easy to distinguish between C and C++ files when building and avoids implicit make rules trying to build in a way we don't want to. - Implicitly handle dependencies instead of having an explicit rule. Simplifies things a bit. - Support C++ files by adding an explicit rule for them. With keeping the original file suffixes this becomes quite simple. To use C++ files simply add them to SOURCES (or LIBSOURCES). Change-Id: I22c56a6e153e281cfa675e91ad4a70fd18e2c43c
2016-12-16Don't add LIBSOURCES to SOURCES.Dominik Riebeling
Split source files for library and stand-alone binary and use library as dependency when building the stand-alone binary. This avoids dependencies getting added multiple times. Remove outdated RBARCH handling, we always create fat binaries on OS X these days. Change-Id: Ia15a731296edcbe90869a1bf66dda2c3d6c7e317
2016-12-16Create local file URL using QUrl.Dominik Riebeling
Don't construct the local file URL from string. On Windows the URL needs to start with file:/// instead of file://. QUrl handles this. Change-Id: I3dea29a8d368ebdc20eeff6b1f1cf5058d1b5d05
2016-12-16Fix various unit test compilation.Dominik Riebeling
There's now a dependency on Logger.h, add stub folder to includes to stub it. Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
2016-12-12imx233: don't print disabled IRQs in debug screenAmaury Pouly
There are lot IRQ and most are unused most of the time, this is annoying on devices with small screens. Change-Id: I7f3453f2768b8e35a5a367fbcf1e4cf3cf73bcd7
2016-12-12imx233: add more icoll statisticsAmaury Pouly
Those new statistics give the maximum time an IRQ took and also the total time spent in IRQ, for each IRQ. Hopefully those do not take took much time or space to collect. If this is the case, it can be enabled in debug builds only the future. Change-Id: I05af172897c5cb7ffcc9322452f974d8f968e29d
2016-12-12imx233: fix IRQ handler w.r.t unwinderAmaury Pouly
The IRQ handler saves registers on the IRQ stack, saves the old PC to imx233 HW_DIGCTL_SCRATCH0 register and switcht to SVC for the actual handling. The old code had a problem in that if the unwinder is called during the IRQ (for example by the watchdog), then __get_sp() will use SPSR_svc to discover the previous mode, switch to it and recover SP. But SPSR_svc is invalid, it should be SPSR_irq but we switch from IRQ to SVC mode. The new code copies SPSR_irq to SPSR_svc in IRQ to fix this problem. It also saves/restore SCRATCH0 in case I one day renable nested interrupts or use SCRATCH0 for other purposes. I also changed the old watchdog code to call UIE directly instead of trying to make the code crash with a SWI. Change-Id: Id87462d410764b019bd2aa9adc71cb917ade32e3
2016-12-12unwinder: in get__sp(), use the more correct "msr cpsr_c, ..." formAmaury Pouly
Change-Id: I9cfdca80536fc9fb6e8983a81219ccdf5c0b3c42
2016-12-12uda1380: document audiohw setting based on uda1380.cAmaury Pouly
Change-Id: Ia799e47249b4b0008bfe8e633c61548a667b9288