ࡱ; -  !"#$%&'()*+,./012345n789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmoqrstuvwxyz{|}~Root Entry  !"#$%&'()*+,-./0123456789:;<=>?@ABCEFGHIJKLMNOPQRSTUVWXYZ[\^_`afghijklmnopqruvwx ®`VTextStarWriter 5.0TASK,0,102,0,100,1,7058;76523;100;0;75000;16200;85575;0;0SW5HDR.0/1!lNumbering Symbols Internet link 290813101 290813102 293549101 293606101Outline0 #R-n#)R-n#)R-n#)QR-n#)QZSBX sb Z Standard StarBASICSBX ARSBX AR SBX AR2c%bqq>p3 ObjEFFFD60E.)䰱B-$H?GN SfxDocumentInfo  Tim Hurman /1 Tim Hurman /1 Tim Hurman /1h Info 0 Info 1 Info 2 Info 3 .1L <44Standard LIBIMBEDDED LIBIMBEDDEDSWG, A<  #$%&'()*./0123456789:;<=>?@ABCDGHK  !"#$%&'()*+0XOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefd0pp'(@wA} XXX'@   Fine Dashed   Ultrafine DashedXX,XU':@PH!eXXXX&' @X'@*EArrow}} Arrow XXX_'Q@`Arrow}}X':@!'+XXXX&':@!'+XXXX&'@:`X'@Y`X@yX @ @ @ @ @ @'@#DHXX'6@eAKXX '6@22ddX'(@ X'j@I BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃dEditEngineItemPool 6f 0'g*,@F"  ",StarBatsN-",StarBatsN-",StarBatsN-"` ` ,StarBatsN-" ,StarBatsN-",StarBatsN-"hh,StarBatsN-",StarBatsN-",StarBatsN-"pp,StarBatsN-X6'@e"X@"X!@"dddX<(@"X (@$bStarBats!"-StarBats!"-GStarBats!"-StarBats!"-StarBats!"-StarBats!"-StarBats!"-StarBats!"-XXGXXXX+XdX@'!@$dddXA'@#%ddX1'@H%dX+'@n%XX'#@%AMn. XX!'@%X'@%timesX'&@&{d !d XX?(@E&dX'@i&^QXX'@&X'@&X'@&X'@&X'@'X%'@)'dXS'@H'X"'@h'X'@'XFe#Hr#Em ) H h PB-g* ",StarBatsN-",StarBatsN-",StarBatsN-"` ` ,StarBatsN-" ,StarBatsN-",StarBatsN-"hh,StarBatsN-",StarBatsN-",StarBatsN-"pp,StarBatsN-6'ddd<( (StarBats!"-@'dddA'dd1'd+''!''times'd ?(d''''''%'dS'"''.5=RZ &-4=DLDrMd|JoeMn0.1x/1/1Y DrLyHellDrLyHeavenDrLyControlsDrPgJoeM. DrML DrObQSVDr&T"@ DrOb/SVDr&T>c@ T>cxV4B1Host 1g*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrObSVDr&I@ DrObkSVDr&I@ IDrOb2SVDr& @  xV4B1 Transportg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&l@ DrObkSVDr&l@ lDrOb0SVDr&D@ DxV4B1Networkg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&ɜ@ DrObkSVDr&ɜ@ ɜDrOb-SVDr&^m@ ^mxV4B1Linkg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&ߔ@ DrObkSVDr&ߔ@ ߔDrOb4SVDr&5D@ 5DxV4B1 Applicationg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&Β@ _HߔDrCn#DrCn#;DrObSVDr&8}@ _Ht$IlDrCn#DrCn#;DrObSVDr&ڞ@ _H>ɜDrCn#DrCn#;DrOb/SVDr&]l {@ ]l {xV4B1Host 2g*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrObSVDr&!ڞ@ _H rɜDrCn#DrCn#;DrObSVDr&8!}@ _H rlIDrCn#DrCn#;DrObSVDr&Β!@ _H rߔDrCn#DrCn#;DrObSVDr&՛@ _H rDrCn#DrCn#;DrObSVDr&x@ _H rDrCn#DrCn#;DrObSVDr&<@ _H r++DrCn#DrCn#;DrObSVDr&ҕ@ _H rDrCn#DrCn#;DrObSVDr&"ߔ@ DrObkSVDr&"ߔ@ "ߔDrOb4SVDr&f5!D@ f5!DxV4B1 Applicationg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&"I@ DrObkSVDr&"I@ "IDrOb2SVDr&`!@ `!xV4B1 Transportg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&l"@ DrObkSVDr&l"@ l"DrOb0SVDr&[!@ [!xV4B1Networkg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrObSVDr&ɜ"@ DrObkSVDr&ɜ"@ ɜ"DrOb-SVDr&Y h@ Y hxV4B1Linkg*6'<( (@'A'1'+''!'''?(''''''%'S'"'' DrXXDrXXDrXX Controlsgg DrXXMD,-./0123456789:;<=>?@ABCDEFQRSTU0 !'@yX'"@ helveticaX'4@d @d d XXX"' @X'@%X'@DX'(A@8. q . q ..V..XX!X-@'18@ddddddXX!A'2:@dxddxdxdxdXXX&7S;@=X8S<@aX9S=@XR'D@X4bLAP$' '(. . p. @ . . . . . P. . . !. $. `'. 0*. -. /. 2. p5. @8. ;. =. @. 6')2  Numbering SymbolsNumbering Symbols Internet link Internet link!''OLEOLE@;7S<8S=9S>> GraphicGraphic@;7S<8S=9S>> StandardStandard@ Text bodyStandard Text body@2A'HeadingStandard Text body@''2A'DR'  Heading 1Heading Text body@'',[)  Heading 2Heading Text body@' '',[) List Text bodyListCaptionStandardCaption' '2A'IndexStandardIndex Heading 3Heading Text body'' HeaderStandardHeader@('FooterStandardFooter@('Contents HeadingHeadingContents Heading''1@' Contents 1Index Contents 1('1@' Contents 2Index Contents 2('1@' N"P1/r9|GRF51F BM76(FSDx^WYrF!@@voJHOnʏ;) T.(b^!"Z^V V+y?x^yyQqq/xokz^iź RS5ؾkdi֮{>U0o;\g,R.)^SiQUOVj_vZZjRi6K)`((#mayUE'Z7\C)|`B;kӪ,h;dп|h*༡JRثuC q^:^!v<1yBBTG@ d<2Vj=ęt]z2DMV; \g_%;WlFE_,%nJ0Yz [j] :|цcsQ#MPFXCode@΁D 2=m߽G%8(y>?D >V rdo[1sM̖eƙi)]r,)0؝Zm{ts%kҕr qIuZ=~)q[|1 5d}<M!xg4¡jLǮ<6y85:3YS`)5@T)gg'p?>Vu 甛șp{p:O#6)hLkDH`gSjɔeȏ\oN0 ^4͖F Mܬp?3*ycۗG`2o3SG,5ǒ2V*iVwGYMJikKR ,E_+7%686w޴|Y}=@ ԃ##N U2n_]O*ybN3j8vb`Z/q E3+{}3w =%sp˯[_jjSq{{^M8( هIޡ }j=G;ݫ>@qũ>C У,eFv'x3_ҏ@ 1]nG˧Mn";v7#s n{(/#R:cjsGܱϭ.m5KmZ0CZۭfGʆ!'N83(Lmu% 2fX)ʺ^}_E4b %Oh+'0 h t 9@ғ@vs@s@En Tim Hurman Tim Hurman .)䰱Drawing StarDraw 5.0B-SfxDocumentInfo  Tim Hurman /1( Tim Hurman /1( uK SW5HDR.0/1! Frameformat ZeichenformatTextformatvorlageStandard Text body Heading  Heading 1  Heading 2ListCaption Index  Heading 3HeaderFooter Contents Heading Contents 1 Contents 2Numbering Symbols Internet link OLE GraphicRoot 22 Graphic1 23 24 Object1 25Standard  Illustration Table TextDrawingY .Y .Y .Y .q2x GeneralGeneraldNC#,###.00#,###.00SystemNC #,##0.00 CCC#,##0.00 CCCNC$#,##0.--;[RED]-$#,##0.-- $#,##0.---$#,##0.--REDNC$ MM/DD/YYYYMM/DD/YYYY def/SystemNC%MM/DD/YYMM/DD/YY def/SystemNC&NNNNMMMM DD, YYYYNNNNMMMM  DD, YYYYSystemNC' MMM D, YYMMM D, YY def/SystemNC. [HH]:MM:SS.00 [HH ]:MM:SS .00NC3MM/DD/YYYY HH:MM:SS MM/DD/YYYY HH :MM:SS  NCK MMM D, YYYYMMM D, YYYY def/SystemNCL MMMM D, YYYYMMMM  D, YYYY def/SystemNCM NN, MMM D, YYNN, MMM D, YY def/SystemNCNNN, MMMM D, YYYYNN, MMMM  D, YYYY def/SystemNCONNNNMMMM D, YYYYNNNNMMMM  D, YYYY def/SystemNCP D. MMM. YYYYD. MMM. YYYYDIN 5008 (EN 28601)NCQ D. MMMM YYYYD. MMMM  YYYYDIN 5008 (EN 28601)NCRMM-DDMM-DDDIN 5008 (EN 28601)NCSYY-MM-DDYY-MM-DDDIN 5008 (EN 28601)NCT YYYY-MM-DDYYYY-MM-DDDIN 5008 (EN 28601)NCUWWWWNC GeneralGeneraldNC #,##0.00#,##0.00SystemNC  #,##0.00 CCC#,##0.00 CCCNC #,##0.--;[RED]-#,##0.-- #,##0.---#,##0.--REDNC  DD/MM/YYYYDD/MM/YYYY def/SystemNC DD/MM/YYDD/MM/YY def/SystemNC  DD MMMM YYYYDD MMMM  YYYYSystemNC D MMM YYD MMM YY def/SystemNC  [HH]:MM:SS.00 [HH ]:MM:SS .00NC DD/MM/YYYY HH:MM:SS DD/MM/YYYY HH :MM:SS  NC  D MMM YYYYD MMM YYYY def/SystemNC  D MMMM YYYYD MMMM  YYYY def/SystemNC  NND MMM YYNND MMM YY def/SystemNC  NND MMMM YYYYNND MMMM  YYYY def/SystemNC NNNND MMMM YYYYNNNND MMMM  YYYY def/SystemNC  D. MMM. YYYYD. MMM. YYYYDIN 5008 (EN 28601)NC  D. MMMM YYYYD. MMMM  YYYYDIN 5008 (EN 28601)NC MM-DDMM-DDDIN 5008 (EN 28601)NC YY-MM-DDYY-MM-DDDIN 5008 (EN 28601)NC  YYYY-MM-DDYYYY-MM-DDDIN 5008 (EN 28601)NC WWWWNCBoeoePVpO 2$99 SAP.AAPdddAPddAPr  HeaderSAPddAPNT SA @l:SAPAPPNGG> PicEFFFC630S(A `A`A  PA  PAPAPA PA Prz FooterShAPddASPNJTA SAd A @A0SAAP.AAPdddAPddZSW5HDR.0/1C(517e(Build:4163)(SV517)]DAddress bookaddress! Frameformat ZeichenformatTextformatvorlageStandard Text body Heading  Heading 1  Heading 2ListCaption Index  Heading 3HeaderFooter Contents Heading Contents 1 Contents 2Numbering Symbols Internet link OLE GraphicRoot 22 Graphic1 23 24 Object1 25Standard  Illustration Table TextDrawingdlo.1 4 5*j standard.dicY .Y .Y .Y .6FNK9jTSA PT1. IntroductionT T1.1. Home NetworksT TThe concept of a home network has recently become a major topic of discussion in both the internet and research worlds. A home network is designed to enable the remote operation of devices and applications that would normally only be accessible from a local control point. The usefullness of home automation has long been recognised, as shown by the following exerpt from Snow Crash by Neal Stephenson (1992). To set the scene, after deciding to cook a meal, the author continues:T TH!'You look up your recipes, select one, and check your pantry for the necessary ingredients. Your tomatoes [bought earlier] have cheerfully registered themselves to the pantry upon arrival, so it is able to report that all you need is some fresh basil that you can pick up on the way home.'A8 jA8 z T T To accomplish this reality, a small microcontroller needs to be embedded in any device which wishes to participate in the network. A simple example would be an oven. When leaving for work in the morning, you place your evening meal in the oven. As late afternoon approaches you anticipate leaving work, however you do not wish to wait for your meal to cook. To start your meal cooking, you launch your web browser and use the interface to switch on your oven to the right temperature. Having left work, you arrive home to your pre-cooked meal. To achieve this, your web browser must make a reliable and possibly secure connection to the oven in your home. This could be achieved by a small microcontroller within your oven communicating via TCP/IP to your web browser.T iTThe project desribed in this report has investigated a subset of the TCP/IP that is necessary for a standalone Internet Appliance such as the one described above. SA  @TSA  @ToSection 2 provides background detail on the protocols used by this project to communicate to the outside world.SA  @TSA  @TfSection 3 describes the implementation process that was used when developing and testing this project.SA  @TSA  @T~bSection 4 summarises the important final test results to prove the functionallity of this project.SA  @TSA  @T~Section 5 provides some final conclusions and further enhancements and suggests some ways the project may be enhanced further.SA  @TSA  @TSA PT 2. BackgroundT T!2.1. History of TCP/IPT iTwlThe TCP/IP (Transport Control Protocol/Internet Protocol) protocols were originally developed by the American military to create a network that would be resistant to large-scale failures in the infrastructure. To accomplish this, a large mesh of connections were used, employing switching techniques to move the information from one end to the other. TCP/IP progressed to be the basis of an inter-university educational network called ARPANET. However the success of the ARPANET forced it to grow from a purely educational network into what is now known as the Internet, providing communications between literally millions of people. The ARPANET can still be seen, although it is limited to the .arpa domain. Today, TCP/IP is the standard protocol used when communicating across the Internet and connects millions of machines together, providing reliability to all who use it.T iT#2.2. TCP/IP fundementalsT iTThe TCP/IP stack employs a layered approach to communication. There are four layers in total, the link layer, the network layer, the transport layer and the application layer.T TsThe diagram below (Figure 2.2.1.) illustrates the four layers involved in the TCP/IP stack. Two hosts can be seen, Host 1 and Host 2; when communicating, they are often called peer hosts. In the diagram, data is being sent from Host 1 to Host 2. When accessing the TCP/IP stack, layer processes are considered to be communicating with their counterpart on the same layer.A8  T TThe Physical interface is not shown, since it is not defined in the TCP/IP protocol suite. Therefore, the TCP/IP stack may work on a variety of implementations from slow asynchronous serial lines to FDDI (Fibre Distributed Data Interface) networks.T T(Figure 2.2.1. TCP/IP stack communicationSA  A @o5:S&A  PA  PA PT iTThe application layer handles the interaction between the transport layer and the user. It provides an interface to allow connection into the TCP/IP stack. The transport layer offers a reliable connection-orientated stream of packets by using TCP to communicate between hosts. This guarantees that a stream of uncorrupted packets will arrive at the destination host in the correct order.T T]RThe network layer handles end-to-end routing of packets, in this case by IP. IP uses a series of numbers to indicate a host, which can be represented by a 'dotted decimal' notation, for example 172.28.31.4. IP numbers are unique throughout the world. However the IP number indicated here is one used in the private range. This means that there are no hosts on the internet with this IP number, and it is safe to use on any number of private networks. The Network layer also manages the logistics of transferring a packet of data from one host to another across many different types of network. T TThe link layer co-ordinates the transmission of data via the chosen communication medium. The communication medium may have many different forms, two that are commonly used are Ethernet and Serial links. In the case of this project, the IP datagram is transmitted by SLIP (Serial Line Internet Protocol). This action of placing the IP packet in a suitable carrier for transmission is called framing.T TEach layer within the stack is essentially communicating horizontally with its corresponding layer in the other stack. Thus the application layer on host 1 is connected to the application layer on host 2 via a transparent link. However, for the application layers to communicate with each other, they must pass data through all the intermediate layers, that is via the two transport, network and link layers.TDue to the current wide-ranging use of TCP/IP, there are several sources of reference and implementation available. The most concise of these are the RFCs (Request For Comments) relating to TCP/IP and link layer transport protocols. The RFCs that are most applicable are:TRFC 1055, A non-standard for the transmission of IP datagrams over serial lines: SLIP - J. Romkey (1988). This describes the method of packaging IP datagrams for SLIPS2AP6dddQA @ 2908131013TRFC 1600, The Internet official protocol standards - J. Reynolds and J. Postel (1992). This lists all the official internet protocols used.S2AP6dddQA @ 2908131013TRFC 1122, The host requirements - R. Braden (1989). This defines what is needed for a TCP/IP stack, what is optional and what should not exist.S2AP6dddQA @ 2908131013ToRFC 768, User Datagram Protocol (UDP) - J. Postel (1980). This describes the headers and format of UDP packets.S2AP6dddQA @ 2908131013TlRFC 791, Internet Protocol (IP) - J. Postel (1981). This describes the headers and format of an IP datagram.S2AP6dddQA @ 2908131013TRFC 792, Internet Control Message Protocol (ICMP) - J. Postel (1981). This describes all the types of ICMP message, which messages should be returned for different errors and queries that may be accepted.S2AP6dddQA @ 2908131013T_RFC 793, Transmission Control Protocol (TCP) - J. Postel (1981). This defines the TCP standard.S2AP6dddQA @ 2908131013TRFC 1017, Computing the Internet Checksum - R. Braden, D. Borman and C. Partridge. This RFC provides many algorithms and methods for calculating checksums on machines with different bus widths and byte ordering.S2AP6dddQA @ 2908131013TRFC 1025, TCP and IP bake off - J. Postel (1987). This describes a series of tests for check inter-operability between different TCP/IP stacks.S2AP6dddQA @ 2908131013 T TDetail on these documents is not included here, since most information would relate to specific sections. Therefore the detail from these will be referred to in the appropriate sub-section of the development process.T TSeveral books attempt to simplify the RFCs into a more readable form. The two that contained the most relevant information were:T_TCP/IP Illustrated Volume 1 - W. Richard Stevens (1999). This brings together the necessary RFCs with examples from a sample network to examine and explain the workings of the TCP/IP stack. This also details some of the UNIX network functions and how they interact on a network.S2AP6dddQA @ 2935491013 T Internetworking with TCP/IP Volume 1 - D. Comer (1993). This book contains much of the same information as above. However to to it's earlier release date, it refers to simpler implementations.S2AP6dddQA @ 2935491013 T+ 2.3. 8051 Series MicrocontrollerTSA  @T The microcontroller used in this project is very widely used throughout industry within an embedded systems environment. Due to the wide ranging use of the 8051, there exist many sources of support. The ones that have been used to develop this project are:T@Eight bit 80C51 embedded processors data book - AMD press (1990)S2AP6dddQA @ 2908131023TUProgramming and interfacing the 8051 microcontroller - Sencer Yeralan, Addison-WesleyS2AP6dddQA @ 2908131023Tn)The tutorial found on http://www.8052.comS2AP6dddQA @ 2908131023T TfThe 8051 series are 8-bit RISC based microcontrollers containing a Universal Asynchronous Receiver and Transmitter (UART), and at most 256 bytes of RAM and 8192 bytes of ROM. Most of the microcontrollers contain One Time Programable (OTP) ROM, however a few contain re-programmable memory, in the form of Flash or EPROM. The original 8051 series was clocked at 11.059MHz however this value has been increased to over 25MHz as technology has been enhanced. The standard 8051 microcontroller has two 16-bit counter timers that may be programmed in four ways depending upon the required use. There is also one UART which can transfer data over the serial lines at rates of up to 1 MHz. Finally there are four parallel I/O ports that may be used for addressing/data or as interfaces to external devices. The basic architecture of the 8051 device can be seen in Figure 2.3.1.A8 YeT T_7Figure 2.3.1. 8051 microcontroller family architecture.SA @A8 7Tlv:SgAPbA%PNO ObjEFFFD60EAPlAPA PT T T*2.4. Software development toolsTSA  @TSA  @TI>The program development tools that were used to build this project are all licensed under the GPL (GNU Public License). This means that the source and executables are free to use as long as they are not included in any commercial application. Here is a current list of software used in the development of this project:T T<as31 Assembler - Open source (http://www.pjpc.com/tech/8051)S2AP6dddQA @ 2936061013 T]ucsim Simulator - Daniel Drotos (http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/8051)S2AP6dddQA @ 2936061013 TTSDCC C compiler - Open source (http://www.geocities.com/ResearchTriangle/Forum/1353)S2AP6dddQA @ 2936061013 Tv-VIM editor - Open source (http://www.vim.org)S2AP6dddQA @ 2936061013 T iT!Although the C compiler was not used in the actual code development, it was employed in tests to assess the size and speed of code produced from C and from an Assembler. It was decided that program development in assembler language would provide a more efficient implementation.T iT'2.5. Current ImplementationsT TA number of single chip TCP/IP stacks have previously been produced. However, the majority have been designed and built on special or expensive hardware, for example the Seiko S7600 iChip (http://www.mycal.net/wsweb/s7600). This device contains all the hardware and software necessary to connect the chip directly to the Internet. This can be achieved via a variety of different connections from low speed dial-up links to synchronous E1 serial lines.T iT T#2.6. Aims and ObjectivesTSA  @TSA  @TThis project will aim to use a standard microcontroller (8051) to produce a TCP/IP stack. Due to the limited size and power of this device, some of the facilities that the TCP/IP suite provides cannot physically be included. Therefore, the project will also be concerned with identifying those facilities which cannot be provided. The resulting information will be used to develop a working subset of the TCP/IP protocols on the microcontroller.T iTThe project will focus on removing all external hardware to the microcontroller. This means that the more popular link layer protocol, Ethernet, cannot be used since it would require an external interface. In addition, the 8051 only has the processing power of around 1MIPS and therefore would not be able to utilise Ethernet effectively. Ethernet operates at 10 Mbps or 1.2 Mbytes/sec and would leave the 8051 with virtually no instruction cycles to process the packet in the TCP/IP layers.JMono DeskjetSGENPRT PostScriptDQtQtd,,lp -d monomonoSGENPRT7 UשV88. ?^3.AUq 6P,Uq (q H-@q ºUq `2?Bq {B{q kq {Bq xq Bkq ;q KBq xq B+ q NByq Bq /Bq  Bq BD q  BQ!q  B^"q  Bx$q B%q B'q B(q B*q B+q B-q B.q B1q -U(:q q F@q *U#%?$ Ё3B.AUq 6p,Uq (q H-@q Uq `2?Bq {B{q kq {Bq ;q KB!q ;q KB\q xq B q xq Bf q  xq  Bmq xq Bq xq Bwq xq  @Bq ;q K!AB7q xq "BBq xq #CBA!q xq '$FB$q xq %GBe&q A&LB+q 'MB,q '(PB/q xq )Q-U(:q q F@q *U#%J?$ 3%….AUq 6P,Uq (q H-@q Uq `2? -Bq *RBq ;xq +SBCq xq ,TBq xq A-YBq xq .ZBq xq h/bB"q xq 0cBk$q xq A1hB$*q xq 2iB+q xq A3n-U(:q q F@q  +e#%?$ i3%.AUq 6p,Uq (q H-@q Uq `2?Bq 44rB4q UxV'5uBq UxV6wBe q UxV7yB q UxV8{Bq UxV9}Bq UxV':Bq UxV;BLq UxV4<Bq UxV=Bq xq >B!q xq '?B$q xq @B3&q xq AB(q U6x;4BBq-q U6x;'C-U(:q q F@q +e#%{?$ 3% .AUq 6P,Uq (q H-@q 2Uq `2? Bq KDBKq xq EBq xq 4FB|q UxV GB q UxVHB q UxV IB q xq JBq  xq K Bq xq LB)q xq M/Bq ]xq N-U(:q q F@q +e#%\?$ +e 3b?l b3%eN.AUq 6p,Uq (q H-@q OUq `2?Bq KOBKq xq PBq ;q KQB q xq RBq xq SBq xq 4TB q xq UBFq U6x; VBq U6x;WB]q U6x;XBq U6x; YBtq xq ZBq xq [B~q xq 4\B*q xq ]Bq xq ^B4!q xq _B"q ;q K`B$q xq aBy&q xq NbB?-q xq cB.q xq d-U(:q q F@q +e#%=V?$ Ѓ3%F.AUq 6P,Uq (q H-@q Uq `2?Bq KeBKq ;q KfBq xq gB q xq hBq xq NiBV q xq jBq xq kB`q xq Nl-U(:q q F@q +e#%?$ lZ Info 0 Info 1 Info 2 Info 3 /1(<Oh+'0 h t 1@! @@b)J@b)J Tim Hurman Tim HurmanXOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefdJ 0#'(@wXXX'^@Ultrafine Dashed333XX,'.@XXX' @OX'@Arrow}}Arrow XXX_'c@dArrow}}XX'.@,}LXXX':@,}LXXXX&'@X'@&X'@LXX'6@XX '6@22ddX'(@X'"@6BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃B+eUDf6`  Z PNEditEngineItemPool W6f0$g*@g Z d"|,StarBatsN-` ` ,StarBatsNK",StarBatsN-,StarBatsNK"pp,StarBatsN-"  ,StarBatsN-" ,StarBatsN-"%%,StarBatsN-"0*0*,StarBatsN- r,StarBats-r,StarBats-r,StarBats-r ,StarBats-r,StarBats-r,StarBats-rpp,StarBats-rXX,StarBats-r@@,StarBats-r(#(#,StarBats- "XX,StarBatsi-",StarBatsi-",StarBatsi-"` ` ,StarBatsi-" ,StarBatsi-",StarBatsi-"hh,StarBatsi-",StarBatsi-",StarBatsi- ",StarBatsN-",StarBatsN-",StarBatsN-"` ` ,StarBatsN-" ,StarBatsN-",StarBatsN-"hh,StarBatsN-",StarBatsN-",StarBatsN-"pp,StarBatsN-XXXX @XX @<(@X (@|!StarBats!"-StarBats!"-StarBats!"-StarBats!"-StarBats!"-StarBats!"-StarBats!"-XXGXXXX+Xd@' @ ",dd|d@ddd`  dddhddddddpddd xddd (#ddd% 'ddd0* dddX dddXX!X4XGXZXmXXXXXA'j@ #ddddd,ddddddddXXX&X2X>XJ1'@B#dX+'@h#XX!'@#*X'@#*timesX'l@$hd d Nd $d d id Vd XXX"X,X6X@XJ'@S$*X'@r$*X'@$*X'@$*X'@$*X'@$*X>Tt5H 3]2QpP)g* "XX,StarBatsN-",StarBatsN-",StarBatsN-"` ` ,StarBatsN-" ,StarBatsN-",StarBatsN-"hh,StarBatsN-",StarBatsN-",StarBatsN-"pp,StarBatsN- (StarBats!"-!''times'd .6q~ 2p  3TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@'A'+'!'''''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A''Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A''Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A''Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A''Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@'A''Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@'A''Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*+'!'''''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!'''''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund''StandardStandard#'''''''''''''''+;(,,--..g* (@' A'1'+'!'''''''''Object without fillStandardObject without fill'0X ?r >qDvBtl DrMde*V*JoeMn0/1L(/1/1,ODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrPgG)(JoeMQtDrML DrObuSVDr&j UStandardj UDrOb SVDr&$ Standard$ xV4B1 OscillatorStandard<( (@' +' and TimingStandard<( (@' +' DrObSVDr&j UDrObuSVDr&j UStandardj UDrObSVDr& Standard xV4B1vROM/Standard<( (@' +'EPROMStandard<( (@' +'DrXXDrObSVDr& j -URDrObuSVDr& j -UStandard j -UDrObSVDr&% F)Standardl% F)MxV4B18RAMStandard<( (@' DrXXDrObuSVDr&4j @UStandard4j @UDrObJSVDr&_6" >Standard_6" >xV4B1 Two 16-bitStandard<( (@' +' Timer/EventStandard<( (@' +' CoutnersStandard<( (@' +'DrObSVDr&H3 DrObuSVDr&H3 StandardH3 DrObISVDr&]^Standard]^xV4B1 64k Byte BusStandard<( (@' +' ExpansionStandard<( (@' +' ControlStandard<( (@' +'DrXXDrObuSVDr&4H@3 Standard4H@3 DrOb SVDr&5n?\Standard5n?\xV4B1~ ProgrammableStandard<( (@'  Serial PortStandard<( (@' +' DrObSVDr&H 3 RDrObuSVDr&H 3 StandardH 3 DrObSVDr&H StandardlH MxV4B18CPUStandard<( (@' DrXXDrOb$SVDr&Ed(fStandard*HcF'cF'HDrCn$DrCn$;(#(#UDrOb$SVDr&(&E;fStandard*F'HF'c:c:HDrCn$DrCn$;(#(#UDrOb$SVDr&(&7;mStandard*F'UF'O:O:UDrCn$DrCn$;xixiUDrOb$SVDr&7Standard*UccUDrCn$DrCn$;xixiUDrObSVDr&t)StandardUHDrObSVDr&Kt )Standard,U,HDrObSVDr& B K Standard%a wa j DrObSVDr&K Standard3#j wDrObSVDr&Standard|]xV4B1HFrequency ReferenceStandard<( (@' DrObSVDr&)Standard 3 c(DrCn$DrCn#;xiDrObSVDr&!Standard( DrCn$DrCn$;PFDrObSVDr&!#m)Standard " "O(DrCn#DrCn#;DrObSVDr& H-3 DrObuSVDr& H-3 Standard H-3 DrObSVDr&m"1,Standardm"1,xV4B1| ProgrammableStandard<( (@' +' I/OStandard<( (@' +'DrXXDrObSVDr&$&m)Standard % %O(DrCn#DrCn#;DrObSVDr&')m)Standard" ( (O(DrCn#DrCn#;DrObSVDr&D*,m)Standarda% b+ l+O(DrCn#DrCn#;DrObSVDr&5{m70)StandardE) 6\ 6O(DrObSVDr&=z?/)StandardK;5.#>N(>[ DrObSVDr&5k7N StandardC)(6z6m DrObSVDr&=?a Standard_1;>> DrObSVDr& {U #Standard;#s 0"t \ DrObSVDr&{ #Standard;# 0" \ DrObSVDr&P{ #Standard;"10"5\ DrObSVDr&g{,0)Standard; #HO(K\ DrObSVDr&{0)Standard ; #O(\ DrObSVDr&O"u ,$StandardsO"u ,$TxV4B1? InterruptsStandard<( (@'  DrObSVDr&[BB%'Object without fillhB5%DrObSVDr&7~=[Standardq7~=[RxV4B1=CountersStandard<( (@' DrObSVDr&<'@+Standard<'@+xV4B1oSerialStandard<( (@' InStandard<( (@' +'DrObSVDr&4'8+Standard4'8+xV4B1vSerialStandard<( (@' +'OutStandard<( (@' +'DrObZSVDr&'!'--Standard'!'--xV4B1Parallel Ports,Standard<( (@' +'Address/Data Bus,Standard<( (@' +' and I/O portsStandard<( (@' +' DrObSVDr&m(~)Standardpm(~)QxV4B1<ControlStandard<( (@' DrObSVDr&( )Standards( )TxV4B1? InterruptsStandard<( (@'  DrOb$SVDr&EfStandard<*HccHDrCn$ DrCn$;(#(#UDrXXgg FHome~LT~GliederungDrXX0Mono DeskjetSGENPRT PostScriptDQtQtd,,lp -d monomonoSGENPRT  Root Entry ®`V@ObjEFFFD60E.)䰱CompObj<Ole StarBASICSfxWindows>SwNumRulescStandard jpersist elements"  XSfxDocumentInfo  uBasicManager2 4DrawingLayerYKSfxStyleSheets EmbeddedPictures"PicEFFFC630DSummaryInformation(]8SwPageStyleSheets$6tStarWriterDocument&FOCompObjb=Ole cpersist elements"dSfxDocumentInfo euSfxWindowssSfxStyleSheetspq4SummaryInformation(t8StarDrawDocument3$.