lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] [lwip] RE: Suggestion for CS8900 driver


From: Richard W. Wilder
Subject: [lwip-users] [lwip] RE: Suggestion for CS8900 driver
Date: Thu, 09 Jan 2003 00:23:12 -0000

This is a multi-part message in MIME format.

------=_NextPart_000_0045_01C26E1B.83D03D30
Content-Type: multipart/alternative;
        boundary="----=_NextPart_001_0046_01C26E1B.83D03D30"


------=_NextPart_001_0046_01C26E1B.83D03D30
Content-Type: text/plain;
        charset="us-ascii"
Content-Transfer-Encoding: 7bit

My understanding of the present Woestenberg driver is that it only
supports 16-bit memory-mapped interface. 
An additional motivation for my suggestion to access CS8900 via function
call (and/or #define macro) is that it would accomodate 8-bit mode a la
Cirrus AN181. 
 
How about seperating the driver into two modules e.g. CS8900.c and
CS8900if.c? The first would contain the upper-level driver code that
generically handles the CS8900 and connection to the lwIP stack. The
second is modified for each target system to handle the particulars of
how the chip is wired into the system:
            memory-mapped vs. I/O mapped vs. simulated bus via
general-purpose I/O pins
            big-endian vs. little-endian
            8-bit vs. 16-bit access
            polled-mode vs. interrupt-driven
 
Is anyone else interested in 8-bit polled-mode I/O-mapped drivers?
 
Best regards, 
Dick.
Richard W. Wilder
GrayBox Technologies, Inc.
W141 N9230 Fountain Boulevard
Menomonee Falls, WI 53051
Tel 262-502-4928
Fax 262-502-4943
Cell 262-424-3751
 <http://www.graybox.net/> http://www.graybox.net
 <mailto:address@hidden> address@hidden
-----Original Message-----
From: Richard W. Wilder [mailto:address@hidden 
Sent: Friday, October 04, 2002 2:20 PM
To: 'address@hidden'
Subject: Suggestion for CS8900 driver
 
I'd like to suggest that the CS8900 driver code be modified to have all
accesses to the chip be made via function calls (or perhaps macros).
This would help in porting to systems where the chip is either I/O
mapped or driven by general-purpose port pins which simulate a bus. In
either case, several instructions are necessary to accomplish the
access. In the I/O mapped case, usually intrinsic functions are needed
(e.g. __inp(), __outp() or similar). In the second case, the register
address is written to one port, the data written to another port, and a
write strobe is asserted & deasserted to a third port.
 
The present code accesses the CS8900 registers by dereferencing
pointers, which the compiler reduces to a simple memory move instruction
sequence. 
 
Perhaps something along the lines of:
 
uint       CS8900_readreg(uint regaddr);
void       CS8900_writereg(uint regaddr, uint value);
 
 
//----------------------------------------------------------------------
-----------------------------
// memory-mapped
uint       CS8900_readreg(uint regaddr)
{
            return *regaddr;
}
 
void       CS8900_writereg(uint regaddr, uint value);
{
            *regaddr = value;
}
 
 
//----------------------------------------------------------------------
-----------------------------
// I/O-mapped
uint       CS8900_readreg(uint regaddr)
{
            return __inp(regaddr);
}
 
void       CS8900_writereg(uint regaddr, uint value);
{
            __outp(regaddr, value);
}
 
//----------------------------------------------------------------------
-----------------------------
// port connected
uint       CS8900_readreg(uint regaddr)
{
            uint retval;
            // setup the address
            __outp(ADDR, regaddr);
            // assert the strobe
            __outp(CTRL, 0x01);
            // read the data
            retval = __inp(DATA);
            // de-assert the strobe
            __outp(CTRL, 0x00);
            // return
            return retval;
}
 
void       CS8900_writereg(uint regaddr, uint value);
{
            // setup the address
            __outp(ADDR, regaddr);
            // write the data
            __outp(DATA, value);
            // assert the strobe
            __outp(CTRL, 0x01);
            // de-assert the strobe
            __outp(CTRL, 0x00);
}
 
 
 
 
 
Best regards, 
Dick.
Richard W. Wilder
GrayBox Technologies, Inc.
W141 N9230 Fountain Boulevard
Menomonee Falls, WI 53051
Tel 262-502-4928
Fax 262-502-4943
Cell 262-424-3751
 <http://www.graybox.net/> http://www.graybox.net
 <mailto:address@hidden> address@hidden
 

------=_NextPart_001_0046_01C26E1B.83D03D30
Content-Type: text/html;
        charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40";>

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">


<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 10">
<meta name=3DOriginator content=3D"Microsoft Word 10">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C26E1B.837795E0">
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"PostalCode"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"State"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"City"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"Street"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"address"/>
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  =
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEve=
ry>
  =
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
  <w:UseMarginsForDrawingGridOrigin/>
  <w:Compatibility>
   <w:FootnoteLayoutLikeWW8/>
   <w:ShapeLayoutLikeWW8/>
   <w:AlignTablesRowByRow/>
   <w:ForgetLastTabAlignment/>
   <w:DoNotUseHTMLParagraphAutoSpacing/>
   <w:LayoutRawTableWidth/>
   <w:LayoutTableRowsApart/>
   <w:UseWord97LineBreakingRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:553679495 -2147483648 8 0 66047 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */=20
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple =
style=3D'tab-interval:.5in'>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>My understanding of the present =
Woestenberg
driver is that it only supports 16-bit memory-mapped interface. =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>An additional motivation for my =
suggestion
to access CS8900 via function call (and/or #define macro) is that it =
would accomodate
8-bit mode a la Cirrus AN181. <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>How about seperating the driver =
into two
modules e.g. CS8900.c and CS8900if.c? The first would contain the =
upper-level driver
code that generically handles the CS8900 and connection to the lwIP =
stack. The
second is modified for each target system to handle the particulars of =
how the
chip is wired into the system:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>memory-mapped
vs. I/O mapped vs. simulated bus via general-purpose I/O =
pins<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>big-endian
vs. little-endian<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>8-bit
vs. 16-bit access<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>polled-mode
vs. interrupt-driven<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Is
anyone else interested in 8-bit polled-mode I/O-mapped =
drivers?<o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
<o:p>&nbsp;</o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Best
regards, </span></font><font size=3D2 color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Dick.</span></font><font
size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
mso-bidi-font-family:"Times New =
Roman";color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Richard
W. Wilder</span></font><font size=3D2 color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
GrayBox
Technologies, Inc.</span></font><font size=3D2 color=3Dnavy =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
W141 </span></font><st1:Street><st1:address
 style=3D"BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); =
BACKGROUND-POSITION: left bottom; BACKGROUND-REPEAT: repeat-x"><font
  size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
  color:navy;mso-no-proof:yes'>N9230 Fountain =
Boulevard</span></font></st1:address></st1:Street><font
size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
mso-bidi-font-family:"Times New =
Roman";color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><st1:place><st1:City><font =
size=3D2
  color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
  color:navy;mso-no-proof:yes'>Menomonee =
Falls</span></font></st1:City><font
 size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
 color:navy;mso-no-proof:yes'>, </span></font><st1:State><font size=3D2
  color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
  color:navy;mso-no-proof:yes'>WI</span></font></st1:State><font =
size=3D2
 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
 color:navy;mso-no-proof:yes'> </span></font><st1:PostalCode><font =
size=3D2
  color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
  =
color:navy;mso-no-proof:yes'>53051</span></font></st1:PostalCode></st1:pl=
ace><font
size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
mso-bidi-font-family:"Times New =
Roman";color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Tel
262-502-4928</span></font><font size=3D2 color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Fax
262-502-4943</span></font><font size=3D2 color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>=
Cell
262-424-3751</span></font><font size=3D2 color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><a href=3D"http://www.graybox.net/";><span
style=3D'mso-bidi-font-family:Arial'>http://www.graybox.net</span></a><o:=
p></o:p></span></font></p>

<p style=3D'margin:0in;margin-bottom:.0001pt'><font size=3D2 =
color=3Dnavy face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman";
color:navy;mso-no-proof:yes'><a =
href=3D"mailto:address@hidden";><span
style=3D'mso-bidi-font-family:Arial'>address@hidden</span></a></span=
></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman"'><o:p></o:p></span></font></p>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DTahoma><span
style=3D'font-size:10.0pt;font-family:Tahoma'>-----Original =
Message-----<br>
<b><span style=3D'font-weight:bold'>From:</span></b> Richard W. Wilder
[mailto:address@hidden <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Friday, October 04, =
2002
2:20 PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> 'address@hidden'<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> Suggestion for =
CS8900
driver</span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3D"Times New Roman"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>I'd like to suggest that =
the CS8900
driver code be modified to have all accesses to the chip be made via =
function
calls (or perhaps macros). This would help in porting to systems where =
the chip
is either I/O mapped or driven by general-purpose port pins which =
simulate a
bus. In either case, several instructions are necessary to accomplish =
the
access. In the I/O mapped case, usually intrinsic functions are needed =
(e.g.
__inp(), __outp() or similar). In the second case, the register address =
is
written to one port, the data written to another port, and a write =
strobe is
asserted &amp; deasserted to a third port.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>The present code accesses =
the CS8900
registers by dereferencing pointers, which the compiler reduces to a =
simple
memory move instruction sequence. <o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>Perhaps something along the =
lines
of:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>uint<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_readreg(uint
regaddr);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>void<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_writereg(uint
regaddr, uint value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>//--------------------------=
-------------------------------------------------------------------------=
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>// =
memory-mapped<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>uint<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_readreg(uint
regaddr)<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>return
*regaddr;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>void<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_writereg(uint
regaddr, uint value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>*regaddr
=3D value;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>//--------------------------=
-------------------------------------------------------------------------=
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>// =
I/O-mapped<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>uint<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_readreg(uint
regaddr)<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>return
__inp(regaddr);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>void<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_writereg(uint
regaddr, uint value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(regaddr,
value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>//--------------------------=
-------------------------------------------------------------------------=
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>// port =
connected<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>uint<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_readreg(uint
regaddr)<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>uint
retval;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
setup the address<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(ADDR,
regaddr);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
assert the strobe<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(CTRL,
0x01);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
read the data<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>retval
=3D __inp(DATA);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
de-assert the strobe<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(CTRL,
0x00);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
return<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>return
retval;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>void<span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>CS8900_writereg(uint
regaddr, uint value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>{<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
setup the address<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(ADDR,
regaddr);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
write the data<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(DATA,
value);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
assert the strobe<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(CTRL,
0x01);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>//
de-assert the strobe<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><span =
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>__outp(CTRL,
0x00);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>}<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Best regards, =
</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Dick.</span></font><font =
size=3D2
face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Richard W. =
Wilder</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>GrayBox Technologies, =
Inc.</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>W141 =
</span></font><st1:Street><st1:address
 style=3D"BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); =
BACKGROUND-POSITION: left bottom; BACKGROUND-REPEAT: repeat-x"><font
  size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-no-proof:
  yes'>N9230 Fountain =
Boulevard</span></font></st1:address></st1:Street><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><st1:place><font size=3D2 face=3DArial><span
 style=3D'font-size:10.0pt;font-family:Arial;mso-no-proof:yes'>Menomonee =
Falls,
 WI </span></font><st1:PostalCode><font size=3D2 face=3DArial><span
  =
style=3D'font-size:10.0pt;font-family:Arial;mso-no-proof:yes'>53051</span=
></font></st1:PostalCode></st1:place><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Tel =
262-502-4928</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Fax =
262-502-4943</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-no-proof:yes'>Cell =
262-424-3751</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:
"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-bidi-font-family:"Times New =
Roman";mso-no-proof:
yes'><a href=3D"http://www.graybox.net/";><span =
style=3D'mso-bidi-font-family:Arial'>http://www.graybox.net</span></a><o:=
p></o:p></span></font></p>

<p =
style=3D'mso-margin-top-alt:0in;margin-right:0in;margin-bottom:0in;margin=
-left:
.5in;margin-bottom:.0001pt'><font size=3D2 face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;mso-bidi-font-family:"Times New =
Roman";mso-no-proof:
yes'><a href=3D"mailto:address@hidden";><span =
style=3D'mso-bidi-font-family:
Arial'>address@hidden</span></a></span></font><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman"'><o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-bidi-font-family:"Times =
New Roman"'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_001_0046_01C26E1B.83D03D30--

------=_NextPart_000_0045_01C26E1B.83D03D30
Content-Type: text/x-vcard;
        name="Richard W Wilder (address@hidden).vcf"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
        filename="Richard W Wilder (address@hidden).vcf"

BEGIN:VCARD
VERSION:2.1
N:Wilder;Richard;W
FN:Richard W Wilder (address@hidden)
ORG:GrayBox Technologies, Inc.
TITLE:Mr
TEL;WORK;VOICE:(262) 502-4928
TEL;CELL;VOICE:(262) 424-3751
TEL;WORK;FAX:(262) 502-4943
ADR;WORK:;;W141 N9230 Fountain Boulevard;Menomonee Falls;WI;53051;United =
States of America
LABEL;WORK;ENCODING=3DQUOTED-PRINTABLE:W141 N9230 Fountain =
Boulevard=3D0D=3D0AMenomonee Falls, WI 53051=3D0D=3D0AUnited Sta=3D
tes of America
URL;WORK:http://www.graybox.net
EMAIL;PREF;INTERNET:address@hidden
REV:20020322T183309Z
END:VCARD

------=_NextPart_000_0045_01C26E1B.83D03D30--

[This message was sent through the lwip discussion list.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]