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



whenwhatwherewho
Today 14:51 86df983: zenxfi3: update keymap

Map short menu press to context menu/quickscreen. Map long menu press to return to main menu. Also remove some stupid keylock mapping, that doesn't make sense.
apps/keymaps/keymap-zenxfi3.c [diff]
Amaury Pouly
Yesterday 18:21 6d124c7: Fix red, forgotten file
firmware/target/arm/imx233/sdmmc-imx233.h [new]
Amaury Pouly
Yesterday 14:08 633c8ed: imx233: two minor fixes for sd/mmc

Always enable support for SET_BLOCK_COUNT on mmc: it is mandatory. For some reason (probably a mistake) it was disabled unconditionaly on mmc. Also deselect sd card after init. Although it is unlikely to make a difference, it is already done for mmc so stay consistent.
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
Yesterday 14:07 85ad99e: imx233: add sd/mmc debug screen

The screen currently displays for each device the bus width, set_block_count support, HS capability and whether it is enabled for not.
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
Yesterday 14:05 7aacf4d: imx233: fix button debug screen on landscape mode screen

Some players like the ZEN X-Fi have a wide but not tall screen, it is thus better to display everything on one line for each button
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
Saturday 14:50 ae7dd53: imx233: fix red

stop pretending that stmp3600 and stmp3700 have a 4.2V power rail
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
Amaury Pouly
Saturday 15:40 c926a52: Fix race conditions in parallel build.

ffmpeg_bitstream.c is included in libcodec, so there doesn't seem to be any reason for individual codecs to also compile it (and clobber any previous copy while they're at it, leading to broken builds)
lib/rbcodec/codecs/libwma/SOURCES [diff]
lib/rbcodec/codecs/libwmapro/SOURCES [diff]
Frank Gevaerts
2nd May 19:56 cdca7ce: imx233: add new power debug screen

This screen allows to put the device in a special mode where:
- charging is disabled
- device only draws power from 5V (thus battery is untouched) This is useful to measure the device consumption by measuring directly the usb power consumption.
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2nd May 19:55 2dcc9fc: imx233: fix debug screen button handling

The code was very primitive and did not handle release events properly.
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2nd May 19:49 941ac16: imx233: speedup charging trickle phase

Per Freescale recommandation, we need to ramp up the 4.2V rail before enabling charging. Ramping should be done at 1 step/10ms, but the old code did 1 step/1s because the powermgmt_step() function is called once every second. Use a tick task to ramp up much faster.
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
firmware/target/arm/imx233/powermgmt-imx233.h [diff]
Amaury Pouly
2nd May 19:41 d245b7a: imx233: fix system_exception_wait()

The old code used button_get() to read the button status and wait for a key to leave the panic screen. This is broken since when IRQ are disable, the button mask is not updated anymore for touchpad and adc buttons. For now, only use pswitch: this should be good enough for all targets.
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2nd May 19:39 a25700e: imx233: fix frequency reporting

The code reported the frequency in kHz instead of Hz, thus breaking a debug screen.
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
Amaury Pouly
2nd May 19:37 643c0a1: imx233: simplify timrot API

