<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.recessim.com/w/index.php?action=history&amp;feed=atom&amp;title=Disney_Flix_Camcorder</id>
	<title>Disney Flix Camcorder - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.recessim.com/w/index.php?action=history&amp;feed=atom&amp;title=Disney_Flix_Camcorder"/>
	<link rel="alternate" type="text/html" href="https://wiki.recessim.com/w/index.php?title=Disney_Flix_Camcorder&amp;action=history"/>
	<updated>2026-06-26T21:39:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.recessim.com/w/index.php?title=Disney_Flix_Camcorder&amp;diff=1921&amp;oldid=prev</id>
		<title>Chicken: typos</title>
		<link rel="alternate" type="text/html" href="https://wiki.recessim.com/w/index.php?title=Disney_Flix_Camcorder&amp;diff=1921&amp;oldid=prev"/>
		<updated>2023-10-02T04:01:20Z</updated>

		<summary type="html">&lt;p&gt;typos&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 04:01, 2 October 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Surprisingly, this toy camcorder made for an interesting teardown.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Surprisingly, this toy camcorder made for an interesting teardown.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Given the bare-bones simplicity and working serial port, it could be a worthwhile target to reverse engineer the Zoran Coach architecture. Zoran Coach &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;for a while &lt;/del&gt;was the dominant SoC found in many consumer point &amp;amp; shoot cameras &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;of the late 2000s to early 2010s&lt;/del&gt;. https://en.wikipedia.org/wiki/Zoran_Corporation was bought by CSR, who &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;was &lt;/del&gt;then later sold off its camera IP to Qualcomm.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Given the bare-bones simplicity and working serial port, it could be a worthwhile target to reverse engineer the Zoran Coach architecture. Zoran Coach &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in the late 2000s to early 2010s &lt;/ins&gt;was the dominant &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;camera &lt;/ins&gt;SoC&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;found in many consumer point &amp;amp; shoot cameras. https://en.wikipedia.org/wiki/Zoran_Corporation was bought by CSR, who then later sold off its camera IP to Qualcomm.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The camera is also unique, in that it isn't a rats nest of flat flex cables, but mostly uses right-angle pin-headers as interconnect between circuit boards (the exception being the display). This will make it easy to tap into signals between image sensor and SoC, or to automate camera controls with an MCU.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The camera is also unique, in that it isn't a rats nest of flat flex cables, but mostly uses right-angle pin-headers as interconnect between circuit boards (the exception being the display). This will make it easy to tap into signals between image sensor and SoC, or to automate camera controls with an MCU.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Teardown pictures ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Teardown pictures==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Disney Flix Camcorder Main PCB Front.jpg|none|thumb|Main PCB, front]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Disney Flix Camcorder Main PCB Front.jpg|none|thumb|Main PCB, front]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot; &gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Disney Flix Camcorder Construction.jpg|none|thumb|Assembled camera, without enclosure. Note the pin-header interconnects.]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Disney Flix Camcorder Construction.jpg|none|thumb|Assembled camera, without enclosure. Note the pin-header interconnects.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Parts identification ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Parts identification==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Main PCB ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Main PCB===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U1 Zoran '''ZR36440BGCF''' Coach 6e Digital Camera Processor&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U1 Zoran '''ZR36440BGCF''' Coach 6e Digital Camera Processor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot; &gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;J1 debug header (see below)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;J1 debug header (see below)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Sensor PCB ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Sensor PCB===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U? Silicon Optronics Inc. '''SOI-968''' image sensor&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U? Silicon Optronics Inc. '''SOI-968''' image sensor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 1.3MPixel (SXGA), CMOS&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*1.3MPixel (SXGA), CMOS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Datasheet [https://web.archive.org/web/20231002032056/http://file1.dzsc.com/product/13/05/14/854235_135052437.pdf available]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Datasheet [https://web.archive.org/web/20231002032056/http://file1.dzsc.com/product/13/05/14/854235_135052437.pdf available]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U? JRC '''NJM4580M''' dual audio op amp&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;U? JRC '''NJM4580M''' dual audio op amp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Likely for microphone and/or audio jack on same board&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Likely for microphone and/or audio jack on same board&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Display ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Display===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Marking on flatflex: Tp037A&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Marking on flatflex: Tp037A&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Boot message: LCD = TOPPLY_TP033B&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Boot message: LCD = TOPPLY_TP033B&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Serial debug port ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Serial debug port==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A serial debug port is available on four pads marked as J1:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A serial debug port is available on four pads marked as J1:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot; &gt;Line 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pinout (starting at J1 label): 3.3V, TX, RX, GND&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pinout (starting at J1 label): 3.3V, TX, RX, GND&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Logs ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Logs===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Boot ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Boot====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Boot - VER: HW=0x62B0, FW=0x0463.19&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Boot - VER: HW=0x62B0, FW=0x0463.19&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l243&quot; &gt;Line 243:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 243:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Power down ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Power down====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HCE_ReadFGPIOButtons 0x01&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HCE_ReadFGPIOButtons 0x01&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l296&quot; &gt;Line 296:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 296:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Image capture ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Image capture====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;XLGPIO pressed is 4&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;XLGPIO pressed is 4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l370&quot; &gt;Line 370:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 370:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== View image ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====View image====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read ADC1 Button 3&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Read ADC1 Button 3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l429&quot; &gt;Line 429:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 429:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Change mode to &amp;quot;Settings&amp;quot; ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Change mode to &amp;quot;Settings&amp;quot;====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HCE_ReadFGPIOButtons 0x04&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HCE_ReadFGPIOButtons 0x04&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Chicken</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.recessim.com/w/index.php?title=Disney_Flix_Camcorder&amp;diff=1919&amp;oldid=prev</id>
		<title>Chicken: page created</title>
		<link rel="alternate" type="text/html" href="https://wiki.recessim.com/w/index.php?title=Disney_Flix_Camcorder&amp;diff=1919&amp;oldid=prev"/>
		<updated>2023-10-02T03:53:08Z</updated>

		<summary type="html">&lt;p&gt;page created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Disney Flix Camcorder.jpg|none|thumb|Disney Flix Camcorder, ~2007 vintage]]&lt;br /&gt;
