<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/utils, branch 2048sp5</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>Add jz4760 tool</title>
<updated>2015-03-29T12:08:28+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2015-03-23T20:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=b130b507349952cbab2a371628891de78cc8dda2'/>
<id>b130b507349952cbab2a371628891de78cc8dda2</id>
<content type='text'>
This tool can pack/unpack a jz4760 archive (like the one used for the fiio
x1/x3/x5), and can descramble/scramble (it's the same operation) a firmware
file (the sys.bin file in the archive). I did my best to keep the compatibility
with the leaked Fiio/Ingenic tool which has the same name.

I wrote the tools from scratch, but here are some remarks:
- the format used is a slightly modified IHFS used in the older JZ4640 series,
  I used the information on the wiki about the IHFS format
- the CRC computation done was already reversed engineered by someone on the
  forums but I realised this later
- There are a few unknown fields in the headers, see comments in the source code
- The firmware scrambling was discovered by pure guess, I realised there were
  some repetitve sequences, some I guessed it was a rotative XOR and ran some
  analysis to find the most probable sequence

Change-Id: Ib83735b3db8475be5de9c94231714e88668a0340
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This tool can pack/unpack a jz4760 archive (like the one used for the fiio
x1/x3/x5), and can descramble/scramble (it's the same operation) a firmware
file (the sys.bin file in the archive). I did my best to keep the compatibility
with the leaked Fiio/Ingenic tool which has the same name.

I wrote the tools from scratch, but here are some remarks:
- the format used is a slightly modified IHFS used in the older JZ4640 series,
  I used the information on the wiki about the IHFS format
- the CRC computation done was already reversed engineered by someone on the
  forums but I realised this later
- There are a few unknown fields in the headers, see comments in the source code
- The firmware scrambling was discovered by pure guess, I realised there were
  some repetitve sequences, some I guessed it was a rotative XOR and ran some
  analysis to find the most probable sequence

Change-Id: Ib83735b3db8475be5de9c94231714e88668a0340
</pre>
</div>
</content>
</entry>
<entry>
<title>qeditor: Add external static libraries to build dependecies</title>
<updated>2015-03-04T21:46:03+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2015-03-04T10:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=0d9124fc795b19265f0a6b1d1d7953cf0dc90219'/>
<id>0d9124fc795b19265f0a6b1d1d7953cf0dc90219</id>
<content type='text'>
The solution is a bit hacky as it simply call make in libs
directory as pre-dependency. Clean doesn't touch libs.

Change-Id: Ib447a48fd87cc41228944f17444474a55d393543
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The solution is a bit hacky as it simply call make in libs
directory as pre-dependency. Clean doesn't touch libs.

Change-Id: Ib447a48fd87cc41228944f17444474a55d393543
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a new analysis tool to detect which macros are defined in each build.</title>
<updated>2015-02-16T10:31:05+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2015-01-08T21:44:35+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=f5f9784ab754891675c83a4ca70a21df5d656c74'/>
<id>f5f9784ab754891675c83a4ca70a21df5d656c74</id>
<content type='text'>
See the usage() for more information.

Change-Id: I712ef4d6bd21eccefa18cec144e35b8161ca5b3a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See the usage() for more information.

Change-Id: I712ef4d6bd21eccefa18cec144e35b8161ca5b3a
</pre>
</div>
</content>
</entry>
<entry>
<title>atj213x: Fix DMAC block in description file</title>
<updated>2015-01-23T10:03:49+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2015-01-23T10:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=f65baf9b0f385bc479de9ab2eb92aab23167eba8'/>
<id>f65baf9b0f385bc479de9ab2eb92aab23167eba8</id>
<content type='text'>
Change-Id: I4afc17b06f85d552248c0248e6b4b921ffc1e7a7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4afc17b06f85d552248c0248e6b4b921ffc1e7a7
</pre>
</div>
</content>
</entry>
<entry>
<title>atj213x: fix desc file errors</title>
<updated>2015-01-22T12:38:13+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2015-01-22T12:33:35+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=15d4be5e9f8919b55ba5f9df548b4336a06cc433'/>
<id>15d4be5e9f8919b55ba5f9df548b4336a06cc433</id>
<content type='text'>
Catched by swiss_knife check there are some overlaping fields
and invalid characters in some names.

Change-Id: Ia26ffd2e29452f4ddd9f8229f78bb2a2cc325ab4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catched by swiss_knife check there are some overlaping fields
and invalid characters in some names.

Change-Id: Ia26ffd2e29452f4ddd9f8229f78bb2a2cc325ab4
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: implement read/write data abort recovery</title>
<updated>2015-01-13T22:35:33+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-09-20T12:29:12+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=2cdfc43f10e3d755018ea508b64b209608d71864'/>
<id>2cdfc43f10e3d755018ea508b64b209608d71864</id>
<content type='text'>
Change-Id: I1625873b6864584c40984723d82548ad242ee08e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I1625873b6864584c40984723d82548ad242ee08e
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash on uninitialized variable</title>
<updated>2015-01-13T20:57:24+00:00</updated>
<author>
<name>Thomas Jarosch</name>
<email>tomj@simonv.com</email>
</author>
<published>2015-01-13T20:57:24+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=2ee2a9697a1cea6ca3b9fa328440b8f46aa84fd8'/>
<id>2ee2a9697a1cea6ca3b9fa328440b8f46aa84fd8</id>
<content type='text'>
The WRITE() macro checks if the "fw" pointer
is open upon fwrite() error. Since fw was
not initialized before use, it might crash for non-zero fw.

cppcheck reported.
[utils/jz4740_tools/HXFreplace.c:187]: (error) Uninitialized variable: fw

Change-Id: I558170f9f17828c9fd515a5da36ad8b5cb30a9ad
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The WRITE() macro checks if the "fw" pointer
is open upon fwrite() error. Since fw was
not initialized before use, it might crash for non-zero fw.

cppcheck reported.
[utils/jz4740_tools/HXFreplace.c:187]: (error) Uninitialized variable: fw

Change-Id: I558170f9f17828c9fd515a5da36ad8b5cb30a9ad
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up bogus 'make compiler happy' code</title>
<updated>2015-01-12T20:13:00+00:00</updated>
<author>
<name>Thomas Jarosch</name>
<email>tomj@simonv.com</email>
</author>
<published>2015-01-12T20:12:58+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=a71603b4d17b1f7da06c77176a795a7464dc859a'/>
<id>a71603b4d17b1f7da06c77176a795a7464dc859a</id>
<content type='text'>
Less code makes the compiler even happier.

Change-Id: I24cf586ba44f432b541fd17079f93dbd52314828
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Less code makes the compiler even happier.

Change-Id: I24cf586ba44f432b541fd17079f93dbd52314828
</pre>
</div>
</content>
</entry>
<entry>
<title>regtools/headergen: Make generator more flexible</title>
<updated>2015-01-12T10:28:52+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2014-12-08T12:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=bbd7d1dba39ab1a89b4cc0c18352e35349e66faa'/>
<id>bbd7d1dba39ab1a89b4cc0c18352e35349e66faa</id>
<content type='text'>
Change-Id: I2328ec021ed990a40257d4ce6f4fc5b3db2ba998
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I2328ec021ed990a40257d4ce6f4fc5b3db2ba998
</pre>
</div>
</content>
</entry>
<entry>
<title>jz4740 usbtool: Fix undefined behavior in set_reg()</title>
<updated>2015-01-04T17:16:44+00:00</updated>
<author>
<name>Thomas Jarosch</name>
<email>tomj@simonv.com</email>
</author>
<published>2015-01-04T17:10:42+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=c907e127f8b1d267e91e82d28cdb210288852b82'/>
<id>c907e127f8b1d267e91e82d28cdb210288852b82</id>
<content type='text'>
The variable 'i' should actually be 'size'.
See the read_reg() function above it.

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

cppcheck reported:
[rockbox/utils/jz4740_tools/jz4740_usbtool.c:281]: (error) Uninitialized variable: i

Change-Id: I0f34834335e89d2504e7597e8db22cf69b5ca7e7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The variable 'i' should actually be 'size'.
See the read_reg() function above it.

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

cppcheck reported:
[rockbox/utils/jz4740_tools/jz4740_usbtool.c:281]: (error) Uninitialized variable: i

Change-Id: I0f34834335e89d2504e7597e8db22cf69b5ca7e7
</pre>
</div>
</content>
</entry>
</feed>