The old timrot setup API was very low-level and unfriendly. The new one makes in easier to select the frequency source. Use to simplify timer and kernel timer code.
firmware/target/arm/imx233/kernel-imx233.c [diff]
firmware/target/arm/imx233/system-imx233.c [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
Saturday 13:40 423c647: zenxfi3: fix headphone detection

The adc channel monitored for jack detection does not really have a fixed value when plugged. Instead use the same logic as the OF and simply use a threshold.
firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c [diff]
Amaury Pouly
2nd May 19:22 7e00be9: nwz-370/380: increase adc button error margin

For some reason those targets have quite imprecise button voltages and the old margin was too small. This should fix the button-not-working issue, especially when the player is very hot and cold.
firmware/target/arm/imx233/sony-nwz/button-target.h [diff]
Amaury Pouly
2nd May 19:21 9fe854e: imx233: enhance button driver adc handling

The current driver is limited to checking if the adc value equals another one with a hardcoded margin. This commit changes two aspects of that:
- the margin can be changed globally using IMX233_BUTTON_LRADC_MARGIN and can also be overriden per button using the new LRADC_EX macro
- the lradc logic gained two comparison modes to check if the source value is greater (or lower) than a threshold.
firmware/target/arm/imx233/button-imx233.c [diff]
firmware/target/arm/imx233/button-imx233.h [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2nd May 19:16 030a9da: imx233: cosmetics

Shorten some text to make the text readable in the debug screen of targets with small LCD (like NWZ-380). In some screens, the only option is to display less information.
firmware/target/arm/imx233/adc-imx233.c [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2nd May 19:14 f182e2d: imx233: make sure not to discharge battery when charge is complete

The power management code was erroneously shuting down the 4.2V rail when charging is complete. This resulted in the DCDC draining the battery and thus the battery discharging with USB plugged... The new code keeps the 4.2V rail active so that battery remains untouched once charge is complete.
firmware/target/arm/imx233/powermgmt-imx233.c [diff]
Amaury Pouly
24th May 18:29 eac1ca2: imx233: generate register headers using headergen_v2 and update code for it

NOTE: this commit does not introduce any change, ideally even the binary should be almost the same. I checked the disassembly by hand and there are only a few differences here and there, mostly the compiler decides to compile very close expressions slightly differently. I tried to run the new code on several targets to make sure and saw no difference.

The major syntax changes of the new headers are as follows:
- BF_{WR,SET,CLR} are now superpowerful and allows to set several fileds at once: BF_WR(reg, field1(value1), field2(value2), ...)
- BF_CS (use like BF_WR) does a write to reg_CLR and then reg_SET instead of RMW
- there is no more need for macros like BF_{WR_,SET,CLR}_V, since one can simply BF_WR with field_V(name)
- the old BF_SETV macro has no trivial equivalent and is replaced with its its equivalent for BF_WR(reg_SET, ...)

I also rename the register headers: "regs/regs-x.h" -> "regs/x.h" to avoid the redundant "regs".

Final note: the registers were generated using the following command:
./headergen_v2 -g imx -o ../../firmware/target/arm/imx233/regs/ desc/regs-stmp3{600,700,780}.xml
firmware/drivers/rtc/rtc_imx233.c [diff]
firmware/target/arm/imx233/ata-imx233.c [diff]
firmware/target/arm/imx233/audioin-imx233.c [diff]
firmware/target/arm/imx233/audioin-imx233.h [diff]
firmware/target/arm/imx233/audioout-imx233.c [diff]
firmware/target/arm/imx233/audioout-imx233.h [diff]
firmware/target/arm/imx233/button-imx233.h [diff]
firmware/target/arm/imx233/clkctrl-imx233.c [diff]
firmware/target/arm/imx233/clkctrl-imx233.h [diff]
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/dma-imx233.c [diff]
firmware/target/arm/imx233/dma-imx233.h [diff]
firmware/target/arm/imx233/emi-imx233.c [diff]
firmware/target/arm/imx233/emi-imx233.h [diff]
firmware/target/arm/imx233/gpmi-imx233.h [diff]
firmware/target/arm/imx233/i2c-imx233.c [diff]
firmware/target/arm/imx233/i2c-imx233.h [diff]
firmware/target/arm/imx233/icoll-imx233.c [diff]
firmware/target/arm/imx233/icoll-imx233.h [diff]
firmware/target/arm/imx233/kernel-imx233.c [diff]
firmware/target/arm/imx233/lcdif-imx233.c [diff]
firmware/target/arm/imx233/lcdif-imx233.h [diff]
firmware/target/arm/imx233/lradc-imx233.c [diff]
firmware/target/arm/imx233/lradc-imx233.h [diff]
firmware/target/arm/imx233/ocotp-imx233.h [diff]
firmware/target/arm/imx233/pcm-imx233.c [diff]
firmware/target/arm/imx233/pinctrl-imx233.h [diff]
firmware/target/arm/imx233/power-imx233.c [diff]
firmware/target/arm/imx233/power-imx233.h [diff]
...and 290 more files.
Amaury Pouly
Thursday 07:59 28920ec: iPod Classic: fix typos / cosmetic
firmware/target/arm/s5l8700/usb-nano2g-6g.c [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.h [diff]
firmware/target/arm/s5l8702/ipod6g/piezo.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
Wednesday 21:54 9e284c1: iPod Classic: i2c updates
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/i2c-s5l8702.c [diff]
Cástor Muñoz
Wednesday 21:52 2d850b7: iPod Classic: define USB_STATUS_BY_EVENT and USB_DETECT_BY_REQUEST
firmware/export/config.h [diff]
Cástor Muñoz
Wednesday 21:43 daee722: iPod Classic: use PMU interrupts to detect USB and FW
firmware/target/arm/s5l8700/usb-nano2g-6g.c [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Cástor Muñoz
Wednesday 21:18 f6ed4f8: iPod Classic: use PMU interrupts to detect accessories

- Speed auto detection is launched when an accessory is inserted, so the user doesn't need to modify settings to use accessories that operates at different speeds (or when the same accessory is unplugged and plugged again).

- UART controller is disabled when no accessory is inserted, not much powersave but everything counts.
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/serial-ipod6g.c [diff]
Cástor Muñoz
Wednesday 21:15 d8989b1: iPod Classic: use PMU interrupts to detect hold switch

Finally the hold switch workaround is removed and it is detected in the same way as OF does.
firmware/target/arm/ipod/button-clickwheel.c [diff]
Cástor Muñoz
2nd May 19:29 a6b4bf3: mkimxboot: remove code for NWZ-370/380

Since the stub code is shared with NWZ-360, it enables the pullup for the hold button, but the NWZ-370/380 doesn't have a hold button so don't compile this code in, it could potentially have unexpected effets or increase consumption
rbutil/mkimxboot/dualboot.c [diff]
rbutil/mkimxboot/dualboot.h [diff]
rbutil/mkimxboot/dualboot/dualboot.c [diff]
Amaury Pouly
2nd May 19:27 b40ad7d: mkimxboot: make cross compiler for dualboot stubs overridable
rbutil/mkimxboot/dualboot/Makefile [diff]
Amaury Pouly
19th May 18:57 94b23da: Sansa Connect: change bootloader linker file

This change ensures that Sansa Connect bootloader.bin will fit in its flash partition.

Fix _flash_sizem calculation, division was not working properly because FLASHSIZE included subtraction and defined value was not in parenthesis. Prior to this change _flash_sizem was 0x00800000, now it is correctly set to 4 in case of Sansa Connect and 8 in case of other TMS320DM320 players. This significantly improves boot time as cache is now enabled only for real flash memory region.
firmware/target/arm/tms320dm320/boot.lds [diff]
firmware/target/arm/tms320dm320/crt0.S [diff]
Tomasz Moń
25th May 11:40 9327885: Use an actually reliable method to determine 32 vs 64 bit
tools/configure [diff]
Frank Gevaerts
22nd May 00:33 98bd223: iPod Classic: introduce PMU interrupts

PMU interrupts are used to detect USB Vbus, wall adaptor, accessories and holdswitch. A thread is needed to poll the PMU throught I2C, ATM it does nothing but showing the state of the inputs on the HW debug menu, funcionallity for each individual input will be added in next patches.
firmware/export/pcf5063x.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
21st May 23:12 88caf22: iPod Classic: rework on external interrupts
firmware/target/arm/s5l8702/gpio-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.h [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
21st May 22:43 3f17745: iPod Classic: HW initialization for RB

Do not rely on a bootloader initializing the HW, RB initializes and configures GPIO, I2C, and PMU at startup.
firmware/export/i2c-s5l8702.h [diff]
firmware/target/arm/s5l8702/clocking-s5l8702.c [diff]
firmware/target/arm/s5l8702/clocking-s5l8702.h [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.h [diff]
firmware/target/arm/s5l8702/i2c-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
5th Feb 00:12 e863f9a: iPod Classic: piezo support for bootloader

Low level functions that do not depend on Rockbox kernel, intended to be used by the bootloader, dualboot-installer, RB drivers or other .dfu tools.
firmware/SOURCES [diff]
firmware/target/arm/s5l8702/ipod6g/piezo-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/piezo.h [diff]
Cástor Muñoz
5th Feb 00:43 9c032ba: iPod Classic: LCD init sequences for bootloader
firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c [diff]
Cástor Muñoz
4th Feb 21:49 1aefd9e: iPod Classic: HW preliminary initialization for bootloader

When the bootloader starts, most of HW never has been initialized. This patch includes all code needed to perform the preliminary initialization on SYSCON, GPIO, i2c, and MIU.

The code is based on emCORE and OF reverse engineering, ported to C for readability.
firmware/export/i2c-s5l8702.h [diff]
firmware/target/arm/s5l8702/clocking-s5l8702.c [diff]
firmware/target/arm/s5l8702/clocking-s5l8702.h [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.h [diff]
firmware/target/arm/s5l8702/i2c-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Cástor Muñoz
1st May 23:17 c31fcdd: bootloader/common: disable unused broken code

Disable (probably old) broken code, this fixes bootloader builds when ROCKBOX_HAS_LOGF is used.
bootloader/common.c [diff]
Cástor Muñoz
15th May 22:08 e62203a: regtools: add headergen_v2

This new header generator works differently from the previous one:
- it uses the new format
- the generated macro follow a different style (see below)
- the generated macro are highly documented!
- it supports SCT-style platform or RMW-style ones

Compared to the old style, the new one generate a big set of macros per register/field/enum (loosely related to iohw.h from Embedded C spec). The user then calls generic (names are customizable) macros to perform operations:

reg_read(REG_A) reg_read(REG_B(3)) reg_read_field(REG_A, FIELD_X) reg_read_field(REG_B(3), COOL_FIELD) reg_write(REG_A, 0x42) reg_write_field(REG_A, FIELD_X(1), FIELD_Y(3), IRQ_V(FIQ)) reg_write_fielc(REG_B(3), COOL_FIELD_V(I_AM_COOL), BLA(42))

the following use RMW or SET/CLR variants, depending on target: reg_set_field(REG_A, FLAG_U, FLAG_V) reg_clr_field(REG_A, FIELD_X, FIELD_Y, IRQ) reg_clr_field(REG_B(3), COOL_FIELD, BLA)

the following does clear followed by set, on SET/CLR targets: reg_cs(REG_A, 0xff, 0x42) reg_cs(REG_B(3), 0xaa, 0x55) reg_cs_field(REG_A, FIELD_X(1), FIELD_Y(3), IRQ_V(FIQ)) reg_cs_field(REG_B(3), COOL_FIELD_V(I_AM_COOL))

The generator code is pretty long but has lots of documentation and lots of macro names can be customized.
utils/regtools/desc/regs-vsoc2000.xml [diff]
utils/regtools/headergen_v2.cpp [new]
utils/regtools/include/soc_desc.hpp [diff]
Amaury Pouly
15th May 01:22 00a3658: iPod Classic: modify USB storage read/write buffers size

The write buffer size is undefined to use the default 24Kb. size defined (and recomended) in usb_storage.c, the read buffer size is also decremented to 24 Kb. USB sequential read and write benchmarks using diskdump are now 8-9% faster.
firmware/export/config/ipod6g.h [diff]
Cástor Muñoz
15th May 01:11 b8a237d: iPod Classic: wait for ATA power down on device shutdown
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
15th May 00:32 52a6db3: iPod Classic: optimize UDMA timming for ATA drives

This patch optimizes UDMA timings to increase write transfer rate on ATA bus, these transfers are clocked by HCLK, tDVS+tDVH is modified to decrease Tcyctyp (typical write cycle period). This is not overclocking, we meet the ATA standar, the settings used by OF are not well optimized for each UDMA mode, we will never know but probably this was due some documentation issue.

ATA_UDMA_TIME register is documented on s3c6400 datasheet, information included in s5l8700 datasheet is wrong or not valid for s5l8702.

From ATA specs, (Minimum, Maximum) values in nanoseconds:

UDMA 0 UDMA 1 UDMA 2 UDMA 3 UDMA 4 tACKENV (20, 70) (20, 70) (20, 70) (20, 55) (20, 55) tRP (160, --) (125, --) (100, --) (100, --) (100, --) tSS (50, --) (50, --) (50, --) (50, --) (50, --) tDVS (70, --) (48, --) (31, --) (20, --) (6.7, --) tDVH (6.2, --) (6.2, --) (6.2, --) (6.2, --) (6.2, --) tDVS+tDVH (120, --) (80, --) (60, --) (45, --) (30, --)

Tcyc = tDVS+tDVH WR[bytes/s] = 1/Tcyc[s] * 2[bytes]

On Classic (boosted): HClk = 108 MHz. -> T = ~9.26 ns.

Old values (used by OF): UDMA ATA_UDMA_TIME tACK tRP tSS tDVS tDVH Tcyc WR(MB/s) 0 0x5071152 27.8 166.7 55.6 74.1 55.6 129.7 15.4 1 0x3050a52 27.8 101.8 55.6 55.6 37 92.6 21.6 2 0x3030a52 27.8 101.8 55.6 37 37 74 27 3 0x2020a52 27.8 101.8 55.6 27.8 27.8 55.6 36 4 0x2010a52 27.8 101.8 55.6 18.5 27.8 46.3 43.2

New values: UDMA ATA_UDMA_TIME tACK tRP tSS tDVS tDVH Tcyc WR(MB/s) 0 0x4071152 27.8 166.7 55.6 74.1 46.3 120.4 16.6 1 0x2050d52 27.8 129.6 55.6 55.6 27.8 83.4 24 2 0x2030a52 27.8 101.8 55.6 37 27.8 64.8 30.9 3 0x1020a52 27.8 101.8 55.6 27.8 18.5 46.3 43.2 4 0x1010a52 27.8 101.8 55.6 18.5 18.5 37 54

To verify that the settings are correct, a write-to-cache test was performed using emCORE, the measured transfer rate (WRm) is compared against the theoric transfer rate (WR) at 108 Mhz for the old and the new UDMA4 settings (iPod 160, HDD Toshiba MK1634GAL):

UDMA ATA_UDMA_TIME Tcyc(ns) WR(MB/s) WRm(MB/s) RDm(MB/s) 4 0x2010a52 46.3 43.2 42.9 59.8 4 0x1010a52 37 54 53.5 59.8

Notes:
- The new UDMA4 settings increases ~25% the ATA transfer rate for cached-writes. The real HDD write speed is limited by the internal transfer rate (depends on cilinder, for the MK1634GAL it is 276 to 573 Mbits/s). Sequential write benchmark using diskdump on USB are
~8% faster.
- Read transfers are clocked by the device, it depends on UDMA mode selected and are not affected by HClk or ATA_UDMA_TIME settings. Read-from-cache tests results (RDm) using HClk=108 and HClk=54 for UDMA4 are 59.8 MB/s on MK1634GAL.
- Minimum HClk is limited by tACKENV specs, using current settings it is 54 MHz for UDMA4,UDMA3 and 43 MHz for UDMA2,UDMA1,UDMA0.
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
15th May 00:28 201f571: iPod Classic: remove ATA_HAVE_BBT
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
15th May 00:11 dbcde01: iPod Classic: remove emCORE HDD endianess warning
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
4th Feb 19:12 469d645: iPod Classic: prepare i2c and PMU for bootloader

When the bootloader starts only IRAM is available, the first task is to ask the PMU to verify if the iPod has previously been hibernated by OF. Due to memory limitations, the kernel cannot be used on this stage.

This patch modifies I2C and PMU low level functions to not to depend on kernel (removes mutexes, and uses HW timer instead of current_tick), actual kernel functions are modified to be 'mutexed' wrappers of the new functions.
firmware/export/i2c-s5l8702.h [diff]
firmware/target/arm/s5l8702/i2c-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
Cástor Muñoz
5th Feb 13:04 44ce4ee: iPOd Classic: skip emCORE HDD endianness warning for bootloader
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
2nd May 19:25 187ce12: dx90: fix spurious button events

The kernel on this device reports nonexistent key presses, in particular it reports right presses when pressing the left button... Since when it happens, the right press comes after the left one, the new code simply ignores any right press when the left button in pressed.
firmware/target/hosted/ibasso/dx90/button-dx90.c [diff]
Amaury Pouly
14th May 21:10 ee7dfb5: Manually unboost if not using boost in test_codec

Right now GUI boost interfers with test_codec running unboosted by varying the CPU frequency. This at least makes it more consistent if run without user input.
apps/plugins/test_codec.c [diff]
Michael Giacomelli
14th May 12:24 9a4cd2e: iPod Nano2G: add IPOD_ACCESSORY_PROTOCOL
firmware/export/config/ipodnano2g.h [diff]
firmware/export/s5l8700.h [diff]
firmware/target/arm/s5l8700/ipodnano2g/serial-nano2g.c [diff]
firmware/target/arm/s5l8700/system-s5l8700.c [diff]
firmware/target/arm/s5l8700/uart-s5l8701.c [diff]
Cástor Muñoz
13th May 21:55 60fb707: configure: statically link sdl on win32 cross compile
tools/configure [diff]
tools/release/sims.pl [diff]
Amaury Pouly
12th May 01:16 d405026: iPod Nano2G: add HAVE_SERIAL
firmware/SOURCES [diff]
firmware/export/config/ipodnano2g.h [diff]
firmware/target/arm/s5l8700/debug-s5l8700.c [diff]
firmware/target/arm/s5l8700/ipodnano2g/serial-nano2g.c [new]
Cástor Muñoz
12th May 00:14 5017523: Add UART suuport for s5l8700 and s5l8701

Add UART support for s5l8700/1 using the UC870X UART controller, actually the functionallity is disabled and must be enabled for each individual target. Tested on iPod Nano 2G (s5l8701), not tested on s5l8700.
firmware/export/s5l8700.h [diff]
firmware/target/arm/s5l8700/system-s5l8700.c [diff]
firmware/target/arm/s5l8700/uart-s5l8700.c [new]
firmware/target/arm/s5l8700/uart-s5l8701.c [new]
firmware/target/arm/s5l8700/uart-target.h [new]
Cástor Muñoz
12th May 04:47 8fb67f4: iPod Classic: updates for uc8702 driver

- Small rework on the UC8702 UART controller to make it compatible with other s5l870x SOCs. Files moved and renamed, many conditional code added to deal with capabilities and 'features' of the different CPUs.

- A couple of optimizacions that should not affect the functionality.
firmware/SOURCES [diff]
firmware/export/s5l8702.h [diff]
firmware/export/uc870x.h [new]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/serial-ipod6g.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/uart-s5l8702.c [diff]
firmware/target/arm/s5l8702/uart-s5l8702.h [deleted]
firmware/target/arm/s5l8702/uart-target.h [new]
firmware/target/arm/s5l8702/uc8702.c [deleted]
firmware/target/arm/s5l8702/uc8702.h [deleted]
firmware/target/arm/uc870x.c [new]
Cástor Muñoz
3rd May 23:34 2a1e9eb: Reverting 4327cbc9b8886e

I do testing incorrectly: fix don't work as expected.
rbutil/mkamsboot/dualboot/dualboot.S [diff]
Mihail Zenkov
17th Apr 14:31 4327cbc: C2X0v2: use GPIO to check button state in dualboot

C240v2 freeze on booting OF if SD card inserted. Use GPIO instead DBOP should help.
rbutil/mkamsboot/dualboot/dualboot.S [diff]
Mihail Zenkov
22nd Apr 20:42 18fecd9: Update runtime estimation after recent power optimizations.

Values taken from Mihail's Clip Zip, should be similar on all AMSv2 devices.
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuzev2.h [diff]
Michael Giacomelli
22nd Apr 10:17 7cb1e5a: Fix AMSv2 variant 1 detection if rockbox loaded from SD card
bootloader/sansa_as3525.c [diff]
firmware/rolo.c [diff]
Mihail Zenkov
20th Apr 13:53 79ca6d4: AMS: enable SD card support in bootloader

With this changes rockbox can be loaded from SD card when internal storage can't be mount (due to hardware or software problem).
firmware/export/config/sansac200v2.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansae200v2.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzev2.h [diff]
Mihail Zenkov
12th Apr 22:14 6548dc2: Manual: Add missing plugins

The text is usually only a short description taken from the wiki and don't contain screenshots or keymaps, but should be better than nothing. :)

Added manual entries:
- Boomshine
- Dict
- FFT
- main_menu_config
- Matrix
- Maze (including keymap)
- PDbox
- Superdom Additional changes/fixes:
- fix "Clix" alphabetical order
- add Frotz & ZXBox to games preamble
manual/advanced_topics/main.tex [diff]
manual/plugins/boomshine.tex [new]
manual/plugins/dict.tex [new]
manual/plugins/fft.tex [new]
manual/plugins/frotz.tex [diff]
manual/plugins/main.tex [diff]
manual/plugins/main_menu_config.tex [new]
manual/plugins/matrix.tex [new]
manual/plugins/maze.tex [new]
manual/plugins/pdbox.tex [new]
manual/plugins/superdom.tex [new]
Sebastian Leonhardt
13th Apr 21:10 8a0360d: AMSv2: enable voltage scaling
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuzev2.h [diff]
Mihail Zenkov
3rd Apr 20:14 c90d42d: jz4670_tools: add usbboot tool, tweak Makefile and packtool

Although the jz4740 contains a similar tool to usbboot, its command-line interface is not very useful, also it does not compile by default because it relies on some external code, and it contains code specific to some JZ4740 devices.
utils/jz4760_tools/Makefile [diff]
utils/jz4760_tools/packtools.cpp [diff]
utils/jz4760_tools/usbboot.c [new]
Amaury Pouly
7th Feb 20:50 4934bd6: hwstub: remove the old library
utils/hwstub/include/hwstub.h [deleted]
utils/hwstub/lib/Makefile [diff]
utils/hwstub/lib/hwstub.c [deleted]
Amaury Pouly
7th Feb 20:48 5ac0166: qeditor: port to the new hwstub library and add features

This commit adds support for the version of the hwstub library, which requires a lot of changes. It also adds some editing features, such as register access and much better editing of fields using the mouse (double click on a field to be able to resize and move it).
utils/imxtools/misc/map.h [diff]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
19th Mar 20:18 cc4c9b7: regtools: add register access to soc desc

Registers (and variants) can now specify the type of access supported:
- unspecified: for variant means same as register, for register defaults R/W
- read/write
- read only
- write only Backward compatibility is preserved by setting access to unspecified by default.
utils/regtools/desc/regs-vsoc2000.xml [diff]
utils/regtools/include/soc_desc.hpp [diff]
utils/regtools/lib/soc_desc.cpp [diff]
Amaury Pouly
7th Feb 20:46 f6c61eb: hwstub: port hwstub_shell to the new library

Also use this opportunity to cleanup support for multiple devices: the shell now supports dynamic changes in the device and will call init() everytime a new device is selected, to prepare a new environment. The shell now honors register width on register read/write. The shell also provides access to variants as follows by creating a subtable under the register using the variant type in UPPER case and having the same layout as a register. For example if register HW.GPIO.DIR has variants "set" and "clr", those can be used like this: HW.GPIO.DIR.SET.write(0xff) HW.GPIO.DIR.CLR.write(0xff00)
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
utils/hwstub/tools/lua/atj.lua [diff]
utils/hwstub/tools/lua/help.lua [new]
utils/hwstub/tools/lua/jz.lua [new]
utils/hwstub/tools/lua/load.lua [diff]
utils/hwstub/tools/lua/pp.lua [diff]
utils/hwstub/tools/lua/rk27xx.lua [diff]
utils/hwstub/tools/lua/stmp.lua [diff]
Amaury Pouly
7th Feb 20:45 a2f4c52: hwstub: port hwstub_load to the new library
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
7th Feb 20:42 3d8a08c: hwstub: rewrite and expand library

Rewrite the hwstub library in C++, with a clean and modular design. The library was designed from the ground up to be aware of multithreading issues and to handle memory allocation nicely with shared pointers.

Compared to the original library, it brings the following major features:
- support for JZ boot devices, it is very easy to add support for others
- support for network transparent operations (through sockets): both tcp and unix domains are support
utils/hwstub/hwstub_protocol.h [deleted]
utils/hwstub/include/hwstub.h [new]
utils/hwstub/include/hwstub.hpp [new]
utils/hwstub/include/hwstub_net.hpp [new]
utils/hwstub/include/hwstub_protocol.h [new]
utils/hwstub/include/hwstub_uri.hpp [new]
utils/hwstub/include/hwstub_usb.hpp [new]
utils/hwstub/include/hwstub_virtual.hpp [new]
utils/hwstub/lib/Makefile [diff]
utils/hwstub/lib/hwstub.cpp [new]
utils/hwstub/lib/hwstub.h [deleted]
utils/hwstub/lib/hwstub_net.cpp [new]
utils/hwstub/lib/hwstub_protocol.h [deleted]
utils/hwstub/lib/hwstub_uri.cpp [new]
utils/hwstub/lib/hwstub_usb.cpp [new]
utils/hwstub/lib/hwstub_virtual.cpp [new]
utils/hwstub/stub/hwstub.make [diff]
utils/hwstub/stub/protocol.h [diff]
utils/hwstub/tools/Makefile [diff]
utils/hwstub/tools/hwstub_server.cpp [new]
utils/hwstub/tools/hwstub_test.cpp [new]
Amaury Pouly
3rd Apr 20:32 56dc54d: soc_desc: add default constructors to most structures

After being caught by several bugs of the type "let's forgot to initialize a field to default value", I'm finally fixing this.
utils/regtools/include/soc_desc.hpp [diff]
Amaury Pouly
8th Jan 01:17 45a02dc: Plugin 2048: Optimize for 128x96 screen
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/_2048_background.88x88x24.bmp [new]
apps/plugins/bitmaps/native/_2048_tiles.19x19x24.bmp [new]
Sebastian Leonhardt
7th Apr 08:28 c537e05: Fix (D)EBUG compilation
firmware/drivers/fat.c [diff]
Mihail Zenkov
7th Apr 00:35 e4e0b18: AMS: power off while charging enabled
firmware/export/config/sansac200v2.h [diff]
firmware/export/config/sansaclip.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansae200v2.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sansafuzev2.h [diff]
Mihail Zenkov
5th Apr 22:39 98c15fe: Red Alert
firmware/target/arm/pp/ascodec-pp.c [diff]
Mihail Zenkov
5th Apr 22:17 f791f5e: fix red again
firmware/target/arm/pp/ascodec-pp.c [diff]
firmware/target/hosted/samsungypr/ypr0/ascodec-ypr0.c [diff]
Mihail Zenkov
5th Apr 22:00 c5c4ea4: fix red
firmware/target/arm/pp/ascodec-pp.c [diff]
firmware/target/hosted/samsungypr/ypr0/ascodec-ypr0.c [diff]
Mihail Zenkov
20th Feb 02:36 c7daef3: as3525: reverting I2C2 to non-interrupts version

Interrupts version is cause of freeze on USB extraction. Also non-interrupts version much simpler and faster.
firmware/drivers/adc-as3514.c [diff]
firmware/export/ascodec.h [diff]
firmware/target/arm/as3525/ascodec-as3525.c [diff]
firmware/target/arm/as3525/system-as3525.c [diff]
Mihail Zenkov
30th Mar 10:50 ce90c04: Fix checking for CONFIG_CHARGING
apps/debug_menu.c [diff]
firmware/export/ascodec.h [diff]
firmware/export/powermgmt.h [diff]
firmware/target/arm/as3525/ascodec-as3525.c [diff]
Mihail Zenkov
31th Mar 09:33 e599810: Don't add new message to logf when we dump it to file

Fix log file corruption if we have new messages at dumping log to file. Comment removed as it incorrect. We store all messages in direct order (last message at end of file).
apps/logfdisp.c [diff]
firmware/export/logf.h [diff]
firmware/logf.c [diff]
Mihail Zenkov
30th Mar 21:49 26beb30: Save bookmark and settings on shutdown at low battery level on players without HD
apps/misc.c [diff]
Mihail Zenkov
2014-10-02 47d6d26: Cleanup unused function
apps/buffering.c [diff]
Mihail Zenkov
30th Mar 20:25 6228c8d: Fix reset runtime
apps/gui/usb_screen.c [diff]
apps/misc.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
Mihail Zenkov
2013-05-24 134e591: Align test_disk buffer for DMA.

Some targets can only use storage DMA if the memory location is storage aligned. The required alignment can be more strict than word alignment, which was used previously. This change ensures that aligned transfers in test_disk can use DMA.
apps/plugins/test_disk.c [diff]
Boris Gjenero
5th Jan 23:46 26697d0: Fix FS #12981 JPEG decoding problem when entropy data starts with FF

This changes JPEG fill and invalid byte handling to be like mozjpeg, and bases entropy data start on SOS marker location.

Thanks to Stefan Waldmann and Dean Tersigni for reporting.

Chaange-Id: Ibc7c17d38d5be63642bdaf6adfd6acc2a6cf4450
apps/plugins/imageviewer/jpeg/jpeg_decoder.c [diff]
apps/recorder/jpeg_common.h [diff]
apps/recorder/jpeg_load.c [diff]
Boris Gjenero
30th Mar 18:48 25fc7f1: Fix broken logf apps/playback.c [diff]
apps/plugin.c [diff]
Mihail Zenkov
27th Mar 21:56 7ba50cf: Disable voltage scaling.

Crashes immediately. Something was wrong with the last commit.
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuzev2.h [diff]
Michael Giacomelli
27th Mar 20:46 7be692e: Enable voltage scaling on AMSv2.

Voltage is reduced when the CPU is unboosted, resulting in a large reduction in power consumption. In analogy with the AMSv1 voltage scaling code (currently disabled due to problems with SD cards), I have defined a config file option to enable/disable it.
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/target/arm/as3525/system-as3525.c [diff]
Michael Giacomelli
20th Feb 03:14 775b21e: AMSv2: additional delay for voltage scaling

We need additional delay since ascodec_write_pmu() working faster in non-interrupts version of I2C2.
firmware/target/arm/as3525/system-as3525.c [diff]
Mihail Zenkov
27th Mar 19:06 77a3536: AMSv2: DBOP frequency divided by 2

After setting new PCLK (96 Mhz) we have too high DBOP (96 / 16 = 6 MHz). According to datasheet DBOP should be maximum 4 MHz.
firmware/target/arm/as3525/clock-target.h [diff]
Mihail Zenkov
27th Mar 10:36 ee567d8: Fix wrong typecast in test.
rbutil/rbutilqt/test/test-httpget.cpp [diff]
Dominik Riebeling
20th Mar 19:44 bbb46a8: Improve handling of Qt5 subversions on OS X.

Qt 5.6 on OS X requires targeting at least OS X 10.7, while for earlier versions we can still target 10.6. Handle this case and inform the user about the used target version.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
20th Mar 10:13 32aaa52: Use Gestalt to get number of CPUs on OS X.

MPProcessors has been deprecated with 10.7. When targeting 10.7 (required when building with Qt 5.6 on OS X) this causes a warning. Use Gestalt instead
(Gestalt has been deprecated with 10.8, but when targeting 10.7 this doesn't cause a warning, and Gestalt is used for other values as well).
rbutil/rbutilqt/base/system.cpp [diff]
Dominik Riebeling
20th Mar 10:04 8624392: Fix compile warning on OS X.

Current clang on OS X suggests placing parens so add them
(-Wbitwise-op-parentheses enabled by default).
rbutil/rbutilqt/base/ttscarbon.cpp [diff]
Dominik Riebeling
20th Mar 08:09 7cc6d85: Fix C++11 compile error with version strings.

C++11 requires a space between literal and identifier. When compiling with Qt 5.6 on OS X C++11 support is automatically enabled, causing an error due to this.
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/version.h [diff]
Dominik Riebeling
24th Mar 18:18 ece9303: Slightly increase VDD2 on AMSv2.

The old value was unstable on some devices.
firmware/target/arm/as3525/system-as3525.c [diff]
Michael Giacomelli
18th Mar 22:34 fe9a3ce: GUI boost for any button

It improve responsiveness for all targets with frequency scaling.
apps/action.c [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
Mihail Zenkov
18th Mar 20:26 123346b: _BSD_SOURCE is deprecated, and we're supposed to use _DEFAULT_SOURCE now.
lib/rbcodec/test/warble.c [diff]
Frank Gevaerts
26th Feb 15:29 219e116: sd-as3525v2: prevent DTO error and DMA problems

We should check sd_wait_for_tran_state() after transfering to prevent data timeout error. Also we should disable DMA channel manually.

Should be used with g#1270, without it freezes still can occur on data transfering.
firmware/target/arm/as3525/sd-as3525v2.c [diff]
Mihail Zenkov
20th Feb 03:19 a24abd2: Fix NUM_ADC_CHANNELS for AS3525v2
firmware/export/as3514.h [diff]
Mihail Zenkov
18th Mar 14:50 8d50cdc: lua: don't include rockbox-specific libc headers for the button helper tool.

This fixes the "implicit declaration of function 'printf'" warning
apps/plugins/lua/lua.make [diff]
Frank Gevaerts
26th Feb 15:08 e65478c: sd-as3525v2: exit with error if transfer failure
firmware/target/arm/as3525/sd-as3525v2.c [diff]
Mihail Zenkov
26th Feb 15:01 2d8a785: sd-as3525v2: Limit number of retry

With current setting we spend few minutes for reading one sector if we have data timeout error. With new setting system (linux) show error after ~10 seconds.
firmware/target/arm/as3525/sd-as3525v2.c [diff]
Mihail Zenkov
20th Feb 03:01 d0d66f3: usb-s3c6400x: prevent calling usb_enable(enable) twice on USB insert

First time we call usb_enable(enable) on USB_INSERTED event from usb_stack_enable()
firmware/target/arm/usb-s3c6400x.c [diff]
Mihail Zenkov
20th Feb 02:02 4c6871c: usb-s3c6400x: prevent lockup if usb extracted during data sending
firmware/target/arm/usb-s3c6400x.c [diff]
Mihail Zenkov
14th Mar 12:51 bb48fa0: regtools: Convert rk27xx register description file to v2 format
utils/regtools/desc/regs-rk27xx-v1.xml [new]
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
29th Feb 07:29 906a623: hwstub: fix warning: no newline at end of file with newer gcc
utils/hwstub/stub/memory.h [diff]
utils/hwstub/stub/protocol.h [diff]
Marcin Bukat
29th Feb 07:26 0e2b490: hwstub: rework usb driver for atj213x
utils/hwstub/stub/atj213x/usb_drv_atj213x.c [diff]
Marcin Bukat
13th Mar 22:01 2292782: A better fix than b58b9c2.

I misunderstood the code a bit when I committed b58b9c2. The read_char_no_whitespace() probably have to be done.
apps/plugins/goban/sgf.c [diff]
Frank Gevaerts
13th Mar 21:51 b58b9c2: Remove clearly broken error checking, as pointed out by newer gcc.

Note that the error checking is probably useful if done correctly, but I have no way to test this, so just removing the offending code is the only way forward. Thanks to the fairly creative bug, the code did nothing at all anyway.
apps/plugins/goban/sgf.c [diff]
Frank Gevaerts
13th Mar 20:44 2c7bb67: HDD16X0: remove unnecessary define.
firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c [diff]
Szymon Dziok
13th Mar 19:50 e0a4dc5: HDD63X0: add a note about poweroff while charging to the config file.
firmware/export/config/gogearhdd6330.h [diff]
Szymon Dziok
13th Mar 19:48 164f50b: HDD16X0: disable poweroff while charging, add a note to the config file why.
firmware/export/config/gogearhdd1630.h [diff]
Szymon Dziok
13th Mar 19:30 663abe3: HDD16X0: fix voltage values and simplify voltage calculation.
firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c [diff]
Szymon Dziok
13th Mar 19:25 78311e0: HDD63X0: fix values for charging (based on OF).
firmware/target/arm/philips/hdd6330/powermgmt-hdd6330.c [diff]
Szymon Dziok
16th Feb 20:36 5138995: usb-s3c6400x: fix broken build for LOGF_ENABLE
firmware/target/arm/usb-s3c6400x.c [diff]
Cástor Muñoz
16th Feb 19:42 ff637c7: iPod Classic: size optmizations for HAVE_ATA_SMART

After commit e9497db the switch() in ata_smart_get_attr_name() is no longer optimized by the compiler, ata_smart_get_attr_rawfmt() is also updated to prevent that future additions will cause the same problem.
apps/debug_menu.c [diff]
Cástor Muñoz
2014-07-19 bc56811: iPod Nano 2G and Classic: Fix power and charging detection.

This should allow FireWire charging to work on these devices. It also adds charging state detection on the iPod Classic.

(cherry picked from commit fa86fec4fb089b47f5c2c3b1f2f3dbc97551895b)

On Classic (and probably Nano 2G), it seems that the 100/500mA limit applies only to USB chargers, when FW is connected it supplies all the power (even if USB is also connected) and USB current limit does not affect to FW charging, therefore the limit is only set when USB is connected.

Signed-off-by: Cástor Muñoz
firmware/target/arm/s5l8700/ipodnano2g/power-nano2g.c [diff]
firmware/target/arm/s5l8700/usb-nano2g-6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
Michael Sparmann
12th Feb 00:06 929be52: iPod Classic: fix buffer alignment on HDD driver

Read/write buffers who are aligned to 16 were not re-aligned to 32 as it should be. Althrough USB storage and buffering are always passing buffers aligned to 32, a few unaligned buffers are being received from other tasks, so this patch could solve some rare random issues.

Also fixes DMA configuration for HDDs that support any MDMA mode but only UDMA0 (probably will never happen).
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
14th Feb 11:58 3216f39: iPod Classic: fix build when ATA_HAVE_BBT is not defined
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
13th Feb 17:28 e9497db: iPod Classic: ATA SMART updates

- Add description for attributes supported by Samsung HS081HA (80Gb) and HS161JQ (CEATA 160Gb).
- Show error code when ata_read_smart() fails.
apps/debug_menu.c [diff]
firmware/export/ata.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
14th Feb 10:47 31d9084: iPod Classic: fix USB_DEVBSS_ATTR alignment

After previous commit 0b6647f2e9e5d21e80736eab7af33acecba28f38 this alignment should not be needed, but not sure at all, so it is aligned to cache line length for safety.
firmware/export/config/ipod6g.h [diff]
Cástor Muñoz
14th Feb 11:14 0b6647f: usb-s3c6400x: set alignment for ep0_setup_pkt

Align USB_DEVBSS buffers to 32 (as other USB drivers are doing), this could solve rare random memory corruption issues on iPod Classic.
firmware/target/arm/usb-s3c6400x.c [diff]
Cástor Muñoz
8th Feb 22:58 6f54a86: as3514: fix bug in volume management on AS3543 targets which are not AS3525v2

Some old code made the assumption that CONFIG_CPU == AS3525v2 if and only if HAVE_AS3543, which is not true on targets like the Samsung YP-R0. This fixes several issues on such targets like a huge volume gap between -39dB and -40dB and a volume artificially capped at -72dB instead of -82dB.
firmware/drivers/audio/as3514.c [diff]
firmware/export/as3514.h [diff]
Amaury Pouly
7th Feb 14:46 7619031: regtools: make description file parser stricter

The parser would simply ignore unknown elements or attributes, which is bad on many levels. Now any unknown tag will trigger a fatal error.
utils/regtools/lib/soc_desc.cpp [diff]
Amaury Pouly
6th Feb 14:32 7d87ebb: regtools/desc: convert v1 stmp description files to v2

Conversion done using swiss_knife as follows:
./swiss_knife convert --author "Amaury Pouly" --version "2.4.0" desc/regs-stmp3XXX-v1.xml desc/regs-stmp3XXX.xml
utils/regtools/desc/regs-stmp3600.xml [new]
utils/regtools/desc/regs-stmp3700.xml [new]
utils/regtools/desc/regs-stmp3780.xml [new]
Amaury Pouly
6th Feb 14:29 6e54f72: regtools/desc: rename v1 stmp files
utils/regtools/desc/regs-stmp3600-v1.xml [new]
utils/regtools/desc/regs-stmp3600.xml [deleted]
utils/regtools/desc/regs-stmp3700-v1.xml [new]
utils/regtools/desc/regs-stmp3700.xml [deleted]
utils/regtools/desc/regs-stmp3780-v1.xml [new]
utils/regtools/desc/regs-stmp3780.xml [deleted]
Amaury Pouly
6th Feb 14:08 6b9610f: regtoosl/qeditor: port to the new description format

This big commit port qeditor from v1 to v2 register file format. Although the display code was much simplified, the edit code had to be rewritten. The new code also brings many improvement to the register display widget.

The new code also compiles with both Qt4 and Qt5, although it is recommended to use Qt5 to get some improvements, especially in the layout of editor.
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/main.cpp [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.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]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
6th Feb 14:01 0f701a6: regtools: update v2 specification, library and tools

A v2 register description file can now include register variants and instances addresses can now be a list (previously it could only be a stride or a formula). Update the library to deal with that. The convert option of swiss_knife was updated and one incompatible change was introduce: if a v1 device has several addresses, those are converted to a single v2 instance with list (instead of several single instances). This should have been the behaviour from the start. Swiss_knife can now also convert regdumps, in which case it needs to be given both the dump and register description file. Also introduce two register descriptions files (vsoc1000 and vsoc2000) which give more complicated examples of v2 register description files.
utils/regtools/desc/regs-example-v1.xml [diff]
utils/regtools/desc/regs-example.xml [deleted]
utils/regtools/desc/regs-vsoc1000.xml [new]
utils/regtools/desc/regs-vsoc2000.xml [new]
utils/regtools/desc/spec-2.0.txt [diff]
utils/regtools/include/soc_desc.hpp [diff]
utils/regtools/include/soc_desc_v1.hpp [diff]
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/swiss_knife.cpp [diff]
Amaury Pouly
2nd Feb 21:54 16c915e: configure: allow for compiler toolchain override (with warnings)

The current configure script unfortunately does not allow one to use another toolchain than the one hardwire in the script. Although this is good to ensure working builds, it can be burden when one wants to either test other compilers, does not want to have to multiple redundant compilers or when the compiler install script fails for unknown reasons (MIPS I'm looking at you).

The syntax is simple, for example:
/path/to/configure --compiler-prefix arm-none-eabi- Also 'make reconf' will properly keep the prefix.
tools/configure [diff]
Amaury Pouly
1st Feb 02:20 840dacc: AS3543: Fix increasing noise and power consumption if booted through rolo
firmware/drivers/audio/as3514.c [diff]
Mihail Zenkov
29th Jan 01:34 e2f943f: iPod Classic: revert "set initial USB current limit to 500mA"

Reverts commit ead38dbc9df3f63bd4f870ff2365ba48876d5b46

It was introduced as a temporal workaround to avoid the endless restart loop when battery is low, but really it is useless. The bootloader should ensure that there is enough power to launch Rockbox even in the worst scenario.
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
Cástor Muñoz
28th Jan 22:18 4605df1: iPod Classic: remove uninteresting info in HW debug screen

CPU type and frequency of the PLLs are fixed and have no interest at this moment.
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
Cástor Muñoz
23rd Jan 14:54 e6cd53a: Replace SAMSUNG_YH920_PAD with YH92X

seems more logical to me, and is more consistent, since
"SAMSUNG_YH92X_PAD" is already used in the tex files.
apps/SOURCES [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/beatbox/beatbox.c [diff]
apps/plugins/blackjack.c [diff]
apps/plugins/bounce.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/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 35 more files.
Sebastian Leonhardt
23rd Jan 23:04 11c8b39: Fix warning in rolo.
firmware/rolo.c [diff]
Michael Giacomelli
18th Jan 23:21 3f54101: Enable frequency scaling on AMSv2 devices.

Voltage scaling is not yet enabled, but will follow once we are sure these changes are stable. Preliminary testing suggests a large increase in battery life, which will be further improved by voltage scaling. Patch by Mihail Zenkov with help from myself and others on the forums.
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/rolo.c [diff]
firmware/target/arm/as3525/clock-target.h [diff]
firmware/target/arm/as3525/system-as3525.c [diff]
Mihail Zenkov
18th Jan 22:55 7432af0: Make sure the system is boosted before enabling USB hardware.
firmware/target/arm/as3525/usb-as3525.c [diff]
Michael Giacomelli
18th Jan 22:51 9f364a1: Increase button delays in preperation for frequency scaling.

When run at lower clock speeds, delays seem to need to be a little longer in absolute time.
firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c [diff]
Michael Giacomelli
18th Jan 21:35 784790d: Change the clipv2 button driver to use fixed delays rather than processor cycle counting.

Also introduce a new delay needed for frequency scaling.
firmware/target/arm/as3525/button-clip.c [diff]
Michael Giacomelli
17th Jan 19:47 1015088: Fix building with Qt 4.7.

QUrl::isLocalFile() is available starting with Qt 4.8. We can safely check for a file:// url instead.

Qt 4.8 dropped support for OS X 10.4 / 10.5. Since we're still supporting those we need to keep using Qt 4.7 on OS X. We might want to consider requiring at least 10.6 on OS X with the next major release of Rockbox Utility.
rbutil/rbutilqt/base/httpget.cpp [diff]
Dominik Riebeling
17th Jan 18:11 5c027e3: Fix uninstallation for mi4 based bootloader installs.

On case sensitive systems (i.e. Linux) uninstalling the bootloader could fail when renaming the original bootloader file back. Fix this by using the case-resolved filename.
rbutil/rbutilqt/base/bootloaderinstallmi4.cpp [diff]
Dominik Riebeling
30th Dec 17:27 537f9a4: Return process IDs in Utils::findRunningProcess().

Rework to return mapping between (filtered) process names and their pid values
(if running). Note that this functionality is not implemented for Linux (but as it's mostly intended to detect Itunes currently not needed on that platform).
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/utils.h [diff]
Dominik Riebeling
28th Dec 11:20 3b089b4: Add color to trace debug output.
rbutil/rbutilqt/systrace.cpp [diff]
Dominik Riebeling
9th Jan 01:41 610b80b: rbutil: fix writing to rbutil.log after bootloader uninstall
rbutil/rbutilqt/rbutilqt.cpp [diff]
Cástor Muñoz
8th Jan 22:40 0992092: rbutil: fix resolveDevicename() on Windows

Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring when resolveDevicename() is ejecuted prior to ejectDevice(), tested with Qt5.
rbutil/rbutilqt/base/utils.cpp [diff]
Cástor Muñoz
11th Jan 02:56 2ae9431: update deploy.py to recognize and use Qt5
utils/common/deploy.py [diff]
Cástor Muñoz
17th Jan 00:17 09dc358: Change the debug menu to show CPU frequency in MHz.
apps/debug_menu.c [diff]
Michael Giacomelli
16th Jan 12:20 5aa15c4: Translate remaining polish strings.
apps/lang/polski.lang [diff]
Szymon Dziok
16th Jan 11:10 2790b33: Update polish translation.
apps/lang/polski.lang [diff]
Szymon Dziok
12th Jan 20:02 7800aac: Samsung YH92X: Remove unneeded line.
firmware/target/arm/samsung/button-target.h [diff]
Szymon Dziok
11th Jan 20:16 a953964: iPod Classic: fix wake-up from power-off on USB insert
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
Cástor Muñoz
11th Jan 17:37 9e24d5d: iPod Classic: update documentation on PMU target
firmware/target/arm/s5l8702/ipod6g/pmu-target.h [diff]
Cástor Muñoz
28th Dec 11:18 166da9a: Plugin 2048: optimize small tiles

Change 12x12 and 22x22 sized tiles to hand-optimized ones with better readibility :) Tile values >= 1024 are abbreviated to "1k", "2k" etc.
apps/plugins/bitmaps/native/_2048_tiles.12x12x24.bmp [diff]
apps/plugins/bitmaps/native/_2048_tiles.22x22x24.bmp [diff]
manual/plugins/2048.tex [diff]
Sebastian Leonhardt
27th Dec 17:36 87229a4: Plugin Frotz: Match keymap and manual

Change source to match manual description: use UP key to open virtual keyboard.
apps/plugins/frotz/frotz.c [diff]
Sebastian Leonhardt
27th Dec 17:14 5e91ec1: Samsung YH820/92x keymap bugfixes

This patch fixes some (mostly small) plugin issues with the "big" YH-keymap patch (a507b). Only one fix affects the main keymaps
(virtual keyboard "DONE" now exits after long key /release/ instead of long button /press/).
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
apps/plugins/bounce.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/pacbox/pacbox.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/sokoban.c [diff]
apps/plugins/text_editor.c [diff]
apps/plugins/zxbox/keymaps.h [diff]
apps/plugins/zxbox/zxbox.c [diff]
manual/plugins/bubbles.tex [diff]
manual/plugins/doom.tex [diff]
manual/plugins/goban.tex [diff]
manual/plugins/imageviewer.tex [diff]
manual/plugins/pacbox.tex [diff]
manual/plugins/pictureflow.tex [diff]
manual/plugins/rockpaint.tex [diff]
manual/plugins/text_editor.tex [diff]
manual/plugins/xworld.tex [diff]
manual/plugins/zxbox.tex [diff]
Sebastian Leonhardt
20th Dec 11:25 ad65f8c: Handle mixed case in Windows USB ID detection.

Windows XP might use mixed case in hardware ID (VID / PID) string.

Cherry-picked from G#1221.

Signed-off-by: Dominik Riebeling
rbutil/rbutilqt/base/system.cpp [diff]
Cástor Muñoz
20th Dec 10:10 7d7359a: Fix and extend HttpGet unit test again.

Fix wrong initialization (why did that compile?) and add check for progress signal.
rbutil/rbutilqt/test/test-httpget.cpp [diff]
Dominik Riebeling
18th Dec 22:27 70baf0f: Fix compiling HttpGet unit test.

Provide a stub for Logger class to make the test compile.
rbutil/rbutilqt/test/stubs/Logger.h [new]
rbutil/rbutilqt/test/test-httpget.pro [diff]
Dominik Riebeling
18th Dec 22:15 7e7fd0c: Use random port for HttpGet unit tests.

Make local HttpDaemon for testing use a random unused port instead of a fixed one. Avoids possible issues with the port chosen already being used on the local machine.
rbutil/rbutilqt/test/test-httpget.cpp [diff]
Dominik Riebeling
18th Dec 22:10 79d513d: Add documentation to HttpGet and remove unnecessary return value.

HttpGet::getFile() always returns the same value. Remove the return value since it isn't necessary. Add some missing function documentation comments.
rbutil/rbutilqt/base/httpget.cpp [diff]
rbutil/rbutilqt/base/httpget.h [diff]
Dominik Riebeling
18th Dec 22:05 d24a9ea: Add support file:// URLs in HttpGet.

QNetworkAccessManager can handle file:// URLs without additional work. Make HttpGet aware of that so you can now also use it to retrieve file:// URLs. Add a unit test for it as well.
rbutil/rbutilqt/base/httpget.cpp [diff]
rbutil/rbutilqt/test/test-httpget.cpp [diff]
Dominik Riebeling
16th Dec 19:29 4627d4b: Fix static compilation with Qt5.

Qt5 uses a different name for the accessibility plugin. Cherry-picked from G#1221.

Signed-off-by: Dominik Riebeling
rbutil/rbutilqt/main.cpp [diff]
Cástor Muñoz
17th Dec 02:11 2d23c03: iPod Classic: use uncached memory for USB driver
firmware/target/arm/usb-s3c6400x.c [diff]
Cástor Muñoz
17th Dec 01:37 00bda90: iPod Classic: add non-cached memory region

Configures uncached memory region and adds some defines for misc HW, for compability with the bootloader and other future use, current functionality should not be affected.
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/crt0.S [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Cástor Muñoz
16th Dec 23:22 348bfc5: iPod Classic: clickwheel fixes

Uses GPIO.E2 (Request To Send) to detect the holdswitch status, it is a temporal workaround that seems to work on all models.

Holdswitch status must be detected to drive low GPIO.E2 (RTS) and GPIO.E4 (Data Out) when the holdswitch is locked, otherwise battery life decreases about 25%.

Holdswitch unlock action is detected by reading the HELLO message that the external wheel controller sends when it is powered on, this allows to quickly capture clickwheel activity after unlock. GPIO.E2 is also used in case the HELLO message is missed because the holdswitch was unlocked before Rockbox/bootloader starts.

These 2 lines (RTS and DOUT) can not be used to transmit messages to the external clickwheel controller, not a problem, actually no messages are sent while normal operation, only at initialization stage.
firmware/target/arm/ipod/button-clickwheel.c [diff]
Cástor Muñoz
17th Dec 02:33 ead38db: iPod Classic: set initial USB current limit to 500mA
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
Cástor Muñoz
2015-09-26 5c67ebb: iPod Classic: prepare LCD driver for the bootloader

Optimizes encoding of LCD command sequences.
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c [diff]
Cástor Muñoz
2015-09-25 f753b8e: iPod Classic: s5l8702 clocking rewrite+documentation

This is a rewrite of the clocking section, the resulting system frequencies are the same as the current git version.

This pàtch uses fixed FClk and just one register is written to switch all system frequencies, it needs less steps than the current git version to reach the desired frequency, so it is faster and safer. Includes functions to step-up/down over a table of predefined set of frequencies.

The major difference is that Vcore is decreased from 1050 to 1000 mV.

See clocking-s5l8702.h for more information.
firmware/SOURCES [diff]
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/clocking-s5l8702.c [new]
firmware/target/arm/s5l8702/clocking-s5l8702.h [new]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Cástor Muñoz
17th Nov 21:40 ad5e5c4: hwstub: fix atj213x dsp lua code
utils/hwstub/tools/lua/atj/dsp.lua [diff]
Marcin Bukat
17th Nov 12:25 f47f04b: hwstub: Add ajt213x lua interface for DSP block

With this you can upload and run code on DSP core in atj213x.

The files can be produced using as2181. You can download this assembler from https://github.com/wodz/as2181 You should use extended mode (-x switch) since DSP core in atj is non standard and uses 24bit operands. PX register has different meaning as well and is used as MSB when loading other registers with immediates (immediate field is 16bit in instruction so to set register to 24bit value you need to store MSB in PX prior to this).

MAC MR is 56bit accordingly.

HIP interface seems to be mapped at standard addresses
(except that regular 218x doesn't have HIP).

Have a fun!
utils/hwstub/tools/lua/atj.lua [diff]
utils/hwstub/tools/lua/atj/dsp.lua [new]
Marcin Bukat
15th Nov 23:34 5b7c9d4: fix yellow.
apps/plugins/fractals/fractal.h [diff]
Szymon Dziok
2015-07-19 a507bb2: YH8xx,YH9xx: Keymap improvement

The main "innovation" in this patch are two "virtual buttons" for the record switch on YH92x targets. When the switch state changes, a single BUTTON_REC_SW_ON or .._OFF button event will be generated. Thus keymap code can react on switching, but not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
apps/lang/arabic.lang [diff]
apps/lang/basque.lang [diff]
apps/lang/bulgarian.lang [diff]
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/czech.lang [diff]
apps/lang/dansk.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/eesti.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/esperanto.lang [diff]
apps/lang/finnish.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/hindi.lang [diff]
apps/lang/hrvatski.lang [diff]
apps/lang/islenska.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/lietuviu.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
...and 112 more files.
Sebastian Leonhardt
2015-10-20 a8758c9: Fix scrolling left button inadvertently cancels listtree

Depending on the actual keymap, canceling a listtree with the
"scroll left" button may not be intended, especially if the list is entered from a completely different focus
(think of leaving a plugin with "long left")

Note: initializing "scrolling_left" with true without anything actually scrolling sounds odd to me... maybe this variable should be renamed?
"pgleft_allow_cancel" comes to my mind (with opposite boolean states)
apps/gui/list.c [diff]
Sebastian Leonhardt
2015-10-25 ce26212: AB repeat: fix bug that prevents to jump to beginning of track
apps/gui/wps.c [diff]
Sebastian Leonhardt
2015-10-17 d57e651: iPod Classic: enable AB repeat
firmware/export/config/ipod6g.h [diff]
Cástor Muñoz
2015-10-14 2172c11: Samsung YH820/YH92X: different way of powering off to avoid powering on after powering off in a loop on YH92X.
firmware/target/arm/samsung/power-yh82x_yh92x.c [diff]
Szymon Dziok
2015-10-09 c7fc5ca: Fix (D)EBUG compilation errors on targets using FAT
firmware/common/file.c [diff]
firmware/common/file_internal.c [diff]
firmware/drivers/fat.c [diff]
Cástor Muñoz
2014-12-09 d20185a: iPod Classic: reads HDD S.M.A.R.T. data

Adds ata_read_smart() function to storage ATA driver, current SMART data can be displayed and optionally written to hard disk using System->Debug menu.
apps/debug_menu.c [diff]
apps/gui/list.h [diff]
firmware/export/ata.h [diff]
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
2014-12-09 32b4558: iPod Classic: initialize USB power configuration

This patch limits the drawn USB current to 100/500mA, instead of the actual 200/1000mA settings. It also initializes other USB power related GPIOs.

Solves some USB disconnect issues: FS #12990, FS #12956. I am using a powered USB HUB with no problems (Vusb=5.05V unloaded), but there are lots of USB disconnects when using the motherboard USB ports
(Vusb=4.91V), this patch solves all my issues.

Actually, it seems that the USB current drain is limited to 1000mA, when a load peak occurs most USB2 ports deliver more than 500mA, as current consumption increases the USB voltage decreases, an excesive voltage drop produces USB disconnections. Limiting USB current drain to 500mA also limits the voltage drop, preventing subsequent USB failures.

Anyway, to minimize voltage drop, it is recommended to use quality cables and preferably connect to USB ports with higher Vusb.
firmware/target/arm/s5l8702/ipod6g/power-ipod6g.c [diff]
Cástor Muñoz
2014-12-06 be5fc0f: iAP: lingo 1 (microphone)
apps/SOURCES [diff]
apps/audio_path.c [diff]
apps/iap/iap-core.c [diff]
apps/iap/iap-lingo.h [diff]
apps/iap/iap-lingo1.c [new]
apps/iap/iap-lingo2.c [diff]
firmware/export/iap.h [diff]
Cástor Muñoz
2014-12-06 b2d650f: iAP: authentication 1.0
apps/iap/iap-core.c [diff]
apps/iap/iap-core.h [diff]
apps/iap/iap-lingo0.c [diff]
Cástor Muñoz
2014-12-06 efd047a: iPod Classic: implement IPOD_ACCESSORY_PROTOCOL
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c [diff]
firmware/target/arm/s5l8702/ipod6g/serial-ipod6g.c [diff]
Cástor Muñoz
2014-12-06 38ae0d5: iPod Classic: implement HAVE_SERIAL
firmware/SOURCES [diff]
firmware/export/config/ipod6g.h [diff]
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/serial-ipod6g.c [new]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/uart-s5l8702.c [new]
firmware/target/arm/s5l8702/uart-s5l8702.h [new]
Cástor Muñoz
2014-12-06 9f27dc2: iPod Classic: introduce s5l8702 UART driver

- polling/IRQ modes for Tx/Rx (TODO?: DMA)
- fine adjust for Tx/Rx bitrates
- auto bauding using HW circuitry
- status and stats in debug screen
firmware/SOURCES [diff]
firmware/target/arm/s5l8702/uc8702.c [new]
firmware/target/arm/s5l8702/uc8702.h [new]
Cástor Muñoz
2014-12-06 291b233: ipod Classic: implement HAVE_RECORDING

This patch has been tested on iPod 80 and 160slim, actually it works but some updates must be done to the final version:

- unlimitted input buffer
- decrease CHUNK_SIZE
- use non-cached addresses instead of discard d-cache ???

Capture hardware versions:

Ver iPod models capture support
--- ----------- --------------- 0 80/160fat dock line-in 1 120/160slim dock line-in + jack mic

HW version 1 includes an amplifier for the jack plug mic.

Capture HW detection only tested on iPod 80 and 160slim.

CODEC power:

AFAIK, OF powers CS42L55 at VA=2.4V for capture (1.8V for playback) and turns on the ADC charge pump. CODEC datasheet recommmends to disable the charge pump for VA>2.1V.

CS42L55 DS, s4.13 (Required Initialization Settings): for VA>2.1V, some adjustments "must" be done using undocummented
"control port compensation" registers. OF does not modifies these registers when VA=2.4V.

This patch configures capture HW in the same way as OF does.

TODO:
- ADC full scale voltage depends on VA, perform tests to find clipping levels for VA=1.8V and VA=2.4V
firmware/export/config/ipod6g.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/audio-ipod6g.c [diff]
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
2014-12-06 42abc6a: iPod Classic: capture support for CS42L55 codec

There are a couple of power saving options that can be selected using defines, they configure the CODEC in a different way than OF does:

MONO_MIC: jack microphone is connected to left channel, disabling right channel saves ~1 mW, there is no reason to not to do it.

BYPASS_PGA: this option only applies to the line-in, OF does not bypass the PGA and configures it to 0 dB gain. At the beginning, this patch was written based on CODEC datasheet, bypassing PGA because it saves power and incrementes dinamic range ~1dB, i have used this setup for a while without problems. Finally this option was disabled at the last minute, i decided to do it after reviewing the OF and realizing that CS42L55 datasheet recommends to bypass the PGA only if the HW includes a couple of capacitors (see Typical Connection Diagram, Note 4), at this moment i don't know if Classic includes these capacitors (probably not). Anyway, i am not able to tell the difference listening to voice recodings.

TODO:
- Use variable PGA gain for jack microphone (it is fixed to +12 dB. as OF does).
- I am not a fan of having lots of unused #define options, these could be useful for a generic driver but actually this driver is Classic oriented, i am not sure if it could be considered disirable to eliminate them in the final version.
firmware/drivers/audio/cs42l55.c [diff]
firmware/export/cs42l55.h [diff]
Cástor Muñoz
2014-12-06 67b4e7f: iPod Classic: use new PL080 DMA driver

This patch uses the new pl080 DMA driver for I2S playback and LCD update. I have tried to be as fiel as possible to the current behaviour, algorithms and configurations are the same, but using the new driver. Other modifications:

Playback:

- CHUNK_SIZE is decreased from 42988 to 8188 bytes, it does not affect normal playback (block size 1024), was tested using metronome (block size 46080). This change is needed because the new code commits d-cache range instead of commiting the whole d-cache, maximum time spent commiting the range should be limited, CHUNK_SIZE can be decreased even more if necessary.

- pcm_play_dma_start() calls pcm_play_dma_stop() to stop the channel when it is running (metronome replays the tick sound without stopping the channel).

- pcm_play_dma_get_peak_buffer(): same as actual SVN function but returns samples count instead of bytes count. TODO: AFAIK, actually this function is not used in RB. Not tested, but probably this function will fail because it returns pointers to the internal double buffer.

LCD update:

- suppresses lcd_wakeup semaphore and uses yield()
firmware/SOURCES [diff]
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/dma-s5l8702.c [new]
firmware/target/arm/s5l8702/dma-s5l8702.h [new]
firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c [diff]
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
firmware/target/arm/s5l8702/pcm-target.h [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
2014-12-06 d6ee2c9: iPod Classic: introduce PL080 DMA controller driver

Motivation:

This driver began as a set of functions to help to test and experiment with different DMA configurations. It is cumbersome, time consuming, and leads to mistakes to handle LLIs and DMA registers dispersed along the code.

Later, i decided to adapt an old DMA queue driver written in the past for a similar (scatter-gather) controller, all task/queue code is based on the old driver.

Finally, some cleaning and dmac_ch_get_info() function was added to complete RB needs.

Description:

- Generic, can be used by other targets including the same controller. Not difficult to adapt for other similar controllers if necesary.

- Easy to experiment and compare results using different setups and/or queue algorithms:

Multi-controller and fully configurable from an unique place.

All task and LLI management is done by the driver, user only has to (statically) allocate them.

- Two queue modes:

QUEUE_NORMAL: each task in the queue is launched using a new DMA transfer once previous task is finished.

QUEUE_LINK: when a task is queued, it is linked with the last queued task, creating a single continuous DMA transfer. New tasks must be queued while the channel is running, otherwise the continuous DMA transfer will be broken.

On Classic, QUEUE_LINK mode is needed for I2S continuous transfers, QUEUE_NORMAL is used for LCD and could be useful in the future for I2C or UART (non-blocking serial debug) if necessary.

- Robust DMA transfer progress info (peak meter), needs final testing, see below.

Technical details about DMA progress:

There are comments in the code related to the method actually used (sequence method), it reads progress without halting the DMA transfer. Althought the datasheet does not recommend to do that, the sequence method seems to be robust, I ran tests calling dmac_ch_get_info() millions of times and the results were always as expected (tests done at 2:1 CPU/AHB clock ratio, no other ratios were tried but probably sequence method will work for any typical ratio).

This controller allows to halt the transfer and drain the DMAC FIFO, DMA requests are ignored when the DMA channel is halted. This method is not suitable for playback because FIFO is never drained to I2S peripheral (who raises the DMA requests). This method probably works for capture, the FIFO is drained to memory before halting.

Another way is to disable (stop) the playback channel. When the channel is disabled, all FIFO data is lost. It is unknown how much the FIFO was filled when it was cleared, SRCADDR counter includes the lost data, therefore the only useful information is LINK and COUNT, that is the same information disponible when using the sequence method. At this point we must procced in the same way as in sequence method, in addition the playback channel should be relaunched (configure + start) after calculating real SRCADDR.

The stop+relaunch method should work, it is a bit complicated, and not valid for all peripheral FIFO configurations (depending on stream rate). Moreover, due to the way the COUNT register is implemented in HW, I suspect that this method will fail when source and destination bus widths doesn't match. And more important, it is not easy to garantize that no sample is lost here or there, using the sequence method we can always be sure that playback is ok.
firmware/SOURCES [diff]
firmware/export/pl080.h [new]
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/pl080.c [new]
Cástor Muñoz
2014-11-10 609cde9: iPod Classic: s5l8702 GPIO interrupt controller.

This patch implements a simple API to use the external interrupt hardware present on s5l8702 (GPIO interrupt controller). This GPIOIC has been fully tested using emcore apps.

Code is based on openiBoot project, there are a few modifications to optimize space considering we will only use two or three external interrupts. The API compiles and works, but has been never used, therefore probably will need some changes to the final version.

External interrupts are necessary for jack remote+mic controller
(see iAP Interface Specifiction: Headphone Remote and Mic System), this controller is located at I2C bus address 0x72, there is a IRQ line for remote button press/release events routed to GPIO E6. At this moment, the functionallity of this controller has been extensively tested using emcore, getting a lot of information about how it works. Microphone is already working on RB, jack accessory detection and button events are work in progress.

PMU IRQ line is also routed to GPIO F3, it signals many events: holdswitch, usb plug, wall adapter, low battery... The use of PMU interrupts is the orthodox way of doing things, at this moment there is no work done in this direction, there are a lot of PMU events and i think it is a matter of discursion what to do and how.
firmware/SOURCES [diff]
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/gpio-s5l8702.c [new]
firmware/target/arm/s5l8702/gpio-s5l8702.h [new]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
Cástor Muñoz
2015-10-03 3fdb86e: qeditor: fix uninitialised variable
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2015-04-22 f01fb3c: Fix chessbox keymap handling

Let's give the defined, yet unused keymaps some sense :)
apps/plugins/chessbox/chessbox.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
Sebastian Leonhardt
2015-09-29 bc25437: hwstub: make it possible to override toolchain

Default toolchain can be overriden using PREFIX, for example: PREFIX=arm-none-eabi- make
utils/hwstub/stub/atj213x/Makefile [diff]
utils/hwstub/stub/pp/Makefile [diff]
utils/hwstub/stub/rk27xx/Makefile [diff]
utils/hwstub/stub/stmp/Makefile [diff]
Amaury Pouly
2015-08-16 729e713: Snake2: add 128x96x16 bitmaps

These fit by pure chance exactly the YH820 screen :)
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/snake2_bottom.128x96x16.bmp [new]
apps/plugins/bitmaps/native/snake2_header1.128x96x16.bmp [new]
apps/plugins/bitmaps/native/snake2_header2.128x96x16.bmp [new]
apps/plugins/bitmaps/native/snake2_left.128x96x16.bmp [new]
apps/plugins/bitmaps/native/snake2_right.128x96x16.bmp [new]
apps/plugins/snake2.c [diff]
manual/plugins/images/ss-snake2-128x96x16.png [diff]
Sebastian Leonhardt
2015-07-12 072d3cb: Fix Pong button handling

* allow button combos for QUIT (fixes MPIO_HD300)
* allow quitting during PAUSE mode
apps/plugins/pong.c [diff]
Sebastian Leonhardt
2015-07-12 d552ff2: Chip8: implement missing key

KEYA is defined for Fuze+ (even in the manual), but wasn't implemented yet.
apps/plugins/chip8.c [diff]
Sebastian Leonhardt
2015-07-13 59928e6: Shopper: slightly improve plugin and manual

* improve manual (hopefully fixes fs#11988). Parts of the description are taken from fs#10820.
* move ACTION_STD_CONTEXT from alternate select to alternate menu action, as not all targets have ACTION_STD_MENU
* add menu entries for "Quit" and "Quit without saving"
apps/plugins/shopper.c [diff]
manual/plugins/shopper.tex [diff]
Sebastian Leonhardt
2015-09-10 399904a: Samsung YHxxx: reduce pop noise on power down
firmware/drivers/audio/ak4537.c [diff]
Sebastian Leonhardt
2014-12-14 1cada1f: soc_desc: new version of the desc file format

Fix qeditor to use the old soc_desc_v1. Port hwstub_shell to the new description format.
utils/hwstub/tools/Makefile [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/regtools/Makefile [diff]
utils/regtools/desc/XML.txt [deleted]
utils/regtools/desc/regs-example-v1.xml [new]
utils/regtools/desc/regs-example.xml [new]
utils/regtools/desc/spec-1.0.txt [new]
utils/regtools/desc/spec-2.0.txt [new]
utils/regtools/headergen.cpp [deleted]
utils/regtools/headergen_v1.cpp [new]
utils/regtools/include/soc_desc.hpp [new]
utils/regtools/include/soc_desc_v1.hpp [new]
utils/regtools/lib/Makefile [diff]
utils/regtools/lib/formula.cpp [new]
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/lib/soc_desc.hpp [deleted]
utils/regtools/lib/soc_desc_v1.cpp [new]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/swiss_knife.cpp [new]
utils/regtools/tester.cpp [deleted]
utils/regtools/tester_v1.cpp [new]
Amaury Pouly
2014-10-28 c8d3638: qeditor: introduce new "sexy register display"
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-12-18 2c83296: qeditor: use delegate to show bit range information
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2015-07-16 983c808: iPod Classic: do not use HDD features on CE-ATA drives

Fix an 'ATA error' issue that affects CE-ATA devices.
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
2015-04-28 d68eccc: mp3_enc.c: fix MP3 recording at 32 kHz sample rate

Fixes a buffer overflow present when MP3 is encoded at 32000 Hz sample rate, affected bitrates are 320 and 256 kbps.
lib/rbcodec/codecs/mp3_enc.c [diff]
Cástor Muñoz
2015-04-28 ab3581c: utils/parse_testcodec.rb: add support for Opus files
utils/parse_testcodec.rb [diff]
Cástor Muñoz
2015-06-28 e70ea5d: hwstub: Add completion and some pretty printing to the shell

This uses slightly hacked luaprompt to provide all the goodis. See https://github.com/dpapavas/luaprompt for original.
utils/hwstub/tools/Makefile [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/hwlib.lua [diff]
utils/hwstub/tools/prompt.c [new]
utils/hwstub/tools/prompt.h [new]
Marcin Bukat
2015-06-20 465eb72: Fix rebuilding librbspeex on OS X and make rm work on Windows.

OS X ar operates on fat libaries and cannot update existing archives. Remove it first to avoid this. Use a make function when removing files to allow calling the correct command on Windows, which doesn't know about rm.
tools/rbspeex/Makefile [diff]
Dominik Riebeling
2015-06-20 226922e: Fix USB IDs for Sansa c200v2.

The wrong IDs made a connected c200v1 get detected as c200v1 and c200v2 in MTP mode.
rbutil/rbutilqt/changelog.txt [diff]
rbutil/rbutilqt/rbutil.ini [diff]
Dominik Riebeling
2015-06-07 4c4c645: Win32: fix possible crash when listing USB devices.

Make sure to handle if retrieving the device description ends up with a NULL data buffer pointer. Also switch handling the retrieved string using QString.

Fixes a crash reported in the forums.
rbutil/rbutilqt/base/system.cpp [diff]
Dominik Riebeling
2015-06-07 8360937: Append build date when building dev version from local foler.
utils/common/deploy.py [diff]
Dominik Riebeling
2015-02-14 3e5e9cf: AS3543: Fix recording volume setting and voice

Fix regressions introduced by 42219b6e7
firmware/drivers/audio/as3514.c [diff]
Mihail Zenkov
2015-06-01 2ec6fbc: AMS: fix usb initialization in bootloader

Regression after 8b8b85433f6e9ac673adb
bootloader/sansa_as3525.c [diff]
Mihail Zenkov
2015-02-14 e7550a4: AMS: Change DMA transfer size for audio.

Slightly reduces power consumption due to DMA overhead.
firmware/target/arm/as3525/pcm-as3525.c [diff]
Mihail Zenkov
2015-05-30 e606ee4: Make lrelease detection work on Windows.

Make sure to expand variable before testing.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-05-30 ef21b30: Make lrelease detection work on Windows.

Windows doesn't have which, so building natively on Windows didn't create translations anymore. Use a which-less approach instead.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-05-30 e532030: Make revision handling work when building from local folder.
utils/common/deploy.py [diff]
Dominik Riebeling
2015-05-30 5f5d7f6: Fix path creation for zip file names in current folder.

When building in the current tree (i.e. buildfolder ending up as '.') creating the filename to use in the zip file stripped all '.' characters. Use a different way to create the filename to avoid this.
utils/common/deploy.py [diff]
Dominik Riebeling
2015-05-30 2af2a12: Update findversion for change version.h format.

version.h doesn't store the version number as string anymore. Update findversion to use the individual values instead.
utils/common/deploy.py [diff]
Dominik Riebeling
2015-05-18 47d0537: Initially scroll to changelog end.

Since currently new entries are at the bottom scroll down when opening the changelog window.
rbutil/rbutilqt/gui/changelog.cpp [diff]
Dominik Riebeling
2015-05-18 a213c18: Extend project file message output and always run lrelease.

Check for lrelease and always try to run it if found. If not found show a warning. This avoids build problems for certain setups which previously required -config dbg to complete.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-05-14 5db5538: Fix building with MSVC.

MSVC doesn't like function style call to the logger.
rbutil/rbutilqt/rbutilqt.cpp [diff]
Dominik Riebeling
2015-05-13 44fcebb: Fix libs path for building with MSVC.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-03-25 d1598cf: Add information about compiler used to startup log.
rbutil/rbutilqt/rbutilqt.cpp [diff]
Dominik Riebeling
2015-03-25 09a25de: Apply -Wno-unused-local-typedefs for gcc only.
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-03-25 9ecfe61: Separate logger / quazip project file parts.

Move to separate project include file for better readability and reusability.
rbutil/rbutilqt/logger/logger.pri [new]
rbutil/rbutilqt/quazip/quazip.pri [new]
rbutil/rbutilqt/rbutilqt.pri [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-03-08 b230cf3: Update quazip to release 0.7.1.

Update to latest quazip release. Note that quazip is now LGPL and not GPL / LGPL dual licensed anymore.
rbutil/rbutilqt/quazip/LICENSE.GPL [deleted]
rbutil/rbutilqt/quazip/LICENSE.LGPL [new]
rbutil/rbutilqt/quazip/README.ROCKBOX [diff]
rbutil/rbutilqt/quazip/crypt.h [diff]
rbutil/rbutilqt/quazip/ioapi.c [deleted]
rbutil/rbutilqt/quazip/ioapi.h [diff]
rbutil/rbutilqt/quazip/qioapi.cpp [new]
rbutil/rbutilqt/quazip/quazip.cpp [diff]
rbutil/rbutilqt/quazip/quazip.h [diff]
rbutil/rbutilqt/quazip/quazip_global.h [new]
rbutil/rbutilqt/quazip/quazipfile.cpp [diff]
rbutil/rbutilqt/quazip/quazipfile.h [diff]
rbutil/rbutilqt/quazip/quazipfileinfo.cpp [new]
rbutil/rbutilqt/quazip/quazipfileinfo.h [diff]
rbutil/rbutilqt/quazip/quazipnewinfo.cpp [diff]
rbutil/rbutilqt/quazip/quazipnewinfo.h [diff]
rbutil/rbutilqt/quazip/unzip.c [diff]
rbutil/rbutilqt/quazip/unzip.h [diff]
rbutil/rbutilqt/quazip/zip.c [diff]
rbutil/rbutilqt/quazip/zip.h [diff]
rbutil/rbutilqt/rbutilqt.pri [diff]
rbutil/rbutilqt/rbutilqt.pro [diff]
Dominik Riebeling
2015-01-31 d4fee36: Remove unnecessary Id line.
rbutil/rbutilqt/test/tests.pri [diff]
Dominik Riebeling
2015-01-31 4fb4de3: Update german translation.
rbutil/rbutilqt/lang/rbutil_de.ts [diff]
Dominik Riebeling
2015-01-31 72b81c2: Improve update check information dialog.

Show the user both the current and updated version.
rbutil/rbutilqt/base/utils.cpp [diff]
rbutil/rbutilqt/base/utils.h [diff]
rbutil/rbutilqt/changelog.txt [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
rbutil/rbutilqt/test/test-compareversion.cpp [diff]
Dominik Riebeling
2014-11-14 43b1ccf: Add note to boot OF for update with OF on uninstallation.
rbutil/rbutilqt/changelog.txt [diff]
rbutil/rbutilqt/rbutilqt.cpp [diff]
Dominik Riebeling
2015-04-21 c3c2c91: Fix html manual for the Packard Bell Vibe 500.
manual/plugins/xworld.tex [diff]
Szymon Dziok
2015-04-10 91be7ab: Fix snake plugin manual

I copied the direction button description from snake2 manual, as both snakes seem to have the same controls. No guarantee however :)
manual/plugins/snake.tex [diff]
Sebastian Leonhardt
2015-04-19 2e58102: configure: harden arch autodetected a bit

Some arm gcc versions have multiple cpp symbols beginning with __ARM_ARCH, but want only the one that contains the arch version.
tools/configure [diff]
Thomas Martitz
2015-04-01 d8ee5fc: 2048: Cleanup

- more whitespace to enhance readability
- better/fixed/more comments ;)
- some minor optimizations
- general code cleanup
apps/plugins/2048.c [diff]
Franklin Wei
2015-04-19 2453363: Add Thomas White to CREDITS
docs/CREDITS [diff]
Thomas Martitz
2015-03-11 d5ead5c: Don't shorten the playlist on shuffle. Fixes FS #13040
apps/playlist_viewer.c [diff]
Thomas White
2015-04-08 ea334cf: Rename 'expanded' to 'expended'. Was this a typo?
apps/plugins/boomshine.lua [diff]
Christ van Willegen
2015-04-10 06e76a3: Chopper game improvement

This tiny patch gives the player a bit time to overlook the terrain and move the thumb to the action button.
apps/plugins/chopper.c [diff]
Sebastian Leonhardt
2015-04-10 f145660: Norwegian language update (FS #13041)
apps/lang/norsk.lang [diff]
docs/CREDITS [diff]
Åka Sikrom
2015-02-14 f775870: AMS: Fix pop-clicks noise on play/stop.

This noise itroduced by starting/stopping I2SO MCLK. Enable MCLK permanently fix it.
firmware/target/arm/as3525/pcm-as3525.c [diff]
Mihail Zenkov
2015-04-08 926829c: Re-seed the random generator for each new game.
apps/plugins/boomshine.lua [diff]
Christ van Willegen
2015-03-26 e4b8eaa: Add Udo Schläpfer to the credits list because of all the work he has done for the iBasso ports.
docs/CREDITS [diff]
Simon Rothen
2015-03-23 b130b50: Add jz4760 tool

This tool can pack/unpack a jz4760 archive (like the one used for the fiio x1/x3/x5), and can descramble/scramble (it's the same operation) a firmware file (the sys.bin file in the archive). I did my best to keep the compatibility with the leaked Fiio/Ingenic tool which has the same name.

I wrote the tools from scratch, but here are some remarks:
- the format used is a slightly modified IHFS used in the older JZ4640 series, I used the information on the wiki about the IHFS format
- the CRC computation done was already reversed engineered by someone on the forums but I realised this later
- There are a few unknown fields in the headers, see comments in the source code
- The firmware scrambling was discovered by pure guess, I realised there were some repetitve sequences, some I guessed it was a rotative XOR and ran some analysis to find the most probable sequence
utils/jz4760_tools/Makefile [new]
utils/jz4760_tools/packtools.cpp [new]
Amaury Pouly
2015-03-28 32154bf: Portuguese language update (FS #13039)
apps/lang/portugues.lang [diff]
Tiago Medeiros
2015-03-28 dc98c61: Add some missing names from recent translation patches to CREDITS
docs/CREDITS [diff]
Frank Gevaerts
2015-03-28 c39fe43: Update Simplified Chinese and Traditional Chinese translations
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
Purling Nayuki
2015-03-20 70d5708: SVG image of the Sandisk Sansa m200 and other formats for the manual.
manual/rockbox_interface/images/sansam200-front.pdf [new]
manual/rockbox_interface/images/sansam200-front.png [new]
manual/rockbox_interface/images/sansam200-front.svg [new]
Szymon Dziok
2015-02-14 36480c2: Fix a race condition in as3525 I2C driver caused by stacked ISRs.

It was possible for interrupts of higher priority than the current IRQ level to attempt to restart the interface while it was still active on a transfer. The list modification also wasn't protected within the I2C ISR itself.
firmware/target/arm/as3525/ascodec-as3525.c [diff]
Michael Sevakis
2015-03-08 98a69ec: mkimxboot: fix usage message
rbutil/mkimxboot/main.c [diff]
Amaury Pouly
2015-03-06 b8d3287: Mini 2440: make the SVG brighter.
manual/rockbox_interface/images/mini2440-front.svg [diff]
Szymon Dziok
2015-03-05 2029134: SVG image for the Mini 2440.

Done mainly for use on the simulators page.
manual/rockbox_interface/images/mini2440-front.svg [new]
Szymon Dziok
2015-03-04 0d9124f: qeditor: Add external static libraries to build dependecies

The solution is a bit hacky as it simply call make in libs directory as pre-dependency. Clean doesn't touch libs.
utils/regtools/qeditor/qeditor.pro [diff]
Marcin Bukat
2015-03-04 726a2bd: Bulgarian language update (FS #13035)
apps/lang/bulgarian.lang [diff]
Kostadin Kolev
2015-03-01 079d7fb: Revert "PictureFlow: Add move callback for buflib allocations"

It's not needed as picture flow has it's own buffer.

This reverts commit 9076b433d18b5db1a1987fe99ca7c70808f22b0e.

Detailed explanation from Thomas Martiz (thanks!):

buflib buffers can be passed to yielding functions just fine. Problems only arise if the are concurrent allocations, for example if two threads allocate from the same context simultaneously or if the callee does it's own allocations. This can't happen in the pictureflow case, it has it's own context and a single thread allocating from it.

Therefore the problem isn't yield() itself, but possible concurrent buflib_alloc() calls that result from the thread switch. This is because compaction only ever happens on allocation (and not in a backgroud thread or so).
apps/plugins/pictureflow/pictureflow.c [diff]
Thomas Jarosch
2015-02-24 55f1d94: Fix warnings in firmware/screendump.c
firmware/screendump.c [diff]
Franklin Wei
2015-02-24 17ee90c: Fix whitespace in firmware/screendump.c
firmware/screendump.c [diff]
Franklin Wei
2015-02-24 e4108a3: Fix warning in firmware/common/structec.c
firmware/common/structec.c [diff]
Franklin Wei
2015-02-24 0872486: Whitespace fixes in firmware/common/structec.c
firmware/common/structec.c [diff]
Franklin Wei
2015-02-22 c4bf2e3: German language update (FS #13024)
apps/lang/deutsch.lang [diff]
Torsten Schrainer
2015-02-22 1865efc: Update Russian and French rbutil translations.
rbutil/rbutilqt/lang/rbutil_fr.ts [diff]
rbutil/rbutilqt/lang/rbutil_ru.ts [diff]
Семён Жуковский
2015-02-22 a7fa25d: Romanian language update (FS #13021)
apps/lang/romaneste.lang [diff]
Stefan Moisei
2015-02-22 089202f: Bulgarian language update (FS #13017)
apps/lang/bulgarian.lang [diff]
Kostadin Kolev
2015-02-22 56b5ad1: Catalan language update (FS #13025)
apps/lang/catala.lang [diff]
Jordi Prenafeta
2015-02-22 a38eb4e: Portuguese language update (FS #13001)
apps/lang/portugues.lang [diff]
Tiago Medeiros
2015-02-22 93dd74a: Italian language update (FS #12897)
apps/lang/italiano.lang [diff]
Alessio Lenzi
2015-02-22 272b558: Lamp plugin: Allow toggling the button light using "select".
apps/plugins/lamp.c [diff]
apps/plugins/lib/helper.c [diff]
apps/plugins/lib/helper.h [diff]
manual/plugins/lamp.tex [diff]
Frank Gevaerts
2015-02-21 b84fd87: iBasso DX50/DX90 added as "unstable" to builds.pm
tools/builds.pm [diff]
Simon Rothen
2015-02-16 27c7e47: Revert "usb_storage: make it a bit more correct"

Clearly this was a stupid commit, no idea why I did that.

This reverts commit 074e911859a0d3464fde9b701b3cff712c5826e0.
firmware/usbstack/usb_storage.c [diff]
Amaury Pouly
2015-02-16 7d91f8a: zen*: fix yes/no dialog string
apps/lang/english.lang [diff]
Amaury Pouly
2015-01-08 f5f9784: Introduce a new analysis tool to detect which macros are defined in each build.

See the usage() for more information.
utils/analysis/check_defines.sh [new]
Amaury Pouly
2015-02-15 74fc3ef: Prevent configure from being run in the root of the tree, fix a typo in the configure script
tools/configure [diff]
Franklin Wei
2015-02-15 0f34c51: Creative ZEN: context menu now accessible with 'menu' key
apps/keymaps/keymap-zen.c [diff]
Giovanni Tataranni
2015-02-14 8a078d7: iBasso DX90 sound enabling fix

Writing 0 instead of '0' to /sys/class/codec/wm8740_mute enables sound on DX90.
firmware/target/hosted/ibasso/system-ibasso.c [diff]
Eduard Kutuev
2015-02-07 d81b362: iBasso DX50: Digital filter roll off setting.

This patch enables "Settings -> Sound Settings -> DAC's filter roll-off" for the iBasso DX50.

Confirmed working on iBasso DX50, firmware 1.6.
firmware/target/hosted/ibasso/dx50/audiohw-dx50.c [diff]
firmware/target/hosted/ibasso/dx50/codec-dx50.h [diff]
firmware/target/hosted/ibasso/sysfs-ibasso.c [diff]
firmware/target/hosted/ibasso/sysfs-ibasso.h [diff]
Udo Schläpfer
2014-06-29 8aa72f0: Enhancement of the metronome plugin:

- square sine tick and tock sounds (more annoying, more useful;-)
- optical indication of tics on display
- unification of mode of operation for SWCODEC and HWCODEC (tested on simulator) Both playback and display drawing happen in main loop, always.
- operating in two modes now:
-- 1. classic dumb metronome
--- active when openened as application without file to open
--- the usual functionality with tapping and bpm change
--- controls indicated on display
-- 2. track mode with programmable series of parts
--- active when started as viewer for a .tempo file
--- differing meters (4/4, 3/4, 6/8, etc.)
--- patterns (tick/tock/silence on each beat)
--- smooth tempo changes in those tracks

This version had lots of testing regarding metronome accuracy, resulting in the realization that PLL A and PLL B differ on the Clip+, causing drift. There is still drift when the timer intervall is too small, so I settled on 2 ms as compromise.

This is the final version, after adding documentation and extensive help from Sebastian Leonhardt testing it on slower hardware (YH820), where it works up to 650 actual bpm with display indication.

Latest change: Documentation nitpicks.
apps/plugins/SOURCES [diff]
apps/plugins/metronome.c [diff]
apps/plugins/viewers.config [diff]
docs/CREDITS [diff]
manual/plugins/metronome.tex [diff]
Thomas Orgis
2015-01-21 95fdad5: iBasso DX50/DX90: User selectable USB mode.

Depends on http://gerrit.rockbox.org/r/#/c/1043/.

This patch adds a new setting in Settings -> General -> System: USB Mode.

Usable in Quickscreen and Shortcuts.

Possible settings are:
- Mass Storage: The default, on USB connect export the internal and external drives as usual. Rockbox will exit gracefully in this case, since the internal drive (/mnt/sdcard) is exported as mass storage device and Android prevents Rockbox from continued execution.
- Charge Only: USB charge only, do not export the internal and external drives. This will not close Rockbox.
- ADB: Enable the Android Debug Bridge. This will not close Rockbox.

Charge only and ADB are actually the same, since it is not yet established if charge only is doable without adb and major hooks into Android.

German translation provided.

This may be genric for Android based devices but is only enabled for iBasso Devices. Other maintainers may choose do adopt this.
apps/lang/deutsch.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/target/hosted/ibasso/system-ibasso.c [diff]
Udo Schläpfer
2015-01-30 040306a: iBasso DX50/DX90: User selectable freq scaling governor.

Depends on http://gerrit.rockbox.org/r/#/c/1043/.

This patch adds a new setting in Settings -> General
-> System: Freq Scaling Governor

Usable in Quickscreen and Shortcuts.

Possible settings are:
- Conservative: Slow frequency switching.
- Ondemand or Interactive: Fast frequency switching.
- Powersave: Allways lowest frequency.
- Performance: Allways highest frequency.

German translation provided.

This may be genric for Android kernel based devices but is only enabled for iBasso Devices. Other maintainers may choose do adopt this.
apps/lang/deutsch.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/SOURCES [diff]
firmware/target/hosted/ibasso/governor-ibasso.c [new]
firmware/target/hosted/ibasso/governor-ibasso.h [new]
firmware/target/hosted/ibasso/system-ibasso.c [diff]
Udo Schläpfer
2015-02-02 dbabd0d: iBasso DX50/DX90: Major code cleanup and reorganization.

Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone hosted targets. Most device specific code is in the firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed. 32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf, logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
(see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight interface and new option for hold switch, touchscreen, physical button interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50. Compiled (not tested) for iBasso DX90. Compiled (not tested) for PLATFORM_ANDROID.
apps/SOURCES [diff]
apps/action.c [diff]
apps/keymaps/keymap-dx50.c [diff]
apps/keymaps/keymap-touchscreen.c [diff]
apps/main.c [diff]
apps/playback.c [diff]
apps/plugins/SOURCES.app_build [diff]
apps/plugins/SUBDIRS.app_build [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/plugins.make [diff]
apps/root_menu.c [diff]
apps/scrobbler.c [diff]
apps/settings.h [diff]
firmware/SOURCES [diff]
firmware/backlight.c [diff]
firmware/drivers/audio/android.c [diff]
firmware/drivers/button.c [diff]
firmware/export/audiohw.h [diff]
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/export/hosted_codec.h [diff]
firmware/export/pcm_mixer.h [diff]
firmware/export/rbpaths.h [diff]
firmware/powermgmt.c [diff]
firmware/target/hosted/android/dx50/adc-target.h [deleted]
firmware/target/hosted/android/dx50/backlight-dx50.c [deleted]
firmware/target/hosted/android/dx50/backlight-target.h [deleted]
firmware/target/hosted/android/dx50/button-dx50.c [deleted]
firmware/target/hosted/android/dx50/button-target.h [deleted]
firmware/target/hosted/android/dx50/lcd-dx50.c [deleted]
...and 46 more files.
Udo Schläpfer
2015-02-02 cef17e3: iBasso DX50/DX90: Rockbox loader, replacement for original firmware MangoPlayer.

This loader is needed to use Rockbox on iBasso DX50/DX90 devices. It replaces
/system/bin/MangoPlayer.

It expects
- the original firmware MangoPlayer as /system/bin/MangoPlayer_original
- the chooser.bmp file as /system/chooser.bmp
- the rbmissing.bmp file as /system/rbmissing.bmp
- the usb.bmp file as /system/usb.bmp
- Rockbox in /mnt/sdcard/.rockbox/ (internal device storage accessable via USB)

On first boot or if the device is booted with the hold switch engaged (upper, locked position) this loader will let the user choose between Rockbox and the orginal firmware MangoPlayer. It remembers the last choice and will start the choosen player an following boots.

In the chooser screen
- the device can be powered off with a power button long press.
- Rockbox can be startet with the "Next/Fast Forward" button or by touching the right part of the touchscreen.
- the orginal firmware MangoPlayer can be startet with the "Previous/Rewind" button or by touching the left part of the touchscreen.

If Rockbox can not be found/executed than a "Rockbox is missing" screen will be shown and the orginal firmware MangoPlayer will be started after 30 seconds.

This loader will (try to) restart Rockbox or the orginal firmware MangoPlayer if something unexpected happens.

This loader can be installed via a customized firmware image (update.img) or manually via the Android Debug Bridge (if you get adbd started on the device).

This is a rewrite and code clean up of the original submission, eliminating the need for a custom Android Vold. This loader "knows", when Rockbox has exited due to a USB mass storage connection remounting /mnt/sdcard and acts accordingly, displaying a "USB connection" screen while waiting to restart Rockbox.
rbutil/ibassoboot/jni/Android.mk [diff]
rbutil/ibassoboot/jni/ibassodualboot.c [diff]
rbutil/ibassoboot/jni/rbmissing.bmp [new]
rbutil/ibassoboot/jni/usb.bmp [new]
Udo Schläpfer
2015-01-21 a312ca1: CPUFreq scaling governor interface for Linux/Android hosted devices.

For a usage example see http://gerrit.rockbox.org/r/#/c/1074/
firmware/SOURCES [diff]
firmware/target/hosted/cpufreq-linux.c [new]
firmware/target/hosted/cpufreq-linux.h [new]
Udo Schläpfer
2014-12-13 6d3dc8f: iBasso DX50/DX90: CPU info enhancements.

System -> Debug (Keep Out) -> View CPU stats

Will now show the current cpufreq scaling governor, minimum, current and maximum cpufreq scaling frequency for each CPU.

This may be genric for Android kernel based devices but is only enabled for iBasso Devices. Other maintainers may choose do adopt this.
apps/debug_menu.c [diff]
firmware/target/hosted/cpuinfo-linux.c [diff]
firmware/target/hosted/cpuinfo-linux.h [diff]
Udo Schläpfer
2015-01-28 572b36a: fix surround & pbe dsp crash

check handle before clean up buffer in flush().
lib/rbcodec/dsp/pbe.c [diff]
lib/rbcodec/dsp/surround.c [diff]
Chiwen Chang
2015-01-04 f35d63b: ypr0/ypr1: GPIO handling API refactoring

The GPIO APIs for ypr0 and ypr1 targets was messy, requiring a direct communication via several ioctls calls. Since it is planned to add support to other devices, more GPIO are going to be used. For that reason the functions shall be clear and easy to use.
firmware/target/hosted/samsungypr/gpio-ypr.c [diff]
firmware/target/hosted/samsungypr/gpio-ypr.h [diff]
firmware/target/hosted/samsungypr/ypr0/button-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr0/system-ypr0.c [diff]
firmware/target/hosted/samsungypr/ypr1/button-ypr1.c [diff]
Lorenzo Miori
2014-01-04 6879dec: yp-r0: improve the charging code

Some people reported strange charging times and strange battery life. Charging by OF: 25 hours; RB: 18 hours It has been found that there are at least two issues here:

1) the way of getting battery charging status wasn't really accurate. This attempts to fix that issue. This patch also simplifies some code (opening a device is no more needed, for example).

To technically explain, battery charging implies first a constant current mode (where the voltage increases) and then a constant voltage mode (where, obviously, the voltage reads more or less the same). The old way the End Of Charge was detected was based solely on the voltage, while now it is based on chip's EOC interrupt, which should be more accurate.

2) OF explicitly sets a constant current 350 mA, while we usually had 55 mA (by as3543 default). This wasn't discovered before since there is a caching problem
("an accurate guess") in the Samsung power mgmt Linux module, thus its debugging dumper wasn't really working, reporting a 55 mA current. Strangely this option should have been set by the bootloader but apparently it does not.

Some testing is still needed, but I confirm that with this patch I could run a benchmark for 25 hours (vs. 18 hours), by charging within Rockbox of course.
firmware/export/config/samsungypr0.h [diff]
firmware/target/hosted/samsungypr/ypr0/powermgmt-ypr0.c [diff]
Lorenzo Miori
2015-01-23 f65baf9: atj213x: Fix DMAC block in description file
utils/regtools/desc/regs-atj213x.xml [diff]
Marcin Bukat
2015-01-22 15d4be5: atj213x: fix desc file errors

Catched by swiss_knife check there are some overlaping fields and invalid characters in some names.
utils/regtools/desc/regs-atj213x.xml [diff]
Marcin Bukat
2015-01-22 716fea8: Fix some language in the sound settings manual.
manual/configure_rockbox/sound_settings.tex [diff]
Michael Giacomelli
2015-01-22 30784cc: fix pbe/haas surround dsps: surround_enabled, redo flush functions.

surround_enabled was never true, end up dsp_surround_flush didn't work; Thats why a cracking noise occurs in right channel when moving track positions.

redo pbe/surround flush in a much simpler way suits the current single buffer style.
lib/rbcodec/dsp/pbe.c [diff]
lib/rbcodec/dsp/surround.c [diff]
Chiwen Chang
2015-01-20 5732e3e: Fix typo in zxbox.tex that broke the manual builds for some targets
manual/plugins/zxbox.tex [diff]
Frank Gevaerts
2014-12-28 42219b6: Bypass the AS3543 audio mixer at higher volumes.

This change reduces noise and distortion very slightly at higher volumes.
firmware/drivers/audio/as3514.c [diff]
Mihail Zenkov
2015-01-19 163ca14: Enable buflib and core_alloc for warble.

Most of the work comes from http://gerrit.rockbox.org/r/#/c/1088/ by Thomas Jarosch.
lib/rbcodec/platform.h [diff]
lib/rbcodec/rbcodecplatform-unix.h [diff]
lib/rbcodec/test/SOURCES [diff]
lib/rbcodec/test/warble.c [diff]
Frank Gevaerts
2014-08-22 3ae0f32: three new DSPs

perceptual bass enhancement
- a bbe-ish group delay corrction with Biophonic EQ boost.
- precut

auditory fatigue reduction
-reduce signal in frequency that may trigger temporary threshold shift

haas surround
-frequency between f(x1) and f(x2) is always bypassed.
-can apply to side only.
apps/lang/english.lang [diff]
apps/menus/sound_menu.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
lib/rbcodec/SOURCES [diff]
lib/rbcodec/dsp/afr.c [new]
lib/rbcodec/dsp/afr.h [new]
lib/rbcodec/dsp/dsp_filter.c [diff]
lib/rbcodec/dsp/dsp_filter.h [diff]
lib/rbcodec/dsp/dsp_proc_database.h [diff]
lib/rbcodec/dsp/dsp_proc_settings.h [diff]
lib/rbcodec/dsp/pbe.c [new]
lib/rbcodec/dsp/pbe.h [new]
lib/rbcodec/dsp/surround.c [new]
lib/rbcodec/dsp/surround.h [new]
manual/configure_rockbox/sound_settings.tex [diff]
Chiwen Chang
2014-09-20 2cdfc43: hwstub: implement read/write data abort recovery
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/asm/arm/system.S [new]
utils/hwstub/stub/asm/mips/atomic_rw.S [diff]
utils/hwstub/stub/asm/mips/system.S [new]
utils/hwstub/stub/atj213x/crt0.S [diff]
utils/hwstub/stub/atj213x/hwstub.lds [diff]
utils/hwstub/stub/main.c [diff]
utils/hwstub/stub/rk27xx/crt0.S [diff]
utils/hwstub/stub/stmp/crt0.S [diff]
utils/hwstub/stub/stmp/hwstub.lds [diff]
utils/hwstub/stub/system.h [diff]
Amaury Pouly
2015-01-13 2ee2a96: Fix crash on uninitialized variable

The WRITE() macro checks if the "fw" pointer is open upon fwrite() error. Since fw was not initialized before use, it might crash for non-zero fw.

cppcheck reported.
[utils/jz4740_tools/HXFreplace.c:187]: (error) Uninitialized variable: fw
utils/jz4740_tools/HXFreplace.c [diff]
Thomas Jarosch
2015-01-13 1212edd: Don't return pointer to array allocated on the stack

It will be out of scope once the function is left.

cppcheck reported:
[firmware/drivers/rtc/rtc_zenvisionm.c:31]: (error) Pointer to local array variable returned.
[firmware/drivers/rtc/rtc_zenvisionm.c:38]: (error) Pointer to local array variable returned.
firmware/drivers/rtc/rtc_zenvisionm.c [diff]
Thomas Jarosch
2015-01-12 a71603b: Clean up bogus 'make compiler happy' code

Less code makes the compiler even happier.
utils/zenutils/libraries/zlib123/zlib/deflate.c [diff]
utils/zenutils/libraries/zlib123/zlib/zutil.c [diff]
Thomas Jarosch
2015-01-12 789df17: ARM unwinder for thumb: Fix broken MOV opcode

The origin of the register value was never moved in the desired register state due to a typo ('rhs' vs. 'rhd').

While looking at the code, I noticed the action taken for the register value is another copy'n'paste error from the ADD opcode above -> it added to the register value instead of MOVing the current value.

Patch submitted upstream.

cppcheck reported:
[lib/unwarminder/unwarm_thumb.c:473]: (warning) Redundant assignment of 'state.regData[rhd].o' to itself.
lib/unwarminder/unwarm_thumb.c [diff]
Thomas Jarosch
2015-01-12 7990241: Fix red
lib/unwarminder/unwarm_arm.c [diff]
Thomas Jarosch
2015-01-12 7361a43: ARM unwinder for thumb: Fix broken SUB opcode

Detected while looking through the code. Patch submitted upstream.
lib/unwarminder/unwarm_thumb.c [diff]
Thomas Jarosch
2015-01-12 fa592cc: ARM unwinder: Add missing 'register' variable in debug output

Also fix a wrong format specifier for an unsigned variable. Detected by cppcheck, patch submitted upstream.
lib/unwarminder/unwarm_arm.c [diff]
Thomas Jarosch
2015-01-12 1589b28: ARM unwinder: Add missing va_end() call.

Detected by cppcheck, patch submitted upstream.
lib/unwarminder/unwarm.c [diff]
Thomas Jarosch
2015-01-08 8d0bdc7: SVG image of the Samsung YP-R1 and other formats for the manual.
manual/rockbox_interface/images/samsungypr1-front.pdf [new]
manual/rockbox_interface/images/samsungypr1-front.png [new]
manual/rockbox_interface/images/samsungypr1-front.svg [new]
Szymon Dziok
2015-01-12 200ca66: Fix red/yellow round #2
bootloader/mpio_hd200_hd300.c [diff]
firmware/target/arm/pbell/vibe500/backlight-target.h [diff]
uisimulator/common/backlight-sim.h [diff]
Marcin Bukat
2015-01-12 3d98386: Set latex input to /dev/null to avoid blocking on errors
manual/LaTeX.Rules [diff]
manual/Makefile.pdflatex [diff]
Frank Gevaerts
2015-01-12 9ffd932: Fix red/yellow
apps/plugins/lib/grey_core.c [diff]
firmware/target/arm/ipod/backlight-mini1g_mini2g.c [diff]
firmware/target/arm/ipod/backlight-target.h [diff]
firmware/target/arm/olympus/mrobe-100/backlight-target.h [diff]
firmware/target/arm/pbell/vibe500/backlight-target.h [diff]
firmware/target/arm/tcc780x/cowond2/button-cowond2.c [diff]
firmware/target/coldfire/iriver/h100/backlight-h100.c [diff]
firmware/target/coldfire/iriver/h100/backlight-target.h [diff]
firmware/target/coldfire/mpio/backlight-mpio.c [diff]
firmware/target/coldfire/mpio/backlight-target.h [diff]
firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c [diff]
uisimulator/common/backlight-sim.h [diff]
Marcin Bukat
2014-12-08 bbd7d1d: regtools/headergen: Make generator more flexible
utils/regtools/headergen.cpp [diff]
Marcin Bukat
2015-01-08 89ba7e8: Get rid of stupid _backlight_* function names

_remote_backlight_* and _buttonlight_* are cleaned as well
apps/plugins/lib/grey_core.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
bootloader/gigabeat.c [diff]
bootloader/iaudio_coldfire.c [diff]
bootloader/imx233.c [diff]
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
bootloader/main-e200r-installer.c [diff]
bootloader/main-pp.c [diff]
bootloader/main-ppsansawipe.c [diff]
bootloader/meizu_m3.c [diff]
bootloader/mpio_hd200_hd300.c [diff]
bootloader/samsung_yps3.c [diff]
bootloader/sansaview.c [diff]
bootloader/telechips.c [diff]
firmware/backlight-sw-fading.c [diff]
firmware/backlight.c [diff]
firmware/export/backlight.h [diff]
firmware/target/arm/as3525/backlight-e200v2-fuze.c [diff]
firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c [diff]
firmware/target/arm/as3525/sansa-c200v2/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-clip/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c [diff]
firmware/target/arm/as3525/sansa-clipplus/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c [diff]
firmware/target/arm/as3525/sansa-clipv2/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-clipzip/backlight-clipzip.c [diff]
firmware/target/arm/as3525/sansa-clipzip/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-e200v2/backlight-target.h [diff]
firmware/target/arm/as3525/sansa-fuze/backlight-target.h [diff]
...and 118 more files.
Marcin Bukat
2015-01-11 2a3e162: Limit more variables to file scope
apps/plugins/imageviewer/png/tinflate.c [diff]
apps/plugins/lua/gmtime.c [diff]
firmware/drivers/ata_flash.c [diff]
firmware/drivers/lcd-charset-player.c [diff]
firmware/test/buflib/test_main2.c [diff]
firmware/test/buflib/test_move2.c [diff]
flash/uart_boot/uart_boot.c [diff]
gdb/sh-stub.c [diff]
lib/rbcodec/codecs/libfaad/codebook/hcb.h [diff]
lib/rbcodec/codecs/libfaad/huffman.c [diff]
lib/rbcodec/codecs/libfaad/syntax.c [diff]
lib/rbcodec/codecs/libgme/inflate/mallocer.c [diff]
lib/rbcodec/codecs/libspeex/filters.c [diff]
lib/rbcodec/codecs/libwavpack/wputils.c [diff]
lib/rbcodec/codecs/libwmapro/mdct_tables.c [diff]
lib/rbcodec/codecs/mod.c [diff]
lib/rbcodec/codecs/sid.c [diff]
lib/rbcodec/codecs/wav64.c [diff]
lib/skin_parser/skin_debug.c [diff]
lib/skin_parser/skin_parser.c [diff]
rbutil/mkimxboot/main.c [diff]
Thomas Jarosch
2015-01-04 85c98bc: Improve readability by adding parenthesis
firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c [diff]
Thomas Jarosch
2015-01-11 cfbd9cb: Make a few local variables static
apps/playback.c [diff]
firmware/core_alloc.c [diff]
firmware/drivers/ramdisk.c [diff]
firmware/logf.c [diff]
firmware/powermgmt.c [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/sh/archos/recorder/powermgmt-recorder.c [diff]
Thomas Jarosch
2015-01-11 5f5a83e: maemo: Clean up unused variables
firmware/target/hosted/maemo/maemo-thread.c [diff]
Thomas Jarosch
2015-01-05 2d41866: Remove playback control from XWorld, fix comments a bit

XWorld grabs the audio buffer when it starts, so there can be no playback, making the playback control menu useless :P
apps/plugins/xworld/sys.c [diff]
Franklin Wei
2015-01-08 761e798: usb: finally get rid of USE_ROCKBOX_USB in Sansa bootloader, use bootloader usb

For some reason, the bootloader and config files didn't define HAVE_BOOTLOADER_USB_MODE, also remove the special cases in usb.c which they implied.
bootloader/sansa_as3525.c [diff]
firmware/export/config/sansac200v2.h [diff]
firmware/export/config/sansaclip.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansae200v2.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/export/config/sansam200v4.h [diff]
firmware/usb.c [diff]
Amaury Pouly
2015-01-08 246026c: imx233: add a comment in the bootloader
bootloader/imx233.c [diff]
Amaury Pouly
2015-01-08 9d160c2: Include scrreprt.4ht from http://tug.org/svn/texlive/trunk/Master/texmf-dist/tex/generic/tex4ht/

This is needed because the version in scrreprt.4ht in debian isn't compatible with other current bits of the TeX installation.
manual/scrreprt.4ht [new]
Frank Gevaerts
2015-01-02 3aebdfa G#1098: usb: make usb_release_exclusive_storage private
firmware/export/usb.h [diff]
firmware/usb.c [diff]
Amaury Pouly
2015-01-02 dc127f2 G#1097: Clarify usb_powered() and fix some code.

Either by mistake or because its meaning changed, usb_powered() doesn't mean what the name suggest, so clarify its meaning by renaming it to usb_powered_only. So use of usb_powered() are replaced by usb_inserted() when it makes more sense.
apps/gui/skin_engine/skin_tokens.c [diff]
apps/main.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/battery_bench.c [diff]
firmware/export/usb.h [diff]
firmware/powermgmt.c [diff]
firmware/usb.c [diff]
lib/skin_parser/tag_table.c [diff]
lib/skin_parser/tag_table.h [diff]
uisimulator/common/stubs.c [diff]
Amaury Pouly
2015-01-02 1ab9155 G#1096: usb: document usb states, powering and detection
firmware/export/usb.h [diff]
Amaury Pouly
2015-01-02 ae37d19 G#1095: usb: document usb_status_event and #ifdef it with USB_STATUS_BY_EVENT
firmware/export/usb.h [diff]
Amaury Pouly
2015-01-01 268114e G#1094: usb: move usb charging function prototype from usb_core.h to usb.h
firmware/export/usb.h [diff]
firmware/export/usb_core.h [diff]
Amaury Pouly
2014-12-30 66690ca G#1091: Get rid of USE_ROCKBOX_USB

Except for unfinished or experimental ports, it isthe case that USE_ROCKBOX_USB and HAVE_USBSTACK are both defined or both undefined. Furthermore, it is a leftover of some early developments on the USB stack and doesn't make sense anymore.
apps/features.txt [diff]
firmware/drivers/ata.c [diff]
firmware/export/config.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/creativezenxfi2.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/creativezenxfistyle.h [diff]
firmware/export/config/creativezv.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/ihifi760.h [diff]
firmware/export/config/ihifi960.h [diff]
firmware/export/config/ipod4g.h [diff]
firmware/export/config/ipod6g.h [diff]
firmware/export/config/ipodcolor.h [diff]
firmware/export/config/ipodmini1g.h [diff]
firmware/export/config/ipodmini2g.h [diff]
firmware/export/config/ipodnano1g.h [diff]
...and 36 more files.
Amaury Pouly
2015-01-05 f91434c: Fix yellow
lib/skin_parser/skin_parser.c [diff]
lib/skin_parser/skin_parser.h [diff]
lib/skin_parser/skin_scan.c [diff]
lib/skin_parser/skin_scan.h [diff]
Thomas Jarosch
2015-01-05 fdd4aef: Make thirty functions static to reduce binary size

If any of those functions should be (unused) API functions, they can easily be turned back once really needed.

Detected using a new cppcheck check that uses the internal symbol database to catch functions that are only used in the current file.
apps/plugins/pdbox/PDa/src/d_imayer_fft.c [diff]
firmware/drivers/ata_flash.c [diff]
firmware/events.c [diff]
firmware/ifp_usb_serial.c [diff]
flash/make_firmware/make_firmware.c [diff]
flash/minimon/minimon.c [diff]
lib/skin_parser/skin_parser.c [diff]
lib/skin_parser/skin_parser.h [diff]
lib/skin_parser/skin_scan.c [diff]
lib/skin_parser/skin_scan.h [diff]
Thomas Jarosch
2015-01-04 c907e12: jz4740 usbtool: Fix undefined behavior in set_reg()

The variable 'i' should actually be 'size'. See the read_reg() function above it.

Confirmed via private email from Maurus Cuelenaere. Thanks!
(who also remembered having trouble reading/setting registers over USB back then ;))

cppcheck reported:
[rockbox/utils/jz4740_tools/jz4740_usbtool.c:281]: (error) Uninitialized variable: i
utils/jz4740_tools/jz4740_usbtool.c [diff]
Thomas Jarosch
2015-01-04 b43fcbd: mktime(): Remove redundant assignment of 'result'

Checked with upstream lynx source code and the second calculation line is the upstream one, too.
(In fact I diffed the whole function to check for changes)

cppcheck reported:
[rockbox/firmware/libc/mktime.c:43] -> [rockbox/firmware/libc/mktime.c:44]: (performance) Variable 'result' is reassigned a value before the old one has been used.
firmware/libc/mktime.c [diff]
Thomas Jarosch
2015-01-04 404ebb8: hosted target: Fix uninitialized variable in dirinfo.attribute

cppcheck reported:
[rockbox/firmware/target/hosted/filesystem-app.c:509]: (error) Uninitialized struct member: ret.attribute
[rockbox/firmware/target/hosted/filesystem-app.c:517]: (error) Uninitialized struct member: ret.attribute
firmware/target/hosted/filesystem-app.c [diff]
Thomas Jarosch
2015-01-04 89ab3c2: Fix uninitialized variable (should fix libusb retry handling)

Reported by cppcheck
utils/atj2137/adfuload/adfuload.c [diff]
utils/rk27utils/rkusbtool/rkusbtool.c [diff]
Thomas Jarosch
2015-01-04 8f1fbd1: Remove unneeded std::string .c_str() call

cppcheck reported:
[utils/zenutils/source/update_patch/main.cpp:105]: (performance) Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant.
utils/zenutils/source/update_patch/main.cpp [diff]
Thomas Jarosch
2015-01-03 d0fffd6 G#1117: Fix a tiny whitespace error in CREDITS
docs/CREDITS [diff]
Franklin Wei
2015-01-03 a5ec3f4: Add buflib tests to .gitignore
.gitignore [diff]
Thomas Jarosch
2015-01-03 c5933f4: Add and adapt buflib shrink tests
firmware/test/buflib/Makefile [diff]
firmware/test/buflib/test_shrink.c [new]
firmware/test/buflib/test_shrink_cb.c [new]
firmware/test/buflib/test_shrink_startchanged.c [new]
firmware/test/buflib/test_shrink_unaligned.c [new]
Thomas Jarosch
2015-01-03 77aa94b: Add buflib test for maximum allocation
firmware/test/buflib/Makefile [diff]
firmware/test/buflib/test_max.c [new]
Thomas Jarosch
2015-01-03 5f824e2: Add and adapt buflib move tests
firmware/test/buflib/Makefile [diff]
firmware/test/buflib/test_move.c [new]
firmware/test/buflib/test_move2.c [new]
Thomas Jarosch
2015-01-03 7d5f133: Bring abroad second buflib test

Interfaces with core_alloc_* instead of buflib directly.

Provide UT_core_allocator_init() with a fixed buffer size for predictable results.
firmware/test/buflib/Makefile [diff]
firmware/test/buflib/test_main2.c [new]
firmware/test/buflib/util.c [diff]
firmware/test/buflib/util.h [diff]
Thomas Jarosch
2015-01-03 e7d9432: Enable printing of buflib allocations
firmware/test/buflib/Makefile [diff]
firmware/test/buflib/test_main.c [diff]
firmware/test/buflib/util.c [new]
firmware/test/buflib/util.h [new]
Thomas Jarosch
2015-01-03 e138016: Initial import of simple buflib unit test

Taken from kugel's out-of-tree version: https://github.com/kugel-/buflib

Needs some API adaptions. More test will follow.

Note: The expected output needs an update since the in-tree version of buflib does buffer alignment and also progressed a bit. Still the tests are a very good start.

Added Rockbox copyright header during import were needed.
firmware/test/buflib/Makefile [new]
firmware/test/buflib/autoconf.h [new]
firmware/test/buflib/system-hosted.h [new]
firmware/test/buflib/test_main.c [new]
Thomas Jarosch
2015-01-03 eb9c845: Fix up some DEBUGF statements

The last big filesystem code refactoring broke a lot of debug statements.

firmware/test/fat/ doesn't build anymore, but that's more or less unrelated.
firmware/drivers/fat.c [diff]
Thomas Jarosch
2015-01-03 98280bb: Multiple variables for 'my' need to be in parenthesis

perl -wc reported:

Parentheses missing around "my" list at sims.pl line 9. Useless use of a variable in void context at sims.pl line 9. Useless use of a variable in void context at sims.pl line 9. Useless use of a variable in void context at sims.pl line 9. Useless use of a variable in void context at sims.pl line 9. Name "main::doonly" used only once: possible typo at sims.pl line 9.

-> now it's happy.
tools/release/sims.pl [diff]
Thomas Jarosch
2015-01-03 dd75bb7: Don't build sims twice

Some of those builds are already in the 'builds' list.
tools/release/sims.pl [diff]
Thomas Jarosch
2015-01-03 5f603d3: Fix syntax error (missing semicolon)

Reported by TheSeven on IRC.
firmware/target/hosted/filesystem-win32.c [diff]
Thomas Jarosch
2015-01-02 bce72e6: buflib: Switch from term "cookie" to "metadata"

The documentation of buflib first mentions metadata and then changes to "cookie" without explaining it.

Fix it by sticking to metadata.
firmware/buflib.c [diff]
Thomas Jarosch
2015-01-02 66df5f3: Improve core_alloc() / buflib_alloc() documentation

Document the fact that buffers are movable by default. Care must be taken to not pass them to functions that yield().

Also clarify other things:
- Passing NULL as "ops" to buflib_alloc_ex() causes buffers to be movable by default (but not shrinkable).

- If you want shrinkable buffers during compaction, you have to provide a shrink callback.

- To disable buffer movement, you have to pass NULL for the move_callback inside the callback structure.

- The concept of default callbacks was removed long ago, remove the only reference of it.
firmware/buflib.c [diff]
firmware/core_alloc.c [diff]
firmware/include/buflib.h [diff]
Thomas Jarosch
2015-01-02 7265375: Shortcuts: Add move callback for buflib allocations

If we don't provide a callback to buflib_alloc(), the buffer is always movable (to reduce fragmentation).

We were passing around buffers to multiple functions that call yield() and might trigger buflib compaction.

-> add locking while we are working on the buffers.

Also added source code comments that explain why we added the locking in that particular section.
apps/shortcuts.c [diff]
Thomas Jarosch
2015-01-01 9076b43: PictureFlow: Add move callback for buflib allocations

If we don't provide a callback to buflib_alloc(), the buffer is always movable (to reduce fragmentation).

Since we pass our buffer to functions that call yield(), this could lead to memory corruption on buflib compaction.
apps/plugins/pictureflow/pictureflow.c [diff]
firmware/buflib.c [diff]
Thomas Jarosch
2015-01-01 b0277e4 G#1093: XWorld: fix some typos in keymaps.h

Happy New Year!

Tested: Thomas Jarosch
apps/plugins/xworld/keymaps.h [diff]
Franklin Wei
2015-01-01 812406f: Limit "struct dircache_runinfo" to file scope
firmware/common/dircache.c [diff]
Thomas Jarosch
2014-12-29 09f7bb8: Add missing newline in debug output
firmware/buflib.c [diff]
Thomas Jarosch
2014-12-29 da5a36d: Document 'union buflib_data'
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
Thomas Jarosch
2014-12-24 193c5df G#1084: XWorld: cleanup

- Comment keymaps.h
- Tie XWORLD_DEBUG into ROCKBOX_HAS_LOGF to ease debugging
- Fix up the manual a little bit
apps/plugins/xworld/keymaps.h [diff]
apps/plugins/xworld/sys.c [diff]
apps/plugins/xworld/util.h [diff]
apps/plugins/xworld/xworld.c [diff]
manual/plugins/xworld.tex [diff]
Franklin Wei
2014-12-27 e7c282f: More standard conforming codec_realloc()

- Leave original ptr untouched if allocation fails
(bail out early)
- Behave like malloc() in case ptr is NULL
lib/rbcodec/codecs/lib/codeclib.c [diff]
Thomas Jarosch
2014-12-27 d68262e: Two more typo fixes
firmware/include/buflib.h [diff]
Thomas Jarosch
2014-12-27 91f1393: Fix typos in documentation
firmware/include/buflib.h [diff]
Thomas Jarosch
2014-12-24 ce94c3e G#1083: Fix for DX50 xworld keymaps.h
apps/plugins/xworld/keymaps.h [diff]
Benjamin Brown
2014-12-24 339bea4 G#1082: Fixes more red for xworlds keymaps

A temporary fix for keymaps.h, the logic needs rewritten
apps/plugins/xworld/keymaps.h [diff]
Benjamin Brown
2014-12-23 7de7c22 G#1081: Xworld - Fixes warnings for cowond2, hifimanhm60x, ibassodx50, and ondavx747. Also fixes errors for ondavx777.
apps/plugins/xworld/keymaps.h [diff]
Benjamin Brown
2014-12-23 78cd5c1 G#1080: Fixes xworld keymaps for ondavx747, hifimanhm60x, and cowond2
apps/plugins/xworld/keymaps.h [diff]
Benjamin Brown
2014-12-23 3781726 G#1079: fix xworld building with 24-bit lcd also fix a couple unused vars
apps/plugins/xworld/sys.c [diff]
Franklin Wei
2014-12-23 1bc3964: Fix compilation error.
apps/plugins/SUBDIRS [diff]
Michael Giacomelli
2014-10-13 33cb13d G#1077: Xworld - Another World interpreter for Rockbox

Co-conspirators: Franklin Wei, Benjamin Brown

-------------------------------------------------------------------- This work is based on:
- Fabien Sanglard's "Fabother World" based on
- Piotr Padkowski's newRaw interpreter which was based on
- Gregory Montoir's reverse engineering of
- Eric Chahi's assembly code

-------------------------------------------------------------------- Progress:

* The plugin runs pretty nicely (with sound!) on most color targets
* Keymaps for color LCD targets are complete
* The manual entry is finished
* Grayscale/monochrome support is NOT PLANNED
- the game looks horrible in grayscale! :p

-------------------------------------------------------------------- Notes:

* The original game strings were built-in to the executable, and were copyrighted and could not be used.
* This port ships with an alternate set of strings by default, but can load the "official" strings from a file at runtime.

-------------------------------------------------------------------- To be done (in descending order of importance):

* vertical stride compatibility <30% done>
* optimization <10% done>
apps/plugins/CATEGORIES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/xworld/README [new]
apps/plugins/xworld/README.newraw [new]
apps/plugins/xworld/README.rockbox [new]
apps/plugins/xworld/SOURCES [new]
apps/plugins/xworld/awendian.h [new]
apps/plugins/xworld/bank.c [new]
apps/plugins/xworld/bank.h [new]
apps/plugins/xworld/engine.c [new]
apps/plugins/xworld/engine.h [new]
apps/plugins/xworld/file.c [new]
apps/plugins/xworld/file.h [new]
apps/plugins/xworld/intern.c [new]
apps/plugins/xworld/intern.h [new]
apps/plugins/xworld/keymaps.h [new]
apps/plugins/xworld/mixer.c [new]
apps/plugins/xworld/mixer.h [new]
apps/plugins/xworld/parts.c [new]
apps/plugins/xworld/parts.h [new]
apps/plugins/xworld/resource.c [new]
apps/plugins/xworld/resource.h [new]
apps/plugins/xworld/serializer.c [new]
apps/plugins/xworld/serializer.h [new]
apps/plugins/xworld/sfxplayer.c [new]
apps/plugins/xworld/sfxplayer.h [new]
apps/plugins/xworld/sys.c [new]
apps/plugins/xworld/sys.h [new]
apps/plugins/xworld/util.c [new]
apps/plugins/xworld/util.h [new]
...and 11 more files.
Franklin Wei
2014-12-22 b681e93: mikmod plugin: Remove bogus doubled return statement Stick to the safer version of those two.

Tested mikmod still works with some nice Necros .s3m files.
apps/plugins/mikmod/mmio.c [diff]
Thomas Jarosch
2014-12-22 71c0516: zxbox: Add missing break; statement

No harm done, same values are assigned in the "default" case.

cppcheck reported:
[rockbox/apps/plugins/zxbox/tapefile.c:674] -> [rockbox/apps/plugins/zxbox/tapefile.c:681]: (warning) Buffer 'seg_desc' is being written before its old content has been used. 'break;' missing?
apps/plugins/zxbox/tapefile.c [diff]
Thomas Jarosch
2014-12-22 5d3aa1b: Fix red (pass pointer of 'item')
apps/settings.c [diff]
Thomas Jarosch
2014-12-22 06eeab0: Always initialize "item"

Otherwise item.cfg_name and item.default_val will contain garbage. It doesn't seem to have an effect right now, but who knows what a future refactoring might do.

cppcheck reported:
[rockbox/apps/settings.c:1268]: (error) Uninitialized variable: item
apps/settings.c [diff]
Thomas Jarosch
2014-12-21 9a5f7ce: wavrecord plugin: Add harmless sanity check

cppcheck reported:
[rockbox/apps/plugins/wavrecord.c:3672]: (error) Array 'sampr[9][2]' index sampr[9][1] out of bounds.
apps/plugins/wavrecord.c [diff]
Thomas Jarosch
2014-12-20 29ffa83: Remove useless assignment of 'len'

The variable 'len' is not used after this statement. Probably a copy'n'paste leftover from the similar looking block above.

cppcheck reported:
[rockbox/utils/zenutils/source/shared/cenc.cpp:212]: (style) Same expression on both sides of '-'.
utils/zenutils/source/shared/cenc.cpp [diff]
Thomas Jarosch
2014-12-20 515a07e: sb1: fix buggy comparison

cppcheck reported:
[rockbox/utils/imxtools/sbtools/sb1.c:440]: (warning) Comparison of a boolean expression with an integer other than 0 or 1.

Thanks to Thomas Jarosch
utils/imxtools/sbtools/sb1.c [diff]
Amaury Pouly
2014-12-20 61e322c: mkzenboot: Fix double close of bootfd on error

cppcheck reported:
[rockbox/tools/mkzenboot.c:1176]: (error) Used file that is not opened.
tools/mkzenboot.c [diff]
Thomas Jarosch
2014-12-20 1eb1bc2: DX 50: Fix file descriptor leak on error

Unimportant change, still good style.

cppcheck reported:
[rockbox/firmware/target/hosted/android/dx50/button-dx50.c:92]: (error) Resource leak: fd
[rockbox/firmware/target/hosted/android/dx50/button-dx50.c:98]: (error) Resource leak: fd
firmware/target/hosted/android/dx50/button-dx50.c [diff]
Thomas Jarosch
2014-12-20 575ec89: mini2440: Fix bogus buffer access in LCD backlight driver

The backlight driver always writes a bogus value from memory into the LCD brightness register.

Fix it up by adding bounds checks and use a more sane default value.

While looking at the code, I noticed that BACKLIGHT_CONTROL_SET probably ignores the desired brightness level, too.

Note: Please test on real hardware, I don't own it.

cppcheck reported:
[rockbox/firmware/target/arm/s3c2440/mini2440/backlight-mini2440.c:53]: (error) Array 'log_brightness[13]' accessed at index 255, which is out of bounds.
firmware/target/arm/s3c2440/mini2440/backlight-mini2440.c [diff]
Thomas Jarosch
2014-12-20 d62e1b3: vibe 500: Fix ide_powered() always returning false

While the right GPIO location is accessed, the result of the logical AND was tested wrong.

I don't have this hardware, but I can imagine that bug caused ide_power_enable() to be called more times than it needed to be.

cppcheck reported:
[rockbox/firmware/target/arm/pbell/vibe500/power-vibe500.c:101]: (style) Expression '(X & 0x8) == 0x1' is always false.
firmware/target/arm/pbell/vibe500/power-vibe500.c [diff]
Thomas Jarosch
2014-12-20 ef1497c: Add missing va_end() call when the log is full

No need to go out of memory, too ;)

cppcheck reported:
[rockbox/firmware/logf.c:338]: (error) va_list 'ap' was opened but not closed by va_end().
firmware/logf.c [diff]
Thomas Jarosch
2014-12-20 c54537a: Prevent theoretical out-of-bounds access in STM_Load()

We should be safe since STM_Load() should never be called if STM_Test() fails. Still it's better safe than sorry.

cppcheck reported:
[rockbox/apps/plugins/mikmod/load_stm.c:302]: (error) Array 'STM_Version[3]' accessed at index 3, which is out of bounds.
apps/plugins/mikmod/load_stm.c [diff]
Thomas Jarosch
2014-12-20 f8d9e9c: m3u playlist parser: Check size limit before using buffer

This should only be a problem if the last line is not terminated by \r or \n though.

cppcheck reported:
[rockbox/apps/playlist.c:234]: (style) Array index 'i' is used before limits check.
apps/playlist.c [diff]
Thomas Jarosch
2014-12-20 2caf887: text_viewer plugin: Fix two out-of-bounds buffer accesses

Test code:
-------------- int main(void)
{ static unsigned short extra_spaces[] = { 0, 0x3000 }; return sizeof(extra_spaces);
}
--------------

-> returns four instead of two.

cppcheck reported:
[rockbox/apps/plugins/text_viewer/tv_text_processor.c:180]: (error) Array 'break_chars[27]' acces sed at index 53, which is out of bounds.
[rockbox/apps/plugins/text_viewer/tv_text_processor.c:195]: (error) Array 'extra_spaces[2]' acces sed at index 3, which is out of bounds.
apps/plugins/text_viewer/tv_text_processor.c [diff]
Thomas Jarosch
2014-12-20 1ff5fd4: Fix broken buflib_handle check in backdrop settings loader

The logic was messed up and always evaluated to true if buflib_handle is non-zero.

Thanks to JdGordon for verifying the change.

cppcheck reported:
[rockbox/apps/gui/skin_engine/skin_backdrops.c:262]: (warning) Comparison of a boolean expression with an integer other than 0 or 1.
apps/gui/skin_engine/skin_backdrops.c [diff]
Thomas Jarosch
2014-12-20 c55be3b: maemo port: Fix startup crash exposed by audio thread refactoring

The refactoring of the audio thread in this commit
----------------------------------------------- commit 5857c44017a1641fce7f00da7f16c143daacbaf6 Author: Michael Sevakis Date: Fri May 31 02:41:02 2013 -0400

Refactor audio thread to run both recording and playback.
-----------------------------------------------

moved pcm_init() next to dsp_init() in apps/main.c:init(). Before that pcm_init() was called by audio_init().

Unfortunately the maemo init code didn't properly wait until the maemo thread was fully initialized, leading to dangling pointers when the code called by pcm_init() tried to access maemo's variables.

Fix it by refactoring the "very fast shutdown" semaphore to wait until maemo is initialized in any case.

This should also fix very rare rockbox crashes on startup that I got once a year or so. The new code has been tested by a script that starts and kills rockbox after one second.
firmware/target/hosted/sdl/system-sdl.c [diff]
Thomas Jarosch
2014-12-17 55a5aab: Add newlines at the end of the file

Quiet maemo's gcc 4.2.1 compiler warning.
lib/unwarminder/SOURCES [diff]
lib/unwarminder/safe_read.h [diff]
Thomas Jarosch
2014-12-17 3add6c7: Fix up maemo port after byte swap header refactoring

Turns out maemo's old gcc 4.2.1 doesn't include any arch optimized swapXX() functions, just plain C implementations.

Before we pull in lots of linux kernel headers for the C implementation, just stick to rockbox's own version.
firmware/include/rbendian.h [diff]
Thomas Jarosch
2014-10-22 5dab768 G#1023: regtools/qeditor: use the new model, drop unused code
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-22 abed208 G#1022: regtools/qeditor: introduce custom table model for reg fields

This one is much more efficient than using a generic table widget.
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-22 edaeee1 G#1021: regtoosl/qeditor: remove unused code
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-22 88053b8 G#1020: regtools/qeditor: fix field editor not updating the validator on change
utils/regtools/qeditor/qeditor.pro [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-22 04e798e G#1019: regtools/qeditor: fix backend dump bug, be more correct on read
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/qeditor.pro [diff]
Amaury Pouly
2014-10-22 6cb8611 G#1018: regtools/socdesc: update library with a field useful functions
utils/regtools/lib/soc_desc.hpp [diff]
Amaury Pouly
2014-10-07 7749c4d G#1006: qeditor: message widget now supports IDs, useful to clear messages
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-02 cef5e10 G#1000: qeditor: change setting names, they were inconsistent
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/utils.cpp [diff]
Amaury Pouly
2014-09-30 dc3ae2a G#998: qeditor: rework register dump to be more general and flexible
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-09-30 1bcc4fc G#997: qeditor: introduce a new "RAM" backend, and refactor file backend
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-09-27 4a711fe G#996: qeditor: display message on "Nothing" backend selection
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-09-27 99ed6d2 G#995: qeditor: backends can now report validity status
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-09-27 b08620d G#987: qeditor: introduce a message widget to display non-interactive messages
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-09-27 3b4e631 G#986: qeditor: rework mainwindow tab names handling

With the previous code, tab names would be ignored if tab is detached which can happen early on.
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regtab.cpp [diff]
Amaury Pouly
2014-09-26 fe1fed8 G#983: qeditor: add copyright
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/main.cpp [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/settings.cpp [diff]
utils/regtools/qeditor/settings.h [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-12-15 94c4834: Revert "regtools/qeditor: use the new model, drop unused code"

This reverts commit 3b3d9bf725a5b04e4cd9bc4254fbd2594b518e89. Gerrit did crap on this one.
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-10-22 3b3d9bf G#1023: regtools/qeditor: use the new model, drop unused code
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-12-13 0389fd0: MTP: put libs after files in the Makefile, to please old gcc versions
utils/MTP/Makefile [diff]
Amaury Pouly
2014-11-10 b320bba G#1034: iPod Classic: YUV to RGB optimizations for ARM v5+

Optimizes YUV to RGB conversion using ARMv5 multiply-accumulate intructions for operations and data tables for saturation.

This first patch set includes the three versions i have developed. Although iPod Classic need to use the latest version to reach 30fps, old versions may serve other targets.

All versions are based on current SVN algorithm (round->scale->add) using the same coefficients, so output results are identical.

Version history:

ARMv4:
- use all available registers to calculate four pixels within each loop iteration.
- avoid LDR interlocks.

ARMv5TE:
- use ARMv5TE+ 1-cycle multiply-accumulate instructions.

ARMv5TE_WST:
- use data tables (256 bytes) for RBG565 saturation.

Benchmarks results using iPod Classic (ARM926EJ 216Mhz):

size test_fps (1) mpegplayer (2) bytes YUV YUV1/4 average min/max
----- ----------- ------------------ SVN-20141107 528 27.8 110.0 11035 10864/13397 ARMv4 480 28.8 114.0 9767 9586/12126 ARMv5TE 468 29.7 117.5 8751 8584/11118 ARMv5TE_WST 544 33.6 133.0 6355 6316/6403

(1) boosted
(2) play full elephants_dream_320x240.mpg file (15693 frames) using mpegplayer, patched RB measures YUV to RGB565 frame conversion time (microseconds)

Compared against the WST version, the ARMV5TE version w/o cached saturation tables is slower, but it is smaller and i have doubts about the power consumption.

Tested: Cástor Muñoz
firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S [diff]
Cástor Muñoz
2014-12-09 a2136a8: ypr0: Get it up and running again

7d1a47cf13 introduced a regression that broke it completely so that it couldn't boot into the main menu anymore. It had a faulty call to get_volume_name() which made handle_special_links() act up. This broke every open() and opendir() (and friends) library calls.
firmware/target/hosted/filesystem-app.c [diff]
Thomas Martitz
2014-12-01 9454ad4: iPod Classic: configure piezo GPIO ports

Configures piezo GPIO ports for the lowest power consumption when not in use.
firmware/target/arm/s5l8702/ipod6g/piezo-ipod6g.c [diff]
Cástor Muñoz
2014-12-01 bfb63f8: iPod Classic: minor modifications in TIMER

The current behaviour should not change.
firmware/target/arm/s5l8702/kernel-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/timer-s5l8702.c [diff]
Cástor Muñoz
2014-11-29 8618f2c: rk27xx: sd: properly align buffer used for DMA transfers.

Commit 7d1a47cf ("Rewrite filesystem code (WIP)") exposed bug in rk27xx sd driver. Buffer passed to sd_read/write_sectors() doesn't has to be cacheline aligned. DMA transfers on unaligned buffers is quiet dangerous thing. Make sure that the buffer is aligned to cacheline size, If not use a temporary aligned buffer for DMA transfer.
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
firmware/target/arm/rk27xx/system-target.h [diff]
Andrew Ryabinin
2014-11-29 d1fcfe9: Add IS_ALIGNED(x, a) macro helper
firmware/export/system.h [diff]
Andrew Ryabinin
2014-11-28 d924c83: Fix warning in WMA Pro and remove a c++ comment.
lib/rbcodec/codecs/wmapro.c [diff]
lib/rbcodec/metadata/asf.c [diff]
Michael Giacomelli
2014-11-28 aa2c55e: Fix FS #13009.

This file revealed several problems with our ASF parser:

1) The packet count in the ASF was actually a 64 bit value, leading to overflow in very long files.

2) Seeking blindly trusted the bitrate listed in the ASF header rather than computing it from the packet size and number of packets.

Fix these problems and fix a few minor issues.
lib/rbcodec/codecs/libasf/asf.c [diff]
lib/rbcodec/codecs/libasf/asf.h [diff]
lib/rbcodec/metadata/asf.c [diff]
Michael Giacomelli
2014-11-28 0cd9e4e G#1055: hwstub/atj213x: add clock setup to crt0.S

Tested: Marcin Bukat
utils/hwstub/stub/atj213x/crt0.S [diff]
Marcin Bukat
2014-11-27 5e1381b G#1054: qeditor: add clock analyser for ATJ213x
utils/regtools/desc/regs-atj213x.xml [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
Marcin Bukat
2014-11-25 e99c036 G#1052: hwstub_shell: add support for call and jump

Tested: Marcin Bukat
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
utils/hwstub/tools/lua/hwlib.lua [new]
utils/hwstub/tools/lua/load.lua [diff]
Marcin Bukat
2014-11-24 9439635 G#1049: hwstub: lua functions for atj213x/irivere150

Tested: Marcin Bukat
utils/hwstub/tools/lua/atj.lua [diff]
utils/hwstub/tools/lua/atj/gpio.lua [new]
utils/hwstub/tools/lua/atj/lcm.lua [new]
utils/hwstub/tools/lua/irivere150.lua [new]
utils/regtools/desc/regs-atj213x.xml [diff]
Marcin Bukat
2014-11-18 19f4e39: regs-atj213x.xml upadte
utils/regtools/desc/regs-atj213x.xml [diff]
Marcin Bukat
2014-11-18 cd04a5f: hwstub/qeditor: add support for atomic read/writes

The current code assumed that READ/WRITE would produce atomic read/writes for 8/16/32-bit words, which in turned put assumption on the memcpy function. Since some memcpy implementation do not always guarantee such strong assumption, introduce two new operation READ/WRITE_ATOMIC which provide the necessary tools to do correct read and write to register in a single memory access.
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/asm/arm/atomic_rw.S [new]
utils/hwstub/stub/asm/mips/atomic_rw.S [new]
utils/hwstub/stub/main.c [diff]
utils/hwstub/stub/protocol.h [diff]
utils/hwstub/stub/target.h [diff]
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/init.lua [diff]
utils/regtools/qeditor/backend.cpp [diff]
Marcin Bukat
2014-11-18 794169a: iPod Classic: fix HW_FREQ_32
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
Cástor Muñoz
2014-11-18 61206ce: Add myself to committers list
docs/COMMITTERS [diff]
Cástor Muñoz
2014-11-10 5796969 G#1032: iPod Classic: update timer API using 32-bit timers.
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
firmware/target/arm/s5l8702/timer-s5l8702.c [diff]
Cástor Muñoz
2014-11-14 229a02a G#1039: adfuload: fix argument parsing
utils/atj2137/adfuload/adfuload.c [diff]
Amaury Pouly
2014-11-14 16dcde4 G#1041: hwstub_shell: add atj target
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/atj.lua [new]
utils/hwstub/tools/lua/load.lua [diff]
Amaury Pouly
2014-11-10 edb0c6c G#1031: iPod Classic: fix s5l8702 cache line length.

Use 32 bytes for cache line length (arm926ej-s), this prevents misalignments of ATA storage buffer which in some builds could cause weird faults.
firmware/export/s5l8702.h [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Cástor Muñoz
2014-11-08 bcca111: HDD1630/HDD6330/SA9200: Integration of the clicker with the "Keyclick" menu.
firmware/SOURCES [diff]
firmware/export/config/gogearhdd1630.h [diff]
firmware/export/config/gogearhdd6330.h [diff]
firmware/export/config/gogearsa9200.h [diff]
firmware/target/arm/philips/hdd1630/button-hdd1630.c [diff]
firmware/target/arm/philips/hdd6330/button-hdd6330.c [diff]
firmware/target/arm/philips/piezo.c [new]
firmware/target/arm/philips/piezo.h [new]
firmware/target/arm/philips/sa9200/button-sa9200.c [diff]
Szymon Dziok
2014-11-10 73a7802: zen: typo
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2014-11-10 6677f97: Fix YUV generic C performance function on 24-bit framebuffer

When changed to handle 24-bit framebuffer, some places were missed.
firmware/asm/lcd-as-memframe.c [diff]
Amaury Pouly
2014-11-10 b29d311: Fix remaining errors in Polish translation.
apps/lang/polski.lang [diff]
Szymon Dziok
2014-11-10 ce88fa2: Polish translation update.
apps/lang/polski.lang [diff]
Szymon Dziok
2014-11-06 bb5341c: regtools: ATJ213x description file
utils/regtools/desc/regs-atj213x.xml [new]
Marcin Bukat
2014-11-06 df2ac74: adfuload: Improve arguments parsing
utils/atj2137/adfuload/adfuload.c [diff]
Marcin Bukat
2014-09-23 d11704f: hwstub: Add atj213x support
utils/atj2137/adfuload/test_binary/backlight_c/Makefile [diff]
utils/atj2137/adfuload/test_binary/backlight_c/crt0.S [diff]
utils/atj2137/adfuload/test_binary/backlight_c/test_bl.lds [diff]
utils/hwstub/hwstub_protocol.h [diff]
utils/hwstub/stub/SOURCES [diff]
utils/hwstub/stub/asm/mips/memcpy.S [new]
utils/hwstub/stub/asm/mips/memset.S [new]
utils/hwstub/stub/atj213x/Makefile [new]
utils/hwstub/stub/atj213x/atj213x.h [new]
utils/hwstub/stub/atj213x/crt0.S [new]
utils/hwstub/stub/atj213x/hwstub.lds [new]
utils/hwstub/stub/atj213x/mips-archdefs.h [new]
utils/hwstub/stub/atj213x/mips.h [new]
utils/hwstub/stub/atj213x/target-config.h [new]
utils/hwstub/stub/atj213x/target.c [new]
utils/hwstub/stub/atj213x/usb_drv_atj213x.c [new]
utils/hwstub/stub/main.c [diff]
Marcin Bukat
2014-10-31 791be56: atjbootool: fix date printing
utils/atj2137/atjboottool/atjboottool.c [diff]
Amaury Pouly
2014-10-22 e3cc0ca: Manual: add missing actions in Sokoban for the Packard Bell Vibe 500.
manual/plugins/sokoban.tex [diff]
Szymon Dziok
2014-10-22 e7f113e: Manual for the Samsung YH820.
manual/advanced_topics/main.tex [diff]
manual/configure_rockbox/sound_settings.tex [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/configure_rockbox/theme_settings.tex [diff]
manual/getting_started/samsungyh_install.tex [diff]
manual/main_menu/recording_screen.tex [diff]
manual/platform/keymap-yh820.tex [new]
manual/platform/samsungyh820.tex [new]
manual/plugins/blackjack.tex [diff]
manual/plugins/brickmania.tex [diff]
manual/plugins/calculator.tex [diff]
manual/plugins/calendar.tex [diff]
manual/plugins/chess_clock.tex [diff]
manual/plugins/chessbox.tex [diff]
manual/plugins/chip8emulator.tex [diff]
manual/plugins/chopper.tex [diff]
manual/plugins/clix.tex [diff]
manual/plugins/cube.tex [diff]
manual/plugins/doom.tex [diff]
manual/plugins/flipit.tex [diff]
manual/plugins/fractals.tex [diff]
manual/plugins/goban.tex [diff]
manual/plugins/imageviewer.tex [diff]
manual/plugins/invadrox.tex [diff]
manual/plugins/jewels.tex [diff]
manual/plugins/main.tex [diff]
manual/plugins/midiplay.tex [diff]
manual/plugins/minesweeper.tex [diff]
manual/plugins/mpegplayer.tex [diff]
manual/plugins/oscilloscope.tex [diff]
...and 24 more files.
Szymon Dziok
2014-10-22 fa11990: Pegbox: use the same keymap for Samsung YH820 and YH920.

Keymap for the YH820 fits much better for the YH920 anyway.
apps/plugins/pegbox.c [diff]
Szymon Dziok
2014-10-15 a8b5589: Manual for the Samsung YH920/YH925.
manual/advanced_topics/main.tex [diff]
manual/appendix/config_file_options.tex [diff]
manual/appendix/file_formats.tex [diff]
manual/configure_rockbox/recording_settings.tex [diff]
manual/configure_rockbox/sound_settings.tex [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/configure_rockbox/theme_settings.tex [diff]
manual/getting_started/installation.tex [diff]
manual/getting_started/samsungyh_install.tex [new]
manual/main_menu/recording_screen.tex [diff]
manual/platform/keymap-yh92x.tex [new]
manual/platform/samsungyh920.tex [new]
manual/platform/samsungyh925.tex [new]
manual/plugins/blackjack.tex [diff]
manual/plugins/brickmania.tex [diff]
manual/plugins/calculator.tex [diff]
manual/plugins/calendar.tex [diff]
manual/plugins/chess_clock.tex [diff]
manual/plugins/chessbox.tex [diff]
manual/plugins/chip8emulator.tex [diff]
manual/plugins/chopper.tex [diff]
manual/plugins/clix.tex [diff]
manual/plugins/cube.tex [diff]
manual/plugins/doom.tex [diff]
manual/plugins/flipit.tex [diff]
manual/plugins/fractals.tex [diff]
manual/plugins/goban.tex [diff]
manual/plugins/imageviewer.tex [diff]
manual/plugins/invadrox.tex [diff]
manual/plugins/jewels.tex [diff]
...and 28 more files.
Szymon Dziok
2014-10-15 f443570: YH820/YH92X: Add missing StdMenu action.
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
Szymon Dziok
2014-10-15 b770805: Rockboy plugin: remove second keymap definition for the Iriver H10, added in 594b6e2 (FS #10251).
apps/plugins/rockboy/rockboy.c [diff]
Szymon Dziok
2014-10-15 ce33d4f: YH820/YH92X: Improve some keymaps for plugins.
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/goban/goban.h [diff]
apps/plugins/midi/midiplay.c [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/rockblox.c [diff]
apps/plugins/rockboy/rockboy.c [diff]
apps/plugins/sokoban.c [diff]
apps/plugins/solitaire.c [diff]
apps/plugins/star.c [diff]
apps/plugins/vu_meter.c [diff]
apps/plugins/wormlet.c [diff]
apps/plugins/xobox.c [diff]
Szymon Dziok
2014-10-18 c626fe7: atj213x: e100/150 lcd test binary
utils/atj2137/adfuload/test_binary/lcm/Makefile [new]
utils/atj2137/adfuload/test_binary/lcm/atj213x.h [new]
utils/atj2137/adfuload/test_binary/lcm/crt0.S [new]
utils/atj2137/adfuload/test_binary/lcm/irq_handler.S [new]
utils/atj2137/adfuload/test_binary/lcm/mips-archdefs.h [new]
utils/atj2137/adfuload/test_binary/lcm/mips.h [new]
utils/atj2137/adfuload/test_binary/lcm/rockboxlogo.240x74x16.c [new]
utils/atj2137/adfuload/test_binary/lcm/system-atj213x.c [new]
utils/atj2137/adfuload/test_binary/lcm/test.lds [new]
utils/atj2137/adfuload/test_binary/lcm/test_lcm.c [new]
Marcin Bukat
2014-10-13 fe519c7 G#1010: Enable battery charging detection for iBasso DX50/DX90.

This changes iBasso DX50/DX90 config from CHARGING_SIMPLE (Simple, hardware controlled charging (CPU cannot read charger state but may read when power is plugged-in) to CHARGING_MONITOR (Hardware controlled charging with monitoring
(CPU is able to read HW charging state and when power is plugged-in)).

Not really usefull at the moment, since USB connection (charging) is not (yet) gracefully handled for iBasso devices.
firmware/export/config/ibassodx50.h [diff]
firmware/export/config/ibassodx90.h [diff]
firmware/target/hosted/android/dx50/powermgmt-dx50.c [diff]
Udo Schläfer
2014-10-17 ac928ed G#1016: Update of the Serbian translation
apps/lang/srpski.lang [diff]
Ivan Pesic
2014-05-11 1e7b93a G#808: Fixed disktidy bug and added a couple of new features to disktidy.

The following updates were made to disktidy:
- Fixed bug FS #12825. disktidy now checks subdirectories again for files to delete.
- Use iterative rather than recursive method to traverse file system.
- Once disktidy finishes a run it now returns to it's main menu rather than exiting.
- Added "Last Run Stats" view to disktidy. This shows how many files and directories were deleted in the last run as well as the total size of those files, the length of time the run took and when the run took place (for players with RTC).
- Added "Playback Control" option to disktidy main menu.

Tested: Franklin Wei
apps/plugins/disktidy.c [diff]
Richard Burke
2014-10-08 877bd98: YH820: Add a forgotten define in aa8ba60.
apps/recorder/keyboard.c [diff]
Szymon Dziok
2014-10-08 aa8ba60: YH820/YH92X: Properly enable morse input.
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
apps/recorder/keyboard.c [diff]
firmware/export/config/samsungyh820.h [diff]
firmware/export/config/samsungyh920.h [diff]
firmware/export/config/samsungyh925.h [diff]
Szymon Dziok
2014-10-08 91bd7f1: YH820/YH92X: Fix keymap for custom settings.
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
Szymon Dziok
2014-10-08 40a2ac4: regtools/socdesc: fix red
utils/regtools/lib/soc_desc.cpp [diff]
Amaury Pouly
2014-09-29 8b8b854 G#994: Fix USB speed detection

Tested: Mihail Zenkov
bootloader/sansa_as3525.c [diff]
Mihail Zenkov
2014-10-03 037547d: Manual: add missing calendar image for M:Robe 100.
manual/plugins/images/ss-calendar-160x128x1.png [new]
Szymon Dziok
2014-10-02 193ea09: Samsung yh820/yh92x: add HID keymaps.
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
firmware/export/config/samsungyh820.h [diff]
firmware/export/config/samsungyh920.h [diff]
firmware/export/config/samsungyh925.h [diff]
Szymon Dziok
2014-10-02 174523a: YH920: fix the battery capacity.
firmware/export/config/samsungyh920.h [diff]
Szymon Dziok
2014-10-02 5640cb1: Manual: add default battery capacity for M:Robe 100.
manual/configure_rockbox/system_options.tex [diff]
Szymon Dziok
2014-10-02 f33d544: Manual: add M:Robe 100 to the appendices.
manual/appendix/config_file_options.tex [diff]
manual/appendix/file_formats.tex [diff]
Szymon Dziok
2014-10-02 f313253: Manual: add M:Robe 100 to "Using ROLO" subsection.
manual/advanced_topics/main.tex [diff]
Szymon Dziok
2014-10-02 26a486e: Manual: Unify and simplify manual uninstallation for couple targets.
manual/getting_started/installation.tex [diff]
manual/platform/iriverh10.tex [diff]
manual/platform/iriverh10_5gb.tex [diff]
manual/platform/mrobe100.tex [diff]
manual/platform/vibe500.tex [diff]
Szymon Dziok
2014-09-17 4a396ac G#970: ipod6g, ata: Fix audio drop off while waiting for ata not busy

Tested: Nial Shui
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
nialv7
2014-08-28 f5e2c25 G#938: iPod Classic: Fix bidirectional clickwheel communication.

This restores functionality that was broken in g#194 and committed as revision 7ec426e497daa1b4a6082bf4e4e3df687b11db44.

Bidirectional communication is required to ask the clickwheel controller for the initial button state during boot. Otherwise our driver would only know about pressed buttons when the first change event is received, which is too late for e.g. prevention of USB connection during boot.

This fix is also required to support the selection of OF, Rockbox, Disk Mode, etc. in the iPod Classic Rockbox bootloader.

Tested: Michael Sparmann
firmware/target/arm/ipod/button-clickwheel.c [diff]
Steffen Butzer
2014-09-28 7c20d8f: Fix compilation on amsv1.
firmware/target/arm/as3525/debug-as3525.c [diff]
Michael Giacomelli
2014-09-27 4991544 G#990: New Rockblox features

- Add "Ghost piece" feature
- on 1-bit displays, it's too hard to distinguish from "real" pieces, should it be disabled?
- Show what your score is when you get a high score
- Indent

Tested: Franklin Wei
apps/plugins/rockblox.c [diff]
Franklin Wei
2014-09-28 f014a76 G#991: Add various additional AS3525v2 SOC voltages to the debug screen.

Tested: Michael Giacomelli
firmware/target/arm/as3525/debug-as3525.c [diff]
Michael Giacomelli
2014-09-27 23dc0b0 G#989: Don't enable the current sink for the Clip Zip backlight until its actually needed.

Patch by Mihail Zenkov who measured a modest increase in power consumption with the current sink enabled.

Tested: Michael Giacomelli
firmware/target/arm/as3525/sansa-clipzip/backlight-clipzip.c [diff]
Mihail Zenkov
2014-09-27 02414bf G#988: Make sure the USB PHY is disabled after use. Patch by Mihail Zenkov who has measured several milliamps power reduction from having the PHY disabled.

Tested: Michael Giacomelli
docs/CREDITS [diff]
firmware/target/arm/usb-s3c6400x.c [diff]
Mihail Zenkov
2014-09-16 515a3c5 G#981: Add ptable to SOURCES
apps/plugins/SOURCES [diff]
Franklin Wei
2014-09-24 be9c227: Don't require a specific BUILD_TOOLS_VERSION.

Pick anything with the correct major version, which should be good enough.

Currently we want sdk version 19, which has tools that come as 19.0.3 or 19.1.0, depending on when exactly the sdk was installed. Both work fine for rockbox, so accepting both is useful.
android/android.make [diff]
Frank Gevaerts
2014-09-16 4286419 G#968: Ptable: hopefully fix all the warnings, modify actinide/lanthanide behavior once again
... it's ready! :)
apps/plugins/periodic_table.c [diff]
Franklin Wei
2014-09-22 da417ab: fix yellow
lib/rbcodec/metadata/ape.c [diff]
Marcin Bukat
2014-09-14 d392da8 G#965: metadata: Add cuesheet embedded in ape tags.

Tested: Nick Peskett
lib/rbcodec/metadata/ape.c [diff]
nialv7
2014-07-18 582035c G#897: iPod Classic: Fix several ATA driver bugs.

This improves compatibility with various HDD and CF/SD card mods. It should also reduce power consumption while the drive is powered down.

Tested: Franklin Wei Tested: Nial Shui Tested: Michael Sparmann
firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c [diff]
Michael Sparmann
2014-09-08 3e131ab G#953: YH8xx,YH9xx: Keymap Improvement

Keymaps are still work-in-progress, so wait for more.

Changes:
* standard: fix REC, so that it can be used in other mappings as 'exit' button
* pitchscreen: support button repeat for slow/fast playback
* keyboard:
- change REW/FFWD mapping to backspace/page flip (more important than cursor imo)
- use REC as cancel button
- use FFWD as button-combo-meta-key; change cursor left/right to button combos, introduce OK/cancel as combos.
* recording:
- REC exits recording screen (more consistend and more obvious imo)
- REW enters recording menu; long REW exits

Tested: Szymon Dziok
apps/keymaps/keymap-yh8xx_yh9xx.c [diff]
Sebastian Leonhardt
2014-09-21 bd84946: Added Nial Shui (nialv7) to CREDITS docs/CREDITS [diff]
Nick Peskett
2014-09-13 5fd5b13 G#958: unicode: Fix getle16 and getbe16

Tested: Chiwen Chang Tested: Nick Peskett
firmware/common/unicode.c [diff]
nialv7
2014-09-19 f9be1ef: regtools: reg-rk27xx.xml description file rework and cleanup
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
2014-09-18 b888743 G#971: qeditor: Implement clock analyzer for rk27xx
utils/regtools/lib/soc_desc.cpp [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
Marcin Bukat
2014-09-18 970c248 G#979: qeditor: rework modified indicator, register tab names depend on content

Because Qt doesn't support QObject multiple inherance, it is a bit tricky to have a base class which interact with the UI. The register tab name now display:
- file dump name (for dumps)
- hwstub device path (for hwstub) And the register editor display the filename
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-09-18 dbb5929 G#978: qeditor: implement usb device list refresh (if supported)
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-09-18 57d6db6 G#972: qeditor: fix UI to update register/analyser view on each tree/list click
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-09-18 79c5a07 G#977: qeditor: fix horrible out of bound bug
utils/regtools/qeditor/std_analysers.cpp [diff]
Amaury Pouly
2014-09-18 0c633db G#976: qeditor: when switching type tab, automagically switch view, implement reload
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
Amaury Pouly
2014-09-18 e1f1f22 G#975: qeditor: avoid memory leak in RegTab
utils/regtools/qeditor/regtab.cpp [diff]
Amaury Pouly
2014-09-18 a01bf8d G#974: qeditor: move backend selector to its own class, that's cleaner
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
2014-09-18 b2ef4a8 G#973: qeditor: initialise libusb once in a static ctor
utils/regtools/qeditor/backend.cpp [diff]
Amaury Pouly
2014-09-18 7d11205: Add Ilia Sergachev to credits for his work on the DX50 port.
docs/CREDITS [diff]
Michael Giacomelli
2014-08-30 0b5ad60 G#941: Introducing Targets iBasso DX50 & iBasso DX90

The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port. The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port. Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did was to separate the code for DX50 (&DX90) from the android target. On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it. What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights. Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build: needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure select iBasso DX50 or iBasso DX90 make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed) the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his bitbucket page, using the CWM-OF and his installation script package.

Tested: Chiwen Chang
apps/SOURCES [diff]
apps/keymaps/keymap-dx50.c [new]
apps/main.c [diff]
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/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]
...and 54 more files.
Simon Rothen
2014-09-18 1f0fa05: regtoools: Enhance rk27xx description file
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
2014-09-16 0f61e38: Remove long-obsolete note about different 32MB/64MB ipod video builds. Thanks to Arthur Ferral for reporting (FS #12999)
manual/getting_started/installation.tex [diff]
Frank Gevaerts
2014-09-16 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
2014-09-15 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
2014-09-15 77bfff5: rk27xx: Fill UDC block description in regs-rk27xx.xml
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
2014-09-15 448a289: Disable periodic table plugin until all the compilation issues are sorted out.
apps/plugins/SOURCES [diff]
Michael Giacomelli
2014-09-14 3c33c6c G#963: hopefully fix the warnings
apps/plugins/periodic_table.c [diff]
Franklin Wei
2014-09-14 b655912 G#962: ifdef out lcd_set_bg call
apps/plugins/periodic_table.c [diff]
Franklin Wei
2014-09-14 ba82784 G#961: Fix building on clip
apps/plugins/periodic_table.c [diff]
Franklin Wei
2014-09-05 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
2014-09-14 a7f23a5: Superdom: Silence warning.
apps/plugins/superdom.c [diff]
Michael Giacomelli
2014-08-31 1189fbe G#945: Superdom: rewrote help text
apps/plugins/superdom.c [diff]
Franklin Wei
2014-08-30 a65f6ce G#944: Superdom: some AI improvements and other minor changes
apps/plugins/superdom.c [diff]
Franklin Wei
2014-08-30 333a82c G#943: Superdom: added option for persistent units
apps/plugins/superdom.c [diff]
Franklin Wei
2014-08-30 ad79a90 G#942: [WIP] Superdom: AI can now use nukes
apps/plugins/superdom.c [diff]
Franklin Wei
2014-08-28 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
2014-08-26 a231754 G#931: Superdom: code cleanup
apps/plugins/superdom.c [diff]
Franklin Wei
2014-08-26 e47ed2a G#930: Superdom: whitespace cleanup
apps/plugins/superdom.c [diff]
Franklin Wei
2014-09-10 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
2014-09-11 b7e3515: hwstub: small fixup in rk27xx usb driver
utils/hwstub/stub/rk27xx/usb_drv_rk27xx.c [diff]
Marcin Bukat
2014-09-09 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
2014-09-08 0ff739c G#952: Fix typo in fuze+ deadzone manual entry
manual/configure_rockbox/system_options.tex [diff]
Benjamin Brown
2014-09-08 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
2014-09-08 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
2014-09-08 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
2014-09-08 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
2014-09-08 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
2014-08-29 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
2014-09-08 847106c: hwstub: add support for jump/call in library
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
Amaury Pouly
2014-09-08 d815c26: hwstub: implement jump/call in stub
utils/hwstub/stub/main.c [diff]
Amaury Pouly
2014-09-08 6cc057f: hwstub: trivial changes
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
2014-09-07 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
2014-09-07 6957966: hwstub: fix compile issue
utils/hwstub/tools/hwstub_load.cpp [diff]
Amaury Pouly
2014-08-09 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
2014-08-09 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
2014-08-09 ac5ba89: hwstub: library now check version on open
utils/hwstub/lib/hwstub.c [diff]
utils/hwstub/lib/hwstub.h [diff]
Amaury Pouly
2014-08-09 29de342: hwstub: add string version
utils/hwstub/hwstub_protocol.h [diff]
Amaury Pouly
2014-08-05 0c7c54e: hwstub_shell: add support for set/clr/tog without SCT using read and write
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
2014-08-05 6d13d9b: hwstub: fix missing \n
utils/hwstub/stub/pp/target.c [diff]
Amaury Pouly
2014-08-05 d3df564: hwstub: fix horrible bug
utils/hwstub/stub/main.c [diff]
Amaury Pouly
2014-08-05 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
2014-08-04 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
2014-05-25 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
2014-05-25 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
2014-09-04 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
2014-09-02 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
2014-09-02 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
2014-08-31 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
2014-08-30 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
2014-08-29 5d31d3c: Fix last warning for Warble

Unused result warnings will have to be dealt with separately.
lib/rbcodec/test/file.h [diff]
Michael Sevakis
2014-08-29 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
2014-08-29 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
2014-08-26 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
2014-08-06 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
2014-08-28 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
2014-08-27 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
2014-08-26 25f73d6: Patch up rbendian.h for Win32 cross-compile

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

Stop the Android warning about it
lib/unwarminder/backtrace.c [diff]
Michael Sevakis
2014-08-25 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
2014-08-24 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
2014-08-19 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
2014-08-22 223038d G#921: Ukrainian language update
apps/lang/ukrainian.lang [diff]
docs/CREDITS [diff]
Kyryljan_Serhij
2014-08-22 1bc89bd: One last missing !defined(SIMULATOR) for chip8
apps/plugins/chip8.c [diff]
Frank Gevaerts
2014-08-22 e1c09cd G#926: Hope this works...
apps/plugins/chip8.c [diff]
Franklin Wei
2014-08-22 7e46440 G#923: Yellow go bye-bye
apps/plugins/chip8.c [diff]
Franklin Wei
2014-08-19 8f9bd98 G#919: Fixed a chip8 bug
apps/plugins/chip8.c [diff]
Franklin Wei
2014-08-20 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
2014-08-19 9fed5fd G#918: Added Clip/+ to 2048 targets
apps/plugins/SOURCES [diff]
Franklin Wei
2014-08-19 7ac0056 G#917: 2048: service pack 1 :)
- fixed some bugs
- added 1-bit LCD support
apps/plugins/2048.c [diff]
Franklin Wei
2014-08-18 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
2014-08-17 ec844f8 G#915: Always unboost at exit
apps/plugins/2048.c [diff]
Avi Eisenberg
2014-08-16 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
2014-08-16 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
2014-08-08 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
2014-04-28 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
2014-08-13 278e866: hwpatcher: fix horrible typo in the makefile
utils/hwpatcher/Makefile [diff]
Amaury Pouly
2014-07-11 df99ef2 G#893: Added highscore highlight to xobox game
apps/plugins/xobox.c [diff]
Franklin Wei
2014-06-29 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
2014-08-08 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
2014-08-08 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
2014-08-07 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
2014-08-07 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
2014-08-06 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
2014-08-05 e7e302f: One more shot; errno.h needs to be in the ARM one too :)
firmware/asm/arm/thread.h [diff]
Michael Sevakis
2014-08-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
2014-08-05 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
2014-08-05 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
2014-04-24 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
2014-08-02 6536f1d G#903: Russian language update
apps/lang/russian.lang [diff]
Kyryljan_Serhij
2014-07-30 78f4f7b: Make crosstool-ng build with gnu make 4.0
tools/rockboxdev.sh [diff]
Frank Gevaerts
2014-07-28 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
2014-07-27 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
2014-07-27 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
2014-07-27 eaaff26: Slovak language update

Signed-off-by: Bertrik Sikken
apps/lang/slovak.lang [diff]
Peter Lecký
2014-05-27 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
2014-07-26 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
2014-07-13 3f2c525: Reduce definitions of actions for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
2014-07-13 e3476f0: MPIO HD200: Fix action for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
2014-07-13 facf708: HDD1630/HDD6330: Add actions for fm radio.
apps/radio/radio.c [diff]
Szymon Dziok
2014-07-12 fb373e1: Ak4537: Optimization of the code.
firmware/drivers/audio/ak4537.c [diff]
Szymon Dziok
2014-07-12 f734eed: Disable detection of fm radio for the YH920, it's pointless.
firmware/drivers/tuner/tea5767.c [diff]
Szymon Dziok
2014-07-23 345841a: rk27load: stage1 dram config fix #2
utils/rk27utils/rk27load/stage1/main.S [diff]
Marcin Bukat
2014-07-23 dcd8172: rk27load: fix stage1 dram config bug
utils/rk27utils/rk27load/stage1/main.S [diff]
Marcin Bukat
2014-07-21 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
2014-07-17 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
2014-07-17 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
2014-07-17 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
2014-07-13 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
2014-07-13 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
2014-07-04 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
2014-07-02 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
2014-07-02 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
2014-07-01 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
2014-07-01 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
2014-06-30 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
2014-06-30 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
2014-06-27 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
2014-06-30 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
2014-06-30 7de2a36: Add note about translations to MSVC build instructions.
rbutil/rbutilqt/msvc/README [diff]
Dominik Riebeling
2014-06-30 d30c500: Make clean target work for MSVC dll Makefile on Windows.
rbutil/rbutilqt/msvc/Makefile [diff]
Dominik Riebeling
2014-06-29 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
2014-06-19 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
2014-06-28 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
2014-06-25 8bf1f04: Remove empty files
utils/hwpatcher/patch_viewbl.lua [deleted]
utils/hwpatcher/zen.lua [deleted]
Amaury Pouly
2014-06-25 d9d2092: zen/zenxfi: fix config file comments
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenxfi.h [diff]
Amaury Pouly
2014-06-24 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
2014-06-22 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
2014-06-22 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
2014-06-22 3221951: fix whitespace
firmware/target/arm/imx233/creative-zen/lcd-zenxfistyle.c [diff]
Amaury Pouly
2014-06-22 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
2014-06-23 cd4fb9e: fix sdlapp and ypr0 builds
firmware/export/config/samsungypr0.h [diff]
tools/configure [diff]
Thomas Martitz
2014-06-20 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
2014-06-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
2014-06-18 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
2014-06-15 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
2014-06-14 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
2014-06-14 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
2014-06-20 ccf7c76: Fix bad path.
e200man/manual/configure_rockbox/sound_settings.tex [deleted]
Michael Giacomelli
2014-06-20 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
2014-06-20 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
2014-06-20 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
2014-06-18 a77c6b9: Update dutch (nederlands) translation
apps/lang/nederlands.lang [diff]
Bertrik Sikken
2014-06-17 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
2014-06-15 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
2014-06-14 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
2014-06-14 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
2014-06-14 7107f0a: HDD1630: Add keymap for recording.
apps/keymaps/keymap-hdd1630.c [diff]
Szymon Dziok
2014-06-15 f8785c8: hwstub: load rk27xx specific bits
utils/hwstub/tools/lua/load.lua [diff]
Marcin Bukat
2014-06-15 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
2014-06-15 6c106a7: Rework reg description file for rk27xx
utils/regtools/desc/regs-rk27xx.xml [diff]
Marcin Bukat
2014-06-15 e20256d: Add RKW build target in rk27xx hwstub
utils/hwstub/stub/rk27xx/Makefile [diff]
Marcin Bukat
2014-06-15 72d1d19: hwstub: fix usb driver for rk27xx
utils/hwstub/stub/rk27xx/usb_drv_rk27xx.c [diff]
Marcin Bukat
2014-06-10 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
2014-06-01 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
2014-06-01 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
2014-06-01 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
2014-06-01 f3edbd1: Samsung YH-920: enable lcd contrast setting, fix default lcd contrast.
firmware/export/config/samsungyh920.h [diff]
Szymon Dziok
2014-06-01 6aef81a: Samsung YH-920: enable inverting of colours on the lcd.
firmware/export/config/samsungyh920.h [diff]
Szymon Dziok
2014-06-02 6e701d3: fix indenting, editor went nuts
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2014-06-02 e417036: skin_engine: Don't double free buflib handles shared by skin images
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2014-05-29 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
2014-05-30 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
2014-05-28 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
2014-05-24 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
2014-05-25 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
2014-05-25 1879de7: Update polish translation for Rockbox Utility (FS #12979)
rbutil/rbutilqt/lang/rbutil_pl.ts [diff]
Daniel Kluz
2014-05-24 896b771: Fix crash when detecting a player in MTP mode.
rbutil/rbutilqt/base/autodetection.cpp [diff]
rbutil/rbutilqt/changelog.txt [diff]
Dominik Riebeling
2014-05-23 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
2014-05-22 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
2014-05-21 4b181b4: Fix android black screen crash
android/src/org/rockbox/RockboxActivity.java [diff]
android/src/org/rockbox/RockboxFramebuffer.java [diff]
Jonathan Gordon
2014-05-18 8fb0bbc: Also make sure progressbars don't tihnk their images are loaded
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2014-05-18 62d357b: fix skin buffer crashes, img's are not loaded initialy
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2014-05-15 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
2014-03-27 01cbb79: don't load the same bmp image more than once in a skin
apps/gui/skin_engine/skin_parser.c [diff]
Jonathan Gordon
2014-05-12 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
2014-05-11 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
2014-05-11 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
2014-05-05 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
2014-05-05 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
2014-05-05 c1628ba: sansaview: clean config file
firmware/export/config/sansaview.h [diff]
Amaury Pouly
2014-05-05 4fef183: regtools: make qeditor aware of PP
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-05-05 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
2014-05-05 5b89e66: hwstub: hwstub_shell can now run files/cmd provides on command line
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
2014-05-01 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
2014-05-01 8d0d3cb: qeditor: fix include
utils/regtools/qeditor/backend.h [diff]
Amaury Pouly
2014-05-01 17affb8: hwstub: fix hwstub_shell
utils/hwstub/tools/hwstub_shell.cpp [diff]
utils/hwstub/tools/lua/pp.lua [diff]
Amaury Pouly
2014-04-28 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
2014-05-08 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
2014-04-23 d35be7d G#799: Added high score and save/load functionality to xobox game.
apps/plugins/xobox.c [diff]
docs/CREDITS [diff]
Richard Burke
2014-05-01 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
2014-05-01 cf93b33: regtools: fix makefiles
utils/regtools/Makefile [diff]
utils/regtools/lib/Makefile [diff]
Amaury Pouly
2014-04-07 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
2014-04-04 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
2014-04-24 0cd03c2 G#800: fix russian translate
apps/lang/russian.lang [diff]
Dmitry Gamza
2014-04-08 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
2014-04-11 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
2014-04-08 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
2014-04-08 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
2014-04-24 c8461c5: imx233: fix comments
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
Amaury Pouly
2014-04-23 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
2014-04-23 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
2014-04-18 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
2014-04-15 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
2014-04-08 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
2014-04-15 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
2014-04-11 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
2014-04-11 a18c33a G#784: manual: Add missing Frequency setting description
manual/configure_rockbox/playback_options.tex [diff]
Michael Giacomelli
2014-04-11 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
2014-04-11 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
2014-04-09 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
2014-04-07 924a3c4 G#777: Added Avi Eisenberg to CREDITS file
docs/CREDITS [diff]
Avi Eisenberg
2014-04-07 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
2014-04-07 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
2014-04-07 68370b6: Fix red
apps/plugins/pegbox.c [diff]
Amaury Pouly
2014-03-21 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
2014-04-03 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
2014-03-15 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
2014-04-02 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
2014-04-02 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
2014-03-19 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
2014-03-27 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
2014-03-27 7b015f8: Sansa View: implement proper backlight and buttonlight switching.
firmware/target/arm/sandisk/sansa-view/backlight-view.c [diff]
Szymon Dziok
2014-03-27 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
2014-03-27 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
2014-03-27 173d9c6: enable compiling of Sansa View
tools/configure [diff]
Szymon Dziok
2014-03-27 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
2014-03-24 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
2014-03-23 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
2014-03-22 5abe98d: zenxfi3: fix horrible bug which prevented the power button to work
firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c [diff]
Amaury Pouly
2014-03-22 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
2014-03-22 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
2014-03-20 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
2014-03-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
2014-03-08 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
2014-03-08 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
2014-03-08 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
2014-03-18 ea9621c: Fix build reds caused by typos.
apps/gui/quickscreen.c [diff]
Thomas Martitz
2014-03-18 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
2014-03-18 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
2014-03-18 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
2014-03-14 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
2014-03-15 915bc09: Fix stupid typo in 470989b that triggered panics easily.
firmware/events.c [diff]
Thomas Martitz
2014-03-14 361aa92: Fix reds.
apps/hosted/android/notification.c [diff]
firmware/ata_idle_notify.c [diff]
Thomas Martitz
2014-03-14 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
2014-03-10 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
2014-03-09 dda54b8: ypr1: Add some commands to rockbox.sh which are needed for playback
utils/ypr0tools/rockbox.sh [diff]
Thomas Martitz
2014-03-09 157562b: Fix ipod6g build.
firmware/drivers/audio/cs42l55.c [diff]
Thomas Martitz
2014-03-09 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
2014-03-09 2a71c08: zenxfi: enable speaker
firmware/export/config/creativezenxfi.h [diff]
firmware/target/arm/imx233/creative-zen/audio-target.h [diff]
Amaury Pouly
2014-03-08 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
2014-03-08 9637f44: imx233: rewrite frequency scaling to use the new function
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2014-03-08 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
2014-03-08 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
2014-03-08 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
2014-03-08 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
2014-03-08 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
2014-03-06 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
2014-03-04 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
2014-03-04 2f21f77: ingenic: crt0.S fixes #3

Hopefyly this time is the final one.
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
Marcin Bukat
2014-03-04 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
2014-03-03 c35e1db: Fix last warnings.
firmware/target/arm/s5l8700/system-target.h [diff]
firmware/target/arm/s5l8702/system-target.h [diff]
Thomas Martitz
2014-03-03 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
2014-03-03 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
2014-03-03 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
2014-03-03 8bae5f2: Iaudio m3: implement lcd_get_dpi() (aka fix red).
firmware/export/config/iaudiom3.h [diff]
Thomas Martitz
2014-03-03 fff981b: Implement lcd_get_dpi() for X-Fi Style (aka fix red).
firmware/export/config/creativezenxfistyle.h [diff]
Thomas Martitz
2014-03-03 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
2014-03-03 ee28a70: Fix regression introduced by eec89a9.

The icon pixel position must be calculated before y is modified.
apps/gui/line.c [diff]
Thomas Martitz
2014-03-03 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
2014-03-03 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