Surprisingly, this toy camcorder made for an interesting teardown.&lt;br /&gt;
&lt;br /&gt;
Given the bare-bones simplicity and working serial port, it could be a worthwhile target to reverse engineer the Zoran Coach architecture. Zoran Coach for a while was the dominant SoC found in many consumer point &amp;amp; shoot cameras of the late 2000s to early 2010s. https://en.wikipedia.org/wiki/Zoran_Corporation was bought by CSR, who was then later sold off its camera IP to Qualcomm.&lt;br /&gt;
&lt;br /&gt;
The camera is also unique, in that it isn't a rats nest of flat flex cables, but mostly uses right-angle pin-headers as interconnect between circuit boards (the exception being the display). This will make it easy to tap into signals between image sensor and SoC, or to automate camera controls with an MCU.&lt;br /&gt;
&lt;br /&gt;
== Teardown pictures ==&lt;br /&gt;
[[File:Disney Flix Camcorder Main PCB Front.jpg|none|thumb|Main PCB, front]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Disney Flix Camcorder Main PCB back.jpg|none|thumb|Main PCB, back]]&lt;br /&gt;
[[File:Disney Flix Camcorder Sensor PCB Front.jpg|none|thumb|Sensor PCB, front]]&lt;br /&gt;
[[File:Disney Flix Sensor PCB back.jpg|none|thumb|Sensor PCB, back]]&lt;br /&gt;
[[File:Disney Flix Camcorder Controls PCB front.jpg|none|thumb|Controls PCB, front]]&lt;br /&gt;
[[File:Disney Flix Camcorder Controls PCB Back.jpg|none|thumb|Controls PCB, back]]&lt;br /&gt;
[[File:Disney Flix Camcorder Display PCB back.jpg|none|thumb|Display PCB, back]]&lt;br /&gt;
[[File:Disney Flix Camcorder Construction.jpg|none|thumb|Assembled camera, without enclosure. Note the pin-header interconnects.]]&lt;br /&gt;
&lt;br /&gt;
== Parts identification ==&lt;br /&gt;
&lt;br /&gt;
=== Main PCB ===&lt;br /&gt;
U1 Zoran '''ZR36440BGCF''' Coach 6e Digital Camera Processor&lt;br /&gt;
&lt;br /&gt;
U3 Elpida '''S6416GHTA-10-E''' 4Mx16b (8MB) SDRAM &lt;br /&gt;
&lt;br /&gt;
U4 Hynix '''HY27US08121A''' 64Mx8b NAND Flash (under SD Card slot)&lt;br /&gt;
&lt;br /&gt;
U251 Holtek '''HT82V735''' 330mW Stereo Audio Power Amp&lt;br /&gt;
&lt;br /&gt;
U302 marking '''DE-K1L''', SOT-23-5 LDO?&lt;br /&gt;
&lt;br /&gt;
U??? '''m'''arking '''DC-U06''', SOT-23-5 LDO?&lt;br /&gt;
&lt;br /&gt;
U??? marking '''D A- 9JS2Q''', 6-pin package, Boost Converter?&lt;br /&gt;
&lt;br /&gt;
J1 debug header (see below)&lt;br /&gt;
&lt;br /&gt;
=== Sensor PCB ===&lt;br /&gt;
U? Silicon Optronics Inc. '''SOI-968''' image sensor&lt;br /&gt;
&lt;br /&gt;
* 1.3MPixel (SXGA), CMOS&lt;br /&gt;
* Datasheet [https://web.archive.org/web/20231002032056/http://file1.dzsc.com/product/13/05/14/854235_135052437.pdf available]&lt;br /&gt;
&lt;br /&gt;
U? JRC '''NJM4580M''' dual audio op amp&lt;br /&gt;
&lt;br /&gt;
* Likely for microphone and/or audio jack on same board&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
Marking on flatflex: Tp037A&lt;br /&gt;
&lt;br /&gt;
Boot message: LCD = TOPPLY_TP033B&lt;br /&gt;
&lt;br /&gt;
== Serial debug port ==&lt;br /&gt;
A serial debug port is available on four pads marked as J1:&lt;br /&gt;
&lt;br /&gt;
UART parameters: 115200 8N1&lt;br /&gt;
&lt;br /&gt;
Pinout (starting at J1 label): 3.3V, TX, RX, GND&lt;br /&gt;
&lt;br /&gt;
=== Logs ===&lt;br /&gt;
&lt;br /&gt;
==== Boot ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Boot - VER: HW=0x62B0, FW=0x0463.19&lt;br /&gt;
CODE = 1042192 byte, DATA = 52888 byte&lt;br /&gt;
THR - Z2c Writer&lt;br /&gt;
LCD = TOPPLY_TP033B&lt;br /&gt;
CODEC = AVC&lt;br /&gt;
THR2 - HCE&lt;br /&gt;
RESIDENT = NAND (SR)&lt;br /&gt;
CARD = SD&lt;br /&gt;
RES A - OK&lt;br /&gt;
RES B - OK&lt;br /&gt;
RES C - OK&lt;br /&gt;
THR2 - AgentServer&lt;br /&gt;
THR2 - StillServer&lt;br /&gt;
THR2 - BrowseServer&lt;br /&gt;
MON&amp;gt; THR2 - Monitor&lt;br /&gt;
ÿCTLut - 92x85&lt;br /&gt;
Hce proc started&lt;br /&gt;
HceOnCreate&lt;br /&gt;
HceOnCreate Create Element&lt;br /&gt;
HceOnCreate_SD&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0500][00000000]-[CREATE] #####&lt;br /&gt;
HceOnCreate_SD&lt;br /&gt;
AgentOnSetMsMedia&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;HceOnMsg: FlashCardDetect = 0&lt;br /&gt;
Next St = 1HceOnCreate_WaitIdle&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by Quene: [0700][00000000]-[FLASH_CARD_DETECT] #####&lt;br /&gt;
HceOnCreate_WaitIdle&lt;br /&gt;
Next St = 2ADC0 Value is 31&lt;br /&gt;
HCE_ReadFGPIOButtons 0x01&lt;br /&gt;
                                                         &amp;gt;&amp;gt;##&amp;gt;&amp;gt;## init capture key = 1&lt;br /&gt;
