<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-635269378459701716</id><updated>2011-09-04T08:34:52.667-07:00</updated><category term='linux'/><category term='WIFI'/><category term='2.6.21.1'/><category term='soldering'/><category term='dingux'/><category term='debugging'/><category term='dingoo'/><category term='backlight'/><category term='kernel'/><category term='2.6.29rc3'/><category term='opentyrian'/><category term='zipit2'/><category term='openembedded'/><category term='games'/><category term='JTAG'/><category term='port'/><category term='open source'/><category term='z2'/><category term='pwm'/><title type='text'>1337 beef</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-4134422433209690895</id><published>2010-10-22T12:38:00.000-07:00</published><updated>2010-10-22T12:48:48.266-07:00</updated><title type='text'>Awesome old skool tech</title><content type='html'>I've been quiet for too long... and I need to publish some more tuts on the NetDuino and other things I have been up to, but in the mean while check this out:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_NR1JbSXlzH0/TMHnMsVwicI/AAAAAAAAAFg/zj-fUM6YWpE/s800/IMG_20101022_213243.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I picked up this fully functional &lt;span style="font-weight: bold;"&gt;valve&lt;/span&gt; based scope for R200 ( &lt; $30 ). It was dirty as all hell, but I spent the last few evenings cleaning it up and now its shiny :) What a piece of old skool awesome! I think this is over 40 years old...&lt;br /&gt;&lt;br /&gt;Don't make 'em like they used to!&lt;br /&gt;&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-4134422433209690895?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/4134422433209690895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/10/awesome-old-skool-tech.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4134422433209690895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4134422433209690895'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/10/awesome-old-skool-tech.html' title='Awesome old skool tech'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_NR1JbSXlzH0/TMHnMsVwicI/AAAAAAAAAFg/zj-fUM6YWpE/s72-c/IMG_20101022_213243.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-2228275748490384412</id><published>2010-09-22T00:41:00.000-07:00</published><updated>2010-09-22T04:30:04.616-07:00</updated><title type='text'>The NetDuino and some 74HC574's</title><content type='html'>If you live in South Africa, you may remember these (ComCrypt 4000 MNET decoder):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh6.ggpht.com/_NR1JbSXlzH0/TJmzugtm3aI/AAAAAAAAACw/uR62pZP0jVQ/s800/comcrypt4000.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Well a collegue found one, ripped it apart and found this little display board inside:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh3.ggpht.com/_NR1JbSXlzH0/TJm1X8pCiUI/AAAAAAAAADA/YH2-Ks-tHfo/s400/IMG_20100920_135538-small.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The board was soldered vertically onto the main board but with some judicious use of a de-soldering pump and some flux I got it free. My collegue gave it to me to have a look at.&lt;br /&gt;&lt;br /&gt;This is how I reverse engineered it and connected it to the NetDuino:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First off, look at the chips on the board: we have two 74HC574 chips. A brief Google returns these as “Octal D-type flip-flop, positive edge trigger, 3-state”... at which point I went “WTF?” and had a good read on Wikipedia:  &lt;a href="http://en.wikipedia.org/wiki/Flip-flop_%28electronics%29"&gt;http://en.wikipedia.org/wiki/Flip-flop_(electronics)&lt;/a&gt;, then found the data sheet: &lt;a href="http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT574_CNV_2.pdf"&gt;http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT574_CNV_2.pdf&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Which didn’t help too much so I read that all again :)&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh5.ggpht.com/_NR1JbSXlzH0/TJnGeCr3vQI/AAAAAAAAAEA/QwytAxiRi_A/s400/74HC574.png" border="0/" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;li&gt;The data sheet yielded the pinout above, and so I began tracing the connector pins to the chips and reading what the pins did. Here is a picture of the underside of the board&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh3.ggpht.com/_NR1JbSXlzH0/TJm3UsWvVmI/AAAAAAAAAD0/K5fI3sZBj5M/s400/IMG_20100920_135603-small.png" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;So.. All of the OE pins are tied to ground. This is good, it seems OE is “Output Enable”. Counting from left to right the pins are traced as:&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;NC (not connected)&lt;/li&gt;&lt;li&gt;Red LED GND&lt;/li&gt;&lt;li&gt;NC&lt;/li&gt;&lt;li&gt;GND&lt;/li&gt;&lt;li&gt;Clock pin (right hand flip-flop)&lt;/li&gt;&lt;li&gt;5V (Vin)&lt;/li&gt;&lt;li&gt;Clock pin (left hand flip-flop)&lt;/li&gt;&lt;li&gt;Green LED GND&lt;/li&gt;&lt;li&gt;GND&lt;/li&gt;&lt;li&gt;INPUT 7&lt;/li&gt;&lt;li&gt;INPUT 6&lt;/li&gt;&lt;li&gt;INPUT 5&lt;/li&gt;&lt;li&gt;INPUT 4&lt;/li&gt;&lt;li&gt;INPUT 3&lt;/li&gt;&lt;li&gt;INPUT 2&lt;/li&gt;&lt;li&gt;INPUT 1&lt;/li&gt;&lt;li&gt;INPUT 0&lt;/li&gt;&lt;li&gt;GND&lt;/li&gt;&lt;li&gt;5V&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;The input lines are connected to both flip-flops on pins D0-D7. The way the flip-flop works is that you set these lines high or low and then pulse the clock to transfer the state of the inputs to the flip-flop outputs i.e. the pins connected to the 7-segment LEDs. Basically between clock pulses the flip-flops will hold their output values thus keeping the relevant bits of the 7-segment display lit.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;From here it was a case of wiring this up to the NetDuino. I connected D0-D7 to the corresponding D0-D7 pins on the NetDuino. Clock pins went to D8 and D9, the LEDs (red and green) went to D10 and D11 and 5V and GND went to the respective 5V and GND lines on the NetDuino. (Notice above that the two 5V pins are bridged, as are the GND pins. The GND pin for one of the chips is not tied to ground and if you omit this you will get weird values on one of the 7-segment displays. I believe this is called a “floating ground” and is the source of much evil...)&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;A note on “Active Low” (as I understand it):&lt;br /&gt;&lt;br /&gt;If we look at the wiring on the Green LED, we can see that the positive pin is permanently connected to a shared 5V power line (shared with the flip-flops etc.) but the negative pin is connected to a GPIO pin on the NetDuino. So how do we switch the LED on? Well we need to write &lt;b&gt;false&lt;/b&gt; to the respective output port:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&lt;br /&gt;// Set up the pin&lt;br /&gt;OutputPort _greenLed = new OutputPort( Pins.GPIO_PIN_D11, true );&lt;br /&gt;// Set the pin low&lt;br /&gt;_greenLed.Write( false );&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Writing false to the pin sets the GPIO port LOW i.e. brings the pin to GROUND, thereby completing the circuit and causing electricity to flow through the LED, lighting it up.&lt;br /&gt;&lt;br /&gt;The data lines (D0-D7) are also active low, and it seems that the registration of the clock pulse occurs on the low edge of the clock. If you imagine the following (as a badly drawn square wave) then when the clock pin goes from HIGH to LOW (falling edge) the flip-flop reads the states of the input pins and transitions that state to the output pins:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_NR1JbSXlzH0/TJnGeS4Fm6I/AAAAAAAAAEE/AafirXQpJnE/s800/Clock.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Okay, so I made that up, I &lt;b&gt;THINK&lt;/b&gt; that is how it works :) If anyone can explain this better then... great!&lt;br /&gt;&lt;br /&gt;These decoders are dirt cheap (you can pick one up for around R50-R100 (&lt;$15) ) and they have tons of excellent bits to harvest so go and GET EM!  (The newer decoders also have bits and pieces but you have to make sure it is not a new tiny one. They are all SMD and pretty useless for our purposes).  Have a look in your garage for old electronics, there is tons of stuff to harvest lying around... :)  Here is the code:  &lt;pre class="brush: csharp"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Threading;&lt;br /&gt;using Microsoft.SPOT;&lt;br /&gt;using Microsoft.SPOT.Hardware;&lt;br /&gt;using SecretLabs.NETMF.Hardware;&lt;br /&gt;using SecretLabs.NETMF.Hardware.Netduino;&lt;br /&gt;&lt;br /&gt;namespace Decoder&lt;br /&gt;{&lt;br /&gt;  public class Program&lt;br /&gt;  {&lt;br /&gt;   private readonly OutputPort _clockPin1;&lt;br /&gt;   private readonly OutputPort _clockPin2;&lt;br /&gt;&lt;br /&gt;   private readonly OutputPort _redLed;&lt;br /&gt;   private readonly OutputPort _greenLed;&lt;br /&gt;&lt;br /&gt;   private readonly OutputPort[] _digitPins;&lt;br /&gt;&lt;br /&gt;   private readonly byte[] _digitBits = new byte[]&lt;br /&gt;                                          {&lt;br /&gt;                                            1 + 2 + 8 + 16 + 32 + 64,&lt;br /&gt;                                            1 + 64,&lt;br /&gt;                                            2 + 1 + 4 + 16 + 32,&lt;br /&gt;                                            2 + 1 + 4 + 64 + 32,&lt;br /&gt;                                            8 + 4 + 1 + 64,&lt;br /&gt;                                            2 + 8 + 4 + 64 + 32,&lt;br /&gt;                                            2 + 8 + 16 + 32 + 64 + 4,&lt;br /&gt;                                            2 + 1 + 64,&lt;br /&gt;                                            1 + 2 + 4 + 8 + 16 + 32 + 64,&lt;br /&gt;                                            1 + 2 + 8 + 4 + 64,&lt;br /&gt;                                            128&lt;br /&gt;                                          };&lt;br /&gt;&lt;br /&gt;   public Program()&lt;br /&gt;   {&lt;br /&gt;     _digitPins = new OutputPort[]&lt;br /&gt;                    {&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D0, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D1, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D2, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D3, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D4, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D5, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D6, true ),&lt;br /&gt;                      new OutputPort( Pins.GPIO_PIN_D7, true ),&lt;br /&gt;                    };&lt;br /&gt;     _greenLed = new OutputPort( Pins.GPIO_PIN_D11, true );&lt;br /&gt;     _redLed = new OutputPort( Pins.GPIO_PIN_D10, true );&lt;br /&gt;     _clockPin1 = new OutputPort(Pins.GPIO_PIN_D8, true);&lt;br /&gt;     _clockPin2 = new OutputPort(Pins.GPIO_PIN_D9, true);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private void PulseClock( OutputPort pin )&lt;br /&gt;   {&lt;br /&gt;     pin.Write( false );&lt;br /&gt;     pin.Write( true );&lt;br /&gt;     pin.Write( false );&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private void SetDigitBits( int digit )&lt;br /&gt;   {&lt;br /&gt;     if( digit &amp;lt; 0 || digit &amp;gt; 10 )&lt;br /&gt;       digit = 10;&lt;br /&gt;&lt;br /&gt;     digit = _digitBits[ digit ];&lt;br /&gt;     for( int i = 0; i &amp;lt; 8; i++ )&lt;br /&gt;     {&lt;br /&gt;       bool on = ( ( digit &amp;gt;&amp;gt; i ) &amp;amp; 1 ) == 1 ? false : true;&lt;br /&gt;       _digitPins[ i ].Write( !on );&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private void DisplayValue( int value )&lt;br /&gt;   {&lt;br /&gt;     int high = value / 10;&lt;br /&gt;     int low = value - ( high * 10 );&lt;br /&gt;     SetDigitBits( low );&lt;br /&gt;     PulseClock( _clockPin2 );&lt;br /&gt;     SetDigitBits( high );&lt;br /&gt;     PulseClock( _clockPin1 );&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private void Setup()&lt;br /&gt;   {&lt;br /&gt;     PulseClock( _clockPin1 );&lt;br /&gt;     PulseClock( _clockPin2 );&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private void Loop()&lt;br /&gt;   {&lt;br /&gt;     bool greenOn = true;&lt;br /&gt;     int value = 0;&lt;br /&gt;&lt;br /&gt;     while( true )&lt;br /&gt;     {&lt;br /&gt;       _redLed.Write( greenOn );&lt;br /&gt;       _greenLed.Write( !greenOn );&lt;br /&gt;       greenOn = !greenOn;&lt;br /&gt;&lt;br /&gt;       for( int i = 0; i &amp;lt; 10; i++ )&lt;br /&gt;       {&lt;br /&gt;         DisplayValue( value++ );&lt;br /&gt;         Thread.Sleep( 100 );&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       if( value &amp;gt; 99 ) value = 0;&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public static void Main()&lt;br /&gt;   {&lt;br /&gt;     Program p = new Program();&lt;br /&gt;     p.Setup();&lt;br /&gt;     p.Loop();&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;SyntaxHighlighter.config.bloggerMode = true;SyntaxHighlighter.all()&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-2228275748490384412?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/2228275748490384412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/09/netduino-and-some-74hc574s.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2228275748490384412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2228275748490384412'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/09/netduino-and-some-74hc574s.html' title='The NetDuino and some 74HC574&apos;s'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_NR1JbSXlzH0/TJmzugtm3aI/AAAAAAAAACw/uR62pZP0jVQ/s72-c/comcrypt4000.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-2365976113043038121</id><published>2010-08-21T07:57:00.000-07:00</published><updated>2010-08-21T23:15:34.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JTAG'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='z2'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='soldering'/><title type='text'>Zipit Z2 JTAG</title><content type='html'>So I finally managed to brick my Z2...&lt;br /&gt;&lt;br /&gt;Trying to get the sleep / reset cycle working in u-boot (look for a subsequent post) I managed to generate some dodgy assembler and the next thing you know...&lt;br /&gt;&lt;br /&gt;Luckily I had a nice JTAG adapter lyining around, an &lt;a href="http://www.olimex.com/dev/arm-usb-ocd.html"&gt;Olimex ARM-USB-OCD&lt;/a&gt;. The soldering wasn't too tricky, but here is a detailed picture to help out the weary:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NR1JbSXlzH0/TG_x-fhe3OI/AAAAAAAAACg/JFKeix2NDg8/s1600/Labled-JTAG3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_NR1JbSXlzH0/TG_x-fhe3OI/AAAAAAAAACg/JFKeix2NDg8/s400/Labled-JTAG3.png" alt="" id="BLOGGER_PHOTO_ID_5507886925213523170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The interesting part was getting OpenOCD to play along nicely. To get OpenOCD working you need some configuration scripts that identify your CPU, JTAG adapter etc.&lt;br /&gt;&lt;br /&gt;Here is the Z2 specific script (save this as e.g. z2.cfg):&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="prettyprint"&gt;# config for ZipitZ2&lt;br /&gt;&lt;br /&gt;jtag newtap pxa270 cpu -irlen 7 -ircapture 0x1 -irmask 0x7f -expected-id 0x49265013 -expected-id 0x79265013&lt;br /&gt;&lt;br /&gt;target create pxa270.cpu xscale -endian little -chain-position pxa270.cpu -variant pxa27x&lt;br /&gt;&lt;br /&gt;# maps to PXA internal RAM.&lt;br /&gt;pxa270.cpu configure -work-area-phys 0x5c000000 -work-area-size 0x10000 -work-area-backup 0&lt;br /&gt;&lt;br /&gt;#flash&lt;br /&gt;flash bank pxa270.flash cfi 0x00000000 0x1000000 2 2 pxa270.cpu&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;And the ARM-USB-OCD configuration (save this as e.g. arm-usb-ocd.cfg):&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="prettyprint"&gt;#&lt;br /&gt;# Olimex ARM-USB-OCD&lt;br /&gt;#&lt;br /&gt;# http://www.olimex.com/dev/arm-usb-ocd.html&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;interface ft2232&lt;br /&gt;ft2232_device_desc "Olimex OpenOCD JTAG"&lt;br /&gt;ft2232_layout "olimex-jtag"&lt;br /&gt;ft2232_vid_pid 0x15BA 0x0003&lt;br /&gt;&lt;br /&gt;jtag_nsrst_delay 0&lt;br /&gt;jtag_ntrst_delay 200&lt;br /&gt;reset_config trst_and_srst separate&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;What is interesting to note in the script above are the &lt;span style="font-weight: bold;"&gt;jtag_nsrst_delay&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;jtag_ntrst_delay&lt;/span&gt; values. The ARM-USB-OCD has separate lines for SRST and TSRT and the above values were required to get &lt;span style="font-style: italic;"&gt;reset halt&lt;/span&gt; to work reliably in OpenOCD.&lt;br /&gt;&lt;br /&gt;Reflashing u-boot brought the Z2 back to life and I now have a JTAG debug option. I should have done this years ago!&lt;br /&gt;&lt;br /&gt;HTH&lt;br /&gt;-(e)&lt;br /&gt;&lt;br /&gt;edit: stupidly I forgot to thank the original JTAG legend GPSFan for his help and pictures and  G1PowerMac for &lt;a href="http://zipit2system.sourceforge.net/?page_id=5"&gt;his site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-2365976113043038121?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/2365976113043038121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/08/zipit-z2-jtag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2365976113043038121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2365976113043038121'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/08/zipit-z2-jtag.html' title='Zipit Z2 JTAG'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NR1JbSXlzH0/TG_x-fhe3OI/AAAAAAAAACg/JFKeix2NDg8/s72-c/Labled-JTAG3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-4786173222934328852</id><published>2010-07-27T04:48:00.000-07:00</published><updated>2010-07-27T04:51:38.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='dingux'/><category scheme='http://www.blogger.com/atom/ns#' term='port'/><category scheme='http://www.blogger.com/atom/ns#' term='opentyrian'/><category scheme='http://www.blogger.com/atom/ns#' term='dingoo'/><title type='text'>[Dingux] OpenTyrian Save and High Score entry</title><content type='html'>I've started adding code for a limited kind of virtual keyboard.&lt;br /&gt;This should allow save games names and high score entry in OpenTyrian.&lt;br /&gt;&lt;br /&gt;So far it seems to be working for save games but I need to clean it up a bit and get it to work as a generic text entry mechanism.&lt;br /&gt;&lt;br /&gt;Stay tuned, hopefully this will be finished before I depart overseas for a week.&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-4786173222934328852?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/4786173222934328852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/07/dingux-opentyrian-save-and-high-score.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4786173222934328852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4786173222934328852'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/07/dingux-opentyrian-save-and-high-score.html' title='[Dingux] OpenTyrian Save and High Score entry'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-1493499780945343234</id><published>2010-07-25T02:42:00.000-07:00</published><updated>2010-07-27T04:46:06.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='dingux'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='port'/><category scheme='http://www.blogger.com/atom/ns#' term='opentyrian'/><category scheme='http://www.blogger.com/atom/ns#' term='dingoo'/><title type='text'>Dingux OpenTyrian release</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NR1JbSXlzH0/TEwHUsRSlXI/AAAAAAAAAB8/O7aa4YqO6Qk/s1600/opentyrian_torm.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_NR1JbSXlzH0/TEwHUsRSlXI/AAAAAAAAAB8/O7aa4YqO6Qk/s320/opentyrian_torm.png" alt="" id="BLOGGER_PHOTO_ID_5497777297174992242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is an optimised build of OpenTyrian that plays full speed with sound. This archive &lt;span style="font-weight: bold;"&gt;ONLY&lt;/span&gt; contains the executable: &lt;span style="font-style: italic; font-weight: bold;"&gt;opentyrian.dge&lt;/span&gt;, please overwrite your old tyrian executable or get the datafiles if you do not have them from:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/opentyrian/"&gt;OpenTyrian @ GoogleCode&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;Other changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Key mapping now works (segfault in code fixed)&lt;/li&gt;&lt;li&gt;Key mapping now swaps keys if an in-use key is chosen&lt;/li&gt;&lt;li&gt;SDL mouse cursor removed&lt;/li&gt;&lt;li&gt;Soft mouse cursor removed from upgrade etc. screens&lt;/li&gt;&lt;li&gt;Display is centred&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;These fixes also apply to the GP2X version and the patches have been applied to HEAD in the mercurial dev tree so feel free to build your own :)&lt;br /&gt;&lt;br /&gt;Get it from the GP2X.com &lt;a href="http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,27,380"&gt;archive&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-1493499780945343234?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/1493499780945343234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/07/dingux-opentyrian-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/1493499780945343234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/1493499780945343234'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/07/dingux-opentyrian-release.html' title='Dingux OpenTyrian release'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NR1JbSXlzH0/TEwHUsRSlXI/AAAAAAAAAB8/O7aa4YqO6Qk/s72-c/opentyrian_torm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-332677034369189696</id><published>2010-01-10T23:08:00.000-08:00</published><updated>2010-01-10T23:19:11.387-08:00</updated><title type='text'>sweetlilmre's tips to make your dev life suck less, part #1</title><content type='html'>&lt;span style="font-family:arial;"&gt;Disclaimer: The title might suggest that I invented or this originated this stuff in some way. I certain DID NOT :) Just some good reading I have done lately. And thanks to JonH for some of the links and discussion.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Dependency Injection:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;JonH (a mate of mine from work) and I have been having some very interesting chats on Dependency Injection, Inversion of Control and other bits and pieces.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;What this had made me realize is that there are some very simple development concepts (dressed up in frightening terms like Dependency Injection!) that really make your life easier if you practice them. Some of this stuff you pick up as a dev as you go along but formalizing the concept as soon as possible is only going to help you.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So start off by reading this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/130794/what-is-dependency-injection"&gt;&lt;span style="font-family:arial;"&gt;http://stackoverflow.com/questions/130794/what-is-dependency-injection&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Then ask yourself if you understand what Design by Contract means and how using interfaces applies and to and works with DI to make your life easier. Then have a look at this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://googletesting.blogspot.com/2008/07/how-to-think-about-new-operator-with.html"&gt;&lt;span style="font-family:arial;"&gt;http://googletesting.blogspot.com/2008/07/how-to-think-about-new-operator-with.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Which gives a nice round off to the DI discussion. This also seems like a great blog to follow generally.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This is all building up to unit testing and mocking, but we'll get to that later :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;-(e)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-332677034369189696?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/332677034369189696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2010/01/sweetlilmres-tips-to-make-your-dev-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/332677034369189696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/332677034369189696'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2010/01/sweetlilmres-tips-to-make-your-dev-life.html' title='sweetlilmre&apos;s tips to make your dev life suck less, part #1'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-1159798691112359471</id><published>2009-11-22T06:20:00.000-08:00</published><updated>2009-11-22T06:30:27.763-08:00</updated><title type='text'>Under the radar</title><content type='html'>I bought myself one of these little toys: &lt;a href="http://www.dreamcheeky.com/index.php?pagename=product&amp;amp;pid=52"&gt;USB LED Message Board&lt;/a&gt;&lt;br /&gt;Disgusted with the app that came with it (can you spell CPU hog?) I reverse engineered the app and have posted source code to talk to it &lt;a href="http://code.google.com/p/ledmsgboard/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is written in C#, if you are one of those "I'm too hardcore to code in C#" people, you should be hardcore enough to translate it into C/C++... :)&lt;br /&gt;&lt;br /&gt;In other news I have been working furiously with the Vice dev team (what a great bunch!) to get the SDL dingo port ready as an official port from the next (2.2) release. Hopefully we'll make it.&lt;br /&gt;(Big shout-out to Nojoopa for all his help)&lt;br /&gt;&lt;br /&gt;As far as the zipit goes, not to much to tell. Once the building is complete on the house and I can move back into my study, I'll get hacking on it again.&lt;br /&gt;&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-1159798691112359471?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/1159798691112359471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/11/under-radar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/1159798691112359471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/1159798691112359471'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/11/under-radar.html' title='Under the radar'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-5105367579195765598</id><published>2009-09-21T11:46:00.000-07:00</published><updated>2009-09-21T11:50:48.396-07:00</updated><title type='text'>Slackness</title><content type='html'>Well yes, very slack am I. But I've been really busy in the background!!&lt;br /&gt;&lt;br /&gt;Anyway lame excuses aside, I have a fullspeed port of Vice working on the Dingoo and am working with the Vice devs to integrate support into the main Vice tree, which is nice.&lt;br /&gt;&lt;br /&gt;I see that much has been happening on the Zipit front! Hopefully Aliosa27 will get hold of me and I can merge his/her (?)  work into the SVN tree. Come on people, get onto the #zipit channel on freenode so that we can co-ordinate all of this! :)&lt;br /&gt;&lt;br /&gt;Again apologies for all the slackness, RL has me by the curlies.&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-5105367579195765598?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/5105367579195765598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/09/slackness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/5105367579195765598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/5105367579195765598'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/09/slackness.html' title='Slackness'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-2806883618412964587</id><published>2009-09-08T15:32:00.000-07:00</published><updated>2009-09-08T15:35:58.344-07:00</updated><title type='text'></title><content type='html'>Just managed to get an alpha port of Vice (the C64 emulator) onto the Dingoo A320.&lt;br /&gt;I am awaiting news approval on gp32x.com but you can get it to try it out: &lt;a href="http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,72,152"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have managed to fix a few more issues with it since the alpha release and hope to have a beta shortly. MarbleMadness at 50fps with sound (sometimes :)) ROCKS!&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-2806883618412964587?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/2806883618412964587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/09/just-managed-to-get-alpha-port-of-vice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2806883618412964587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/2806883618412964587'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/09/just-managed-to-get-alpha-port-of-vice.html' title=''/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-8393253332347659576</id><published>2009-07-03T04:56:00.000-07:00</published><updated>2009-07-03T04:58:17.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='z2'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>kexec</title><content type='html'>Well wadda know! Suddenly kexec is working.&lt;br /&gt;I have a feeling this has something to do the the IRQ cleanup I sorted out in the main machine file a while back. So great news for kernel testing! It will certainly make my life easier in the future.&lt;br /&gt;&lt;br /&gt;This also opens up the way for a small flash based user land that can kexec into a SD based kernel and full userland.&lt;br /&gt;&lt;br /&gt;Linux... gotta love it! :)&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-8393253332347659576?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/8393253332347659576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/07/kexec.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8393253332347659576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8393253332347659576'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/07/kexec.html' title='kexec'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-4540185514690547564</id><published>2009-05-26T16:14:00.000-07:00</published><updated>2009-05-26T16:21:04.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIFI'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='z2'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>WIFI patch seems to fix issues</title><content type='html'>Well, wouldn't you know it, this patch &lt;a href="http://lists.infradead.org/pipermail/libertas-dev/2009-May/002412.html"&gt;http://lists.infradead.org/pipermail/libertas-dev/2009-May/002412.html&lt;/a&gt; seems to fix the Z2 WIFI driver timeout / failure issues.&lt;br /&gt;&lt;br /&gt;Thanks to GPSFan for spotting this.&lt;br /&gt;&lt;br /&gt;Now I can stay connected to my AP for hours. Great Success!&lt;br /&gt;In other news, the battery driver is in, along with LED triggers and some other nice bits.&lt;br /&gt;I should have a new kernel and userland up in a short while.&lt;br /&gt;&lt;br /&gt;Oh, and if you haven't already, check out the wiki on &lt;a href="http://openzipit.sourceforge.net"&gt;OpenZipit&lt;/a&gt; I've added some info.&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-4540185514690547564?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/4540185514690547564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/05/wifi-patch-seems-to-fix-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4540185514690547564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4540185514690547564'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/05/wifi-patch-seems-to-fix-issues.html' title='WIFI patch seems to fix issues'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-8567941177129494786</id><published>2009-04-13T12:11:00.000-07:00</published><updated>2009-04-13T12:15:17.715-07:00</updated><title type='text'>New OE build!</title><content type='html'>Please disregard the previous posts about building OE.&lt;br /&gt;I now have a project set up on SF.&lt;br /&gt;&lt;br /&gt;Quick start:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In a term in your home folder:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;svn co https://openzipit.svn.sourceforge.net/svnroot/openzipit/oe&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Then:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;cd oe&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Then:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;make&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Then:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;wait :)&lt;/blockquote&gt;&lt;br /&gt;Read the README, it has a lot of important info about building sucessful images!&lt;br /&gt;&lt;br /&gt;More soon&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-8567941177129494786?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/8567941177129494786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/04/new-oe-build.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8567941177129494786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8567941177129494786'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/04/new-oe-build.html' title='New OE build!'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-7434233791835961088</id><published>2009-01-30T02:42:00.000-08:00</published><updated>2009-01-30T02:46:46.070-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.6.29rc3'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backlight'/><category scheme='http://www.blogger.com/atom/ns#' term='pwm'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='openembedded'/><title type='text'>Zipit2 linux 2.6.29-rc3 support</title><content type='html'>Here is a &lt;a href="http://sites.google.com/site/sweetlilmre/Home/linux-zipit2-2.6.29-rc3.package.zip?attredirects=0"&gt;package&lt;/a&gt; to support the 2.6.29rc3 kernel.&lt;br /&gt;This package needs to be extracted into your openembedded/packages/linux folder.&lt;br /&gt;&lt;br /&gt;The package contains patches for sound, keyboard, backlights (both of them!) and pretty much everything to date. Obviously this is highly experimental, but give it a go if you are feeling adventurous! :)&lt;br /&gt;&lt;br /&gt;Getting there!&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-7434233791835961088?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/7434233791835961088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2-linux-2629-rc3-support.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/7434233791835961088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/7434233791835961088'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2-linux-2629-rc3-support.html' title='Zipit2 linux 2.6.29-rc3 support'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-4227725223420531787</id><published>2009-01-29T22:33:00.000-08:00</published><updated>2009-01-30T02:47:17.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backlight'/><category scheme='http://www.blogger.com/atom/ns#' term='pwm'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><title type='text'>Zipit2 Keyboard Backlight!</title><content type='html'>Last night I managed to patch the pwm_bl driver to actually support multiple backlights and now we have keyboard PWM backlight support in! w00000t!&lt;br /&gt;&lt;br /&gt;I will put up a patch later :)&lt;br /&gt;&lt;br /&gt;Please see the updates I have made to my post about supporting the original kernel if you are going to use it, some important stuff was missing (my bad).&lt;br /&gt;&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-4227725223420531787?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/4227725223420531787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2-keyboard-backlight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4227725223420531787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/4227725223420531787'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2-keyboard-backlight.html' title='Zipit2 Keyboard Backlight!'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-294253360955083973</id><published>2009-01-28T02:41:00.000-08:00</published><updated>2009-01-30T02:07:35.659-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.6.21.1'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='openembedded'/><title type='text'>Original Z2 kernel support in OpenEmbedded</title><content type='html'>In my last post I provided a setup system for Zipit2 OpenEmbedded development.&lt;br /&gt;As I mentioned in that post, only my test kernel 2.6.27.10 was supported. I realised that until full kernel support is available, people would probably like to build the old kernel to play with.&lt;br /&gt;&lt;br /&gt;So &lt;a href="http://sites.google.com/site/sweetlilmre/Home/linux-zipit2-2.6.21.1.zip?attredirects=0"&gt;here&lt;/a&gt; is a package that will provide 2.6.21.1 kernel support.&lt;br /&gt;The setup package creates a configuration that will leverage OE's package version support to build the &lt;span style="font-weight: bold;"&gt;latest&lt;/span&gt; kernel, so in order to use this kernel you will need to navigate to your packages/linux folder and rename the linux-zipit2-2.6.27.10.bb file to something else e.g. linux-zipit2-2.6.27.10.bb_.&lt;br /&gt;&lt;br /&gt;Once you have done that, extract the contents of the archive to the packages/linux folder and:&lt;br /&gt;bitbake linux-zipit2&lt;br /&gt;&lt;br /&gt;It is possible to specify a prefered kernel version in your local.conf file to override this behaviour but I do not have the exact syntax available. If anyone would like to comment and leave instructions on how to achieve this override, that would be great.&lt;br /&gt;&lt;br /&gt;Have fun! Shortly I will be adding a package for cutting edge 2.6.29 support in the quest to achieve mainline acceptance.&lt;br /&gt;&lt;br /&gt;edit:&lt;br /&gt;&lt;br /&gt;Like a total fool I forgot to mention that you will need to add the checksums for the kernel into checksums.ini in your openembedded/conf/checksums.ini file, here is the text you need to add:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2]&lt;br /&gt;md5=a28b78793cd368592f7873bf36cb38b0&lt;br /&gt;sha256=2e92625e887bff35522eed3eecc2b80eb9a588d3c0eac64f35b4d29a557bac15&lt;br /&gt;&lt;/blockquote&gt;edit2:&lt;br /&gt;&lt;br /&gt;Another missing component. Sigh. In an effort to cleanup the original SVN files I nuked the packages/sysvinit/sysvinit/zipit2/rcS file. Unfortunately this is where the old (crappy) keyboard drivers are loaded. To sort this out you need to patch this file, look for:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#&lt;br /&gt;#    For compatibility, run the files in /etc/rc.boot too.&lt;br /&gt;#&lt;br /&gt;[ -d /etc/rc.boot ] &amp;amp;&amp;amp; run-parts /etc/rc.boot&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;and add this text after it:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# for now, the module loader is not working.&lt;br /&gt;/sbin/modprobe pxa27x_keyboard&lt;br /&gt;/sbin/modprobe zipit2_kbd_helper&lt;br /&gt;&lt;/blockquote&gt;Which should sort it all out.&lt;br /&gt;&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-294253360955083973?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/294253360955083973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/original-z2-kernel-support-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/294253360955083973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/294253360955083973'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/original-z2-kernel-support-in.html' title='Original Z2 kernel support in OpenEmbedded'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-8635032233714434975</id><published>2009-01-26T11:28:00.000-08:00</published><updated>2009-02-02T11:02:26.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='openembedded'/><title type='text'>Openembedded and the Z2</title><content type='html'>So after a long delay I finally have something concrete to add to the blog.&lt;br /&gt;&lt;br /&gt;If you want to get started with the Zipit2 you'll probably have stumbled across the &lt;a href="http://linux.zipitwireless.com/"&gt;linux.zipitwireless.com&lt;/a&gt; site. Here there are links to all sorts of bits, one of which is an OpenEmbedded 'starter kit'. The problem is: the code you pull out of SVN to get started is very old and still relies on the monotone OpenEmbedded repository, which does not exist any more.&lt;br /&gt;&lt;br /&gt;OpenEmbedded is complicated enough that broken setup scripts do not help in any way. So I have put together &lt;a href="http://sites.google.com/site/sweetlilmre/Home/zipit-oe.zip?attredirects=0"&gt;this package&lt;/a&gt; which should get you from zero to base-image in a fairly painless manner.&lt;br /&gt;&lt;br /&gt;Currently the package will:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install a local copy of BitBake&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pull the latest GIT repository of OpenEmbedded&lt;/li&gt;&lt;li&gt;Patch the repo for Z2 support&lt;/li&gt;&lt;li&gt;Build up a profile.sh script for you to run when you want a sane dev environment&lt;/li&gt;&lt;li&gt;Build up a local.conf file for the bitbake system and the Z2 machine&lt;/li&gt;&lt;li&gt;Add the linux-2.6.27.10 kernel build and all associated scripts&lt;/li&gt;&lt;/ol&gt;This is still very much a work in progress, and while I have tested the build (it works and generates a valid kernel and userland) many changes are going to be made in the near future.&lt;br /&gt;&lt;br /&gt;Exciting stuff coming is a port to as new a kernel as possible, with the intent to get kernel patches pushed upstream and the Z2 integrated as proper machine. All of this thanks to the tireless persistence of GPSFan and some grunt work by me :)&lt;br /&gt;&lt;br /&gt;Until the next update...&lt;br /&gt;-(e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-8635032233714434975?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/8635032233714434975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/openembedded-and-z2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8635032233714434975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/8635032233714434975'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/openembedded-and-z2.html' title='Openembedded and the Z2'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-635269378459701716.post-7356983739551137791</id><published>2009-01-13T12:32:00.000-08:00</published><updated>2009-01-13T22:07:57.564-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zipit2'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>Zipit Z2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NR1JbSXlzH0/SWz65411JcI/AAAAAAAAABQ/wI3G2QVXYAk/s1600-h/z21.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 250px; height: 202px;" src="http://3.bp.blogspot.com/_NR1JbSXlzH0/SWz65411JcI/AAAAAAAAABQ/wI3G2QVXYAk/s320/z21.gif" alt="" id="BLOGGER_PHOTO_ID_5290879534671144386" border="0" /&gt;&lt;/a&gt;Recently I acquired a &lt;a href="http://zipitwireless.com/"&gt;Zipit Z&lt;/a&gt;&lt;a href="http://zipitwireless.com/"&gt;2&lt;/a&gt; when my sister-in-law brought one over for me from the States (thanks Ange! :)).&lt;br /&gt;&lt;br /&gt;The Z2 is marketed as a portable IM client for kids. It's an Intel PXA based device with a wireless chip running a Linux kernel. On top of this is some front end software that is used to handle various IM accounts (MSN, Yahoo, AIM). As a usage example: my niece IM's her friends on the way to school, picking up various AP's along the way.&lt;br /&gt;&lt;br /&gt;Thanks to a useful &lt;a href="http://zipit2system.sourceforge.net/"&gt;site&lt;/a&gt; I was able to connect up a serial terminal to the Z2 and begin exploring it (see notes: 1). The Z2 is an interesting little machine, the more so in that Zipit has &lt;a href="http://linux.zipitwireless.com/"&gt;made available&lt;/a&gt; their kernel patches and actually encourage community involvement, something I find rather refreshing.&lt;br /&gt;&lt;br /&gt;After building the stock OE kernel, I became rather obsessed with trying to get the latest (as of writing) 2.6.27.10 kernel running on it. I built a kernel and forward applied some of the original patches. This got me to a basic running kernel, but one that would not boot to MMC (my plan was to have userland on MMC). At this point I got rather stuck and so headed off to #zipit on freenode for some advice.&lt;br /&gt;&lt;br /&gt;Fortunately for me, I met up with a brilliant kernel dev by the name of GPSFan who took a look at my patches and .config, and helped me get it to a stage where MMC booting was possible. At this point LCD and keyboard were not functioning, but it seems I had managed to generate a level of interest. In a short while, GPSFan managed to get the framebuffer (see notes: 2, 3) going. Further experimentation on my part revealed that the stock kernel keyboard driver was functioning to a certain extent, but that key mapping was incorrect. Once again GPSFan managed to get the keyboard working!&lt;br /&gt;&lt;br /&gt;We are now at the point where we have a functioning machine but without wifi access. GPSFan is looking into it and hopefully, thanks to the recent advancement of the Libertas SPI driver and his efforts, we will have wifi access shortly. This will open up many possibilities!&lt;br /&gt;&lt;br /&gt;I intend to provide patches for OE and various other bits of info on this site as development proceeds.&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Notes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The serial port on the Z2 is at TTL levels, this means you will need a level converter in order to connect it to your PC's serial port. I have sucessfully used a Samsung E810 serial cable to achieve this. Info on this cable can be found at &lt;a href="http://wiki.gp2x.org/wiki/SamsungE810Cable"&gt;this&lt;/a&gt; site. Look at this &lt;a href="http://zipit2system.sourceforge.net/"&gt;site&lt;/a&gt; for the soldering positions on the Z2 board. The serial port is mapped to ttyS2, at 115200 8N1, no flow control.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The framebuffer handling includes a PWM backlight exposed through sysfs. If you mount sysfs (mount -t sysfs sysfs /sys) you can echo values to the backlight to set it: e.g. "echo 512 &gt; /sys/class/backlight/pwm-backlight/brightness" which is pretty damn cool.&lt;/li&gt;&lt;li&gt;The framebuffer, if used as a console, will initially be incorrectly oriented. To correct this you can either: "echo 3 &gt; /sys/class/graphics/fbcon/rotate" after mounting sys or, use "fbcon=rotate:3" as a kernel parameter. My current kernel parameters are: root=/dev/mmcblk0p1 rootdelay=2 console=ttyS2,115200 fbcon=rotate:3&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/635269378459701716-7356983739551137791?l=sweetlilmre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sweetlilmre.blogspot.com/feeds/7356983739551137791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/7356983739551137791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/635269378459701716/posts/default/7356983739551137791'/><link rel='alternate' type='text/html' href='http://sweetlilmre.blogspot.com/2009/01/zipit2.html' title='Zipit Z2'/><author><name>sweetlilmre</name><uri>http://www.blogger.com/profile/09298203937508653769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NR1JbSXlzH0/SWz65411JcI/AAAAAAAAABQ/wI3G2QVXYAk/s72-c/z21.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
