<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Matt Merry &#187; 2008 &#187; June &#187; 07</title>
	<atom:link href="http://www.mattmerry.com/blog/2008/06/07/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mattmerry.com/blog</link>
	<description>MattMerry.com</description>
	<pubDate>Thu, 19 Feb 2009 01:19:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9; </copyright>
		<managingEditor>matt@mattmerry.com ()</managingEditor>
		<webMaster>matt@mattmerry.com()</webMaster>
		<category></category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>MattMerry.com</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>matt@mattmerry.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.mattmerry.com/blog/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.mattmerry.com/blog/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Matt Merry</title>
			<link>http://www.mattmerry.com/blog</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>First Steps</title>
		<link>http://www.mattmerry.com/blog/2008/06/07/first-steps</link>
		<comments>http://www.mattmerry.com/blog/2008/06/07/first-steps#comments</comments>
		<pubDate>Sun, 08 Jun 2008 06:29:27 +0000</pubDate>
		<dc:creator>Matt Merry</dc:creator>
		
		<category><![CDATA[SD14 Firmware Hacking]]></category>

		<guid isPermaLink="false">http://www.mattmerry.com/blog/2008/06/07/first-steps</guid>
		<description><![CDATA[So, there will be a flurry of activity at first for this firmware hacking project of mine. Here are a couple of the first steps I took and a quick brain dump of my first thoughts on this.
Sigma has released 8 versions of the SD14 firmware so far Ver 1.01 -&#62; ver1.07. Ver 1.07 actually [...]]]></description>
			<content:encoded><![CDATA[<p>So, there will be a flurry of activity at first for this firmware hacking project of mine. Here are a couple of the first steps I took and a quick brain dump of my first thoughts on this.</p>
<p>Sigma has released 8 versions of the SD14 firmware so far Ver 1.01 -&gt; ver1.07. Ver 1.07 actually has two versions with it, 1.07_0 and 1.07_1. Once upon a time you could download all of them from Sigma&#8217;s website, though it looks like the early ones are not available any more. Good thing I kept a copy laying around. <img src='http://www.mattmerry.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The first and easiest thing to do is to open them with a hex editor and see whats inside. Perhaps we&#8217;ll get lucky and something will be readable. I used Okteta or KHexEdit, depending on which machine I&#8217;m on (I use linux, Fedora usually)</p>
<p>Sure enough, the folks at Sigma were kind enough to leave much of the file readable. There is a wealth of debug information in the files, for example, s14v101.bin opens with the following text:</p>
<pre><font color="#000080">SIGMA.COSD14....1.01............1.00.0.008..........20070411....</font></pre>
<p>Hm, looks like this is Sigma Co&#8217;s SD14 firmware version 1.01 made on 04-11-2007 <img src='http://www.mattmerry.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Easy enough. Surprising, a lot of information can be gathered just by looking at the firmware like this. as I noted here, the firmware contains a lot of debug information, in particular I found this to be interesting:</p>
<blockquote>
<pre><font color="#808080"><font color="#000080">Specify which steps to skip in the Image Processing pipeline. </font></font></pre>
<pre><font color="#000080">FLAGS: </font></pre>
<pre><font color="#000080">Skip AutoAdjust = 0x00000001 </font></pre>
<pre><font color="#000080">Skip LinLUT = 0x00000002 </font></pre>
<pre><font color="#000080">Skip ColumnFilter = 0x00000004 </font></pre>
<pre><font color="#000080">Skip ColumnFilterSegCapacitance = 0x00000008 </font></pre>
<pre><font color="#000080">Skip SpatialGain = 0x00000010 </font></pre>
<pre><font color="#000080">Skip ISOGain = 0x00000020 </font></pre>
<pre><font color="#000080">Skip DriftCorrection = 0x00000040 </font></pre>
<pre><font color="#000080">Skip FlareCorrection = 0x00000080 </font></pre>
<pre><font color="#000080">Skip SatDetect = 0x00000100 </font></pre>
<pre><font color="#000080">Skip BadPix = 0x00000200 </font></pre>
<pre><font color="#000080">Skip RedSharp = 0x00000400 </font></pre>
<pre><font color="#000080">Skip NeutHilitePixel = 0x00000800 </font></pre>
<pre><font color="#000080">Skip NeutHiliteNeighbors = 0x00001000 </font></pre>
<pre><font color="#000080">Skip NeutHiliteSmoothNeighbors = 0x00002000 </font></pre>
<pre><font color="#000080">Skip Despeckle = 0x00004000 </font></pre>
<pre><font color="#000080">Skip SpatialDQ = 0x00008000 </font></pre>
<pre><font color="#000080">Skip ChromaBlur = 0x00010000 </font></pre>
<pre><font color="#000080">Skip ColorDQ = 0x00020000 </font></pre>
<pre><font color="#000080">Skip CorrectionMatrix = 0x00040000 </font></pre>
<pre><font color="#000080">Skip ToneGamma = 0x00080000 </font></pre>
<pre><font color="#808080"><font color="#000080">Skip Sharpen = 0x00100000 </font> </font></pre>
</blockquote>
<p>These appear to be the descrete steps in the image processing pipeline. You can find this at offset 0&#215;0AA846 in s14101.bin. Boy, I wonder what algorithms are going on behind the scenes there <img src='http://www.mattmerry.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So, as I said, much can be learned just by opening up the firmware in a hex editor and poking around.Thats what I&#8217;ll start off with. Open the firmware and see if there is anything I can pick out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmerry.com/blog/2008/06/07/first-steps/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hacking the Sigma SD14 Firmware</title>
		<link>http://www.mattmerry.com/blog/2008/06/07/hacking-the-sigma-sd14-firmware</link>
		<comments>http://www.mattmerry.com/blog/2008/06/07/hacking-the-sigma-sd14-firmware#comments</comments>
		<pubDate>Sun, 08 Jun 2008 05:55:30 +0000</pubDate>
		<dc:creator>Matt Merry</dc:creator>
		
		<category><![CDATA[SD14 Firmware Hacking]]></category>

		<guid isPermaLink="false">http://www.mattmerry.com/blog/2008/06/07/hacking-the-sigma-sd14-firmware</guid>
		<description><![CDATA[Sigma released their SD14 camera a while ago and as I have an SD10, I don&#8217;t see a very compelling reason to upgrade. The feeling I got from the camera was that it was underwhelming, the Photo Pro software original released was horrible, and then I started to see an endless release of firmware version [...]]]></description>
			<content:encoded><![CDATA[<p>Sigma released their SD14 camera a while ago and as I have an SD10, I don&#8217;t see a very compelling reason to upgrade. The feeling I got from the camera was that it was underwhelming, the Photo Pro software original released was horrible, and then I started to see an <a href="http://www.sigma-sd14.com/software/firmware/" title="Sigma SD14 Firmware">endless release of firmware version after firmware version</a> to correct bugs.</p>
<p>Now, of course many of these issues have been fixed, the Photo Pro software is now based off the excellent 2.x version as opposed to 3.0 (I&#8217;ve got some details on the company behind the 3.0 mess), and the firmware releases have seemed to subside. Perhaps they are now getting the bugs worked out of the camera.</p>
<p>The firmware however intrigued me, never before had sigma done this, released so many firmware versions for a camera. Recalling from memory, the SD9 had 1 update and the SD10 didn&#8217;t have any. If I have this wrong I&#8217;m sure someone will be so kind as to correct me. With all these versions of firmware sitting around out there, I got to thinking, I wonder whats in there.</p>
<p>It dawned on me that even though I have an engineering background, and at least some experience with embedded device programming (an old school project on a PPC 405GP) I really have no idea how to reverse engineer firmware.</p>
<p>You hear about it all the time, these l33t h4&#215;0r$ reverse engineering DVD encryption, great work has been done <a href="http://nostromo.dynalias.org/canonhacking/" title="Canon Powershot firmware hacking">hacking the low end Canon Powershots</a>, and even <a href="http://www.iphonelinux.org/index.php/Main_Page" title="IPhone Linux">phones getting a workover.</a></p>
<p>How do these people do it? How is the firmware decoded, how do they reverse engineer it? What does the firmware even look like? I decided that since the nice folks at Sigma gave us so many firmware versions, and even an excellent changelog between them, I figure that will a little time and effort, I could probably at least figure out what the firmware looks like, how to decode it, and hopefully how to change it and re-encode it. This would motivate me to buy an SD14!</p>
<p>Why? Because I&#8217;m curious. I like to make my own things. I like to understand how something works from the ground up. There are some features I want, and I don&#8217;t particularly think that Sigma is going to listen to me much (I tried once - didn&#8217;t happen) . I also think there is a good chance that I can actually do a better job.</p>
<p>So, what I&#8217;m going to do here is chronicle my adventure in attempting to become some elite firmware hacker. I&#8217;ll tell you all I know, and maybe, if anyone is paying attention, someone else might find it interesting.</p>
<p>Matt</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmerry.com/blog/2008/06/07/hacking-the-sigma-sd14-firmware/feed</wfw:commentRss>
		</item>
		<item>
		<title>Scanner Camera at Pikes</title>
		<link>http://www.mattmerry.com/blog/2008/06/07/scanner-camera-at-pikes</link>
		<comments>http://www.mattmerry.com/blog/2008/06/07/scanner-camera-at-pikes#comments</comments>
		<pubDate>Sat, 07 Jun 2008 22:26:27 +0000</pubDate>
		<dc:creator>Matt Merry</dc:creator>
		
		<category><![CDATA[Scanner Camera]]></category>

		<guid isPermaLink="false">http://www.mattmerry.com/blog/2008/06/07/scanner-camera-at-pikes</guid>
		<description><![CDATA[Took the scanner camera down to Pikes market during one of their festivals. This was the first time I had the camera outside, and the results were encouraging. You can see all the pics here:

A couple things to note:
I turn off course, fine, light and dark calibration. I use the alt calibration option. I think [...]]]></description>
			<content:encoded><![CDATA[<p>Took the scanner camera down to Pikes market during one of their festivals. This was the first time I had the camera outside, and the results were encouraging. You can see all the pics here:</p>
<p><a href="http://www.mattmerry.com/gallery/v/ScannerCamera/Day1Pikes/?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT"><img src="http://www.mattmerry.com/gallery/d/19659-2/out0013.jpeg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="out0013" title="out0013" height="150" width="150" /></a></p>
<p>A couple things to note:</p>
<p>I turn off course, fine, light and dark calibration. I use the alt calibration option. I think the per-pixel calibration that is stored in DRAM during the alt calibration is a bit off for the pixles near the top of the image. for example, see this image:</p>
<p><a href="http://www.mattmerry.com/gallery/d/19647-1/out0010.jpeg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" rel="lightbox[g2image]" title="out0010"><img src="http://www.mattmerry.com/gallery/d/19648-2/out0010.jpeg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="out0010" title="out0010" height="150" width="150" /></a></p>
<p>You can see the light band of pixels at the top of the image. This gets significantly better when stiwching from grayscale to color images. The color images come out very very grey. There are two things that I want to look into further:</p>
<ul>
<li>Better understanding/knowledge of the calibration. I think this will significantly improve image quality.</li>
<li>Ensure that I&#8217;m operating the scanner ship in 14 bit mode, and that I&#8217;m getting out all 14 bits. If the chip is in 14 bit mode then there is no calibration data stored in DRAM (the space is used for pixel data.</li>
</ul>
<p>Matt</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattmerry.com/blog/2008/06/07/scanner-camera-at-pikes/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