SENSOR - SOI968&lt;br /&gt;
!Kenny SOI968 sensor&lt;br /&gt;
Init RTC&lt;br /&gt;
HCE_InitOptions&lt;br /&gt;
HCE_ChkUSPExist USP.bin Exist!!&lt;br /&gt;
&lt;br /&gt;
B:\USP.BIN restored successfully.&lt;br /&gt;
        Do Nothing&lt;br /&gt;
        END&lt;br /&gt;
Hce_SetFlickerFormat[1]&lt;br /&gt;
AeSetAgcMode 1&lt;br /&gt;
AeSetAeMode 1&lt;br /&gt;
AeSetPreviewExpLimit 45 127&lt;br /&gt;
AeSetCaptureExpLimit 45 127 255 255&lt;br /&gt;
0:(235,399)&lt;br /&gt;
1:(234,413)&lt;br /&gt;
2:(300,371)&lt;br /&gt;
3:(318,281)&lt;br /&gt;
4:(318,281)&lt;br /&gt;
R(234,318) B(281,413)&lt;br /&gt;
ulAwbLutSize(Gr,Gb) = (40,46)&lt;br /&gt;
I43_SetImageSize - OK&lt;br /&gt;
StillOnSetCompressionRatio&lt;br /&gt;
AeSetExpDeviation 16&lt;br /&gt;
HCE_SetWhiteBalance[0]&lt;br /&gt;
AwbSetMode 16&lt;br /&gt;
StillOnIsspuLs 0&lt;br /&gt;
StillOnIsspuClpf 1&lt;br /&gt;
StillOnIsspuLc 0&lt;br /&gt;
&lt;br /&gt;
 **MountStorageMedia type = 0 **&lt;br /&gt;
