<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/firmware/common, branch duke3d</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>Add proper float formatting to vuprintf</title>
<updated>2018-02-09T02:36:20+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2018-01-06T12:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=8dd00a02d49a99997165a4c38a967738e90ba72f'/>
<id>8dd00a02d49a99997165a4c38a967738e90ba72f</id>
<content type='text'>
Wanted to see how gnarly it is to do.

Big number handling could be done with better algorithms
since it can get a bit slow with large integers or tiny
fractions with many lead zeros when only a few digits are
needed.

Anyway, it supports %e, %E, %f, %F, %g and %G. No %a or long
double support seems warranted at the moment.

Assumes IEEE 754 double format but it's laid out to be able to
replace a function to handle others if needed.

Tested in a driver program that has a duplicate vuprintf and
the content was pasted in once it looked sound enough to put
up a patch.

Change-Id: I6dae8624d3208e644c88e36e6a17d8fc9144f988
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wanted to see how gnarly it is to do.

Big number handling could be done with better algorithms
since it can get a bit slow with large integers or tiny
fractions with many lead zeros when only a few digits are
needed.

Anyway, it supports %e, %E, %f, %F, %g and %G. No %a or long
double support seems warranted at the moment.

Assumes IEEE 754 double format but it's laid out to be able to
replace a function to handle others if needed.

Tested in a driver program that has a duplicate vuprintf and
the content was pasted in once it looked sound enough to put
up a patch.

Change-Id: I6dae8624d3208e644c88e36e6a17d8fc9144f988
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Support floating-point formatting"</title>
<updated>2017-12-25T00:22:17+00:00</updated>
<author>
<name>Franklin Wei</name>
<email>git@fwei.tk</email>
</author>
<published>2017-12-25T00:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=6a843ca2b2008310f4b27070a2ea8fd7d0490fe5'/>
<id>6a843ca2b2008310f4b27070a2ea8fd7d0490fe5</id>
<content type='text'>
This reverts commit 01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b.

The hack isn't used in duke, so having it is redundant.

Change-Id: Ieb36d75718e0c2d1305440d08021744625117886
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b.

The hack isn't used in duke, so having it is redundant.

Change-Id: Ieb36d75718e0c2d1305440d08021744625117886
</pre>
</div>
</content>
</entry>
<entry>
<title>fix red</title>
<updated>2017-12-24T02:28:20+00:00</updated>
<author>
<name>Franklin Wei</name>
<email>git@fwei.tk</email>
</author>
<published>2017-12-24T02:23:06+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=6416d96fbc6946a0eee8ba29bb881fbf4dcbe607'/>
<id>6416d96fbc6946a0eee8ba29bb881fbf4dcbe607</id>
<content type='text'>
Change-Id: I20f1bd6f0208f6108d68fb59206b09dd9da4f1af
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I20f1bd6f0208f6108d68fb59206b09dd9da4f1af
</pre>
</div>
</content>
</entry>
<entry>
<title>Port of Duke Nukem 3D</title>
<updated>2017-12-24T02:01:26+00:00</updated>
<author>
<name>Franklin Wei</name>
<email>git@fwei.tk</email>
</author>
<published>2017-01-21T20:18:31+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=a855d6202536ff28e5aae4f22a0f31d8f5b325d0'/>
<id>a855d6202536ff28e5aae4f22a0f31d8f5b325d0</id>
<content type='text'>
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL
for Rockbox.

Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL
for Rockbox.

Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
</pre>
</div>
</content>
</entry>
<entry>
<title>Support floating-point formatting</title>
<updated>2017-12-24T01:55:02+00:00</updated>
<author>
<name>Franklin Wei</name>
<email>git@fwei.tk</email>
</author>
<published>2017-09-29T20:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b'/>
<id>01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b</id>
<content type='text'>
This is just a quick and dirty way to get %f formatting to work for
some games. It works.

Change-Id: I75585e0c6a0f9d6db41a87b71ca405b067d8b85d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is just a quick and dirty way to get %f formatting to work for
some games. It works.

