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



whenwhatwherewho
Thursday 23:13 dc6f23e: lua optimize integer and string consts in rocklib

use a table approach for registering integer / string constants
apps/plugins/lua/rocklib.c [diff]
William Wilgus
23rd Aug 22:44 733c20d: lua move RLIMAGE to own file
apps/plugins/lua/SOURCES [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/lua/rocklib.h [diff]
apps/plugins/lua/rocklib_img.c [new]
apps/plugins/lua/rocklib_img.h [new]
William Wilgus
20th Aug 09:12 be801c6: mips: Update the MIPS threading code

Taken from Amaury Pouly's Fiio X1 patches in gerrit.

Xduoo X3 no longer panics on startup
firmware/asm/mips/thread-mips32.c [diff]
firmware/asm/mips/thread.h [diff]
Solomon Peachy
7th Sep 07:43 734be0d: MIPS: fix memset()

swr/swl instructions used for word aligning were wrong. This made memset() terribly broken. I can't imagine how it went uncaught for soooo long. Spotted by Solomon Peachy.

I run unit tests for alignments 0,1,2,3 size 1, 2, 3, 4, 5, 63, 64, 65, 127, 128, 129; and fill pattern 0x00 and other (since 0 is special case in this implementation).
firmware/asm/mips/memset.S [diff]
utils/hwstub/stub/asm/mips/memset.S [diff]
Marcin Bukat
1st Sep 20:39 b1ee789: libmad: Back out a change that disabled optimization for libmad.

(Caused non-realtime playback on mips..)
lib/rbcodec/codecs/libmad/libmad.make [diff]
Solomon Peachy
27th Jul 23:00 91500e1: pacbox: fix screen and buttons for Creative Zen

* rotate screen counterclockwise
* rotate directional buttons
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pacbox/pacbox_lcd.c [diff]
Sebastian Leonhardt
31th Jul 10:10 5dfcadc: manual: nitpicking on '-' character and other minor details
manual/advanced_topics/main.tex [diff]
manual/appendix/appendix.tex [diff]
manual/appendix/config_file_options.tex [diff]
manual/appendix/fdl.tex [diff]
manual/appendix/wps_tags.tex [diff]
manual/getting_started/installation.tex [diff]
manual/plugins/frotz.tex [diff]
manual/plugins/main.tex [diff]
manual/plugins/mpegplayer.tex [diff]
manual/plugins/superdom.tex [diff]
manual/plugins/zxbox.tex [diff]
manual/rockbox_interface/tagcache.tex [diff]
Sebastian Leonhardt
2017-01-13 7442742: iPod Classic: disable IRAM1

On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is slower than DRAM. Codecs that actually are using regions of IRAM1 runs faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains enabled: 48KB for core and 80KB for codecs/plugins.

The next test_codec results shows how decode time is decreased:

file boosted unboosted
*.ra ~1.5% ~0.5%
*.mpc ~21% ~4.5%
*.ogg ~0.5% ~0% nero_he*.m4a ~8% ~1% nero*.m4a ~25% ~7% wmapro*.wma ~4.5% ~0% wma*.wma ~25% ~7%

In addition there is a small power save when IRAM1 HW is disabled.
apps/plugins/plugin.lds [diff]
firmware/target/arm/s5l8702/app.lds [diff]
firmware/target/arm/s5l8702/pcm-s5l8702.c [diff]
firmware/target/arm/s5l8702/system-s5l8702.c [diff]
lib/rbcodec/codecs/libcook/cook.h [diff]
lib/rbcodec/codecs/libfaad/common.h [diff]
lib/rbcodec/codecs/libffmpegFLAC/bitstream.h [diff]
lib/rbcodec/codecs/libmusepack/mpcdec.h [diff]
lib/rbcodec/codecs/libspc/spc_codec.h [diff]
lib/rbcodec/codecs/libwma/wmadec.h [diff]
lib/rbcodec/codecs/libwmapro/wmaprodec.h [diff]
Cástor Muñoz
2016-07-31 8f38f85: Workaround for usb_storage_init_connection() panic

For s5l8701, s5l8702 and as3525v2 targets.

The crash occurs when USB is inserted or extracted while the playlist is being loaded or updated (it could take a few seconds for huge playlists), at this point all buflib memory is allocated and not freed before usb_starage_init_connection() is executed.

This workaround mitigates this panic by using static memory for USB buffers, so this memory cannot be used for other tasks, in addition the problem still persist when playlist load is 'paused' by USB insertion and then updated after USB extraction.
firmware/usbstack/usb_storage.c [diff]
Cástor Muñoz
29th Jul 10:23 210881c: Remove leftover merge conflict marker
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
Franklin Wei
29th Jul 10:05 e9bdb4b: Fix syntax error in builds.pm

This should fix the build system.
tools/builds.pm [diff]
Franklin Wei
28th Jul 15:35 d8bd356: Revert "As3525 v1/v2 Add power savings menu"

This reverts commit 6f0320a9535bc1aa81d83fa879ac14d5ee603658.
apps/features.txt [diff]
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/config.h [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/target/arm/as3525/ascodec-as3525.c [diff]
firmware/target/arm/as3525/clock-target.h [diff]
firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c [diff]
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c [diff]
firmware/target/arm/as3525/sd-as3525.c [diff]
firmware/target/arm/as3525/sd-as3525v2.c [diff]
firmware/target/arm/as3525/system-as3525.c [diff]
firmware/target/arm/as3525/system-target.h [diff]
manual/configure_rockbox/system_options.tex [diff]
William Wilgus
28th Jul 15:34 16f10e2: Revert "Fix Red on PowerSave in Simulator"

This reverts commit 568b81202ebd24a3f7e9efe0558b5f6beed05b44.
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/target/arm/as3525/sd-as3525.c [diff]
William Wilgus
28th Jul 09:05 c75aac8: Slightly raise voltage on FuzeV2 devices.

Some devices seem to have trouble accessing the storage at lower voltages.
firmware/target/arm/as3525/system-as3525.c [diff]
Michael Giacomelli
28th Jul 08:52 3e91ad5: Fix download link for the MIPS toolchain. tools/rockboxdev.sh [diff]
Michael Giacomelli
28th Jun 04:24 0662793: Add cleaned-up xDuoo X3 support

Cleaned up, rebased, and forward-ported from the xvortex fork.

(original credit to vsoftster@gmail.com)

Signed-off-by: Solomon Peachy
apps/SOURCES [diff]
apps/keymaps/keymap-xduoox3.c [new]
apps/menus/sound_menu.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/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/jewels.c [diff]
apps/plugins/lib/keymaps.h [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]
...and 84 more files.
Solomon Peachy
2017-11-19 b3e2bd6: Update MIPS toolchain to GCC 4.9.4 and binutils 2.26.1, update configure
tools/configure [diff]
tools/rockboxdev.sh [diff]
Amaury Pouly
28th Jul 13:36 8fb1740: Fix scroll_engine truncation

fix one off error
firmware/export/scroll_engine.h [diff]
William Wilgus
28th Jul 12:55 568b812: Fix Red on PowerSave in Simulator
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/target/arm/as3525/sd-as3525.c [diff]
William Wilgus
27th Jul 21:56 6f0320a: As3525 v1/v2 Add power savings menu

Allow user to select cpu undervolt

There have been quite a few issues across the SANSA AMS line related to CPU undervolting while most players show greatly increased runtime some crash. Rather than constanly upping the voltage we now have a setting with a safe value for all players and the option for lower voltages

I plan to add a few other options here later such as disk timings and maybe some other clocks/experimental settings

Added: Disk Low speed option for AS3525v2 devices cuts frequency to 12 MHz from 24 MHz Added: Disk Low speed option for AS3525v1 devices cuts frequency to 15.5 MHz from 31 MHz

Added: I2c Low Speed AS3525 devices, should be bigger improvement for v1 devices

Fixed: Debug menu for AS3525v2 No SDSLOT frequency, Showed IDE freq though it is unused

Added: DBOP and SSP underclocking affects display on v1/v2 respectively

Fixed: debug menu now has SSP frequency, and SSP_CPSR

Update: made settings menu more generic

Update: cleaned up code

Added: Clip v1 & Fuze v1 didn't have HAVE_ADJUSTABLE_CPU_VOLTAGE. not sure why but, waiting on testing to confirm

Added: C200v2 and E200v2 devices and HAVE_ADJUSTABLE_CPU_VOLTAGE.

Fixed: v1 devices don't like display timing set lower (dbop) v1 devices don't have a divider set for ssp (causes divide by 0)

Fixed: ClipZip display lags with Max SSP divider changed from 0xFE to 0x32

Fixed: v1 devices didn't work properly with highspeed sd cards Added code from http://gerrit.rockbox.org/r/#/c/1704/ Added powersave and IDE interface enable/disable

Added: V2 devices now have powersave enabled on sd interface

Update: cleaned up code, lang defines, added manual entries

Update ssp clock mechanism added calculated ssp divider to clipzip

Update turn display clock off when clip+ turns off display

Fixed: clipzip wrong register for SSP clock

TODO: add other players?
apps/features.txt [diff]
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/config.h [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/target/arm/as3525/ascodec-as3525.c [diff]
firmware/target/arm/as3525/clock-target.h [diff]
firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c [diff]
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c [diff]
firmware/target/arm/as3525/sd-as3525.c [diff]
firmware/target/arm/as3525/sd-as3525v2.c [diff]
firmware/target/arm/as3525/system-as3525.c [diff]
firmware/target/arm/as3525/system-target.h [diff]
manual/configure_rockbox/system_options.tex [diff]
William Wilgus
27th Jul 13:09 400603a: Lua -- Fix device hang when scroll function active on clear_screen

I previously noticed that manually clearing the framebuffer while scroll function was active caused lua to crash

I could reproduce in sim and on device but I thought using the plugin supplied rb->lcd_clear_screen was immune to this issue

Unfortunately some devices exhibit this behavior with the plugin function as well

This patch adds rb->lcd_scroll_stop() before lcd_clear_screen at lua start-up and to the supplied include file lcd.lua
apps/plugins/lua/include_lua/lcd.lua [diff]
apps/plugins/lua/rocklua.c [diff]
William Wilgus
2017-12-14 dcd71e6: Optimize lcd-ssd1303 driver (clip series)

Saves 100+ bytes (50 of it in iram), saves a bit of power

Internal LCD clock decreased but with added efficiency of drawing routines loses only around 2 Hz on the scanrate (~75Hz) while fps is slightly increased

Column offsets are now calculated outside the loops saving a few instructions

Passing a LCD_NOP command after lcd_update turns off Data/Cmd# gpio saving a bit more power

Added a function lcd_write_cmd_triple() that allows 3 commands to be sent at once when enabled with LCD_USE_FIFO_FOR_COMMANDS it sends them back to back without checking FIFO status in between or sending to thhe D/C# Gpio. Makes an assumption about the FIFO being large enough to accept 3 commands after being emptied which should be the case on the clipv1, clipv2, clipplus. I have only enabled it for the clip plus as thats the only device I have to test it on.

On clip+ the SSP clock is now turned off when screen is off
firmware/target/arm/as3525/lcd-clip.h [diff]
firmware/target/arm/as3525/lcd-ssd1303.c [diff]
firmware/target/arm/as3525/sansa-clip/lcd-clip.c [diff]
firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c [diff]
firmware/target/arm/as3525/sansa-clipv2/lcd-clipv2.c [diff]
William Wilgus
2017-11-14 056d4b0: Update AS3525 v1/v2 debug menu; add scrolling and missing frequencies

On the clip zip most debug menu items get cut off and there is no way to read most of the debug menu items.

This patch makes the menu button scroll the text 1 character to the right with each press and the center (select) button re-aligns the text

Adds SSP frequency(v2) & register Adds SD slot frequency(v2)
apps/debug_menu.c [diff]
firmware/target/arm/as3525/debug-as3525.c [diff]
William Wilgus
25th Jul 18:53 ff7d2bd: Fix lcd-scroll.c truncation warnings
firmware/export/scroll_engine.h [diff]
William Wilgus
25th Jul 18:41 1054b57: Revert "Ignore truncation in lcd-scroll.c"

This reverts commit 540637ed3334364fe9d1b54cdc96a52f59afda83.
firmware/drivers/lcd-scroll.c [diff]
William Wilgus
25th Jul 18:16 7b5ce73: Fix playersim CHAR_WIDTH re-definition
uisimulator/common/lcd-playersim.h [diff]
William Wilgus
25th Jul 17:56 540637e: Ignore truncation in lcd-scroll.c
firmware/drivers/lcd-scroll.c [diff]
William Wilgus
25th Jul 17:28 5e5ddce: Fix truncation warnings in tree.c, filetree.c
apps/filetree.c [diff]
apps/tree.c [diff]
William Wilgus
25th Jul 17:32 7bec713: Fix formatting cuesheet.c
apps/cuesheet.c [diff]
William Wilgus
25th Jul 16:33 2fb6b2b: Fix truncation warning playlist.c, tree.c
apps/playlist.c [diff]
apps/tree.c [diff]
William Wilgus
25th Jul 12:14 2eeb338: Ignore cuesheet title truncation
apps/cuesheet.c [diff]
William Wilgus
25th Jul 06:29 bdbc7f7: Revert "Remove truncation from cuesheet"

This reverts commit a81c63160c5d1da3a5c2b407fae58daead6199a8.
apps/cuesheet.c [diff]
William Wilgus
25th Jul 06:31 021124f: Revert "Fix cuesheet printf truncation"

This reverts commit c332180afd8ac408883ba79c6c4d9c86120198e0.
apps/cuesheet.c [diff]
William Wilgus
25th Jul 06:12 c332180: Fix cuesheet printf truncation
apps/cuesheet.c [diff]
William Wilgus
25th Jul 05:32 a81c631: Remove truncation from cuesheet

Lets see if this works..
apps/cuesheet.c [diff]
William Wilgus
2017-10-30 c15af64: AMS v1/v2: Fix I2C2_CSPR debug menu entry

I2c controller needs to be enabled in order to read CSPR0, CSPR1 registers function sets CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE and only clears if it wasn't previously enabled

Use divider set in register to calculate frequency rather than hard coded divider
firmware/target/arm/as3525/ascodec-as3525.c [diff]
firmware/target/arm/as3525/debug-as3525.c [diff]
firmware/target/arm/as3525/system-target.h [diff]
William Wilgus
2017-12-09 6a56876: CLIPPLUS -- Remove un-needed handling for power button button button_read_device()

switching GPIOB in order to read GPIOD96)
(power button) is apparently unneeded
firmware/target/arm/as3525/sansa-clipplus/button-clip.c [diff]
William Wilgus
24th Jul 06:31 1b68aea: Try #4 for lua make

Last commit was just a test to see if it work this one cleans it up a bit and should be a bit faster
apps/plugins/lua/lua.make [diff]
William Wilgus
24th Jul 05:31 1482a31: Try # 3 for lua make file
apps/plugins/lua/include_lua/image.lua [diff]
apps/plugins/lua/lua.make [diff]
William Wilgus
24th Jul 05:09 aefdd20: Lua Fix image saving for 32 bit targets -- update make file

Hopefully this will fix the build faliures for a few targets
apps/plugins/lua/include_lua/image.lua [diff]
apps/plugins/lua/lua.make [diff]
William Wilgus
23rd Jul 00:50 af35d19: Rocklua -- Extend / Fix rliImage

Some devices(1-bit / 2-bit displays) have packed bit formats that need to be unpacked in order to work on them at a pixel level.

This caused a few issues on 1 & 2-bit devices: Greatly Oversized data arrays for bitmaps Improper handling of native image data Framebuffer data was near unusable without jumping through hoops

Conversion between native addressing and per pixel addressing incurs extra overhead but it is much faster to do it on the 'C' side rather than in lua.

Not to mention the advantage of a unified interface for the end programer

------------------------------------------------------------------- Adds a sane way to access each pixel of image data Adds:
-------------------------------------------------------------------- img:clear([color],[x1],[y1],[x2],[y2])
(set whole image or a portion to a particular value)
-------------------------------------------------------------------- img:invert([x1],[y1],[x2],[y2])
(inverts whole image or a portion)
-------------------------------------------------------------------- img:marshal([x1],[y1],[x2],[y2],[funct])
(calls funct for each point defined by rect of x1,y1 x2,y2 returns value and allows setting value of each point return nil to terminate early)
-------------------------------------------------------------------- img:points([x1],[y1],[x2],[y2],[dx],[dy])
(returns iterator function that steps delta-x and delta-y pixels each call returns value of pixel each call but doesn't allow setting to a new value compare to lua pairs method)
-------------------------------------------------------------------- img:copy(src,[x1],[y1],[x2],[y2],[w],[h],[clip][operation][clr/funct])
(copies all or part of an image -- straight copy or special ops optionally calls funct for each point defined by rect of x1, y1, w, h and x2, y2, w, h for dest and src images returns value of dst and src and allows setting value of each point return nil to terminate early)
-------------------------------------------------------------------- img:line(x1, y1, x2, y2, color)
-------------------------------------------------------------------- img:ellipse(x1, y1, x2, y2, color, [fillcolor]
-------------------------------------------------------------------- Fixed handling of 2-bit vertical integrated screens

Added direct element access for saving / restoring native image etc.

Added more data to tostring() handler and a way to access individual items

Added equals method to see if two variables reference the same image address
(doesn't check if two separate images contain the same 'picture')

Optimized get and set routines

Fixed out of bound x coord access shifting to next line

Added lua include files to expose new functionality

Finished image saving routine

Static allocation of set_viewport struct faster + saves ram over dynamic

Cleaned up code

Fixed pixel get/set for 1/2 bit devices

Fixed handling for 24-bit devices (32?)

------------------------------------------------------------------------- Example lua script to follow on forums
-------------------------------------------------------------------------
apps/plugins/lua/include_lua/blit.lua [new]
apps/plugins/lua/include_lua/color.lua [new]
apps/plugins/lua/include_lua/draw.lua [new]
apps/plugins/lua/include_lua/image.lua [new]
apps/plugins/lua/include_lua/lcd.lua [new]
apps/plugins/lua/include_lua/math_ex.lua [new]
apps/plugins/lua/include_lua/print.lua [new]
apps/plugins/lua/include_lua/timer.lua [new]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rocklib.c [diff]
William Wilgus
22nd Jul 16:43 ef210b5: Revert "Rocklua -- Extend / Fix rliImage"

This reverts commit 2daec3d3c3d84e7176a22bc073ca5530e8e44c6d.
apps/plugins/lua/include_lua/blit.lua [deleted]
apps/plugins/lua/include_lua/color.lua [deleted]
apps/plugins/lua/include_lua/draw.lua [deleted]
apps/plugins/lua/include_lua/image.lua [deleted]
apps/plugins/lua/include_lua/lcd.lua [deleted]
apps/plugins/lua/include_lua/math_ex.lua [deleted]
apps/plugins/lua/include_lua/print.lua [deleted]
apps/plugins/lua/include_lua/timer.lua [deleted]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rocklib.c [diff]
William Wilgus
28th May 15:56 2daec3d: Rocklua -- Extend / Fix rliImage

Some devices(1-bit / 2-bit displays) have packed bit formats that need to be unpacked in order to work on them at a pixel level.

This caused a few issues on 1 & 2-bit devices: Greatly Oversized data arrays for bitmaps Improper handling of native image data Framebuffer data was near unusable without jumping through hoops

Conversion between native addressing and per pixel addressing incurs extra overhead but it is much faster to do it on the 'C' side rather than in lua.

Not to mention the advantage of a unified interface for the end programer

------------------------------------------------------------------- Adds a sane way to access each pixel of image data Adds:
-------------------------------------------------------------------- img:clear([color],[x1],[y1],[x2],[y2])
(set whole image or a portion to a particular value)
-------------------------------------------------------------------- img:invert([x1],[y1],[x2],[y2])
(inverts whole image or a portion)
-------------------------------------------------------------------- img:marshal([x1],[y1],[x2],[y2],[funct])
(calls funct for each point defined by rect of x1,y1 x2,y2 returns value and allows setting value of each point return nil to terminate early)
-------------------------------------------------------------------- img:points([x1],[y1],[x2],[y2],[dx],[dy])
(returns iterator function that steps delta-x and delta-y pixels each call returns value of pixel each call but doesn't allow setting to a new value compare to lua pairs method)
-------------------------------------------------------------------- img:copy(src,[x1],[y1],[x2],[y2],[w],[h],[clip][operation][clr/funct])
(copies all or part of an image -- straight copy or special ops optionally calls funct for each point defined by rect of x1, y1, w, h and x2, y2, w, h for dest and src images returns value of dst and src and allows setting value of each point return nil to terminate early)
-------------------------------------------------------------------- img:line(x1, y1, x2, y2, color)
-------------------------------------------------------------------- img:ellipse(x1, y1, x2, y2, color, [fillcolor]
-------------------------------------------------------------------- Fixed handling of 2-bit vertical integrated screens

Added direct element access for saving / restoring native image etc.

Added more data to tostring() handler and a way to access individual items

Added equals method to see if two variables reference the same image address
(doesn't check if two separate images contain the same 'picture')

Optimized get and set routines

Fixed out of bound x coord access shifting to next line

Added lua include files to expose new functionality

Finished image saving routine

Static allocation of set_viewport struct faster + saves ram over dynamic

Cleaned up code

Fixed pixel get/set for 1/2 bit devices
------------------------------------------------------------------------- Example lua script to follow on forums
-------------------------------------------------------------------------
apps/plugins/lua/include_lua/blit.lua [new]
apps/plugins/lua/include_lua/color.lua [new]
apps/plugins/lua/include_lua/draw.lua [new]
apps/plugins/lua/include_lua/image.lua [new]
apps/plugins/lua/include_lua/lcd.lua [new]
apps/plugins/lua/include_lua/math_ex.lua [new]
apps/plugins/lua/include_lua/print.lua [new]
apps/plugins/lua/include_lua/timer.lua [new]
apps/plugins/lua/lua.make [diff]
apps/plugins/lua/rocklib.c [diff]
William Wilgus
2017-10-30 19b2964: AMS v1/v2: Remove sd_enabled as an externally-visible variable.

Also removes the sd_enable() function call. It was only used in the debug screen on AMSv1 and not used at all on AMS v2.

For v1,obtain debug info in a struture passed to a dedicated debug info function so that enabling and disabling the controller isn't racy.
firmware/target/arm/as3525/debug-as3525.c [diff]
firmware/target/arm/as3525/sd-as3525.c [diff]
firmware/target/arm/as3525/sd-as3525v2.c [diff]
firmware/target/arm/as3525/system-target.h [diff]
Michael Sevakis
3rd Apr 10:45 ab1b67f: Textviewer night mode

Add a night mode to textviewer.
apps/plugins/text_viewer/tv_display.c [diff]
apps/plugins/text_viewer/tv_display.h [diff]
apps/plugins/text_viewer/tv_menu.c [diff]
apps/plugins/text_viewer/tv_preferences.c [diff]
apps/plugins/text_viewer/tv_preferences.h [diff]
apps/plugins/text_viewer/tv_settings.c [diff]
Moshe Piekarski
28th Jun 07:52 8742f6f: Agptek: Fix headphones detection
firmware/target/hosted/agptek/button-agptek.c [diff]
Marcin Bukat
28th Jun 07:51 971001d: Agptek: Fix support for empty strings in sysfs helper functions
firmware/target/hosted/agptek/sysfs.c [diff]
Marcin Bukat
20th Jun 17:13 d64ff86: puzzles: resync with upstream

This brings the source to upstream commit 506b073 (though I have made some extra commits on top of that). Notably this includes a fix for a double-free bug that I myself introduced upstream.
apps/plugins/puzzles/rbcompat.h [diff]
apps/plugins/puzzles/src/Buildscr [diff]
apps/plugins/puzzles/src/HACKING [deleted]
apps/plugins/puzzles/src/Makefile [deleted]
apps/plugins/puzzles/src/Makefile.am [deleted]
apps/plugins/puzzles/src/Makefile.clangcl [deleted]
apps/plugins/puzzles/src/Makefile.cyg [deleted]
apps/plugins/puzzles/src/Makefile.emcc [deleted]
apps/plugins/puzzles/src/Makefile.gnustep [deleted]
apps/plugins/puzzles/src/Makefile.gtk [deleted]
apps/plugins/puzzles/src/Makefile.in [deleted]
apps/plugins/puzzles/src/Makefile.nestedvm [deleted]
apps/plugins/puzzles/src/Makefile.osx [deleted]
apps/plugins/puzzles/src/Makefile.vc [deleted]
apps/plugins/puzzles/src/Makefile.wce [deleted]
apps/plugins/puzzles/src/Recipe [diff]
apps/plugins/puzzles/src/aclocal.m4 [deleted]
apps/plugins/puzzles/src/compile [deleted]
apps/plugins/puzzles/src/config.log [deleted]
apps/plugins/puzzles/src/config.status [deleted]
apps/plugins/puzzles/src/configure [deleted]
apps/plugins/puzzles/src/depcomp [deleted]
apps/plugins/puzzles/src/filling.c [diff]
apps/plugins/puzzles/src/gtk.c [diff]
apps/plugins/puzzles/src/install-sh [deleted]
apps/plugins/puzzles/src/keen.c [diff]
apps/plugins/puzzles/src/latin.c [diff]
apps/plugins/puzzles/src/list.c [deleted]
apps/plugins/puzzles/src/misc.c [diff]
apps/plugins/puzzles/src/missing [deleted]
...and 6 more files.
Franklin Wei
20th Jun 19:57 708a54d: Fix yellow for LCD_DEPTH == 32
apps/plugins/fractals/mandelbrot_set.c [diff]
Marcin Bukat
20th Jun 19:17 28cfeed: Agptek Rocker: Add missing lcd_set_active(true) in lcd_init_device()

This should fix problem introduced in 5c015ad resulting in not updating screen properly in wps.
firmware/target/hosted/agptek/lcd-agptek.c [diff]
firmware/target/hosted/agptek/lcd-target.h [diff]
Marcin Bukat
20th Jun 10:19 706e31b: Volume adjustment in WPS ignored AUDIOHW_SETTING values

AUDIOHW_SETTING() defines number of decimals and step size. This is taken into account in sound menu but ignored in WPS. This was not a problem so far since all drivers used 0 decimal places and step size equal 1.
apps/gui/wps.c [diff]
Marcin Bukat
14th Jun 09:29 20bdfa8: Agptek Rocker: Add to builds.pm
tools/builds.pm [diff]
Marcin Bukat
14th Jun 09:02 203e4ad: Agptek Rocker: Slightly tweak build procedure

In bootloader build create stripped binary bootloader.rocker
firmware/target/hosted/agptek/rocker.make [diff]
tools/agptek_rocker/bootloader_install.sh [diff]
Marcin Bukat
14th Jun 08:03 5c015ad: Agptek Rocker: Implement lcd_enable()

In theory this should slightly improve battery life.
firmware/SOURCES [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/target/hosted/agptek/lcd-agptek.c [diff]
firmware/target/hosted/agptek/lcd-target.h [diff]
Marcin Bukat
14th Jun 07:09 755b824: Agptek Rocker: Fix mpegplayer keymap
apps/plugins/mpegplayer/mpeg_settings.c [diff]
Marcin Bukat
13th Jun 11:28 419219e: Agptek Rocker: Update tools to alter .upt update images

Change all references to official rockbox repository
tools/agptek_rocker/Dockerfile [diff]
tools/agptek_rocker/README [diff]
tools/agptek_rocker/bootloader_install.sh [diff]
Marcin Bukat
12th Jun 10:11 f727b07: puzzles: minor nitpicks to fbb6a2f

Just some whitespace changes to maintain stylistic consistency.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
12th Jun 10:09 c2d5ac1: puzzles: fix typo introduced by fbb6a2f

When zoomed in, the original commit made a mono bitmap (a.k.a. text) always have the red component set to 255. This would cause drawn text to always be red. Fixed.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
12th Jun 11:25 f2075a5: Add XRGB8888 native format

This got lost somehow during Agptek port merge
firmware/export/lcd.h [diff]
Marcin Bukat
12th Jun 11:09 0e48cb7: Silence warnings
firmware/target/hosted/rtc.c [diff]
Marcin Bukat
12th Jun 11:02 32e8028: Cleanup comment
firmware/drivers/lcd-24bit.c [diff]
Marcin Bukat
12th Jun 10:55 f439079: bmp2rb: Add XRGB 32bit native format
tools/bmp2rb.c [diff]
Marcin Bukat
12th Jun 10:50 307ea83: Fix merge errors which broke sony linux targets
firmware/SOURCES [diff]
Marcin Bukat
12th Jun 10:41 71dc1a7: Fix MIPS threading code to compile with older compiler

Official rockbox mips gcc is old and doesn't support symbolic register names in inline assembly
firmware/asm/mips/thread-mips32.c [diff]
Marcin Bukat
12th Jun 09:44 9be14c0: Fix merge error
firmware/target/hosted/alsa-controls.h [diff]
Marcin Bukat
12th Jun 09:19 7f4d183: Fix ipod classic build
firmware/SOURCES [diff]
Marcin Bukat
8th Jun 11:26 c0bdbb4: Agptek Rocker: Callibrate power discharge/charge curve

Thanks 'elakir' and 'pechenyh' rockbox forum users for performing battery bench.
firmware/target/hosted/agptek/powermgmt-agptek.c [diff]
Marcin Bukat
11th Apr 07:04 0952f59: Agptek Rocker: Fix keymap in time/date screen
apps/keymaps/keymap-agptekrocker.c [diff]
Marcin Bukat
10th Apr 20:49 a81391b: Agptek Rocker: Fix saving time in hwclock

Rocker is configured with CST (China Standard Time) timezone which is UTC+8. Time in RTC is stored in UTC.
firmware/target/hosted/rtc.c [diff]
Marcin Bukat
10th Apr 12:13 1af78b9: Agptek Rocker: fix rockboy pallete

Contributed by Aapo Tahkola.
apps/plugins/rockboy/sys_rockbox.c [diff]
Marcin Bukat
10th Apr 11:26 fbaa974: Agptek Rocker: Implement RTC support

Add define in config file to enable RTC support in rockbox, Fix time_menu.c to include radio.h only when tuner is present Implement time setting function on linux (was empty stub)

Not tested.
apps/menus/time_menu.c [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/target/hosted/rtc.c [diff]
Marcin Bukat
13th Mar 22:05 937589c: Agptek Rocker: Add bass, treble and balance controls
firmware/export/config/agptekrocker.h [diff]
Marcin Bukat
13th Mar 20:24 7692558: Agptek Rocker: Implement USB mass storage driver

Agptek uses composite android driver.
apps/main.c [diff]
bootloader/rocker_linux.c [diff]
firmware/SOURCES [diff]
firmware/export/config/agptekrocker.h [diff]
firmware/target/hosted/agptek/power-agptek.c [diff]
firmware/target/hosted/agptek/power-agptek.h [diff]
firmware/target/hosted/agptek/powermgmt-agptek.c [diff]
firmware/target/hosted/agptek/usb-agptek.c [new]
Marcin Bukat
4th Mar 19:50 d5889b3: Agptek Rocker: Make simulator compile and run

There are some things to fix left but at least it starts and you can navigate.
firmware/SOURCES [diff]
firmware/target/hosted/sdl/lcd-bitmap.c [diff]
Marcin Bukat
2nd Mar 20:53 fbb6a2f: Agptek Rocker: Build plugins

Patch provided by Aapo Tahkola.
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/jewels.c [diff]
apps/plugins/lib/keymaps.h [diff]
apps/plugins/lib/osd.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 22 more files.
Marcin Bukat
2nd Mar 20:45 0538ba3: Agptek Rocker: Restrict root directory to SD only

Actual / of underlying linux OS should not be available to user. I am still not sure if implementation is correct. It doesn't perform any relative path sandboxing for example.
firmware/export/rbpaths.h [diff]
firmware/target/hosted/filesystem-app.c [diff]
firmware/target/hosted/lc-unix.c [diff]
tools/configure [diff]
Marcin Bukat
2018-02-26 09fde79: Agptek Rocker: Add tools to work with OF update images

Original firmware update is provided as .upt file. This file is actually ISO9660 image containing uBoot, kernel image and UBIFS rootfs and additional control files. Installing bootloader means patching UBIFS rootfs image.
tools/agptek_rocker/Dockerfile [new]
tools/agptek_rocker/README [new]
tools/agptek_rocker/bootloader_install.sh [new]
tools/agptek_rocker/hiby_player.sh [new]
tools/agptek_rocker/update_update.py [new]
Marcin Bukat
2017-04-27 d556809: Agptek Rocker: Initial commit
apps/SOURCES [diff]
apps/bitmaps/native/SOURCES [diff]
apps/bitmaps/native/hibyicon.70x70x16.bmp [new]
apps/bitmaps/native/rockboxicon.70x70x16.bmp [new]
apps/bitmaps/native/toolsicon.70x70x16.bmp [new]
apps/keymaps/keymap-agptekrocker.c [new]
apps/recorder/bmp.c [diff]
bootloader/SOURCES [diff]
bootloader/rocker_linux.c [new]
firmware/SOURCES [diff]
firmware/asm/SOURCES [diff]
firmware/asm/mips/thread-mips32.c [diff]
firmware/asm/mips/thread.h [diff]
firmware/drivers/audio/rocker_codec.c [new]
firmware/drivers/lcd-24bit.c [diff]
firmware/export/audiohw.h [diff]
firmware/export/config.h [diff]
firmware/export/config/agptekrocker.h [new]
firmware/export/rbpaths.h [diff]
firmware/export/rocker_codec.h [new]
firmware/include/bitarray.h [diff]
firmware/kernel/thread.c [diff]
firmware/screendump.c [diff]
firmware/target/hosted/agptek/adc-target.h [new]
firmware/target/hosted/agptek/backlight-agptek.c [new]
firmware/target/hosted/agptek/backlight-target.h [new]
firmware/target/hosted/agptek/button-agptek.c [new]
firmware/target/hosted/agptek/button-target.h [new]
firmware/target/hosted/agptek/debug-agptek.c [new]
firmware/target/hosted/agptek/lcd-agptek.c [new]
...and 20 more files.
Marcin Bukat
2018-02-22 beef52c: mipsel-rockbox-linux toolchain build fix

If we use mips-rockbox-linux target resulting toolchain is big endian. If we use mipsel-rockbox-linux build fail since linux doesn't have separate archs for BE and LE mips. So we tweak arch passed to linux-headers stage to fix this.
tools/rockboxdev.sh [diff]
Marcin Bukat
2017-02-23 1b2faea: Add generic linux MIPS toolchain
tools/rockboxdev.sh [diff]
Amaury Pouly
2018-02-05 9a9c7f2: Fix lua failure to catch divide by zero and NaN exceptions

I can only assume in the course of the original conversion to fixed point math in RbLua the fact that division by zero and NaN handling was to be caught as a graceful exception by the floating point handler was overlooked.

As a result lua doesn't handle these exceptions and instead results in a panic on the device.

This patch fixes this handling in the lexer for compile time Inf and Nan results and in the luavm for runtime division by zero (Inf)

I missed the runtime exception of n%0 added checks for that as well..
apps/plugins/lua/lcode.c [diff]
apps/plugins/lua/lvm.c [diff]
William Wilgus
2017-09-09 80bb6cc: Make short press of SELECT in FMS return ACTION_NONE on Sansa Fuze

Fixes action fall through of select|release on fuze during FMS screen allowing detection of unmapped button
apps/keymaps/keymap-fuze.c [diff]
William Wilgus
2016-12-21 8db6d20: Fix FMS Volume-long press Up and Down button actions for SANSA CLIP derivatives

When long pressing PLAY/PAUSE and FM_MODE on devices that use the clip keymap the volume changes in addition to toggling PLAY/PAUSE and SCAN/SEEK,this patch removes the volume functionality as these devices provide dedicated volume buttons
apps/keymaps/keymap-clip.c [diff]
William Wilgus
2017-09-07 0c06e5f: Add file view menu to file browser

Allows changing file sort options directly through context menu in the file browser rather than having to exit the browser and go through General Settings>File_View
apps/onplay.c [diff]
apps/tree.c [diff]
William Wilgus
31th May 12:31 641e033: Revert "rocklib -- Fix Red"

This reverts commit 37a20dffb6c285e625f049820a6aaadbbd7952aa.
apps/plugins/lua/rocklib.c [diff]
William Wilgus
31th May 12:15 4508ee9: Revert "Rocklua -- Clean-up source"

This reverts commit 0565f671181f10e6eb38156d9f409825e2513290. Removing Typedef from rliimage
apps/plugins/lua/rocklib.c [diff]
William Wilgus
28th May 15:50 37a20df: rocklib -- Fix Red
apps/plugins/lua/rocklib.c [diff]
William Wilgus
2017-12-18 0565f67: Rocklua -- Clean-up source
apps/plugins/lua/rocklib.c [diff]
William Wilgus
28th May 00:36 07a0f20: Lua liolib

Add Whitespace to EOF
apps/plugins/lua/liolib.c [diff]
William Wilgus
2018-01-29 0d41e13: Fix lua lseek command / io lib

lua would not return or set arbitrary file positions file:seek("set", 0) worked file:seek("cur") worked but setting an offset or file:seek("end") failed

I tracked this down to a bug checking the return of rb->lseek

on error lseek returns a negative number and returns the file position otherwise, the function was checking for if(N) instead of if(N < 0)

Fixed - limited size of lseek to size of signed LuaNumber

Fixed - io:lines() stopped after first line containing only a newline instead of returning a blank line and continuing till EOF this fixes file:read("*l") as well

Fixed - ssize_t for read() with error checking
apps/plugins/lua/liolib.c [diff]
William Wilgus
2017-11-30 1f63604: Fuze PLUS Fix lcd_update_rect()

Lcd_update rect was hanging during horizontal screen update x = 238 and width = 2 which was within the bounds of the screen, this seems to be a weird corner case but more testing needs done.

Update_rect now properly bounded between 0 - screen w/h
--Cleaned up code

Pixels in x are now multiples of 4.

Datasheet states:
------------------------------------------------------------------------------------------- WORD_LENGTH=0 implies the input frame buffer is RGB 16 bits per pixel. DATA_FORMAT_16_BIT field indicates if the pixels are in RGB 555 or RGB 565 format. Limitations:
— BYTE_PACKING_FORMAT [3:0] should be 0x3 or 0xC if there is only one pixel per word.
— If there are two pixels per word, BYTE_PACKING_FORMAT [3:0] should be 0xF and H_COUNT will be restricted to be a multiple of 2 pixels.

and

WORD_LENGTH=3 indicates that the input frame-buffer is RGB 24 bits per pixel (RGB 888). If BYTE_PACKING_FORMAT [3:0] is 0x7, it indicates that there is only one pixel per 32-bit word and there is no restriction on H_COUNT. Limitations:
— If BYTE_PACKING_FORMAT [3:0] is 0xF, it indicates that the pixels are packed, i.e. there are 4 pixels in 3 words or 12 bytes. In that case, H_COUNT must be a multiple of 4 pixels.
-------------------------------------------------------------------------------------------

We are using 16 bits per pixel and byte_packing = 0xF but device crashes with multiple of 2 pixels

Behaviour can be verified with plugin - oscilloscope, Horizontal mode device hangs as indicator reaches right of screen
firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c [diff]
William Wilgus
25th May 17:16 038a102: Fix Remove lcd_scroll_worker from bootloader except remote displays/charcell

This patch was supposed to only remove scroll worker from devices without remote displays, the build system said otherwise

fixed: conditional define
firmware/drivers/lcd-scroll.c [diff]
William Wilgus
2017-11-06 0999a22: Remove lcd_scroll_worker from bootloader except remote displays and charcell

Removes unneeded scrolling fuctionality from bootloaders
firmware/drivers/lcd-scroll.c [diff]
firmware/scroll_engine.c [diff]
William Wilgus
22nd May 22:07 0b2f518: Don't enable full vuprintf file in bootloader. Saves ~2KB packed space when patching clip+ OF.
firmware/common/vuprintf.c [diff]
Michael Giacomelli
24th Apr 17:05 992a126: puzzles: update frontend for new upstream, misc. changes

The upstream code changed a little bit with regard to the request_keys() API. Also, we save some bytes (especially on the c200v2) by compiling with
-ffunction-sections and -fdata-sections, which allows Net to fit once again.
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/SOURCES.games [diff]
apps/plugins/puzzles/puzzles.make [diff]
apps/plugins/puzzles/rbcompat.h [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
24th Apr 17:03 b29611f: puzzles: update help text, make generation and testing cleaner

This includes an upstream change to the Galaxies help text. `genhelp.sh' no longer leaves temporary files sitting around, and the self-test feature of lz4tiny.c works again.
apps/plugins/puzzles/genhelp.sh [diff]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
apps/plugins/puzzles/help/signpost.c [diff]
apps/plugins/puzzles/help/singles.c [diff]
...and 12 more files.
Franklin Wei
24th Apr 16:06 8f23493: puzzles: resync with upstream

This brings the upstream version to b3da238 (though some of my own changes are included on top of that).
apps/plugins/puzzles/src/Buildscr [diff]
apps/plugins/puzzles/src/HACKING [new]
apps/plugins/puzzles/src/Makefile [new]
apps/plugins/puzzles/src/Makefile.am [new]
apps/plugins/puzzles/src/Makefile.clangcl [new]
apps/plugins/puzzles/src/Makefile.cyg [new]
apps/plugins/puzzles/src/Makefile.emcc [new]
apps/plugins/puzzles/src/Makefile.gnustep [new]
apps/plugins/puzzles/src/Makefile.gtk [new]
apps/plugins/puzzles/src/Makefile.in [new]
apps/plugins/puzzles/src/Makefile.nestedvm [new]
apps/plugins/puzzles/src/Makefile.osx [new]
apps/plugins/puzzles/src/Makefile.vc [new]
apps/plugins/puzzles/src/Makefile.wce [new]
apps/plugins/puzzles/src/Recipe [diff]
apps/plugins/puzzles/src/aclocal.m4 [new]
apps/plugins/puzzles/src/compile [new]
apps/plugins/puzzles/src/config.log [new]
apps/plugins/puzzles/src/config.status [new]
apps/plugins/puzzles/src/configure [new]
apps/plugins/puzzles/src/depcomp [new]
apps/plugins/puzzles/src/devel.but [diff]
apps/plugins/puzzles/src/filling.c [diff]
apps/plugins/puzzles/src/gamedesc.txt [new]
apps/plugins/puzzles/src/gtk.c [diff]
apps/plugins/puzzles/src/html/galaxies.html [diff]
apps/plugins/puzzles/src/icons/Makefile [diff]
apps/plugins/puzzles/src/install-sh [new]
apps/plugins/puzzles/src/keen.R [diff]
apps/plugins/puzzles/src/keen.c [diff]
...and 31 more files.
Franklin Wei
22nd Apr 12:43 ef0fb52: puzzles: silence some warnings
apps/plugins/puzzles/compress.c [diff]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
apps/plugins/puzzles/help/signpost.c [diff]
apps/plugins/puzzles/help/singles.c [diff]
...and 12 more files.
Franklin Wei
20th Apr 18:14 56803c8: Add battery calibration for Sony NWZ A10. firmware/target/hosted/sonynwz/powermgmt-nwz.c [diff]
Michael Giacomelli
17th Apr 20:13 22823e2: puzzles: save some bytes

This should cut just enough size off the binary to let Net still compile for the c200v2. This is probably close to the last time I'll be able to do this; I'm already resorting to dirty hacks like writing super terse error messages.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
17th Apr 16:46 e84fc26: puzzles: clean up for rockbox

Disabled vprintf() call in Filling, and reordered vertices in Unequal.
apps/plugins/puzzles/src/filling.c [diff]
apps/plugins/puzzles/src/unequal.c [diff]
Franklin Wei
17th Apr 16:18 6dc9d1d: puzzles: enable all the remaining games

They all work now :). I merged in part of Chris Boyle's Android port of Puzzles to give the front end a way to know what keys the back end needs. This also re-syncs to the latest upstream sources.
apps/plugins/puzzles/README.rockbox [diff]
apps/plugins/puzzles/SOURCES.games [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/puzzles/src/blackbox.c [diff]
apps/plugins/puzzles/src/bridges.c [diff]
apps/plugins/puzzles/src/cube.c [diff]
apps/plugins/puzzles/src/dominosa.c [diff]
apps/plugins/puzzles/src/fifteen.c [diff]
apps/plugins/puzzles/src/filling.c [diff]
apps/plugins/puzzles/src/flip.c [diff]
apps/plugins/puzzles/src/flood.c [diff]
apps/plugins/puzzles/src/galaxies.c [diff]
apps/plugins/puzzles/src/guess.c [diff]
apps/plugins/puzzles/src/inertia.c [diff]
apps/plugins/puzzles/src/keen.c [diff]
apps/plugins/puzzles/src/latin.c [diff]
apps/plugins/puzzles/src/lightup.c [diff]
apps/plugins/puzzles/src/loopy.c [diff]
apps/plugins/puzzles/src/magnets.c [diff]
apps/plugins/puzzles/src/map.c [diff]
apps/plugins/puzzles/src/midend.c [diff]
apps/plugins/puzzles/src/mines.c [diff]
apps/plugins/puzzles/src/net.c [diff]
apps/plugins/puzzles/src/netslide.c [diff]
apps/plugins/puzzles/src/nullgame.c [diff]
apps/plugins/puzzles/src/palisade.c [diff]
apps/plugins/puzzles/src/pattern.c [diff]
apps/plugins/puzzles/src/pearl.c [diff]
apps/plugins/puzzles/src/pegs.c [diff]
apps/plugins/puzzles/src/puzzles.h [diff]
...and 16 more files.
Franklin Wei
2018-02-25 7a12e79: Oscilloscope plugin: bundle #define NEED_LASTBUTTON to a single place

This fixes a warning that was introduced with enabling plugins for the Zen XFi-2.
apps/plugins/oscilloscope.c [diff]
Sebastian Leonhardt
2018-02-22 0486e5b: Zen XFi2: Enable Plugins

Keymaps aren't tested, there may be room for improvement.

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/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lib/keymaps.h [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]
apps/plugins/rockpaint.c [diff]
...and 16 more files.
Sebastian Leonhardt
2016-04-12 fb3f765: pacbox for small screens, up to 75x96
apps/plugins/SUBDIRS [diff]
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pacbox/pacbox_lcd.c [diff]
manual/plugins/images/ss-pacbox-128x96x16.png [new]
manual/plugins/images/ss-pacbox-96x96x16.png [new]
manual/plugins/main.tex [diff]
Sebastian Leonhardt
2016-04-11 96335a7: pacbox: clean-up screen size code

removes the code duplication for lcd scaling in pacbox.h/pacbox_lcd.h
apps/plugins/pacbox/pacbox.h [diff]
apps/plugins/pacbox/pacbox_lcd.c [diff]
Sebastian Leonhardt
18th Mar 18:22 d5847e8: duke3d: add manual entry

Oops. Apparently I neglected to add this and it's gone unnoticed until now.
manual/plugins/duke3d.tex [new]
Franklin Wei
18th Mar 12:07 9006e75: puzzles: fix typo
apps/plugins/puzzles/compress.c [diff]
Franklin Wei
17th Mar 21:54 77641d5: puzzles: add formatting to help viewer

The help text is now processed to generate a style array to pass to the display_text library in addition to the text itself. The help text is still compressed using LZ4, and still fits on the c200v2.
apps/plugins/puzzles/README.rockbox [diff]
apps/plugins/puzzles/compress.c [diff]
apps/plugins/puzzles/genhelp.sh [diff]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
...and 14 more files.
Franklin Wei
2018-02-07 6039eb0: sdl: remove non-rockbox drivers

We never use any of these other drivers, so having them around just takes up space.
apps/plugins/sdl/src/audio/alsa/SDL_alsa_audio.c [deleted]
apps/plugins/sdl/src/audio/alsa/SDL_alsa_audio.h [deleted]
apps/plugins/sdl/src/audio/arts/SDL_artsaudio.c [deleted]
apps/plugins/sdl/src/audio/arts/SDL_artsaudio.h [deleted]
apps/plugins/sdl/src/audio/baudio/SDL_beaudio.cc [deleted]
apps/plugins/sdl/src/audio/baudio/SDL_beaudio.h [deleted]
apps/plugins/sdl/src/audio/bsd/SDL_bsdaudio.c [deleted]
apps/plugins/sdl/src/audio/bsd/SDL_bsdaudio.h [deleted]
apps/plugins/sdl/src/audio/dart/SDL_dart.c [deleted]
apps/plugins/sdl/src/audio/dart/SDL_dart.h [deleted]
apps/plugins/sdl/src/audio/dc/SDL_dcaudio.c [deleted]
apps/plugins/sdl/src/audio/dc/SDL_dcaudio.h [deleted]
apps/plugins/sdl/src/audio/dc/aica.c [deleted]
apps/plugins/sdl/src/audio/dc/aica.h [deleted]
apps/plugins/sdl/src/audio/disk/SDL_diskaudio.c [deleted]
apps/plugins/sdl/src/audio/disk/SDL_diskaudio.h [deleted]
apps/plugins/sdl/src/audio/dma/SDL_dmaaudio.c [deleted]
apps/plugins/sdl/src/audio/dma/SDL_dmaaudio.h [deleted]
apps/plugins/sdl/src/audio/dmedia/SDL_irixaudio.c [deleted]
apps/plugins/sdl/src/audio/dmedia/SDL_irixaudio.h [deleted]
apps/plugins/sdl/src/audio/dsp/SDL_dspaudio.c [deleted]
apps/plugins/sdl/src/audio/dsp/SDL_dspaudio.h [deleted]
apps/plugins/sdl/src/audio/esd/SDL_esdaudio.c [deleted]
apps/plugins/sdl/src/audio/esd/SDL_esdaudio.h [deleted]
apps/plugins/sdl/src/audio/macosx/SDL_coreaudio.c [deleted]
apps/plugins/sdl/src/audio/macosx/SDL_coreaudio.h [deleted]
apps/plugins/sdl/src/audio/macrom/SDL_romaudio.c [deleted]
apps/plugins/sdl/src/audio/macrom/SDL_romaudio.h [deleted]
apps/plugins/sdl/src/audio/mint/SDL_mintaudio.c [deleted]
apps/plugins/sdl/src/audio/mint/SDL_mintaudio.h [deleted]
...and 500 more files.
Franklin Wei
2018-01-05 ef373c0: sdl: clean up audio driver

This prevents a (highly improbable) race condition when exiting, and uses pcm_set_frequency() instead of mixer_set_frequency(), since that seems like the Right Thing to Do (TM).
apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c [diff]
Franklin Wei
2018-01-05 beaeb28: duke3d: bump audio sample rate to 22.1KHz

Recent optimizations to sound mixing should allow this, up from 16KHz.
apps/plugins/sdl/include/SDL_config_rockbox.h [diff]
Franklin Wei
2018-01-05 cf07bb3: duke3d: further optimize audio mixing

Rather than holding intermediate results as fixed-point, this converts them directly to normal integers (in the range of the PCM sample) while mixing, instead of waiting till the end to perform a separate shifting step. Also, this precalculates some constants in the reverb code.
apps/plugins/sdl/progs/duke3d/Engine/src/display.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/multivoc.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/mv_mix.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/mvreverb.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/config.c [diff]
Franklin Wei
2018-01-14 69ff35a: sdl: correct misleading comments
apps/plugins/sdl/src/thread/rockbox/SDL_sysmutex.c [diff]
apps/plugins/sdl/src/thread/rockbox/SDL_syssem.c [diff]
Franklin Wei
2018-01-13 769d73d: Use sleep(0) instead of yield() in SDL_WaitAudio

This allows CPU load to drop below 100%, which is good for anything that scales frequency and voltage based on CPU load. Also conserves some energy by letting the core go idle if there aren't any available buffers.
apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c [diff]
Michael Sevakis
2018-01-14 a1123de: Gigabeat S: Remove unwanted partitions on the fly

Windows now ignores the hidden flag, so just nullify the entries to hide depending upon whether or not bootloader install mode is activated.
firmware/target/arm/imx31/gigabeat-s/usb-gigabeat-s.c [diff]
Michael Sevakis
2018-01-13 1143766: nwztools/scsitool: fix completely stupid code
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2018-01-13 4d988d4: nwztools/scsitool: print clearer message when nvp info is incomplete
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2018-01-13 6c856c4: Add information for NWZ-S630 and NWZ-S730
firmware/target/hosted/sonynwz/nwz-db.c [diff]
utils/nwztools/database/nvp/nwz-s630.txt [new]
utils/nwztools/database/nvp/nwz-s730.txt [new]
Amaury Pouly
2018-01-11 ccd6123: sdl: fix freeze on startup on PP targets

Using the coprocessor was a good idea in theory, but didn't actually work. This moves all SDL threads to the main core, which isn't ideal, but at least works. Additionally, this also adds some good-practice stuff such as setting the default sample rate on exit.
apps/plugins/sdl/SDL_mixer/mixer.c [diff]
apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c [diff]
apps/plugins/sdl/src/thread/rockbox/SDL_systhread.c [diff]
Franklin Wei
2018-01-07 0d794c0: sonynwz: Add NVP information for NWZ-A810
firmware/target/hosted/sonynwz/nwz-db.c [diff]
utils/nwztools/database/nvp/nwz-a810.txt [new]
utils/nwztools/database/nvp/parse_all_nvp_headers.sh [diff]
Amaury Pouly
2018-01-05 896c828: duke3d: unregister timer on exit

This was leading to a crash upon audio playback after running the game.
apps/plugins/sdl/main.c [diff]
apps/plugins/sdl/src/timer/rockbox/SDL_systimer.c [diff]
Franklin Wei
2017-12-25 9f6ce04: duke3d: rewrite sound mixing to use fixed-point

Gives significant performance improvement on ipod6g.
apps/plugins/sdl/include/SDL_config_rockbox.h [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/multivoc.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/multivoc.h [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/mv_mix.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/audiolib/mvreverb.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/game.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/global.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/global.h [diff]
apps/plugins/sdl/progs/duke3d/Game/src/sounds.c [diff]
apps/plugins/sdl/progs/duke3d/Game/src/util_lib.h [diff]
Franklin Wei
2017-12-26 78db1d9: duke3d: use hardware FPU if available
apps/plugins/sdl/sdl.make [diff]
Franklin Wei
2017-12-24 6a843ca: Revert "Support floating-point formatting"

This reverts commit 01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b.

The hack isn't used in duke, so having it is redundant.
firmware/common/vuprintf.c [diff]
Franklin Wei
2017-12-24 8a705f6: duke3d: Credit the authors
docs/CREDITS [diff]
Franklin Wei
2017-12-24 56d14b0: duke3d: restrict manual building to enabled targets
manual/plugins/main.tex [diff]
Franklin Wei
2017-12-24 54d8e67: duke3d: restrict targets to ARM only
apps/plugins/SOURCES [diff]
apps/plugins/SUBDIRS [diff]
Franklin Wei
2017-12-24 8d3e305: fix red once more
apps/plugins/SOURCES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/lib/stdio_compat.c [diff]
apps/plugins/sdl/main.c [diff]
Franklin Wei
2017-12-24 2b49724: attempt to fix sysfont.h errors
apps/plugins/sdl/sdl.make [diff]
Franklin Wei
2017-12-24 581a82e: Undef potentially conflicting macros in stdio_compat.h
apps/plugins/lib/stdio_compat.h [diff]
Franklin Wei
2017-12-24 7ea37bb: fix red
apps/plugins/lib/stdio_compat.c [diff]
apps/plugins/lib/stdio_compat.h [diff]
apps/plugins/sdl/progs/duke3d/Game/src/global.c [diff]
Franklin Wei
2017-12-23 6416d96: fix red
apps/plugins/sdl/sdl.make [diff]
apps/plugins/sdl/src/video/rockbox/SDL_rockboxvideo.c [diff]
apps/plugins/sdl/src/video/rockbox/keymaps_extra.h [diff]
firmware/common/vuprintf.c [diff]
Franklin Wei
2017-01-21 a855d62: Port of Duke Nukem 3D

This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox.
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/duke3d.c [new]
apps/plugins/lib/stdio_compat.c [diff]
apps/plugins/lib/stdio_compat.h [diff]
apps/plugins/sdl/COPYING [new]
apps/plugins/sdl/CREDITS [new]
apps/plugins/sdl/NOTES [new]
apps/plugins/sdl/README [new]
apps/plugins/sdl/README-SDL.txt [new]
apps/plugins/sdl/README.Porting [new]
apps/plugins/sdl/SDL_image/CHANGES [new]
apps/plugins/sdl/SDL_image/COPYING [new]
apps/plugins/sdl/SDL_image/IMG.c [new]
apps/plugins/sdl/SDL_image/IMG_bmp.c [new]
apps/plugins/sdl/SDL_image/IMG_gif.c [new]
apps/plugins/sdl/SDL_image/IMG_jpg.c [new]
apps/plugins/sdl/SDL_image/IMG_lbm.c [new]
apps/plugins/sdl/SDL_image/IMG_pcx.c [new]
apps/plugins/sdl/SDL_image/IMG_png.c [new]
apps/plugins/sdl/SDL_image/IMG_pnm.c [new]
apps/plugins/sdl/SDL_image/IMG_tga.c [new]
apps/plugins/sdl/SDL_image/IMG_tif.c [new]
apps/plugins/sdl/SDL_image/IMG_webp.c [new]
apps/plugins/sdl/SDL_image/IMG_xcf.c [new]
apps/plugins/sdl/SDL_image/IMG_xpm.c [new]
apps/plugins/sdl/SDL_image/IMG_xv.c [new]
apps/plugins/sdl/SDL_image/IMG_xxx.c [new]
apps/plugins/sdl/SDL_image/README [new]
...and 964 more files.
Franklin Wei
2017-09-29 01c6dcf: Support floating-point formatting

This is just a quick and dirty way to get %f formatting to work for some games. It works.
firmware/common/vuprintf.c [diff]
Franklin Wei
2013-01-18 a842332: stdio compat layer for plugins

This is attempt to simplify porting programs to rockbox (as plugins). Currently this compat layer implements: fopen(), fclose(), fflush(), fread(), fwrite(), fseek(), fseeko(), ftell(), ftello(), fgetc(), ungetc(), fputc(), fgets(), clearerr(), ferror(), feof(), fprintf()

In order to use it you need to include in ported sources
"lib/stdio_compat.h"
apps/plugins/lib/SOURCES [diff]
apps/plugins/lib/stdio_compat.c [new]
apps/plugins/lib/stdio_compat.h [new]
firmware/libc/include/stdint.h [diff]
Marcin Bukat
2017-12-19 d35a18f: Buffering: Missed converting one case assuming const handle size.

Must now be h->size, not sizeof (type).
apps/buffering.c [diff]
Michael Sevakis
2017-12-11 71e3f6c: Fix error with action subsystem and custom context mapping

I removed the mechanism to fall through to internally mapped contexts after plugin contexts were exhausted
apps/action.c [diff]
William Wilgus
2017-12-17 786fbbf: Buffering: Get rid of disabled code I have no intention of using
apps/buffering.c [diff]
Michael Sevakis
2017-12-17 95ec1f7: Remove buffering functions from plugin API.

They aren't used by anything. Must bump min API version.
apps/plugin.c [diff]
apps/plugin.h [diff]
Michael Sevakis
2017-12-17 dfff938: Get rid of useless playlist probing and fix up some data types.

Playback checked the files' presence before attempting to buffer the track. Just get rid of that and save an extra open/close call. It will find out if the path is bad when the metadata fails.

Fix some size_t/off_t conflation. No need to update plugin version because no plugin actually uses bufopen().
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/playback.c [diff]
apps/plugin.h [diff]
Michael Sevakis
2017-12-16 d14e3f4: Fix last commit
apps/plugins/lib/keymaps.h [diff]
Franklin Wei
2017-12-16 430534b: Change button mappings in plugins/lib/keymaps.h

Some of the previous mappings didn't make much sense.
apps/plugins/lib/keymaps.h [diff]
Franklin Wei
2017-12-15 02d20eb: Fix big WTF when closing the current track.

It must be set to something else valid (unless it's the only one left) when closing it, IN ALL CASES, not just if it's first or last. Don't know what was in my head. Hopefully takes care of a reported issue. Even if it's not causing any issues, it was still incorrect.
apps/playback.c [diff]
Michael Sevakis
2017-12-12 c8564f1: Get voice event out of playback.c

Purpose: A step in removing all voice references from playback code and prelude to other changes.
apps/appevents.h [diff]
apps/audio_thread.c [diff]
apps/playback.c [diff]
apps/voice_thread.c [diff]
firmware/export/events.h [diff]
Michael Sevakis
2017-12-12 838ff9c: Add a 32 byte read buffer to read_line.

Do as with fdprintf and avoid filesystem calls for every single byte. If it overreads, just put the excess back with lseek, which does no I/O itself.
apps/misc.c [diff]
Michael Sevakis
2017-12-09 cd3ea08: Buffering: Remove statically-sized path buffer from handle struct

Paths are stored after the structure at their actual length plus any aligment padding. In principle, any type of auxilliary data could go there.
apps/buffering.c [diff]
Michael Sevakis
2017-12-09 6ee3b6f: buffering.c: Fix oopses with caching handle pointer

The location of the handle cannot be kept across calls to shrink_handle() since it may move the structure. The error was there in one place at the inception, corrected, then reintroduced.

Make shrink_handle() return the new location and use it, which makes the side effects of the function clearer.
apps/buffering.c [diff]
Michael Sevakis
2017-12-09 8be4074: Remove recursion from shrink_buffer()

There's no need for it any longer since the list is now doubly- linked. As a bonus, stack limits pose no barrier to the length of the list.
apps/buffering.c [diff]
Michael Sevakis
2017-12-09 65515f3: Fix yellow on hosted targets from c1a01be
apps/playback.c [diff]
Michael Sevakis
2017-12-08 c1a01be: Playback: Move internal track list onto buffer

Does away the statically-allocated track list which frees quite a fair amount of in-RAM size.

There's no compile-time hard track limit.

Recommended TODO (but not right away): Have data small enough use the handle structure as its buffer data area. Almost the entire handle structure is unused for simple allocations without any associated filesystem path.
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/playback.c [diff]
firmware/export/system.h [diff]
Michael Sevakis
2017-12-08 e86ea6b: Get test_codec synced with changes in 6c868dd
apps/plugins/test_codec.c [diff]
Michael Sevakis
2017-12-07 6c868dd: Remove explicit 'enum codec_command_action' in codec API

Just use long so the compiler potentially doesn't complain about use of other values not in the enum. It's also the type used around the system for event ids.

Increase min codec API version.

No functional changes.
apps/codec_thread.c [diff]
lib/rbcodec/codecs/a52.c [diff]
lib/rbcodec/codecs/a52_rm.c [diff]
lib/rbcodec/codecs/aac.c [diff]
lib/rbcodec/codecs/adx.c [diff]
lib/rbcodec/codecs/aiff.c [diff]
lib/rbcodec/codecs/aiff_enc.c [diff]
lib/rbcodec/codecs/alac.c [diff]
lib/rbcodec/codecs/ape.c [diff]
lib/rbcodec/codecs/asap.c [diff]
lib/rbcodec/codecs/atrac3_oma.c [diff]
lib/rbcodec/codecs/atrac3_rm.c [diff]
lib/rbcodec/codecs/au.c [diff]
lib/rbcodec/codecs/ay.c [diff]
lib/rbcodec/codecs/codecs.h [diff]
lib/rbcodec/codecs/cook.c [diff]
lib/rbcodec/codecs/flac.c [diff]
lib/rbcodec/codecs/gbs.c [diff]
lib/rbcodec/codecs/hes.c [diff]
lib/rbcodec/codecs/kss.c [diff]
lib/rbcodec/codecs/mod.c [diff]
lib/rbcodec/codecs/mp3_enc.c [diff]
lib/rbcodec/codecs/mpa.c [diff]
lib/rbcodec/codecs/mpc.c [diff]
lib/rbcodec/codecs/nsf.c [diff]
lib/rbcodec/codecs/opus.c [diff]
lib/rbcodec/codecs/raac.c [diff]
lib/rbcodec/codecs/sgc.c [diff]
lib/rbcodec/codecs/shorten.c [diff]
lib/rbcodec/codecs/sid.c [diff]
...and 16 more files.
Michael Sevakis
2017-12-07 83e8e35: Ensure ci is properly updated if seeking before track load completes

If in the middle of a manual skip, playback would try to seek, and therefore start, the codec before the audio handle was available. This wasn't really a problem since the codec would just bail out and be retried later. But, it is a problem for a change I was working on with seeking where the codec could get caught in a full-speed loop trying to seek itself (stoppable, not lockup).

The main side effect of this change that you may notice, if using an HDD with dircache turned on and the disk is not spinning, is that you can keep holding down prev/next if dir skipping and the WPS will start FF/RW mode. By the time the new track shows up, you will have seeked into it some amount.

Well, the PBE is getting the info ASAP anyway and as far as it's concerned, the next track is under way. On that end of things, it's correct. Perhaps WPS should lock out its own seek mode at certain times.
apps/playback.c [diff]
Michael Sevakis
2017-12-04 bef75a9: Playback: C99-ize FOREACH_ALBUMART; make loop counter local
apps/playback.c [diff]
Michael Sevakis
2017-11-28 055e211: Add a small 32-byte write buffer to fdprintf.

Avoids a call to write() for every output character. It doesn't need to be very large to have a great effect on speed and realize most of the potential.
firmware/common/fdprintf.c [diff]
Michael Sevakis
2017-11-24 d728b97: puzzles: fix off-by-one in blitter clipping

Nobody to blame except myself for this one...
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-21 f51544a: puzzles: polish mouse mode

Reduces lag when dragging. Also throws some comments in.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-21 ab6e40b: puzzles: fix copy-paste typo
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-24 abef236: Do playback restarts the proper way

It isn't necessary to explicitly stop and restart playback to force it to update something that must cause rebuffering.
apps/gui/skin_engine/skin_parser.c [diff]
apps/menus/playback_menu.c [diff]
apps/playback.c [diff]
apps/playback.h [diff]
apps/settings.c [diff]
apps/settings.h [diff]
Michael Sevakis
2017-11-21 75d2e1f: puzzles: add missing file
apps/plugins/bitmaps/native/puzzles_cursor.11x16x24.bmp [new]
Franklin Wei
2017-11-21 c1dc957: puzzles: clean junk files

These are really not needed.
apps/plugins/puzzles/src/Makefile [deleted]
apps/plugins/puzzles/src/Makefile.am [deleted]
apps/plugins/puzzles/src/Makefile.cyg [deleted]
apps/plugins/puzzles/src/Makefile.emcc [deleted]
apps/plugins/puzzles/src/Makefile.gnustep [deleted]
apps/plugins/puzzles/src/Makefile.gtk [deleted]
apps/plugins/puzzles/src/Makefile.in [deleted]
apps/plugins/puzzles/src/Makefile.nestedvm [deleted]
apps/plugins/puzzles/src/Makefile.osx [deleted]
apps/plugins/puzzles/src/Makefile.vc [deleted]
apps/plugins/puzzles/src/Makefile.wce [deleted]
apps/plugins/puzzles/src/aclocal.m4 [deleted]
apps/plugins/puzzles/src/blackbox.html [deleted]
apps/plugins/puzzles/src/bridges.html [deleted]
apps/plugins/puzzles/src/common.html [deleted]
apps/plugins/puzzles/src/compile [deleted]
apps/plugins/puzzles/src/config.log [deleted]
apps/plugins/puzzles/src/configure [deleted]
apps/plugins/puzzles/src/cube.html [deleted]
apps/plugins/puzzles/src/depcomp [deleted]
apps/plugins/puzzles/src/docindex.html [deleted]
apps/plugins/puzzles/src/dominosa.html [deleted]
apps/plugins/puzzles/src/fifteen.html [deleted]
apps/plugins/puzzles/src/filling.html [deleted]
apps/plugins/puzzles/src/flip.html [deleted]
apps/plugins/puzzles/src/flood.html [deleted]
apps/plugins/puzzles/src/galaxies.html [deleted]
apps/plugins/puzzles/src/gamedesc.txt [deleted]
apps/plugins/puzzles/src/guess.html [deleted]
apps/plugins/puzzles/src/index.html [deleted]
...and 37 more files.
Franklin Wei
2017-11-21 e8e85c5: puzzles: resync with upstream; add Loopy and Palisade, mouse mode

This brings a various small changes to the drawing and input code, as well as a brand new "mouse mode", where input goes to a virtual mouse cursor. Only Loopy has this mouse mode enabled by default, while other games have it hidden away under the debug menu. Some changes by me to Palisade were required to make it playable; those are included here as well. Right now, sgt-net is pushing the c200v2's upper limit on size and may have to be dropped in a future commit.
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/puzzles/SOURCES.games [diff]
apps/plugins/puzzles/rbmalloc.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/puzzles/src/LICENCE [diff]
apps/plugins/puzzles/src/filling.c [diff]
apps/plugins/puzzles/src/grid.c [diff]
apps/plugins/puzzles/src/grid.h [diff]
apps/plugins/puzzles/src/loopy.c [diff]
apps/plugins/puzzles/src/palisade.c [diff]
Franklin Wei
2017-01-26 f4c4221: Convert i.MX31 and AMS target to use RTC interrupt

Instead of checking ticks, set a sticky dirty flag that indicates that the RTC needs to be read. This gives a timely update and more accurate readout without actually reading the RTC until it changes. The implementation should atomically read the flag and clear it. Setting the flag would typically happen in an RTC tick ISR.
firmware/common/timefuncs.c [diff]
firmware/drivers/rtc/rtc_mc13783.c [diff]
firmware/export/config.h [diff]
firmware/target/arm/as3525/ascodec-as3525.c [diff]
firmware/target/arm/as3525/rtc-target.h [new]
firmware/target/arm/imx31/gigabeat-s/mc13783-target.h [diff]
firmware/target/arm/imx31/rtc-target.h [new]
Michael Sevakis
2017-11-21 12bc24a: aced667 forgot about those pesky __PCTOOL__ things.

It was so close to aced666.
apps/misc.c [diff]
Michael Sevakis
2017-09-18 aced667: Undo hacks to meant to get around string formatting limitations

The new vuprintf makes unnecessary workarounds due to formatting limitations. I checked grep output for whatever appeared to fit but it's possible I missed some instances because they weren't so obvious.

Also, this means sound settings can dynamically work with any number of decimals rather than the current assumption of one or two. Add an ipow() function to help and take advantage of dynamic field width and precision. Consolidate string formatting of sound settings.
apps/debug_menu.c [diff]
apps/gui/option_select.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/plugins/doom/hu_stuff.c [diff]
apps/plugins/doom/wi_stuff.c [diff]
apps/plugins/otp.c [diff]
apps/recorder/recording.c [diff]
firmware/general.c [diff]
lib/fixedpoint/fixedpoint.c [diff]
lib/fixedpoint/fixedpoint.h [diff]
lib/fixedpoint/fixedpoint.make [diff]
Michael Sevakis
2017-09-08 5c96889: Implement a much more capable vuprintf()

New support as well as some buggy support fixed.

Still no floating point support if ever that would be desired.

Support (*):
* Flags: '-', '+', ' ', '#', '0'

* Width and precision: 'n', '.n', '*' and '.*'

* Length modifiers: 'hh', 'h', 'j', 'l', 'll', 't', 'z'

* Radix: 'c', 'd', 'i', 'n', 'o', 'p/P', 's', 'u', 'x/X'

(*) Provision exists to switch lesser-used stuff on or off or when certain functionality isn't desired (bootloader?). The compulsory radixes are everything but 'o', 'n', 'p/P' and 'x/X' with length modifiers being optional. The default setup is 'l', 'z', 'c', 'd',
'p/P', 's', 'u', 'x/X'.

* Move fdprintf() to its own file. It was in a strange place.

* Make callers compatible and fix a couple snprintf() bugs while at it.

Could smush it down in size but I'm gonna get over the binsize neurosis and just the let optimizer do its thing.
firmware/SOURCES [diff]
firmware/common/fdprintf.c [new]
firmware/common/format.c [deleted]
firmware/common/vuprintf.c [new]
firmware/include/format.h [deleted]
firmware/include/vuprintf.h [new]
firmware/libc/sprintf.c [diff]
firmware/logf.c [diff]
firmware/target/arm/s3c2440/uart-s3c2440.c [diff]
Michael Sevakis
2017-11-18 52af55e: Action Rewrite - Fix red
apps/action.c [diff]
William Wilgus
2017-09-26 b10c0e5: Action.c FIX / Rework / Clean-up Action System

FIX - softlock not allowing power button to shutdown device when active FIX - autolock not working unless Selective backlight enabled

Rework - get_action_worker split into more managable chunks

Rework - moved all static variables to a single struct action_last to be passed through all internal functions

Rework - current action state moved to struct action_current to be initialized at each get_action /get_action_custom call

Rework - action lookup in button maps changed slightly to prefer fully formed actions rather than blindly returning action with BUTTON_NONE as pre_button this should allow actions defined in keymaps positional independence

Rework / Clean-up - moved conditionals on internal functions to inside the functions
-Allows much cleaner code & empty functions should be optimized out by compiler

Rework / Clean-up - softlock and backlight exemptions code

Clean-up - remove a lot of (now) unused defines

Clean-up - organize / move all exported functions to their own section in the file

Comments added to all internal functions to better explain their purpose
apps/action.c [diff]
apps/action.h [diff]
William Wilgus
2017-11-14 ff08c52: nwz: improve keymap

- enable various features in radio screen (like mode switch)
- improve keyboard (short play to select, long play to finish, power to abort)
- enable volume keys in radio screen if available
apps/keymaps/keymap-nwz.c [diff]
apps/radio/radio.c [diff]
Amaury Pouly
2017-11-13 5da0cbe: nwz: enable plugins on all targets except NWZ-A860

Keymap might be suboptimal.
tools/configure [diff]
Amaury Pouly
2017-11-13 bd8dd62: nwz: fix tuner on older players (also fixes audio because Sony)
firmware/target/hosted/sonynwz/nwz_tuner.h [diff]
firmware/target/hosted/sonynwz/radio-nwz.c [diff]
Amaury Pouly
2017-10-20 7272f82: Imx233 Disable Autoslow only at maximum cpu frequency

At normal loads:
- disabling auto slow boosts performance at the cost of runtime (~ -5%)
- disabling at max cpu does not noticibly decrease runtime
firmware/target/arm/imx233/system-imx233.c [diff]
William Wilgus
2017-11-12 ec4fa03: hwstub: add code to dump STMP rom
utils/hwstub/tools/lua/stmp.lua [diff]
utils/hwstub/tools/lua/stmp/rom.lua [new]
Amaury Pouly
2017-11-12 dd6b842: hwstub: expose read/write functions

Previously only atomic read/write 8/16/32 were exposed. But it is useful to be able to read a whole buffer at once, this is more efficient than N times read8.
utils/hwstub/tools/hwstub_shell.cpp [diff]
Amaury Pouly
2017-11-12 df0edba: hwstub: fix horrible bug

It's a wonder it worked, basically any big transfer returned garbage
utils/hwstub/lib/hwstub.cpp [diff]
Amaury Pouly
2017-11-07 63eae43: rolo.c: Change 'int errno' to 'int err'

It can cause issues if errno.h finds itself included there
firmware/rolo.c [diff]
Michael Sevakis
2017-11-06 826f99e: libpcm: Get unbranded structure tag out of my way.

No functional changes.
lib/rbcodec/codecs/aiff.c [diff]
lib/rbcodec/codecs/au.c [diff]
lib/rbcodec/codecs/libpcm/dialogic_oki_adpcm.c [diff]
lib/rbcodec/codecs/libpcm/dvi_adpcm.c [diff]
lib/rbcodec/codecs/libpcm/ieee_float.c [diff]
lib/rbcodec/codecs/libpcm/itut_g711.c [diff]
lib/rbcodec/codecs/libpcm/linear_pcm.c [diff]
lib/rbcodec/codecs/libpcm/ms_adpcm.c [diff]
lib/rbcodec/codecs/libpcm/pcm_common.h [diff]
lib/rbcodec/codecs/libpcm/qt_ima_adpcm.c [diff]
lib/rbcodec/codecs/libpcm/swf_adpcm.c [diff]
lib/rbcodec/codecs/libpcm/yamaha_adpcm.c [diff]
lib/rbcodec/codecs/smaf.c [diff]
lib/rbcodec/codecs/vox.c [diff]
lib/rbcodec/codecs/wav.c [diff]
lib/rbcodec/codecs/wav64.c [diff]
Michael Sevakis
2017-11-06 1015e1f: fix red
apps/debug_menu.c [diff]
Amaury Pouly
2017-11-03 0fe7b8b: nwzlinux: add support for radio

None of the Sony up to A15 seem to support RDS (they use either Si4702 or Si4708), thus I did not add any code to support RDS.
apps/audio_path.c [diff]
apps/debug_menu.c [diff]
firmware/SOURCES [diff]
firmware/drivers/audio/nwzlinux-codec.c [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/export/nwzlinux_codec.h [diff]
firmware/target/hosted/sonynwz/audio-nwz.c [new]
firmware/target/hosted/sonynwz/nwz_tuner.h [new]
firmware/target/hosted/sonynwz/radio-nwz.c [new]
tools/configure [diff]
Amaury Pouly
2017-11-05 ee2eb13: mkimxboot: small fixes and display a human readable error
rbutil/mkimxboot/main.c [diff]
rbutil/mkimxboot/mkimxboot.c [diff]
rbutil/mkimxboot/mkimxboot.h [diff]
Amaury Pouly
2017-11-04 5a3b30d: Add support for ZEN Mozaic firmware Version 1.06.01 to mkzenboot
rbutil/mkzenboot/mkzenboot.c [diff]
Amaury Pouly
2017-11-04 8a925d2: fuzep: fix rds
firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c [diff]
Amaury Pouly
2017-11-04 d9a55ac: puzzles: fix blitting when zoomed

Both blitter_save() and blitter_load() functioned incorrectly when zoomed in -- blitter_save() would copy from the wrong location, and blitter_load() would ignore the y-coordinate of the destination.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-04 7f1dd6f: puzzles: clarify code and documentation

This adds no functionality, but instead cleans up the source and adds some more substantial documentation.
apps/plugins/puzzles/README.rockbox [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-03 9f62373: puzzles: fix title drawing

This fixes two separate bugs: The first was that the drawmode was not reliably set when drawing the title, occasionally leading to a black rectangle where the title should be; the second that the title bar's space wasn't being cleared before drawing, leading to artifacts when the length of the title string changed.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-11-01 07d3b3c: nwztools/scsitools: print device list when listing series
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-11-01 62f0ba1: nwztools: add NW-A46 to the database
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/models.txt [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-30 8ef33f4: AMS: Convert ascodec_endofch() to use bit mod function's return value.

It cleans up the code and it was the initial inspiring reason to change them.
firmware/target/arm/as3525/ascodec-as3525.c [diff]
Michael Sevakis
2017-01-24 f728559: Make atomic bit modification functions return previous value.
firmware/export/system.h [diff]
firmware/target/arm/bits-armv4.S [diff]
firmware/target/arm/bits-armv6.S [diff]
Michael Sevakis
2017-10-30 65e7617: puzzles: add an interaction mode to the "Zoom In" feature

This makes it possible to play the game while zoomed in. Read the manual entry if you want to know more.
apps/plugins/puzzles/rockbox.c [diff]
manual/plugins/sgt-puzzles.tex [diff]
Franklin Wei
2017-10-29 1f3e70a: puzzles: sync with upstream

This includes the fix for Map's incorrect cursor positioning when zoomed in.
apps/plugins/puzzles/src/gtk.c [diff]
apps/plugins/puzzles/src/map.c [diff]
apps/plugins/puzzles/src/solo.c [diff]
Franklin Wei
2017-10-29 2423d3d: Revert "tlsf: pack info structs"

This reverts commit 8a6d7cefc9bf45b979ff064d87141949e9b81ca4.

Packing the structs was mostly a precautionary measure, tlsf should still work without it.
lib/tlsf/src/tlsf.c [diff]
Franklin Wei
2017-02-10 e9de9c1: Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME

Adds the ability to load firmware from other drives on MULTIVOLUME targets Mihail Zenkov had posted a hard coded patch to allow this on several Sansa players, I made it more universal

Redirect file rockbox_main.<name> should placed in root of drive you would like to be main, if this file empty or there a single slash '/' firmware will be loaded from /.rockbox in root of this drive If instead a /<*DIRECTORY*> is supplied in rockbox_main.<name> then firmware will be loaded from /<dir>/.rockbox/

NOTES*

The directory can have multiple levels however.. leading slash MUST be included trailing slash can be omitted
(eg. /test/.rockbox would be simply '/test' in the redirect file)

Redirect file will not work on internal drive (whatever is default boot drive)

Volume with the highest index containing redirect file will be loaded first.

Firmware file is checked for boot data region, if missing, firmware image will not be loaded.

On failure or if no redirect file is found load will fallback to internal drive

Currently only Sansa Fuze+, Sansa Clip+, Sansa Clip Zip, Sansa Fuzev2, and Sansa Fuzev1 are implemented.

Players (with HAVE_MULTIVOLUME) will need #define HAVE_BOOTDATA and #define BOOT_REDIR "rockbox_main.<name>" added to their config file

boot_data is implemented in crt0.s file (See g#1552) ARM and IMX233 have aleady been implemented

Once these conditions are met <HAVE_MULTIBOOT> will be defined by config.h

Partitions on the drives are able to have a redirect as well.
firmware/common/rb-loader.c [diff]
firmware/export/config.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/include/rb-loader.h [diff]
William Wilgus
2017-02-08 efb71ed: Add boot data to MOST AS3525 Devices

Adds boot data to as3525 devices Sansa C200v2 E200v2 Clip Clipv2 Clip+ ClipZip fuze, fuzev2 m200v4

Adds boot_data to features.txt

default arm crt0.s now had boot data if HAVE_BOOTDATA is defined
apps/features.txt [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzev2.h [diff]
firmware/target/arm/crt0.S [diff]
William Wilgus
2017-02-05 41869a6: Add boot data support to rockbox.

Bootdata is a special location in the Firmware marked by a magic header The bootloader is able to copy information to the firmware by locating this struct and passing data to the firmware when it is loaded but before it is actually executed

Data is verified by a crc of the bootdata

apps/debug_menu.c [diff]
firmware/common/rb-loader.c [diff]
firmware/export/bootdata.h [new]
firmware/export/config/creativezen.h [diff]
firmware/export/config/creativezenxfi2.h [diff]
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/samsungypz5.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sonynwze360.h [diff]
firmware/export/config/sonynwze370.h [diff]
firmware/target/arm/imx233/crt0.S [diff]
William Wilgus
2017-10-29 60e5cd7: tlsf: remove memset() call in add_new_area()

This call was not needed in the first place, but was causing crashes in sgt-puzzles. Removing it fixes the crashes.
lib/tlsf/src/tlsf.c [diff]
Franklin Wei
2017-10-29 8a6d7ce: tlsf: pack info structs

This should make it build cleanly under -Wcast-align, which should hopefully avoid any alignment issues on ARM.
lib/tlsf/src/tlsf.c [diff]
Franklin Wei
2017-10-29 47ebf62: puzzles: improve zoom rendering

This adds colored font rendering, as well as a workaround for font loading while zoomed. Additionally, the frontend has been modified to match the new upstream API.
apps/plugins/puzzles/rbmalloc.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-10-13 b2c4707: imx233: Implement mutex for cpu_boost_lock/unlock

Playing AAC-HE files resulted in a race condition between audio/codec/buffering for set_cpu_frequency
firmware/target/arm/imx233/system-imx233.c [diff]
firmware/target/arm/imx233/system-target.h [diff]
William Wilgus
2017-10-02 4284647: SVG image of the Sony NWZ-E580 and other formats for the manual.
manual/rockbox_interface/images/nwze580-front.pdf [new]
manual/rockbox_interface/images/nwze580-front.png [new]
manual/rockbox_interface/images/nwze580-front.svg [new]
Szymon Dziok
2017-10-27 9ba899f: puzzles: fix clipping and 24-bit handling

Should fix the build.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-10-27 8b8e25f: puzzles: add "Zoom In" option to improve usability

This adds a "Zoom In" option to the pause menu of each puzzle, which displays the puzzle at triple size (subject to change). This should help with tiny screens, modulo memory concerns associated with allocating the temporary framebuffer to which drawing operations are redirected. Coincidentally, there's an upstream bug with Map that causes the cursor's positioning to be incorrectly displayed when zoomed.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-10-26 e4a46c8: Fix a few missed things in 16454efc (and hopefully clear the red).
firmware/export/storage.h [diff]
firmware/target/arm/rk27xx/ata-nand-rk27xx.c [diff]
firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c [diff]
firmware/usb.c [diff]
Michael Sevakis
2017-03-15 1654efc: Unify storage threads into one

* Editing a bunch of drivers' thread routines in order to implement a new feature is tedious.

* No matter the number of storage drivers, they share one thread. No extra threads needed for CONFIG_STORAGE_MULTI.

* Each has an event callback called by the storage thread.

* A default callback is provided to fake sleeping in order to trigger idle callbacks. It could also do other default processing. Changes to it will be part of driver code without editing each one.

* Drivers may sleep and wake as they please as long as they give a low pulse on their storage bit to ask to go into sleep mode. Idle callback is called on its behalf and driver immediately put into sleep mode.

* Drivers may indicate they are to continue receiving events in USB mode, otherwise they receve nothing until disconnect (they do receive SYS_USB_DISCONNECTED no matter what).

* Rework a few things to keep the callback implementation sane and maintainable. ata.c was dreadful with all those bools; make it a state machine and easier to follow. Remove last_user_activity; it has no purpose that isn't served by keeping the disk active through last_disk_activity instead.

* Even-out stack sizes partly because of a lack of a decent place to define them by driver or SoC or whatever; it doesn't seem too critical to do that anyway. Many are simply too large while at least one isn't really adequate. They may be individually overridden if necessary (figure out where). The thread uses the greatest size demanded. Newer file code is much more frugal with stack space. I barely see use crack 50% after idle callbacks
(usually mid-40s). Card insert/eject doesn't demand much.

* No forcing of idle callbacks. If it isn't necessary for one or more non-disk storage types, it really isn't any more necessary for disk storage. Besides, it makes the whole thing easier to implement.
firmware/drivers/ata.c [diff]
firmware/drivers/ramdisk.c [diff]
firmware/export/ata.h [diff]
firmware/export/ata_mmc.h [diff]
firmware/export/sd.h [diff]
firmware/export/storage.h [diff]
firmware/storage.c [diff]
firmware/target/arm/as3525/sd-as3525.c [diff]
firmware/target/arm/as3525/sd-as3525v2.c [diff]
firmware/target/arm/ata-nand-telechips.c [diff]
firmware/target/arm/imx233/ata-target.h [diff]
firmware/target/arm/imx233/sdmmc-imx233.c [diff]
firmware/target/arm/imx31/ata-target.h [diff]
firmware/target/arm/pp/ata-sd-pp.c [diff]
firmware/target/arm/pp/ata-target.h [diff]
firmware/target/arm/rk27xx/sd-rk27xx.c [diff]
firmware/target/arm/s3c2440/gigabeat-fx/ata-target.h [diff]
firmware/target/arm/s3c2440/sd-s3c2440.c [diff]
firmware/target/arm/s5l8700/ata-nand-s5l8700.c [diff]
firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c [diff]
firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c [diff]
firmware/target/arm/tcc780x/sd-tcc780x.c [diff]
firmware/target/arm/tms320dm320/sdmmc-dm320.c [diff]
firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c [diff]
firmware/target/sh/archos/ondio/ata_mmc.c [diff]
Michael Sevakis
2017-10-26 7807934: atjboottool: document more header fields and crypto code

The encryption definitely uses some standard elliptic curve encryption over binary fields (163 and 233 bits, standard polynomials). It is still unclear how this is used in the actual encryption, the key authentification and derivation do not look standard.
utils/atj2137/atjboottool/atj_tables.c [diff]
utils/atj2137/atjboottool/atj_tables.h [diff]
utils/atj2137/atjboottool/fwu.c [diff]
Amaury Pouly
2017-10-24 3ad9cae: puzzles: make Untangle's input code return UI_UPDATE instead of ""

This was changed upstream and slipped by when I was merging the changes.
apps/plugins/puzzles/src/untangle.c [diff]
Franklin Wei
2017-10-24 819d3ee: nwztools: add NW-A45
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/models.txt [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-24 2ae792c: nwztools: add NW-ZX300A
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/models.txt [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-23 a644489: puzzles: adapt frontend to upstream changes
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-10-23 ef13067: puzzles: resync with upstream

There have been some improvements with regard to small screen sizes, which will be nice to have.
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
apps/plugins/puzzles/help/signpost.c [diff]
apps/plugins/puzzles/help/singles.c [diff]
apps/plugins/puzzles/help/sixteen.c [diff]
apps/plugins/puzzles/help/slant.c [diff]
...and 77 more files.
Franklin Wei
2017-10-12 7a8c9da: test_mem: increase dram buffer if possible, cap number of iterations
apps/plugins/test_mem.c [diff]
Amaury Pouly
2017-10-08 e441c26: nwztools/upgtools: make the tool print the whole kas, not just 16 bytes
utils/nwztools/upgtools/upgtool.c [diff]
Amaury Pouly
2017-10-20 7e42e90: atjboottool: add support for FwuTail
utils/atj2137/atjboottool/fwu.c [diff]
Amaury Pouly
2017-10-20 6e79c4c: nwztools: add KAS for NW-A40 series
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2017-10-17 1eab18c: nwztools/scsitools: don't try to get nodes when we don't know about the device
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-10-17 9a8a52c: nwztools/scsitool: slightly rework of help_us and help

Now print list of devices immediately even if the rest of the command line is empty (ie 'scsitool -s ?' works, whereas before one would need an actual device to even get a list). Add more information in the help_us command: print kas, lyr and fpi.
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-10-17 6922323: sonynwz: add NW-A47 to the database and regenerate nwz_db.{c,h}
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/models.txt [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-14 81f5a22: Fix plugin core_alloc_maximum functionality

One mustn't assume a plugin will only call plugin_get_audio_buffer one time or that the buffer_size pointer is always non-NULL. At least one plugin, pacbox, will call it each time it (re)starts audio, with a NULL param (which is intentional because it only wants to kill audio playback), and leak away all the RAM because the handle gets clobbered by further calls and the memory can't be released.
apps/plugin.c [diff]
Michael Sevakis
2017-10-12 a8e4b3a: PBE+Surround: Localize some variables and fixup some flush ops
lib/rbcodec/dsp/pbe.c [diff]
lib/rbcodec/dsp/surround.c [diff]
Michael Sevakis
2017-10-12 5eee28e: Nitpick configuration code in a few DSP filters to fix some bugs

Most importantly is surround shouldn't operate in mono mode. Have it watch and (de)activate itself on relevant format changes as it should.

Other changes to better handle buffer allocation failure.

PBE was set internally at 100 by default; SBZ.
lib/rbcodec/dsp/afr.c [diff]
lib/rbcodec/dsp/pbe.c [diff]
lib/rbcodec/dsp/surround.c [diff]
Michael Sevakis
2017-10-07 afbae17: sonynwz: add api and debug entries for "acoustic" and "cue/rev" mode

We don't really know what those are supposed to do. They seem to change the volume curve but it is not very clear what is the intended purpose.
firmware/drivers/audio/nwzlinux-codec.c [diff]
firmware/export/nwzlinux_codec.h [diff]
firmware/target/hosted/sonynwz/debug-nwz.c [diff]
Amaury Pouly
2017-10-07 26d18fd: Add alsa wrappers to get control values
firmware/target/hosted/alsa-controls.c [diff]
firmware/target/hosted/alsa-controls.h [diff]
Amaury Pouly
2017-10-07 5af813c: nwztools: add NW-ZX300 KAS, extracted from a device

Now this is very weird, is it yet another format/encryption?
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2017-10-03 ff62528: Make playlist CRC the correct path when saving resume info

Playlist was CRC-ing the path from the id3, which may have been modified to remove "bogus dirs". This would cause a CRC mismatch in the resume information.

Now, just use the current playlist's current index and call playlist_get_filename_crc32() to get the original path when updating resume info.

While technically correct, if this causes any issue(s) it's just a one-line change and painless to revert.
apps/playlist.c [diff]
Michael Sevakis
2017-10-07 0fbd93b: nwztools/scsitools: fix database

I forgot to add the NW-ZX300 to its series
firmware/target/hosted/sonynwz/nwz-db.c [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-07 7eb240a: Add Sony NW-ZX300 model id to database
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/models.txt [diff]
Amaury Pouly
2017-10-06 4382f87: cleanup linux cpuinfo code sonynwz: quirk for cpufreq broken driver

There was some redundancy between frequency_linux(cpu, true) and current_scaling_frequency(), also I see no reason to compile the cpuinfo stuff unconditionally and the scaling info only on DX since it was already printed some partial scaling info anyway. Thus compile all the code unconditionally and simplify the logic in the debug menu. Also avoid putting buffers of size PATH_MAX on stack since it can be quite big and we only requires 64 bytes for those paths.

On Sony NWZ, the cpu driver reports frequency in MHz instead of kHz thus we need to make the cpuinfo code aware of that bug.
apps/debug_menu.c [diff]
firmware/target/hosted/cpuinfo-linux.c [diff]
firmware/target/hosted/cpuinfo-linux.h [diff]
Amaury Pouly
2017-10-06 2f3801b: fix typo
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-10-06 d9da483: nwztools/scsitool: various improvements

The tool now provides more useful information for developers when the device is not supported. Is also has a new verb "help_us" that also prints all this information (notably the device info and model ID).
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-10-06 698779e: sonynwz: add nvp nodes for NW-A40/ZX300, various fixes for tools

We still miss the model IDS for those device so scsitool won't be able to recognize them automatically.
firmware/target/hosted/sonynwz/nwz-db.c [diff]
firmware/target/hosted/sonynwz/nwz-db.h [diff]
utils/nwztools/database/gen_db.py [diff]
utils/nwztools/database/nvp/nw-a40.txt [new]
utils/nwztools/database/nvp/nw-zx300.txt [new]
utils/nwztools/database/nvp/parse_nvp_header.sh [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-10-02 3f1e4a0: xworld: only build manual for color targets
manual/plugins/main.tex [diff]
Franklin Wei
2017-10-01 66b49dc: Need limits.h for hosted builds
lib/fixedpoint/fixedpoint.c [diff]
Michael Sevakis
2017-09-30 b2a373e: Replace fp_sqrt function with one that only uses shift, or and sub.

Simply extends the current isqrt() to be able to do fractional bits and improves the initial estimate using clz(). iqrt() itself is no more and is equivalent to fp_sqrt(x, 0). The original also had a small bug where the guess comparision should have been >=, not >.

Uses no large integer math or division and is very accurate
(simply returns a truncated fraction).
apps/plugins/fft/fft.c [diff]
lib/fixedpoint/fixedpoint.c [diff]
lib/fixedpoint/fixedpoint.h [diff]
Michael Sevakis
2017-10-01 679ae2d: sonynwzlinux: print debug info to log on crash

Print the crash info and dump the memory map from /proc/self/maps
firmware/target/hosted/sonynwz/system-nwz.c [diff]
Amaury Pouly
2017-10-01 a82ebac: sonynwza10/a20: enable pcm frequency selection
firmware/drivers/audio/nwzlinux-codec.c [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/target/hosted/alsa-controls.c [diff]
firmware/target/hosted/alsa-controls.h [diff]
firmware/target/hosted/pcm-alsa.c [diff]
Amaury Pouly
2017-10-01 50e93d5: sonynwzlinux: enable software tone controls

As far as I know, they are not supported by the hardware
firmware/export/config/sonynwzlinux.h [diff]
Amaury Pouly
2017-09-30 23e7d0e: xworld: support diagonal buttons on Zen X-Fi
apps/plugins/lib/keymaps.h [diff]
apps/plugins/xworld/resource.c [diff]
apps/plugins/xworld/sys.c [diff]
apps/plugins/xworld/sys.h [diff]
Franklin Wei
2017-09-30 bb55fce: Remove old keymaps from xworld and puzzles

They've been replaced by the one in apps/plugins/lib/
apps/plugins/puzzles/keymaps.h [deleted]
apps/plugins/xworld/keymaps.h [deleted]
Franklin Wei
2017-03-29 752f7b1: Harmonize plugin keymaps

Aims to provide a lib/keymaps.h for plugins needing simple button functionality beyond that provided by PLA. Currently used by puzzles and xworld.
apps/plugins/lib/keymaps.h [new]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/xworld/sys.c [diff]
Franklin Wei
2017-09-30 b938610: puzzles: resync with upstream

This brings puzzles to upstream commit 84d3fd2.
apps/plugins/puzzles/src/Buildscr [diff]
apps/plugins/puzzles/src/PuzzleApplet.java [diff]
apps/plugins/puzzles/src/Recipe [diff]
apps/plugins/puzzles/src/chm.but [deleted]
apps/plugins/puzzles/src/devel.but [diff]
apps/plugins/puzzles/src/drawing.c [diff]
apps/plugins/puzzles/src/emcc.c [diff]
apps/plugins/puzzles/src/emcclib.js [diff]
apps/plugins/puzzles/src/emccpre.js [diff]
apps/plugins/puzzles/src/emccx.json [diff]
apps/plugins/puzzles/src/gtk.c [diff]
apps/plugins/puzzles/src/html/jspage.pl [diff]
apps/plugins/puzzles/src/loopy.c [diff]
apps/plugins/puzzles/src/midend.c [diff]
apps/plugins/puzzles/src/mines.c [diff]
apps/plugins/puzzles/src/misc.c [diff]
apps/plugins/puzzles/src/mkfiles.pl [diff]
apps/plugins/puzzles/src/nestedvm.c [diff]
apps/plugins/puzzles/src/net.c [diff]
apps/plugins/puzzles/src/osx.m [diff]
apps/plugins/puzzles/src/pattern.c [diff]
apps/plugins/puzzles/src/puzzles.h [diff]
apps/plugins/puzzles/src/tracks.c [diff]
apps/plugins/puzzles/src/webpage.pl [diff]
apps/plugins/puzzles/src/windows.c [diff]
apps/plugins/puzzles/src/winwix.mc [diff]
Franklin Wei
2017-09-29 ea679de: atjboottool: put afi and fw code in its own files
utils/atj2137/atjboottool/Makefile [diff]
utils/atj2137/atjboottool/afi.c [new]
utils/atj2137/atjboottool/afi.h [diff]
utils/atj2137/atjboottool/atjboottool.c [diff]
utils/atj2137/atjboottool/fw.c [new]
utils/atj2137/atjboottool/fw.h [new]
utils/atj2137/atjboottool/fwu.c [diff]
Amaury Pouly
2017-09-29 95c32a5: atjboottool: split fwu code into its own file

Slightly cleanup the code by removing the old and dangerous --force option.
utils/atj2137/atjboottool/Makefile [diff]
utils/atj2137/atjboottool/afi.h [new]
utils/atj2137/atjboottool/atjboottool.c [diff]
utils/atj2137/atjboottool/fwu.c [new]
utils/atj2137/atjboottool/fwu.h [new]
utils/atj2137/atjboottool/misc.c [diff]
utils/atj2137/atjboottool/misc.h [diff]
Amaury Pouly
2017-09-24 13364c5: Fix make race conditions reharding lang.h

The bug is due to a stupid make misfeature. The article [1] contains much more information but in a nutshell, the following code:

a b: c bla

is equivalent to:

a: c bla b: c bla

This is bad because in parallel runs (make -j typically), "bla" can be run TWICE and even worse, twice in PARALLEL. Obviously the result will be completely unexpected. This is a real bummer because on the other hand, the following code:

%.c %.h: %:in bla

actually expresses the fact that bla produces two files. For some reasons, pattern rules work differently from implicit rules.

This commit attempts to fix the problem with lang.h by rewriting (simplified):

lang.c lang.h: lang.in genlang

as

lang.h: lang.in genlang lang.c: lang.h

This works (it correctly expresses the dependency chain and ensures genlang runs once) but as one drawback: if one manually removes lang.c, then genlang will not re-run since the second rule does nothing. This is minor drawback since no one ever removes lang.c manually and "clean" removes lang.h which triggers a rebuild.

[1]: https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
apps/lang/lang.make [diff]
Amaury Pouly
2016-09-03 533b2da: Rockbox Utility: updated Czech translation

translated missing strings and revised existing
rbutil/rbutilqt/lang/rbutil_cs.ts [diff]
Pavel Rzehák
2017-09-22 acc3ef3: Print "GEN lang.h" when generated language header.

Hopefully this will help narrow down the problem with LANG_* error message, I have the feeling that lang.h is not generated in time but it's very hard to reproduce.
apps/lang/lang.make [diff]
Amaury Pouly
2017-09-22 9c83e07: Fix bug in pcm-alsa.c

I introduced the bug by mistake when adding support for 32-bit sample rate.
firmware/target/hosted/pcm-alsa.c [diff]
Amaury Pouly
2017-08-14 638eaeb: Fix keymap for YP-R0 regarding broken keylock, add more key maps

Keylock is now toggled by the key combo User&Power for WPS and FMS. Pitchscreen has been added as long press of User.

While in bookmark screen, short press of Power deletes bookmark. While in (most) menus or tree, first press of MENU takes you back to the main menu, second press to WPS (aka button_context_tree).

Removed ACTION_WPSAB_SINGLE as long press of USER is now Pitchscreen.
apps/keymaps/keymap-ypr0.c [diff]
Johannes Rauh
2017-04-30 c1097cc: Rename "Selective Backlight" to "Backlight Exemptions" and add German translation


Calling the menu entry "Backlight Exemptions" as this better describes the functionality. Adding the German translation.
apps/lang/deutsch.lang [diff]
apps/lang/english.lang [diff]
manual/configure_rockbox/display_options.tex [diff]
Johannes Rauh
2017-09-20 cee7f5c: Fix some warnings due to the previous commit
apps/lang/greek.lang [diff]
Frank Gevaerts
2017-09-20 c2698c6: Update Greek, Swedish, Italian and Serbian.

Thanks to Constantine Mountantonakis, Jonatan Nyberg, Alessandro Stoppani and Ivan Pesic
(FS #13130, FS #13124, FS #13126, FS #13112)
apps/lang/greek.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/srpski.lang [diff]
apps/lang/svenska.lang [diff]
docs/CREDITS [diff]
Frank Gevaerts
2017-09-20 af8d719: Remove STORAGE_NEEDS_ALIGN from config headers

It's no longer required or used in the file code.
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/ipod6g.h [diff]
firmware/export/config/rk27generic.h [diff]
Michael Sevakis
2017-09-19 5f4de5b: nwztools/scsitools: make do_fw_upgrade output less confusing
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-09-19 99cc8f8: upgtools: fix bug in brute force search

DES ignores the parity bit of each byte (making the 64-bit key really 56-bit), but the current code skipped the parity bit of each half-byte, thus missing some keys.
utils/nwztools/upgtools/keysig_search.c [diff]
Amaury Pouly
2017-09-18 048aecd: remove inaccurate comment
bootloader/nwz_linux.c [diff]
Amaury Pouly
2017-09-17 6a62cc1: Add NWZ-E350 as unstable
tools/builds.pm [diff]
Amaury Pouly
2017-09-17 127e6bb: Add support for the NWZ-E350

Strangely it has the SAME encryption key as the E450. Either they didn't bother changing it or more likely they have exactly the same internals and a slightly different case.
firmware/export/config.h [diff]
firmware/export/config/sonynwze350.h [new]
rbutil/mknwzboot/mknwzboot.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2017-09-17 aedf4d2: nwzlinux: print version and model in bootloader
bootloader/nwz_linux.c [diff]
Amaury Pouly
2017-09-17 7de1d8b: mknwzboot: add support for uninstallation

There is not need for a bootloader file to create an uninstall firmware so one needs to provide a model. Also cleanup the install script a bit by factoring message into a function, also print them to the log so that the user can report what was printed on the screen easily. The uninstall script is quite trivial, it remounts the rootfs and restores the backed up OF to its right place.
rbutil/mknwzboot/Makefile [diff]
rbutil/mknwzboot/install_script.sh [diff]
rbutil/mknwzboot/main.c [diff]
rbutil/mknwzboot/mknwzboot.c [diff]
rbutil/mknwzboot/mknwzboot.h [diff]
rbutil/mknwzboot/uninstall_script.sh [new]
Amaury Pouly
2017-09-17 ac59669: fix warning in lcd-as-memframe.c

The fix is to actually remove unused variables. Those were unused from day 1, which I find slightly suspicious so either there is some problem or the code was copy-pasted and modified, making some variables useless.
firmware/asm/lcd-as-memframe.c [diff]
Amaury Pouly
2017-09-17 3b7263b: fix warning in vorbis
lib/rbcodec/codecs/vorbis.c [diff]
Amaury Pouly
2017-09-17 91d3c8e: Add support for the Sony NWZ-S750
firmware/export/config.h [diff]
firmware/export/config/sonynwzs750.h [new]
rbutil/mknwzboot/mknwzboot.c [diff]
tools/builds.pm [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2017-09-16 3d81540: Don't call touchscreen functions when we don't have a touchscreen
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2017-09-16 a486ee4: fix red on ypr0/ypr1

Always compile in pcm_alsa_set_digital_volume, the linker will optimize it away on targets that don't use it.
firmware/target/hosted/pcm-alsa.c [diff]
Amaury Pouly
2017-09-16 53ebdbc: Add NWZ-A860 as unstable
tools/builds.pm [diff]
Amaury Pouly
2017-09-16 546d229: imx233: make debug usable with a touchscreen
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2017-09-16 064fa90: zenxfi2: fix touchscreen bug

Due to some undocumented behavior, the touchscreen was almost unusable in point mode. Now it's much better but still not very nice to use, probably it needs some filtering.
firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c [diff]
Amaury Pouly
2017-09-16 a0fca0c: Add simulator support for the A860

This requires a few changes unrelated to the A860 because configure unsets APPLICATION but the NWZ is an application!
apps/debug_menu.c [diff]
firmware/SOURCES [diff]
firmware/export/config/sonynwzlinux.h [diff]
firmware/export/hostfs.h [diff]
firmware/target/hosted/sdl/sim-ui-defines.h [diff]
uisimulator/bitmaps/UI-sonynwza860.bmp [new]
uisimulator/buttonmap/SOURCES [diff]
uisimulator/buttonmap/sony-nwza860.c [new]
Amaury Pouly
2017-09-10 ac57f96: Add support for the NWZ-A860
apps/SOURCES [diff]
apps/keymaps/keymap-nwza860.c [new]
bootloader/nwz_linux.c [diff]
firmware/export/config.h [diff]
firmware/export/config/sonynwza860.h [new]
firmware/target/hosted/sonynwz/button-nwz.c [diff]
firmware/target/hosted/sonynwz/button-target.h [diff]
rbutil/mknwzboot/mknwzboot.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Amaury Pouly
2017-09-06 f22ccab: sonynwz: fix various drivers, notably touchscreen related
firmware/target/hosted/sonynwz/button-nwz.c [diff]
firmware/target/hosted/sonynwz/lcd-nwz.c [diff]
firmware/target/hosted/sonynwz/system-nwz.c [diff]
Amaury Pouly
2017-04-18 0291db3: For Sony players that have explicit volume keys, make better use of the up and down button


Longpress Up: pitch screen Down: playlist view
apps/keymaps/keymap-nwz.c [diff]
Johannes Rauh
2017-09-15 8b74457: ATJ hwstub: Add cache coherency

All the hard work was done by pamaury. I simply added proper defines.
utils/hwstub/stub/atj213x/target-config.h [diff]
Marcin Bukat
2017-09-07 c6d5cd7: ARM support: provide compiler a better popcount function

Just the 32-bit one for now. The default uses lookup tables and is ungainly and bloated.
lib/arm_support/support-arm.S [diff]
Michael Sevakis
2017-09-07 28591f2: Explicitly provide both cases in conditional (fixes warning)
apps/gui/bitmap/list.c [diff]
Frank Gevaerts
2017-08-30 e6de6c1: qeditor: add workaround for c++11 in qt4, suggest to use qt5
utils/regtools/qeditor/qeditor.pro [diff]
Amaury Pouly
2017-09-06 1d58667: Make android build work with both old and new locations of zipalign
android/android.make [diff]
Frank Gevaerts
2017-09-06 4580897: fix yellows
firmware/target/hosted/sonynwz/debug-nwz.c [diff]
tools/creative.c [diff]
Amaury Pouly
2017-09-06 2354854: Forgot to add the name to CREDIT in 3a5ae7d
docs/CREDITS [diff]
Amaury Pouly
2017-09-06 6e819f8: Add NWZ-E450/E460/E470/E580/A10/A20 as unstable
tools/builds.pm [diff]
Amaury Pouly
2017-04-29 3a5ae7d: Add support for Sony NW-A20

Add original author to CREDITS
firmware/export/config.h [diff]
firmware/export/config/sonynwa20.h [new]
rbutil/mknwzboot/mknwzboot.c [diff]
tools/configure [diff]
tools/scramble.c [diff]
Johannes Rauh
2017-02-23 1d121e8: Initial commit for the Sony NWZ linux port

SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10

NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested

TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal

POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver
apps/bitmaps/bitmaps.make [diff]
apps/bitmaps/native/SOURCES [diff]
apps/bitmaps/native/rockboxicon.130x130x16.bmp [new]
apps/bitmaps/native/toolsicon.130x130x16.bmp [new]
apps/debug_menu.c [diff]
apps/keymaps/keymap-nwz.c [diff]
bootloader/SOURCES [diff]
bootloader/common.c [diff]
bootloader/common.h [diff]
bootloader/nwz_linux.c [new]
firmware/SOURCES [diff]
firmware/asm/SOURCES [diff]
firmware/drivers/audio/nwzlinux-codec.c [new]
firmware/export/audiohw.h [diff]
firmware/export/backtrace.h [new]
firmware/export/config.h [diff]
firmware/export/config/sonynwza10.h [new]
firmware/export/config/sonynwze450.h [new]
firmware/export/config/sonynwze460.h [new]
firmware/export/config/sonynwze470.h [new]
firmware/export/config/sonynwze580.h [new]
firmware/export/config/sonynwzlinux.h [new]
firmware/export/nwzlinux_codec.h [new]
firmware/export/rbpaths.h [diff]
firmware/export/system.h [diff]
firmware/font.c [diff]
firmware/panic.c [diff]
firmware/target/arm/system-arm.c [diff]
firmware/target/hosted/alsa-controls.c [new]
firmware/target/hosted/alsa-controls.h [new]
...and 71 more files.
Amaury Pouly
2017-02-23 142f80f: Modernize toolchain script and add generic arm toolchain

I did some cleanup of redudant stuff, simplify some logic, also switch to bash because sh in the pain when ones want to locally define variables for functions calls. I also added support to download more stuff like alsa-lib and more recent gccs that use a different naming convention, as well as linux kernels.

I also add some build to build linux toolchains without ct-ng. The biggest problem with ct-ng is that they regularly drop support for old stuff and as a result it rots really quickly for old toolchains. I add a new toolchain for generic linux arm with the minimum requirements, it works fine on Sony NWZ and also on YP-R0.

Finally, rockboxdev.sh now understand options on its command line (see --help). Notably --target to give the list of targets (useful for noninteractive scripts),
--restart to restart at a step, --makeflags and others (instead of the environment variables)
tools/rockboxdev.sh [diff]
Amaury Pouly
2017-09-01 25a29e7: Silence warnings in mp3_encoder

`const' only needs to be used once (a const pointer to const data is
`const type * const').
apps/plugins/mp3_encoder.c [diff]
Franklin Wei
2017-09-01 5a724bb: Fix typo in goban

Pointer wasn't dereferenced as it should be.
apps/plugins/goban/sgf_parse.c [diff]
Franklin Wei
2017-08-29 34dd278: Add missing strings Italian translation

Should make us all green once again.
apps/lang/italiano.lang [diff]
Franklin Wei
2017-08-29 3a39f24: puzzles: remove unused overlay loader

Just cluttering the plugins directory as there is no COMBINED support anymore.
apps/plugins/SOURCES [diff]
apps/plugins/sgt-puzzles.c [deleted]
Franklin Wei
2017-08-28 e2271ed: qeditor: fix compile error and some comments
utils/hwstub/include/hwstub.hpp [diff]
utils/hwstub/lib/hwstub_net.cpp [diff]
Amaury Pouly
2017-08-27 1cd96b4: Keybox: display the entry name along with the password

The dereference of entry->name was originally omitted, which meant that only the password would ever be displayed.
apps/plugins/keybox.c [diff]
Franklin Wei
2017-08-27 b31ae45: fix yellow, commit f2f1889 left a variable unused
apps/plugins/sokoban.c [diff]
Amaury Pouly
2017-08-27 27ca56d: Implement warning silencing in a cleaner way
tools/configure [diff]
Franklin Wei
2017-08-27 99e467e: Revert "Silence GCC 7.x warnings when building simulator"

This reverts commit b13f6e5b67abda2e466731f39d221eec2c9eb576.
tools/configure [diff]
Franklin Wei
2017-08-27 c7f897f: zen/zenxfi: always set EMI frequency to 130MHz

The ZEN/X-Fi (STMP3700) don't handle memory frequency scaling really well, for this reason we run it at a fixed frequency. That frequency was previously set to 64Mhz because when the CPU run at its lowest frequency, we set the VDD voltage to 0.975 V and on STMP3700, VDDD=VDDDMEM and this is too low to run EMI at 130Mhz. This is not a good solution because under heavy load, running the EMI at 64Mhz results in frame drops and a sluggish device. Thus we now run the EMI at 130Mhz all the time now. To do so, increase the minimum VDD voltage to 1.275 V. This may result is a decreased battery life on those targets but it will also avoid all sorts of glictches and all the device to truly run at full speed.
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2017-08-27 b81c155: imx233: fix potential bug in udelay
firmware/target/arm/imx233/system-imx233.c [diff]
Amaury Pouly
2017-08-27 7677a99: zen/zenxfi: increase LCD clock frequency
firmware/target/arm/imx233/creative-zen/lcd-zen.c [diff]
Amaury Pouly
2017-08-27 5d2d747: imx233: update comment about vbusvalid
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
2017-08-27 7ce764c: zen/zenxfi: fix backlight white flash on backlight on
firmware/target/arm/imx233/creative-zen/backlight-zen.c [diff]
Amaury Pouly
2017-08-23 b13f6e5: Silence GCC 7.x warnings when building simulator

Adds -Wno-expansion-to-defined and -Wimplicit-fallthrough=0 to sim opts.
tools/configure [diff]
Franklin Wei
2017-08-23 3c514f8: puzzles: misc. changes and sync with upstream

This brings puzzles up-to-date with Simon's tree, along with the rockbox-specific changes I made. Note that I also got rid of some of the ugly floating-point code in rbwrappers.c and replaced it with wrappers for our fixed-point library.
apps/plugins/puzzles/rbcompat.h [diff]
apps/plugins/puzzles/rbwrappers.c [diff]
apps/plugins/puzzles/src/Buildscr [diff]
apps/plugins/puzzles/src/Makefile.doc [diff]
apps/plugins/puzzles/src/README [diff]
apps/plugins/puzzles/src/icons/tracks.sav [diff]
apps/plugins/puzzles/src/loopy.c [diff]
apps/plugins/puzzles/src/map.c [diff]
apps/plugins/puzzles/src/midend.c [diff]
apps/plugins/puzzles/src/misc.c [diff]
apps/plugins/puzzles/src/net.c [diff]
apps/plugins/puzzles/src/netslide.c [diff]
apps/plugins/puzzles/src/puzzles.but [diff]
apps/plugins/puzzles/src/puzzles.h [diff]
apps/plugins/puzzles/src/range.c [diff]
apps/plugins/puzzles/src/rect.c [diff]
apps/plugins/puzzles/src/tracks.c [diff]
apps/plugins/puzzles/src/untangle.c [diff]
apps/plugins/puzzles/src/website.url [diff]
apps/plugins/puzzles/src/winiss.pl [diff]
Franklin Wei
2017-08-23 4dd300d: puzzles: remove old combined build code

We don't really need it anymore.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-08-17 ec1a74a: puzzles: faster, smaller sqrt()
apps/plugins/puzzles/rbwrappers.c [diff]
Franklin Wei
2017-08-01 f2f1889: Sokoban: enable restarting level via "Select Level"

This patch disables the (deliberate) feature of "Select Level", that selecting the current level wouldn't restart but rather resume. (i.e. now selecting any level will always start this from scratch).

There definitely should be a way to restart the current level via menu. Currently the only possibility to do this is via button presses, but (a) these are hard to remember combos, and
(b) they are not defined on all targets. This patch is meant as a lightwight alternative to g#1356
(adding a "restart level" option to the menu).
apps/plugins/sokoban.c [diff]
Sebastian Leonhardt
2017-08-22 492dda0: Add myself to docs/COMMITTERS
docs/COMMITTERS [diff]
Sebastian Leonhardt
2016-09-22 28ae700: FS #11922: Lua game - Pixel Painter

* Changed keymaps to PLA and added to SOURCES and CATEGORIES file
* improved keymaps: implement wrap-around and key repeat
* change keymap according to screen orientation
* fix font size calculation
* use blocking button query in main loop
* replace tabs with spaces
* added manual entry
* added original author to CREDITS
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/pixel-painter.lua [new]
docs/CREDITS [diff]
manual/plugins/images/ss-pixelpainter-128x128x16.png [new]
manual/plugins/images/ss-pixelpainter-128x160x16.png [new]
manual/plugins/images/ss-pixelpainter-128x96x16.png [new]
manual/plugins/images/ss-pixelpainter-132x80x16.png [new]
manual/plugins/images/ss-pixelpainter-160x128x16.png [new]
manual/plugins/images/ss-pixelpainter-176x132x16.png [new]
manual/plugins/images/ss-pixelpainter-176x220x16.png [new]
manual/plugins/images/ss-pixelpainter-220x176x16.png [new]
manual/plugins/images/ss-pixelpainter-240x320x16.png [new]
manual/plugins/images/ss-pixelpainter-240x400x16.png [new]
manual/plugins/images/ss-pixelpainter-320x240x16.png [new]
manual/plugins/images/ss-pixelpainter-320x240x24.png [new]
manual/plugins/images/ss-pixelpainter-96x96x16.png [new]
manual/plugins/main.tex [diff]
manual/plugins/pixelpainter.tex [new]
Sebastian Leonhardt
2017-08-16 7944969: puzzles: fix build
apps/plugins/puzzles/compress.c [diff]
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
apps/plugins/puzzles/help/signpost.c [diff]
apps/plugins/puzzles/help/singles.c [diff]
apps/plugins/puzzles/help/sixteen.c [diff]
...and 10 more files.
Franklin Wei
2017-08-16 71850e8: puzzles: various useless tweaks
apps/plugins/puzzles/README.rockbox [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-08-16 d0c4ef4: puzzles: enable long-press in Map

This allows for stippling regions.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-08-16 ef9c2f4: puzzles: fix polygon drawing in Inertia

Yet another hack to accommodate our polygon algorithm...
apps/plugins/puzzles/src/inertia.c [diff]
Franklin Wei
2017-08-16 f31a400: puzzles: add more parameter validation checks

Fixes some annoying crashes.
apps/plugins/puzzles/src/blackbox.c [diff]
apps/plugins/puzzles/src/flood.c [diff]
apps/plugins/puzzles/src/mines.c [diff]
apps/plugins/puzzles/src/netslide.c [diff]
apps/plugins/puzzles/src/pattern.c [diff]
apps/plugins/puzzles/src/sixteen.c [diff]
apps/plugins/puzzles/src/twiddle.c [diff]
Franklin Wei
2017-08-16 c78ff7f: puzzles: fix floating-point formatting

This is pretty ad-hoc, but the only other ways are to rewrite sprintf (which would use too much memory on the c200v2), or implement support for floats in rockbox's formatter, neither of which are acceptable.
apps/plugins/puzzles/rbcompat.h [diff]
apps/plugins/puzzles/rbwrappers.c [diff]
apps/plugins/puzzles/src/midend.c [diff]
apps/plugins/puzzles/src/net.c [diff]
apps/plugins/puzzles/src/netslide.c [diff]
apps/plugins/puzzles/src/rect.c [diff]
Franklin Wei
2017-08-16 bf25f3e: puzzles: compress extensive help text

This is only really needed to save a few bytes on the c200v2, but since it adds negligible overhead, so it's implemented for all targets.

A stripped down version of the LZ4 reference implementation is found in lz4tiny.c.
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/compress.c [new]
apps/plugins/puzzles/genhelp.sh [diff]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/help/blackbox.c [diff]
apps/plugins/puzzles/help/bridges.c [diff]
apps/plugins/puzzles/help/cube.c [diff]
apps/plugins/puzzles/help/dominosa.c [diff]
apps/plugins/puzzles/help/fifteen.c [diff]
apps/plugins/puzzles/help/filling.c [diff]
apps/plugins/puzzles/help/flip.c [diff]
apps/plugins/puzzles/help/flood.c [diff]
apps/plugins/puzzles/help/galaxies.c [diff]
apps/plugins/puzzles/help/guess.c [diff]
apps/plugins/puzzles/help/inertia.c [diff]
apps/plugins/puzzles/help/keen.c [diff]
apps/plugins/puzzles/help/lightup.c [diff]
apps/plugins/puzzles/help/loopy.c [diff]
apps/plugins/puzzles/help/magnets.c [diff]
apps/plugins/puzzles/help/map.c [diff]
apps/plugins/puzzles/help/mines.c [diff]
apps/plugins/puzzles/help/net.c [diff]
apps/plugins/puzzles/help/netslide.c [diff]
apps/plugins/puzzles/help/palisade.c [diff]
apps/plugins/puzzles/help/pattern.c [diff]
apps/plugins/puzzles/help/pearl.c [diff]
apps/plugins/puzzles/help/pegs.c [diff]
apps/plugins/puzzles/help/range.c [diff]
apps/plugins/puzzles/help/rect.c [diff]
apps/plugins/puzzles/help/samegame.c [diff]
...and 16 more files.
Franklin Wei
2017-08-16 5645135: Fix stupid omission
firmware/target/arm/tms320dm320/spi-dm320.c [diff]
Franklin Wei
2017-08-16 6df15ea: Remove mutex_* calls from the MR:500 SPI driver

As before, they would trigger a panic.
firmware/target/arm/tms320dm320/spi-dm320.c [diff]
Franklin Wei
2017-08-10 e00d78d: Remove bad mutex lock/unlock from tcc780x SD driver

This should make cowond2 work again.
firmware/target/arm/tcc780x/sd-tcc780x.c [diff]
Franklin Wei
2017-08-10 0dbf701: Remove bad mutex_* calls in telechips i2c driver

These were being called in a cpu mode they shouldn't have been, leading to panics.
firmware/target/arm/i2c-telechips.c [diff]
Franklin Wei
2017-08-09 ca228d3: puzzles: cut size for c200v2

- font caching is disabled
- font table is dynamically allocated
- side effect: tlsf isn't reset between runs anymore, memory leaks will have a bigger impact
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-31 3e1c8cc: fix yellow
firmware/target/arm/imx233/debug-imx233.c [diff]
Amaury Pouly
2017-07-30 70b4d1a: imx233: fix horrible bug in linreg offset calculation

This was actually harmless because it was only used for the debug screen.
firmware/target/arm/imx233/power-imx233.c [diff]
Amaury Pouly
2017-07-30 17e48e8: imx233: don't print stmp3780 debug info on stmp3700
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/imx233/power-imx233.h [diff]
Amaury Pouly
2017-07-30 ce39850: rbcodec: remove useless include

metadata.c does not need cuesheet.h, which in apps/ and has nothing to do with rbcodec library.
lib/rbcodec/metadata/metadata.c [diff]
Amaury Pouly
2017-07-30 928d660: rbcodec: fix compilation in debug mode
lib/rbcodec/dsp/channel_mode.c [diff]
lib/rbcodec/dsp/crossfeed.c [diff]
lib/rbcodec/dsp/dsp_proc_entry.h [diff]
Amaury Pouly
2017-07-30 d1ca2e4: atjboottool: cleanup and add support for atj2127

Several people asked me recently how to decrypt atj2127 firmware. Someone posted on github (https://github.com/nfd/atj2127decrypt) a decrypt utility clearly reverse engineered from some unknown source. The code is an absolute horror but I concluded that ATJ changed very little between ATJ213x and ATJ2127 so I added support for the ATJ2127, credit to this github code that I stole and rewrite (code was under MIT licence). At the same time do some small code cleanups. Note that there is not 100% sure way that I know to distinguish between the two firmware types, so the code tries to do an educated guess to detect ATJ2127. If this does not work, use --atj21217 option. Also note that contrary to the github tool that decrypts and unpack in one go, this tool only does one step at once. So first decrypt: HEX -> AFI, then unpack AFI -> files. I also added for a different version of AFI. Based on AFI files I have, there are, I think, two versions: the "old" ones (pre-ATJ213x) and "new" ones. The tool only supported the new one but for some reason the ATJ2127 uses the old ones without a mostly empty header. Strangely, even this mostly empty header does not seem to follow the old layout as reverse engineered by the s1mp3 project (https://sourceforge.net/p/s1mp3/code/HEAD/tree/trunk/s1fwx/heads.h), so in fact there might be three versions. In any case, only the header is different, the rest of the file is identical so at the moment I just don't print any header info for "old" files.
utils/atj2137/atjboottool/atjboottool.c [diff]
Amaury Pouly
2017-07-26 5198409: puzzles: enable Mines

It should work now that arm memset() has been fixed for negative values. This is the last puzzle that was disabled due to a crash.
apps/plugins/puzzles/SOURCES.games [diff]
Franklin Wei
2017-07-26 c2546d3: Fix arm memset() handling of negative arguments

This fixes the sgt-mines plugin. Same issue was present in an old glibc as well:

https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=a7ed1adbecb6aac49af75aae3b3498798cf63abc
firmware/asm/arm/memset.S [diff]
Franklin Wei
2017-07-26 076cf0a: puzzles: new input scheme for Mines and Magnets

Both these puzzles now have long press mapped to spacebar.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 f1b82b1: puzzles: polish up the config menus apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 1a5149a: puzzles: tweak text positioning apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 aa7b168: puzzles: font caching

This lets puzzles remember which fonts were loaded previously so they can be preloaded when the puzzle is started (and the disk is spinning), instead of while the game is being played.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 eb43bce: puzzles: add number chooser for integer settings

Sure beats typing on the virtual keyboard.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 513fb8b: puzzles: update debug menu

Add an option to visualize polygon rendering to aid in diagnosing artifacts.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-26 403d011: puzzles: fix flag drawing in Mines

Yet another workaround to accomodate our polygon drawing "algorithm" (if you can call it that).
apps/plugins/puzzles/src/mines.c [diff]
Franklin Wei
2017-06-03 68c5f93: puzzles: update manual entry
manual/plugins/main.tex [diff]
manual/plugins/puzzles.tex [deleted]
manual/plugins/sgt-puzzles.tex [new]
Franklin Wei
2017-07-26 34998e3: Update manual copyright information for 2017 (FS #13095)

We're still working on this.
manual/intro/main.tex [diff]
Sebastian Leonhardt
2017-07-26 a3e191e: Manual (iRiver H300): Update list of supported FW versions (FS #13109)
manual/getting_started/installation.tex [diff]
Sebastian Leonhardt
2017-07-26 087f4d5: Fix misspelling in Credits (FS #13093)
docs/CREDITS [diff]
Sebastian Leonhardt
2017-07-13 3a70222: puzzles: fix star drawing in Signpost

- change point ordering to make concave polygon rendering work
- also enables an "Easter egg" of sorts
apps/plugins/puzzles/rbwrappers.c [diff]
apps/plugins/puzzles/src/signpost.c [diff]
Franklin Wei
2017-07-12 e7a35ba: puzzles: dynamic text size via custom font pack

Up to now, we'd just ignore whatever font size the puzzle asked for, and instead just go with either the UI font or system font regardless of their size, which led to some horrible-looking puzzles. This patch adds the ability to automatically load fonts of the proper size when they are available, which makes text-based puzzles such as Pattern and Slant function correctly with any UI font.

The font pack, which should be extracted to the system-wide fonts directory consists of 3 small bitmap fonts from 7px to 10px and then anti-aliased Deja Vu fonts from 10px to 36px. It is available in the source tree (apps/plugins/puzzles/fonts.zip), or from
<http://download.rockbox.org/useful/sgt-fonts.zip>.
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/fonts.zip [new]
apps/plugins/puzzles/help.c [deleted]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-07-12 84e13d5: puzzles: allow using hints in Fifteen

This maps the select button to the "h" key for Fifteen only.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-06-29 f9198ba: zen/zenxfi: map menu button to pitch screen toggle mode

The toggle action was unmapped for some reason
apps/keymaps/keymap-zen.c [diff]
Amaury Pouly
2017-04-13 d645272: mkimxboot: fix compilation issues with crypto lib
rbutil/mkimxboot/Makefile [diff]
Cástor Muñoz
2017-05-04 fbbba92: mks5lboot: updates

- fix Makefile to allow cross compilation
- Windows: use Sleep() instead of nanosleep()
- Windows: libusb now is optional
- OS X: use IOKit instead of libusb
- small rework on the DFU API
rbutil/mks5lboot/.gitignore [diff]
rbutil/mks5lboot/Makefile [diff]
rbutil/mks5lboot/README [diff]
rbutil/mks5lboot/ipoddfu.c [diff]
rbutil/mks5lboot/main.c [diff]
rbutil/mks5lboot/mkdfu.c [diff]
Cástor Muñoz
2017-05-06 cf168d4: ipodpatcher: remove external ddk/ntddscsi.h dependency
rbutil/ipodpatcher/ipodio-win32-scsi.c [diff]
Cástor Muñoz
2017-06-18 37a945d: nwztools/scsitool: add a command to query multiple nvp nodes at once
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-06-18 91ede1e: nwztools/scsitool: fix devinfo, add dhp

The devinfo request returned the raw data, now the tool prints the various fields. Also add support for the dhp (destination/headphones/color ...): this one is untested because it's only supported starting from A10 or A20. There is still a problem with the dpcc prop: although it should work for DEVINFO, it does not, despite the fact that the get_dev_info command works and is internally (on the Sony) translated into a dpcc request. I keep the code just in case.
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-06-18 8d5dcd3: nwztools/scsitool: print error on check sense

The detailled error message is only printed if -d switch is on command line, otherwise there is no error message which is wrong so fix that.
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
2017-06-14 365a005: Slightly increase CVDD2 on AMSv2.

At least one person found an SD card that wouldn't work at 2.7v.
firmware/target/arm/as3525/system-as3525.c [diff]
Michael Giacomelli
2017-06-13 e9bb9a2: nwztools: add KAS for NW-S10 (brute-forced using upgtool)
utils/nwztools/upgtools/upg.c [diff]
Amaury Pouly
2017-06-13 cd81221: nwztools: add nvp description for NW-S10 series
utils/nwztools/database/nvp/nw-s10.txt [new]
utils/nwztools/database/nwz_db.c [diff]
Amaury Pouly
2017-06-05 28c3f6b: Add NW-A36 and NW-A37 model IDs, based on the A30 service manual.

I am unsure about the names of the player, the manual says A36HN and A37HN but at the same time there is a A35 and A35HN with the same ID, and Sony does not usually put the "HN" in its device list.
utils/nwztools/database/models.txt [diff]
utils/nwztools/database/nwz_db.c [diff]
utils/nwztools/database/nwz_db.h [diff]
utils/nwztools/database/series.txt [diff]
Amaury Pouly
2017-06-03 552a271: puzzles: remove redundant help content

It used to be that each puzzle had a complete copy of the entire puzzles manual and the "quick help" text for every single puzzle. This was obviously a waste, so now each puzzle only has the sections of the manual that apply to it, saving about 100KB or so per puzzle. This also has the added benefit of shrinking binary size enough to allow full help support on the c200v2, which has been enabled.
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/genhelp.sh [diff]
apps/plugins/puzzles/help.c [diff]
apps/plugins/puzzles/help.h [diff]
apps/plugins/puzzles/help/blackbox.c [new]
apps/plugins/puzzles/help/bridges.c [new]
apps/plugins/puzzles/help/cube.c [new]
apps/plugins/puzzles/help/dominosa.c [new]
apps/plugins/puzzles/help/fifteen.c [new]
apps/plugins/puzzles/help/filling.c [new]
apps/plugins/puzzles/help/flip.c [new]
apps/plugins/puzzles/help/flood.c [new]
apps/plugins/puzzles/help/galaxies.c [new]
apps/plugins/puzzles/help/guess.c [new]
apps/plugins/puzzles/help/inertia.c [new]
apps/plugins/puzzles/help/keen.c [new]
apps/plugins/puzzles/help/lightup.c [new]
apps/plugins/puzzles/help/loopy.c [new]
apps/plugins/puzzles/help/magnets.c [new]
apps/plugins/puzzles/help/map.c [new]
apps/plugins/puzzles/help/mines.c [new]
apps/plugins/puzzles/help/net.c [new]
apps/plugins/puzzles/help/netslide.c [new]
apps/plugins/puzzles/help/palisade.c [new]
apps/plugins/puzzles/help/pattern.c [new]
apps/plugins/puzzles/help/pearl.c [new]
apps/plugins/puzzles/help/pegs.c [new]
apps/plugins/puzzles/help/range.c [new]
apps/plugins/puzzles/help/rect.c [new]
apps/plugins/puzzles/help/samegame.c [new]
...and 16 more files.
Franklin Wei
2017-06-02 cefbde0: puzzles: correct drawmode for text

DRMODE_FG should be used instead of DRMODE_COMPLEMENT to allow text to be drawn in color, benefitting puzzles such as Slant and Pattern.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-05-22 6d541fe: puzzles: work around inconsistent naming
apps/plugins/puzzles/help.c [diff]
Franklin Wei
2017-05-21 6bba062: puzzles: clarify target-specific macros
apps/plugins/puzzles/SOURCES.games [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-05-18 504346a: puzzles: fix Bridges crash on Clip Zip

- small screen could lead to invalid viewport coordinates
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-05-17 7b6f34a: puzzles: fix building

- disables help on c200v2
- renames conflicting function
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/puzzles/src/misc.c [diff]
Franklin Wei
2017-05-09 001860c: puzzles: full help system

- embeds the upstream halibut documentation for plugin use

- currently every plugin has a copy of the help text, but in the future a centralized system using overlays might be better
apps/plugins/puzzles/SOURCES [diff]
apps/plugins/puzzles/genhelp.sh [new]
apps/plugins/puzzles/help.c [new]
apps/plugins/puzzles/help.h [new]
apps/plugins/puzzles/helpcontent.c [new]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-05-16 7482b82: Fix formatting in configure
tools/configure [diff]
Amaury Pouly
2017-05-16 3210457: imx233: fix touchscreen driver

One cannot call lradc_acquire in IRQ context. The solution is to reserve the channel once at init. There is an additional complication on STMP3600 where channel mapping is fixed.
firmware/target/arm/imx233/kernel-imx233.h [diff]
firmware/target/arm/imx233/touchscreen-imx233.c [diff]
Amaury Pouly
2017-05-16 5dd443c: Fix YP-Z5 plugin/codec buffer size
firmware/export/config/samsungypz5.h [diff]
Amaury Pouly
2017-05-06 e9f7385: Samsung YP-Z5: keypad adaption to the new button API

After compiling the ypz5 target, I have discovered that the keypad system was refusing to compile, due to a much newer button API. This patch adapts the target to the current imx233 implementation. Additonally, some ADC button values have been re-adjusted.
firmware/SOURCES [diff]
firmware/target/arm/imx233/samsung-ypz5/button-ypz5.c [diff]
Lorenzo Miori
2017-04-29 6e69e3a: zenxfi3,fuzeplus: disable AB repeat (not enough keys) zenxki3: disable hotkey (not enough keys)
firmware/export/config/creativezenxfi3.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
Amaury Pouly
2017-05-12 b959655: Fix unsafe substitutions in Makefile.

Strange things can happen in the (unlikely) case that ROOTDIR=/rockbox
apps/bitmaps/bitmaps.make [diff]
tools/functions.make [diff]
tools/root.make [diff]
Amaury Pouly
2017-04-13 65c6a14: Buffering: Switch to a more general handle caching type

It sort of implemented an MRU cache but just kept track of the most recent access and checked the one after it, otherwise searching from the beginning.

Implement a true MRU list of all open handles. Handles of the current track will tend to stay up front for faster access.

Switch to common linked list functions

Use double-linked lists to have insert, remove and move_handle operations in O(1)-- no more searching to find the previous handle, which is very often required.

Smaller code too. :)
apps/buffering.c [diff]
Michael Sevakis
2017-04-23 1b4ee1f: Fix Samsung YH92X/YH820 keypad conditional in text_editor

All the *_PAD values are always #defined. So the change made in 5e91ec1 was applied to all devices instead of only those it was meant to be applied to.
apps/plugins/text_editor.c [diff]
Boris Gjenero
2017-05-04 271c30f: puzzles: remember the previous preset when selecting
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-05-04 f15c117: puzzles: fix optimization flags
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-05-02 4bc3bfe6: puzzles: simplify makefile
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-05-02 115806f: Commit FS #13111 by Sebastiano Pistore.

Updates Italian translation.
apps/lang/italiano.lang [diff]
docs/CREDITS [diff]
Michael Giacomelli
2017-04-30 e016a16: fix nano status (3=stable)
tools/builds.pm [diff]
Franklin Wei
2017-04-30 a8fa696: N2G is stable and 6G is unstable
tools/builds.pm [diff]
Franklin Wei
2017-04-30 4519027: Actually bump version to 3.14

This reverts commit e59197f07869d63bfc90dbce000d6af9c0fb73de.
tools/builds.pm [diff]
tools/release/bins.pl [diff]
tools/release/manuals.pl [diff]
tools/release/voices.pl [diff]
Franklin Wei
2017-04-30 cce3adb: add fake stdio.h
apps/plugins/puzzles/dummy/stdio.h [new]
Franklin Wei
2017-04-30 ecd7c72: add rule for rbcompat.h
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-04-30 078d52c: fix puzzles: round 4
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-04-30 c7d6457: fix puzzles... round 3
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-04-30 36aedfd: fix puzzles... round 3
apps/plugins/puzzles/puzzles.make [diff]
Franklin Wei
2017-04-30 28fef2e: Fix puzzles... again
apps/plugins/puzzles/keymaps.h [new]
apps/plugins/puzzles/puzzles.make [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
2017-04-30 39fe30f: Fix puzzles... again
apps/plugins/puzzles/keymaps.h [new]
apps/plugins/puzzles/puzzles.make [diff]
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei

Page was last modified "Oct 24 2016" The Rockbox Crew
aaa