I43_MountStorageMedia - 0&lt;br /&gt;
AgentOnSetMsMedia&lt;br /&gt;
:::HCE::: Media Mounted Success&lt;br /&gt;
&lt;br /&gt;
 **GetStorageMediaStatus type = 0 **&lt;br /&gt;
I43_GetStorageMediaStatus - 0&lt;br /&gt;
&lt;br /&gt;
 ## refresh photo num is true ##&lt;br /&gt;
&lt;br /&gt;
 **GetStorageMediaStatus type = 0 **&lt;br /&gt;
I43_GetStorageMediaStatus - 0&lt;br /&gt;
uAviSecondsRemain[90] ulSpaceLeft[41615360]&lt;br /&gt;
uMovieMinSize[540672]uMovieSizeParam[451730]&lt;br /&gt;
&lt;br /&gt;
 **GetStorageMediaStatus type = 0 **&lt;br /&gt;
I43_GetStorageMediaStatus - 0&lt;br /&gt;
&lt;br /&gt;
 load ASDUI.bin&lt;br /&gt;
GdiLoadFont - \UI.BIN&lt;br /&gt;
&lt;br /&gt;
 init osd clut&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HceOsd: Init - OSD&lt;br /&gt;
&lt;br /&gt;
 init font color &amp;amp; size&lt;br /&gt;
&lt;br /&gt;
 ## HCE_PAviInit ##&lt;br /&gt;
&lt;br /&gt;
 ## HCE_PAudio Init ##&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; init ClockCheck&lt;br /&gt;
