dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Tuesday 18:54 75d2e1f: puzzles: add missing file
apps/plugins/bitmaps/native/puzzles_cursor.11x16x24.bmp [new]
Franklin Wei
Tuesday 18:29 c1dc957: puzzles: clean junk files

These are really not needed.
apps/plugins/puzzles/src/Makefile [deleted]
apps/plugins/puzzles/src/ [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/ [deleted]
apps/plugins/puzzles/src/Makefile.nestedvm [deleted]
apps/plugins/puzzles/src/Makefile.osx [deleted]
apps/plugins/puzzles/src/ [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
Tuesday 18:28 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/ [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
Tuesday 05:07 12bc24a: aced667 forgot about those pesky __PCTOOL__ things.

It was so close to aced666.
apps/misc.c [diff]
Michael Sevakis
18th Sep 04:00 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
8th Sep 17:28 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
Saturday 16:06 52af55e: Action Rewrite - Fix red
apps/action.c [diff]
William Wilgus
26th Sep 14:32 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
14th Nov 15:47 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
13th Nov 23:25 5da0cbe: nwz: enable plugins on all targets except NWZ-A860

Keymap might be suboptimal.
tools/configure [diff]
Amaury Pouly
13th Nov 23:24 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
20th Oct 15:12 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
12th Nov 13:14 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
12th Nov 13:13 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
12th Nov 13: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
7th Nov 15:48 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
6th Nov 19: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
6th Nov 20:53 1015e1f: fix red
apps/debug_menu.c [diff]
Amaury Pouly
3rd Nov 19:14 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
5th Nov 17:27 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
4th Nov 21:57 5a3b30d: Add support for ZEN Mozaic firmware Version 1.06.01 to mkzenboot
rbutil/mkzenboot/mkzenboot.c [diff]
Amaury Pouly
4th Nov 18:27 8a925d2: fuzep: fix rds
firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c [diff]
Amaury Pouly
4th Nov 11:09 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
4th Nov 10:12 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
3rd Nov 15:56 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
1st Nov 11:43 07d3b3c: nwztools/scsitools: print device list when listing series
utils/nwztools/scsitools/scsitool.c [diff]
Amaury Pouly
1st Nov 11:42 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
30th Oct 21:12 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
30th Oct 20:25 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
29th Oct 16:39 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
29th Oct 15:50 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/


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
29th Oct 11:46 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
29th Oct 11:44 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
29th Oct 11:42 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
13th Oct 04:28 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
2nd Oct 15:54 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
27th Oct 18:17 9ba899f: puzzles: fix clipping and 24-bit handling

Should fix the build.
apps/plugins/puzzles/rockbox.c [diff]
Franklin Wei
27th Oct 16:55 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
26th Oct 14:32 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

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