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



whenwhatwherewho
Today 16:33 e7c282f: More standard conforming codec_realloc()

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

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

Co-conspirators: Franklin Wei, Benjamin Brown

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Unimportant change, still good style.

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

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

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

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

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

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

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

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

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

No need to go out of memory, too ;)

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

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

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

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

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

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

-> returns four instead of two.

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

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

Thanks to JdGordon for verifying the change.

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

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

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

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

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

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

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

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

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

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

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

With the previous code, tab names would be ignored if tab is detached which can happen early on.
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regtab.cpp [diff]
Amaury Pouly
26th Sep 08:46 fe1fed8 G#983: qeditor: add copyright
utils/regtools/qeditor/analyser.cpp [diff]
utils/regtools/qeditor/analyser.h [diff]
utils/regtools/qeditor/backend.cpp [diff]
utils/regtools/qeditor/backend.h [diff]
utils/regtools/qeditor/main.cpp [diff]
utils/regtools/qeditor/mainwindow.cpp [diff]
utils/regtools/qeditor/mainwindow.h [diff]
utils/regtools/qeditor/regdisplaypanel.cpp [diff]
utils/regtools/qeditor/regdisplaypanel.h [diff]
utils/regtools/qeditor/regedit.cpp [diff]
utils/regtools/qeditor/regedit.h [diff]
utils/regtools/qeditor/regtab.cpp [diff]
utils/regtools/qeditor/regtab.h [diff]
utils/regtools/qeditor/settings.cpp [diff]
utils/regtools/qeditor/settings.h [diff]
utils/regtools/qeditor/std_analysers.cpp [diff]
utils/regtools/qeditor/std_analysers.h [diff]
utils/regtools/qeditor/utils.cpp [diff]
utils/regtools/qeditor/utils.h [diff]
Amaury Pouly
15th Dec 21:44 94c4834: Revert "regtools/qeditor: use the new model, drop unused code"

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

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

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

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

Version history:

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

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

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

Benchmarks results using iPod Classic (ARM926EJ 216Mhz):

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

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

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

Tested: Cástor Muñoz
firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S [diff]
Cástor Muñoz
9th Dec 22:20 a2136a8: ypr0: Get it up and running again

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

Configures piezo GPIO ports for the lowest power consumption when not in use.
firmware/target/arm/s5l8702/ipod6g/piezo-ipod6g.c [diff]
Cástor Muñoz

Page was last modified "Jan 10 2012" The Rockbox Crew
aaa