HCE_InitClockCheck&lt;br /&gt;
LCD = TOPPLY_TP033B&lt;br /&gt;
HceDlcdSetPins&lt;br /&gt;
Send Reg. Th to TP051!!&lt;br /&gt;
TopplyDlcdInit ...&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HceLcd.c: LCD mode&lt;br /&gt;
LCDON&lt;br /&gt;
GPIO_LCDONOFF =1MOFF&lt;br /&gt;
BATTERY STABLE [172]&lt;br /&gt;
AppSetMode 0x30 -1&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000030]-[NEW_MODE] #####&lt;br /&gt;
ADC0 Value is 31&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
HCE_ReadFGPIOButtons 0x01&lt;br /&gt;
##### Msg handled by General: [5100][00000010]-[FG_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
XLGPIO pressed is 6&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [5000][00000006]-[XL_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [1d00][00000000]-[MOUNT_DUPLICATED_FOUND] #####&lt;br /&gt;
AgentOnUsbConnect&lt;br /&gt;
THR - UsbAgent&lt;br /&gt;
THR - CmdDispatcher&lt;br /&gt;
NextMode: 6, ThIdle: 1&lt;br /&gt;
Usb Agent: Disconnect Event&lt;br /&gt;
2 NextMode: 6, ThIdle: 1&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000030]-[NEW_MODE] #####&lt;br /&gt;
AsdMode_ChgModeDesed Create Element&lt;br /&gt;
HCE_AviConstructor&lt;br /&gt;
HCE_AviConstructor Create Element&lt;br /&gt;
&lt;br /&gt;
                        &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ModeAvi.c: Setting Avi mode&lt;br /&gt;
BrowseOnSetAudioCompression 1&lt;br /&gt;
Video image size 640 480&lt;br /&gt;
I43_SetImageSize - OK&lt;br /&gt;
Video image size 640 480&lt;br /&gt;
I43_SetImageSize - OK&lt;br /&gt;
StillOnSetCompressionRatio&lt;br /&gt;
StillOnSetRecordingTime 65535&lt;br /&gt;
BrowseOnSetRecordingTime 65535&lt;br /&gt;
AeSetExpDeviation 16&lt;br /&gt;
HCE_SetWhiteBalance[0]&lt;br /&gt;
AwbSetMode 16&lt;br /&gt;
AeSetAgcMode 1&lt;br /&gt;
AeSetAeMode 1&lt;br /&gt;
&lt;br /&gt;
 **MountStorageMedia type = 0 **&lt;br /&gt;
I43_MountStorageMedia - 0&lt;br /&gt;
AgentOnSetMsMedia&lt;br /&gt;
:::HCE::: Media Mounted Success&lt;br /&gt;
AppSetMode 0x40 -1&lt;br /&gt;
StillOnActive -1&lt;br /&gt;
THR - Store&lt;br /&gt;
THR - FileCreator&lt;br /&gt;
THR - Aaa&lt;br /&gt;
AAA start.&lt;br /&gt;
Go to view mode!!!StillOnModeStart 3 -&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
StillPreviewActive&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
StillStartMode 0 0&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
StillPreviewStart&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
THR - PreviewMode&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [1d00][00000000]-[MOUNT_DUPLICATED_FOUND] #####&lt;br /&gt;
StillPreviewMain&lt;br /&gt;
THR - Sensor&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000040]-[NEW_MODE] #####&lt;br /&gt;
THR - StatAe&lt;br /&gt;
HceAviConst_WaitNF&lt;br /&gt;
HceAviConst_WaitNF&lt;br /&gt;
HceAviConst_WaitNF&lt;br /&gt;
HceAviConst_WaitNF&lt;br /&gt;
HceAviConst_WaitNF&lt;br /&gt;
_ASDM_ST_CUR_MODEID 6&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Power down ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
HCE_ReadFGPIOButtons 0x01&lt;br /&gt;
##### Msg handled by General: [5100][00000000]-[FG_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
NextMode: 1, ThIdle: 1&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
HceSetSwitchWorkMode WorkModeId: 1Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
HCE_AviDestructor&lt;br /&gt;
HCE_AviDestructor Create Element&lt;br /&gt;
AsdMode_ChgModeDesed Create Element&lt;br /&gt;
AppSetMode 0x30 0&lt;br /&gt;
StillOnActive 0&lt;br /&gt;
StillOnModeEnd 0. Next mode is 0&lt;br /&gt;
StillPreviewStop&lt;br /&gt;
StillAbort&lt;br /&gt;
AWB stats aborted in the middle of transaction.&lt;br /&gt;
AAA process terminating !!!&lt;br /&gt;
StillOnAaaExit&lt;br /&gt;
StillOnStoreExit&lt;br /&gt;
StillOnFileCreateExit&lt;br /&gt;
Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
AsdMode_ChgModeDesed Create Element Fail: This Element already exist!!&lt;br /&gt;
Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
AsdMode_ChgModeDesed Create Element Fail: This Element already exist!!&lt;br /&gt;
Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
AsdMode_ChgModeDesed Create Element Fail: This Element already exist!!&lt;br /&gt;
Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
AsdMode_ChgModeDesed Create Element Fail: This Element already exist!!&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000030]-[NEW_MODE] #####&lt;br /&gt;
Main Power off!!&lt;br /&gt;
2 NextMode: 1, ThIdle: 1&lt;br /&gt;
HCE_PowerOff()&lt;br /&gt;
MOFF&lt;br /&gt;
GPIO_LCDONOFF =1HCE_PowerOff() 2&lt;br /&gt;
        Save Param&lt;br /&gt;
