First Steps
June 7, 2008 10:29 pmSo, 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 -> 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’s website, though it looks like the early ones are not available any more. Good thing I kept a copy laying around.
The first and easiest thing to do is to open them with a hex editor and see whats inside. Perhaps we’ll get lucky and something will be readable. I used Okteta or KHexEdit, depending on which machine I’m on (I use linux, Fedora usually)
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:
SIGMA.COSD14....1.01............1.00.0.008..........20070411....
Hm, looks like this is Sigma Co’s SD14 firmware version 1.01 made on 04-11-2007
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:
Specify which steps to skip in the Image Processing pipeline.FLAGS:Skip AutoAdjust = 0x00000001Skip LinLUT = 0x00000002Skip ColumnFilter = 0x00000004Skip ColumnFilterSegCapacitance = 0x00000008Skip SpatialGain = 0x00000010Skip ISOGain = 0x00000020Skip DriftCorrection = 0x00000040Skip FlareCorrection = 0x00000080Skip SatDetect = 0x00000100Skip BadPix = 0x00000200Skip RedSharp = 0x00000400Skip NeutHilitePixel = 0x00000800Skip NeutHiliteNeighbors = 0x00001000Skip NeutHiliteSmoothNeighbors = 0x00002000Skip Despeckle = 0x00004000Skip SpatialDQ = 0x00008000Skip ChromaBlur = 0x00010000Skip ColorDQ = 0x00020000Skip CorrectionMatrix = 0x00040000Skip ToneGamma = 0x00080000Skip Sharpen = 0x00100000
These appear to be the descrete steps in the image processing pipeline. You can find this at offset 0×0AA846 in s14101.bin. Boy, I wonder what algorithms are going on behind the scenes there
So, as I said, much can be learned just by opening up the firmware in a hex editor and poking around.Thats what I’ll start off with. Open the firmware and see if there is anything I can pick out.
Categories: SD14 Firmware Hacking


No Responses to “First Steps”
Care to comment?