<?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:blogger='http://schemas.google.com/blogger/2008' 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-1463641636154237535</id><updated>2024-11-01T10:24:41.816+01:00</updated><title type='text'>Stefan Kostic&#39;s Blog</title><subtitle type='html'>As Any Pointer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stefanpn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1463641636154237535/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://stefanpn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Stefan Kostić</name><uri>http://www.blogger.com/profile/14348130461938081377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_eH0drih2LeA/TPS-BVlE8lI/AAAAAAAAAGY/8_co_9HJK1I/S220/n1302802845_198809_5049.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1463641636154237535.post-4846121384861064203</id><published>2010-12-07T15:58:00.004+01:00</published><updated>2010-12-29T17:09:18.879+01:00</updated><title type='text'>“NES Zapper” interfaced to Your PC?</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 32px; font-weight: bold;&quot;&gt;“NES Zapper” interfaced to Your PC?&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;Introduction&lt;/h2&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Few months ago I got an idea of interfacing NES, FAMICOM or FAR-EAST copy of the named console’s Zapper to my PC. I’ve realized that Zapper I had in my hands is not original Nintendo Zapper, but a non-licensed copy of the named one. Actually the whole console which my parents bought to me a long time ago is non-licensed copy (We were thinking it is original for almost 17 years now.). There is possibility that Zapper I used, and which I will describe here DOES NOT have the same pin out as every other Zapper out there as there were many non-licensed copies at the time.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjI85p0FEaUnyYtR2n7w_qBliHf1zrSK_LZYGuYC9WLWZ-ethqlDqgcW2zpdOooCnpGihQXwC-29CoFRNX31II5gc0b6h5U6coXOXvyAUERFsNy-0r608ovjd5EXM8aNCwgBVw0kstvXIU/s1600/IMAG0387.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjI85p0FEaUnyYtR2n7w_qBliHf1zrSK_LZYGuYC9WLWZ-ethqlDqgcW2zpdOooCnpGihQXwC-29CoFRNX31II5gc0b6h5U6coXOXvyAUERFsNy-0r608ovjd5EXM8aNCwgBVw0kstvXIU/s320/IMAG0387.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Picture 1. Zapper&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Although it had a futuristic look, and I always wandered how it works, I found out that it is actually very simple system. It only contains a simple contact trigger and few electronic parts on a PCB. PCB board found inside contains two transistors, four resistors, one capacitor and one photo-diode pointed toward the front end of Zapper’s pipe, looking thru optical lens.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;There is no some space technology build in, as I thought 15 years ago… &amp;nbsp;It is actually, when you pull the trigger computer draw black screen with a white rectangle on a target position. If the Zapper is pointed at white rectangle, photo-diode will detect light, and electronic circuit sets a high level (1) on a “light” line, otherwise it will be low level (0), in next frame computer will draw a black frame to see whether player is cheating, if he now get a low level player have successfully hit the target, otherwise it will be considered that Zapper is pointed towards the constant light source and player had cheated. Process is repeated for every possible target on screen.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6gg_4IdT5IWgKsruHVQQQBccKOnOoAdPrMmk42l3Xl4atBRdfAJlLhwtnlE9CNJicLGiJZcO-8ZbMum2VDmXLkdo_r6S7hwJaFwDtRYOwFqsQw7x-Ubpd9bo6ZYyOleJzOknE3yirwAx/s1600/IMAG0391.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6gg_4IdT5IWgKsruHVQQQBccKOnOoAdPrMmk42l3Xl4atBRdfAJlLhwtnlE9CNJicLGiJZcO-8ZbMum2VDmXLkdo_r6S7hwJaFwDtRYOwFqsQw7x-Ubpd9bo6ZYyOleJzOknE3yirwAx/s320/IMAG0391.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Picture 2. Zapper’s PCB with components&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;How to interface it?&lt;/h2&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;First thing that came to my mind is “What is the easiest way to do such a thing?”&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;I’ve had a few ideas:&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;margin-top: 0in;&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo1; tab-stops: list .5in;&quot;&gt;LPT      port &lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo1; tab-stops: list .5in;&quot;&gt;USB or      PS/2 port (using scraped mouse)&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo1; tab-stops: list .5in;&quot;&gt;USB      port (using a microcontroller)&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .25in;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Each of ideas had its flaws and favors.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;h3&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;LPT port&lt;/span&gt;&lt;/h3&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Probably the simplest way to do it, is to use LPT (Parallel Printer) port set to SPP mode, favors are that it does not need any extra hardware except DB25 male connector, four diodes, and some soldering tools. Zapper utilizes 4 lines, +5V, GND, “Light”, “Trigger”, lines “light” and “shoot” are digital TTL level lines. Line “light” is set to logical 1 when the Zapper is pointed towards the light source otherwise is set to logical 0, and “shoot” line is set to logical 1 when the shoot trigger is pulled, otherwise is set to logical 0. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: outset black .75pt; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt; width: 64.88%;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;   &lt;td style=&quot;background: #E6E6E6; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; padding: 1.5pt 1.5pt 1.5pt 1.5pt;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Pin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;background: #E6E6E6; border-left: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; padding: 1.5pt 1.5pt 1.5pt 1.5pt;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;background: #E6E6E6; border-left: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; padding: 1.5pt 1.5pt 1.5pt 1.5pt;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 1;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/STROBE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Strobe&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 2;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 3;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 4;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 5;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 6;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 7;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 8;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 9;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Bit 7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 10;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/ACK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Acknowledge&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 11;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;11&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;BUSY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Busy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 12;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;PE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Paper End&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 13;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;SEL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Select&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 14;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;14&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/AUTOFD&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Autofeed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 15;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/ERROR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Error&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 16;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/INIT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Initialize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 17;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;17&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/SELIN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Select In&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 18;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;18&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 19;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;19&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 20;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;20&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 10.6pt; mso-yfti-irow: 21;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;21&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 10.6pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 9.95pt; mso-yfti-irow: 22;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;22&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 9.95pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 6.05pt; mso-yfti-irow: 23;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;23&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 6.05pt; mso-yfti-irow: 24;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;24&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 6.05pt; mso-yfti-irow: 25;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;25&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;GND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Signal Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;height: 6.05pt; mso-yfti-irow: 26; mso-yfti-lastrow: yes;&quot;&gt;   &lt;td colspan=&quot;3&quot; style=&quot;border-top: none; border: inset gray 1.0pt; height: 6.05pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirguQyb0iIz8C6XSQU8e8d_0-z7A0wecICEY3eHiokRsr4g_CxKO0gEd3vvHliZ9AImSEIM_78CkDHCClczVLABiEfBn1l-97FCMIdC6iCk6oo74CIFzTWl01OmIEsTub1TVsamNoOtyl_/s1600/DB25.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirguQyb0iIz8C6XSQU8e8d_0-z7A0wecICEY3eHiokRsr4g_CxKO0gEd3vvHliZ9AImSEIM_78CkDHCClczVLABiEfBn1l-97FCMIdC6iCk6oo74CIFzTWl01OmIEsTub1TVsamNoOtyl_/s1600/DB25.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;DB25 male connector&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Table 1. LPT pin out (got it from Pinouts.ru)&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; margin-left: -14.6pt; mso-border-alt: outset black .75pt; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;   &lt;td style=&quot;background: #E6E6E6; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; padding: 1.5pt 1.5pt 1.5pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Pin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;background: #E6E6E6; border-left: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; padding: 1.5pt 1.5pt 1.5pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 1;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Ground&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Clock&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Data Latch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 4;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Serial Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;+5V&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Gun Light&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 7;&quot;&gt;   &lt;td style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 32.05pt;&quot; width=&quot;43&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style=&quot;border-bottom: inset gray 1.0pt; border-left: none; border-right: inset gray 1.0pt; border-top: none; mso-border-alt: inset gray .75pt; mso-border-left-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 97.3pt;&quot; width=&quot;130&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Gun Trigger&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 8; mso-yfti-lastrow: yes;&quot;&gt;   &lt;td colspan=&quot;2&quot; style=&quot;border-top: none; border: inset gray 1.0pt; mso-border-alt: inset gray .75pt; mso-border-top-alt: inset gray .75pt; padding: 3.95pt 1.5pt 3.95pt 1.5pt; width: 129.35pt;&quot; width=&quot;172&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJsAHLmsalshx2LVNtk7xJNdzzbX1YiRhpxtQxsphNYDuds_qhmSfHz0_mKaoDirDD8CP4RjsuYLe3oCy55lIpV0e7Vdzr0UroMVJdiB33typwLwVTy6tIbmY7WiqmIFbkScS1fPaiHqE0/s1600/NES-Controller.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJsAHLmsalshx2LVNtk7xJNdzzbX1YiRhpxtQxsphNYDuds_qhmSfHz0_mKaoDirDD8CP4RjsuYLe3oCy55lIpV0e7Vdzr0UroMVJdiB33typwLwVTy6tIbmY7WiqmIFbkScS1fPaiHqE0/s200/NES-Controller.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;NES Controller jack&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Table 2. NES Controler pin out (got it from diylive.net)&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Since LPT port also work at TTL level, only problem I had is how to get +5V from the port. Solution is to use Data lines D0 to D3 (Bits 0 – 3 of Data register), set to logical 1, and soldered to a 4 diodes each line respectively, anode at connector side and cathodes soldered in one point at other. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;The data output of the &lt;st1:place w:st=&quot;on&quot;&gt;&lt;st1:placename w:st=&quot;on&quot;&gt;Parallel&lt;/st1:placename&gt; &lt;st1:placetype w:st=&quot;on&quot;&gt;Port&lt;/st1:placetype&gt;&lt;/st1:place&gt; is normally TTL logic levels. Most Parallel Ports implemented in ASIC, can sink and source around 12mA. &amp;nbsp;However, there are other variations possible: Sink/Source 6mA, Source 12mA/Sink 20mA, Sink 16mA/Source 4mA, Sink/Source 12mA and others.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW06iPg2souYpEAECfFpgC4Hzv14aWewhNSFgDLUarxAdoYHcTGHY0WS9Di2_Fm0_xxwwaC0T8jzN_J668JfPon8FtNHfDC3W4sJe1S9v66TbgRug1-61mp1tbEAZMPLXVirJBZzxFBK3q/s1600/Scheme.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW06iPg2souYpEAECfFpgC4Hzv14aWewhNSFgDLUarxAdoYHcTGHY0WS9Di2_Fm0_xxwwaC0T8jzN_J668JfPon8FtNHfDC3W4sJe1S9v66TbgRug1-61mp1tbEAZMPLXVirJBZzxFBK3q/s1600/Scheme.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Scheme 1. DB25 Connector with diodes&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;For the “Light” and “Trigger” lines I’ve used Status lines PaperEnd and Select (Bits 4 and 5 of Status Register).&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;For the GND line, I’ve used Common Ground Line of LPT port, which is found on pin 18 of DB25 connector.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Procedure:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;1.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Determine your Zapper’s pin-out, you should have 4 or 5 wires. In case there are four wires, you have +5V, GND, “Light”, “Trigger”; in case there are 5 wires there are +5V, GND, “Light”, “Trigger”, and “Trigger”-GND. Simplest way to do so is to volt-meter, and see the voltage between pins, if + wire is on +5V and Ground wire is on GND than it should show 5 Volts, if + wire is on “Light” and Ground wire is set on GND then it should show 5 Volts in the moment when Zapper is pointed towards the light source. For “Trigger” line it should be pretty much clear, there would be a wire soldered directly on a trigger. If you have 5 wires, short-circuit “Trigger”-GND line to GND line.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;2.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Solder 5 diodes to each pin respectively for pins 2 to 6, anode to connector, cathode to each other and to +5V line.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;3.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Solder GND line to pin 18 of connector.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;4.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Solder “Light” line to pin 12.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;5.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Solder “Trigger” line to pin 13.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l1 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;6.&lt;span style=&quot;font: normal normal normal 7pt/normal &#39;Times New Roman&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Try out your Zapper with examples found in this section.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Programming of LPT port (SPP mode) is not a hard task here; you’ll need access to only 3 I/O registers; depending on BIOS configuration they should be located at 0x378 for Data register, 0x379 for Status register and 0x380 for Control register. I will provide to you a dynamic library that allows you to access I/O registers from a programming language of your choice, and examples written in Visual Basic 6.0 and FreeBASIC (works under Windows and Linux).&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;background: #CCFFCC; border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 480;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;   &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 6.15in;&quot; valign=&quot;top&quot; width=&quot;590&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&#39;   Stefan Kostic (c) 2009&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&#39;   &lt;a href=&quot;mailto:stefanpn@live.com&quot;&gt;stefanpn@live.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&#39;   &lt;a href=&quot;http://www.stefanpn.co.nr/&quot;&gt;http://www.stefanpn.co.nr&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&#39;   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   - -&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&#39;   LightGun for PC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Option   Explicit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Const   myLPT1 = &amp;amp;H378&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Const   myLPT2 = &amp;amp;H278&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Const   myLPT3 = &amp;amp;H3BC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   bData As Byte&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   bStatus As Byte&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   bControl As Byte&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   adr_bData As Long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   adr_bStatus As Long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   adr_bControl As Long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Declare Sub myOut Lib &quot;s.dll&quot; (ByVal myPort As Long, ByVal mydata   As Byte)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Declare Function myIn Lib &quot;s.dll&quot; (ByVal myPort As Long) As Byte&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Sub InitGun(ByVal PortNumber As Byte)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim PortBaseAddress As Long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case PortNumber&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PortBaseAddress = myLPT1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PortBaseAddress = myLPT2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PortBaseAddress = myLPT3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adr_bData = PortBaseAddress&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adr_bStatus = PortBaseAddress + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adr_bControl = PortBaseAddress + 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myOut adr_bData, &amp;amp;HFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;End   Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Sub DeinitGun()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myOut adr_bData, &amp;amp;H0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;End   Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Sub ReadPort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bData = myIn(adr_bData)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bStatus = myIn(adr_bStatus)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bControl = myIn(adr_bControl)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;End   Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Function onLight() As Boolean&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim tmr As Single&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmr = Timer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;; font-size: 13px;&quot;&gt;&amp;nbsp;+ 0.005&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; onLight = False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While (tmr &amp;gt; Timer) And   (Not onLight)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onLight = ((myIn(adr_bStatus) And 16)   = 16)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;st1:place w:st=&quot;on&quot;&gt;Loop&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;End   Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;Public   Function onTriger() As Boolean&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; onTriger = ((myIn(adr_bStatus) And 32) =   32)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;End   Function&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;Code 1. VB Module&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Take care that your that your BIOS configuration is set so the Parallel port you are using is set to use address that you have selected in program (by default 0x378, but can also be &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;0x278, 0x3BC).&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;General notices:&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Flaws of using LPT port for interfacing are that newer desktop computers and notebooks do not have LPT port, and you’ll need Administrator privileges to access I/O register under Windows 2K/XP/Vista/7.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;In future articles I will describe interfacing with USB and PS/2 ports.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.4shared.com/file/t3nkyFwV/VB_LPT_Gun.html&quot; target=&quot;_blank&quot;&gt;Download 1&lt;/a&gt;: VB Example with library&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.4shared.com/file/Lc38XjJv/FB_LPT_Gun.html&quot; target=&quot;_blank&quot;&gt;Download 2&lt;/a&gt;: FreeBASIC example&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.4shared.com/file/OXjtvUOE/Library__Module.html&quot; target=&quot;_blank&quot;&gt;Download 3&lt;/a&gt;: Input / Output register access library&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;Author: Stefan Kostic, 06.12.2010.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanpn.blogspot.com/feeds/4846121384861064203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://stefanpn.blogspot.com/2010/12/nes-zapper-interfaced-to-your-pc_07.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1463641636154237535/posts/default/4846121384861064203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1463641636154237535/posts/default/4846121384861064203'/><link rel='alternate' type='text/html' href='http://stefanpn.blogspot.com/2010/12/nes-zapper-interfaced-to-your-pc_07.html' title='“NES Zapper” interfaced to Your PC?'/><author><name>Stefan Kostić</name><uri>http://www.blogger.com/profile/14348130461938081377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_eH0drih2LeA/TPS-BVlE8lI/AAAAAAAAAGY/8_co_9HJK1I/S220/n1302802845_198809_5049.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjI85p0FEaUnyYtR2n7w_qBliHf1zrSK_LZYGuYC9WLWZ-ethqlDqgcW2zpdOooCnpGihQXwC-29CoFRNX31II5gc0b6h5U6coXOXvyAUERFsNy-0r608ovjd5EXM8aNCwgBVw0kstvXIU/s72-c/IMAG0387.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>