HCE_SaveOptions&lt;br /&gt;
USP saved successfully.&lt;br /&gt;
        END&lt;br /&gt;
        Set Display&lt;br /&gt;
LCDOFF&lt;br /&gt;
MON&lt;br /&gt;
GPIO_LCDONOFF =0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Image capture ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
XLGPIO pressed is 4&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [5000][00000004]-[XL_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
bEnableCapture: 1Capture is just pressed&lt;br /&gt;
TaskStill_CapImage Create Element&lt;br /&gt;
HceWave_PlyByEnum a:\wave\Still\shutter.wav&lt;br /&gt;
BrowseAudioStart&lt;br /&gt;
THR - Browse Audio&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Audio Openned:&lt;br /&gt;
   AVC Codec: Rate - 8000, Compression - 1, Channels - 1&lt;br /&gt;
   File: Rate - 8000, Compression - 1, Channels - 1&lt;br /&gt;
THR - AudioProc&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [1b00][00000001]-[VALID_AUDIO] #####&lt;br /&gt;
THR - AudioCodecPlay&lt;br /&gt;
AVC Enable()&lt;br /&gt;
XLGPIO pressed is 6&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [5000][00000006]-[XL_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
carson -- TX_QUEUE_EMPTY&lt;br /&gt;
AppSetMode 0x50 0&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by Quene: [6100][00000000]-[WAV_OPERATION_COMPLETE] #####&lt;br /&gt;
StillOnModeStart 0 -&amp;gt; 1&lt;br /&gt;
StillOnModeEnd 0. Next mode is 1&lt;br /&gt;
StillStartMode 1 0&lt;br /&gt;
THR - CaptureMode&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000050]-[NEW_MODE] #####&lt;br /&gt;
AE stats aborted in the middle of transaction.&lt;br /&gt;
THR - Sensor&lt;br /&gt;
THR - Sensor&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by Quene: [5d00][00000000]-[CAPTURE_RAW_READY] #####&lt;br /&gt;
THR - StatAe&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0800][00000080]-[NEW_MODE] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [6500][00000000]-[SEND_CONFIRM_STORE] #####&lt;br /&gt;
I43_ConfirmStore - 1&lt;br /&gt;
StillOnModeEnd 1. Next mode is 0&lt;br /&gt;
StillStartMode 0 0&lt;br /&gt;
StillPreviewStart&lt;br /&gt;
THR - PreviewMode&lt;br /&gt;
Ray ---------------Light Source is 255&lt;br /&gt;
StillPreviewMain&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0800][00000040]-[NEW_MODE] #####&lt;br /&gt;
Actual file size - 180696&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [1400][00000000]-[STORE_BEGIN] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [5c00][00000000]-[DISPLAY_WINDOW_COMLETE] #####&lt;br /&gt;
Store time is 0.66 seconds (0.25 MB/sec)&lt;br /&gt;
Store Done&lt;br /&gt;
&lt;br /&gt;
##### Msg not handled: [1600][00000000]-[BKG_STORE_COMPLETE] #####&lt;br /&gt;
HCE_SetWhiteBalance[0]&lt;br /&gt;
AwbSetMode 16&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
&lt;br /&gt;
 **GetStorageMediaStatus type = 0 **&lt;br /&gt;