Change-Id: I75585e0c6a0f9d6db41a87b71ca405b067d8b85d
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a small 32-byte write buffer to fdprintf.</title>
<updated>2017-11-28T14:01:17+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2017-11-28T13:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=055e2115de90893b01c8214cee805ae5fd669a7c'/>
<id>055e2115de90893b01c8214cee805ae5fd669a7c</id>
<content type='text'>
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.

Change-Id: I11820c1968ed7b20aa00e106a022c1b864b03d21
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

Change-Id: I11820c1968ed7b20aa00e106a022c1b864b03d21
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert i.MX31 and AMS target to use RTC interrupt</title>
<updated>2017-11-21T12:52:02+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2017-01-27T02:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=f4c42213062170ddfcc706b3c5ed19f47517c253'/>
<id>f4c42213062170ddfcc706b3c5ed19f47517c253</id>
<content type='text'>
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.

Change-Id: I6fd325f22845029a485c502c884812d3676026ea
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

Change-Id: I6fd325f22845029a485c502c884812d3676026ea
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement a much more capable vuprintf()</title>
<updated>2017-11-21T10:00:27+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2017-09-08T23:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=5c9688961ef9166cec5225db50d5f73691d8292d'/>
<id>5c9688961ef9166cec5225db50d5f73691d8292d</id>
<content type='text'>
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.

Change-Id: Ibdc613a9b6775802c188b29b9dd46c568c94f7c3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

Change-Id: Ibdc613a9b6775802c188b29b9dd46c568c94f7c3
</pre>
</div>
</content>
</entry>
<entry>
<title>Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUME</title>
<updated>2017-10-29T16:53:04+00:00</updated>
<author>
<name>William Wilgus</name>
<email>me.theuser@yahoo.com</email>
</author>
<published>2017-02-10T12:53:46+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=e9de9c1452499d852c8b4ec75cde06520fe7c961'/>
<id>e9de9c1452499d852c8b4ec75cde06520fe7c961</id>
<content type='text'>
Adds the ability to load firmware from other drives on MULTIVOLUME targets
Mihail Zenkov &lt;mihail.zenkov@gmail.com&gt; had posted a hard coded patch
to allow this on several Sansa players, I made it more universal

Redirect file rockbox_main.&lt;name&gt; 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 /&lt;*DIRECTORY*&gt; is supplied in rockbox_main.&lt;name&gt; then
firmware will be loaded from /&lt;dir&gt;/.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.&lt;name&gt;"
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 &lt;HAVE_MULTIBOOT&gt; will be defined by config.h

Partitions on the drives are able to have a redirect as
well.

Change-Id: Iada3263919f6bcad7d0d7d8279b4239aafa07ee9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds the ability to load firmware from other drives on MULTIVOLUME targets
Mihail Zenkov &lt;mihail.zenkov@gmail.com&gt; had posted a hard coded patch
to allow this on several Sansa players, I made it more universal

Redirect file rockbox_main.&lt;name&gt; 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 /&lt;*DIRECTORY*&gt; is supplied in rockbox_main.&lt;name&gt; then
firmware will be loaded from /&lt;dir&gt;/.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.&lt;name&gt;"
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 &lt;HAVE_MULTIBOOT&gt; will be defined by config.h

Partitions on the drives are able to have a redirect as
well.

Change-Id: Iada3263919f6bcad7d0d7d8279b4239aafa07ee9
</pre>
</div>
</content>
</entry>
<entry>
<title>Add boot data support to rockbox.</title>
<updated>2017-10-29T16:50:59+00:00</updated>
<author>
<name>William Wilgus</name>
<email>me.theuser@yahoo.com</email>
</author>
<published>2017-02-05T20:07:20+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=41869a6534400090ce61111aa79398513462b24f'/>
<id>41869a6534400090ce61111aa79398513462b24f</id>
<content type='text'>
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


Change-Id: Ib3d78cc0c3a9d47d6fe73be4747a11b7ad6f0a9e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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


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