I43_GetStorageMediaStatus - 0&lt;br /&gt;
Total Pic 5&lt;br /&gt;
Pic Left230&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by Quene: [6c00][00000000]-[STORE_FINISHED] #####&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== View image ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Read ADC1 Button 3&lt;br /&gt;
Enter Pressed&lt;br /&gt;
ModeThumbnails_ThumNavGst 2&lt;br /&gt;
NextMode: 3, ThIdle: 1&lt;br /&gt;
2 NextMode: 3, ThIdle: 1&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0100][00000100]-[USER] #####&lt;br /&gt;
ModeThumbnails_ThumNavGst 2&lt;br /&gt;
AsdMode_ChgModeDesed Create Element&lt;br /&gt;
AppSetMode 0x30 1&lt;br /&gt;
BrowseOnActive&lt;br /&gt;
BrowseEndMode&lt;br /&gt;
BrowseIndexEnd&lt;br /&gt;
AsdMode_ChgModeDesed Create Element Fail: This Element already exist!!&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000030]-[NEW_MODE] #####&lt;br /&gt;
ModePlayback_PlyBckConst Create Element&lt;br /&gt;
&lt;br /&gt;
                        &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ModePlayback.c: Setting Playback mode&lt;br /&gt;
&lt;br /&gt;
 **GetStorageMediaStatus type = 0 **&lt;br /&gt;
I43_GetStorageMediaStatus - 0&lt;br /&gt;
ModePlayback_RstCurImg Create Element&lt;br /&gt;
MsgH_SetCurEleDGst 3&lt;br /&gt;
I43_GetDCFInfo&lt;br /&gt;
I43_GetFileAttributes - OK&lt;br /&gt;
AppSetMode 0x90 -1&lt;br /&gt;
BrowseOnActive&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000000]-[USER] #####&lt;br /&gt;
BrowseOnModeStart&lt;br /&gt;
BrowseEndMode&lt;br /&gt;
BrowseImageStart&lt;br /&gt;
THR - Image&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000090]-[NEW_MODE] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by Quene: [1a00][00000001]-[VALID_IMAGE] #####&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
ModePlayback_RstCurImgEnd&lt;br /&gt;
BrowseOnModeEnd&lt;br /&gt;
MsgH_SetCurEleDGst 0&lt;br /&gt;
Hce_PlaybackOsd: Validity-Image[1]Audio[1]FileType[1]&lt;br /&gt;
&lt;br /&gt;
                         ## jpeg file ##&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][000000c0]-[NEW_MODE] #####&lt;br /&gt;
Hce_PlaybackOsd: Validity-Image[1]Audio[1]FileType[1]&lt;br /&gt;
&lt;br /&gt;
                         ## jpeg file ##&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000000]-[USER] #####&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Change mode to &amp;quot;Settings&amp;quot; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
HCE_ReadFGPIOButtons 0x04&lt;br /&gt;
##### Msg handled by General: [5100][00000010]-[FG_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
HCE_ReadFGPIOButtons 0x05&lt;br /&gt;
##### Msg handled by General: [5100][00000010]-[FG_GPIO_BUTTON_NOTIFICATION] #####&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
NextMode: 7, ThIdle: 1&lt;br /&gt;
2 NextMode: 7, ThIdle: 1&lt;br /&gt;
HceSetSwitchWorkMode WorkModeId: 7AsdMode_ChgModeDesed Create Element&lt;br /&gt;
AppSetMode 0x30 1&lt;br /&gt;
BrowseOnActive&lt;br /&gt;
BrowseEndMode&lt;br /&gt;
BrowseMenuEnd&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000030]-[NEW_MODE] #####&lt;br /&gt;
HCE_SetupMenuConstructor Create Element&lt;br /&gt;
AppSetMode 0x0 -1&lt;br /&gt;
BrowseOnActive&lt;br /&gt;
Go to Menu mode!!!BrowseOnModeStart&lt;br /&gt;
BrowseEndMode&lt;br /&gt;
BrowseOnModeEnd&lt;br /&gt;
&lt;br /&gt;
         &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; MNU_SetupListConstr&lt;br /&gt;
Draw Jpeg [A:\JPEG\BG_SU.JPG]&lt;br /&gt;
_ASDM_ST_CUR_MODEID 7&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
Draw Jpeg [A:\JPEG\BRI_Y.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\AON_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\S3M_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\DTS_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\NTS_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\F60_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\LEN_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\VER_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\DEF_W.JPG]&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General and Queue: [0800][00000000]-[NEW_MODE] #####&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Set volume to &amp;quot;Low&amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Read ADC1 Button 2&lt;br /&gt;
Right Pressed&lt;br /&gt;
Draw Jpeg [A:\JPEG\BRI_W.JPG]&lt;br /&gt;
&lt;br /&gt;
 ## passed jpeg no. = 16 ##&lt;br /&gt;
Draw Jpeg [A:\JPEG\AON_Y.JPG]&lt;br /&gt;
Move MENU_CURITEM 1&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 3&lt;br /&gt;
Enter Pressed&lt;br /&gt;
Draw Jpeg [A:\JPEG\BG_SU.JPG]&lt;br /&gt;
_ASDM_ST_CUR_MODEID 7&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
_ASDM_ST_CUR_MODEID 7&lt;br /&gt;
*************HCE_DrawSubMenuTitle uStartX 212, uStartY 18&lt;br /&gt;
&lt;br /&gt;
##  jpeg index = 16  ##&lt;br /&gt;
Draw Jpeg [A:\JPEG\AON_Y.JPG]&lt;br /&gt;
uStartX,376 uStartY,190 uStartW,300 w,57&lt;br /&gt;
wreal 82&lt;br /&gt;
uStartX,376 uStartY,280 uStartW,300 w,53&lt;br /&gt;
wreal 77&lt;br /&gt;
uStartX,376 uStartY,370 uStartW,300 w,44&lt;br /&gt;
wreal 64&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 5&lt;br /&gt;
Down Pressed&lt;br /&gt;
&lt;br /&gt;
##  jpeg index = 17  ##&lt;br /&gt;
Draw Jpeg [A:\JPEG\AON_Y.JPG]&lt;br /&gt;
uStartX,376 uStartY,190 uStartW,300 w,57&lt;br /&gt;
wreal 82&lt;br /&gt;
uStartX,376 uStartY,280 uStartW,300 w,53&lt;br /&gt;
wreal 77&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 3&lt;br /&gt;
Enter Pressed&lt;br /&gt;
HCE_SaveOptions&lt;br /&gt;
USP saved successfully.&lt;br /&gt;
        END&lt;br /&gt;
&lt;br /&gt;
         &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; MNU_SetupListConstr&lt;br /&gt;
Draw Jpeg [A:\JPEG\BG_SU.JPG]&lt;br /&gt;
_ASDM_ST_CUR_MODEID 7&lt;br /&gt;
HceOsdDrawBattery level 4&lt;br /&gt;
Draw Jpeg [A:\JPEG\BRI_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\AON_Y.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\S3M_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\DTS_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\NTS_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\F60_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\LEN_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\VER_W.JPG]&lt;br /&gt;
Draw Jpeg [A:\JPEG\DEF_W.JPG]&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
Read ADC1 Button 31&lt;br /&gt;
&lt;br /&gt;
##### Msg handled by General: [0100][00000100]-[USER] #####&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chicken</name></author>
		
	</entry>
</feed>