NNNNNNΒFp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN忎O`  O`/#@%`')+-/1 3@5`79;=?AC@E`GIKMOQ S@U`WY[]_a c@e`gimoq s@owy{} @` ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!A   !Aa!!)+-/1!3o79;=?A!CAEaGIO`  O`/#@%`')+-/1 3@5`79;=?AC@E`GIKMOQ S@U`WY[]_a c@e`gimoq s@owy{} @` ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!A   !Aa!!)+-/1!3o79;=?A!CAEaGISHELL51 INF 1OESHELL51 PRG !`=XEDIT RSC !@2BIN ]NE SRC NEPROJEKT_NAME 80535.pro PROJEKT_PFAD src\projekt BINARIES bin EDITOR xedit.prg USER ..\..\bin\tst51.ttp BAUDRATE 9600 COM_NR 3 5 DEF h!$REG552 DEF p%WPROJEKT NE&`;*9`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ!-lz5-;lt! SHELL51.PRG`_($KJ$f(ByO o/9l@?<HNA\OJg.@ l@`6 - ЭnHй*"ҍ¼.A// {Bg.JNA #v v/(,HhNQ'P(tf(p`?)w.$\T.0NV<n? ?HaP<PN^SNuXX \ .,T׏=|..:XJr.>K`jC^U-fz>>0)`@A `/0b yg(_"zBn`$2.RnA??..!t=pd |fx#gVd+HЈ/$g]E` J#"D%X "&O`T////b<(&R\ nf 4nP R0 m. 4. >bZ.- >_H"z1Vb >?֌c >c0ONBBN6J*!KBNONU>*BzaBNCQd>d6^@ʠ8^l֎1q=@ @%mx?.o.I(o.>o.To]d & l/.tR0<`tRa3P-@Jfgl@ +`^d h,a|"gXeg.D &g`x!$!"fAJأnfBp3`L` ~4! g !R@WR0ogU`P R0u p0"ޢ-P`Jvmo0DU\RT(b"N^4gV֖LtrgE^n^l#"v\,O4FKzBpP%\\#n@ S |BW& hr|quxP}qTzckC$udNkA`xptI!%s+`*BjtTyt~`R geP ?ByT#rR!`R:L|L5đ @m y fR"i9\09hBx~~g3i$~ڍpt~BB.ڍ皑 oiy Al~~4|N 0m>9n0&m*,n"rlqm`ǃ@·`KXBg(\ȂBb Ɂ\˙kؚ+Q!3f,s q p,aC,bug+9zjf24]Ȃ`a4sZȂ·ZfGa|LN_HXmIiR&8VВR NgtȂugH7n<"iƎ%iRm mhZ"2`qX?Jg4ȂaÍɁάkgȂЬkRȂ΅'gȂҤ"?g`,cUf_g ZdLڃfǃ·pb* bvxg n~0fnT>`(j,Ul .2,Xx X|"jm%j_*7j/J!`:(Xmj_&?XP\2LnCTJfNZ·ǂ_ȬPldxuj$J@o1 z⬆·bjjm`"|2<u ]'NA_gx|2RN :"o" ns( :f|X`א\&`-&k Q\ Kfq.Uӓk-ka3P шJp2DBkThf_k"Ԅe`n25`hcӁ\1&,`uX-`;BF)Spr35`!3X% bWP]| /(F'C& g B`A-7hblB+¢'F- SPD+lC///Ƒ 0qvsT31ڂ|APv ]:,0!Bg*?Nf;q96$ðU@Q`6^l~ھ:f2lXF"/ہ1`il"i|p ڦ@,?#?CoWl.n0ڶ4|H Lz u?BB6BKCq0gd2`4TBAf6C`2A08H BQ<*BG`4D/ L f ^-@?<`RG(R@H gf0LasH:5#PtfF`$0RF^ mf!BSG0f{0BZCSw.PZJ Rap0vAB0*@ (@|ƑQHNAlQĂgftB` R"f@f`.tf$(LPqw.Rmw.@AO@!:;"D'LRdn'\](8LD<-H8`JD>f*->fL` t` .8g(@*@/`*] f.R$Bg>Q\a:\>J@m?BgF\eBg8HT׏f"T@ G "g<|21bp<_A?4ઇ?11 |6@A1@;@@bp`>0`0z 2Hp`!lmس :p`L0lXrYqX !J!_MY"P$h@ J@"N0BT(Apnπˮq BB20uǮ"@2.HbH0Zf_" Zf`$"g `Q`bA`2CVK"CJc,> DUJ3 V#Ҭuqtf -L bH tր gXs(|*H]h@ ^pBZ ѐ/8vA@/0݂" AR@o`:(p`R MfH⧼ A fS^g4n=q@p`"tpJч@ptjtn^@W9LTt4t"t8j`@-Cf`uJf\ fJj\ jfW"jS @B@|pA&n`/X g fgPwvARxf*/"x6CЃ܃"qΊ,$뀴J4x|K\c Pr0hXXrLߵ8v PlNAoﰐ䑑llX]`l oЦp`w戰Y PNm~ f*Ht@- |g9 (!Y"ҧ@m?'$ETL xgB24`-~TBm ?-Ў]`LTG /fIr.4gVt4R4gz Bj6@ZjCtP @f mAm Q*f} 0o(M`vA f`FS@0޻J@o:@S%P0@X _R @…`)b3NB nl@f fH` Nq #g48"5`g '@X [fKXy !g@H-Hj>6PǏ;@&.(2F8S!-V!l mf `$& UR…P7'! pADbf=| H Erg07wg0ag"Po(@J[f.(H. ,` Om7B]`oBl |+W; P l 1f:?<׶0,2@}H:^P>0 l@ `v1fB~Bg G2B.R' "" o/ f pJWȨ`g fS `pr^9DpBJB /IQackrd`k zaV:Jl3ۆd KL8chanJmՀFVogJlΣ3fhlbN &!pЮla0&Tty\v/ g *vր oaST|߯J@fq$z`+` 4qp@B emJ]bg3h`qNq:Y. " S/")/qD"|P./BEF. ۄ?0@ۻafHS`o(M)GFP PۄX;n "e .P8b0Cށ2 (m@n oPB*T e*f(` FP{0瀷+#̒ P`( n fR8h@s(M*U`D 2XV$!< Q*@(UQ ` m&n&l`(To䞒 "Ёf T U T*`* ",f ;('=|\"HPgXH{fT L1n$@PfBG0ˣ*Ҫ0p̢0J0pD!RIS=fB@D@g&@?R>dg2<:K`jHD(:"Vh:Gl 3ǰq C9lPV7\2N PP(R.Rh$3M\T xds?wf|.H%086f.!$qn680BgrQ~Q̢:$Qn:B3 _Xs@Yz @"0r5a:aS܌L*B@@`gSBAgHJ@A r)bp{R7@S6dF2/0NuSAV ("0&MNqSG0Df`B:l L8&L `'|!cfp gfp fp 0!=CxgfpXlrfp: A`hfp0mfp9ns|0p2fpaa)9 pfpA{qbAj o ;0nH ATz$nu- viR'l2`/YH`D 6`HЃ`f-pM!R"afS'J7 gv 'y y D`x!H$!Z)a.# )!z(A=ҴApg/!9PH) (M1PrgA&H. wUa 0p Vp Sj u@; 1߰|lPfD|5Hn`g 3d30~:zpJ/ yA2}p_gr3yPVBG.l~D$3l GD&)gHC H@@HCBCւJGgD-C]P.J@f BB`&. Bvd d``bd`p-ABLOMDKPI`DLH1 . (UL0p(<[0p>PQ6PBE0p,zQ: ` `wXgdgwogug_xg p fpdl - ?D.` _A 3&@B#(/8H/DX(0 D m2<7E`Z`0A | & K.f߼/ / P|P*VĦ1 Q(U G#w`j`̢JtwWPv0R@?G `檱R*sga 0f.f`0fl0< GRoF0A o2pJFl`0oc.`&Hjs`SFSUp0gJUplvp!p|qr0Nr.` q:m`J?FoH 0zpM`Jkpujq R&@`xpM`E-LF BUgdT*( {*KBGv*P`00HC>`HQ"fتv YP$6FR"^ll}$.` $@,n$SX/}ށ:io:.|qg p %rP*p ngm= TP1#Ӿba/vv%F*P.E`4SmP-T0 URj pGb"` pL`f4FXj"`;LU^?p= hGgй${@ Bvk@g)#f / AKXuh 5P>ΰgP$`="S@;@r̨ѐNqg$g 2mށ?ȷH *ؐ":,A2 Eo>`p80/?/l,r 0H~є0,(l@=lJEfc]՚zL Emx=/ g<3v@ HHOAA`Ap"`@g?,t@CtPJ@n G¬&M !FOG|JGn|m`NB0T@|Qmqd@D@`.(1D@S-<`bǒTOclX O`&烆H@$Ⴟ@ FGQqdR@T@BA1Q/,>33ԟ׆GpQȿB`lZgB`r v@H_m0d@;61ЃҁTtRZ$` R]$9nJ R*@NqfSEI w@B60#fUXONugVpXO lvOUKUvHx bLBA"yOHC@Fx &b&L3RA$y&&_H3S@LUv,f"(b}㐘U"¼6`м@6` `(SB fB`Upм8^6` [Tg jDh <r`V$H@J@fBH@ @bQB @-`YB3`?-`UBJ@kSB&<"F€JHBЂJjT_Q$HBJR`j`BnDB Bcp`*` ` c ܇ۄHAH_B>¸@ڇلHDHEHF8:|`؇"Ć~>kڅلSG ScFHD„v ȀۆGk 0c xz``SGOHG؇fbl`a o@$ϘNxDtX8`:LMEvψϚɴbtRD1DHBHC.hHG~` B@|F"AHF0˰я8߄jSGpd6NHC,h ,ІHF|<*HEHE8BEHA0VhJn2@xDjdhr(x8PzG‡.Ю݅߅D< ~d~|Ol` f  6@editor.pr 0]obi %Q .6HZ baXob3aadrhrld* /AHY%c%cXEXK?0?AUX?2?MIDI~Xfwp= v/RS232-80C535 Shell (C) J. Wickenhaeuser 1990->3 %s qV2.00Projekt-Name: '%s'^0PfadSource-Dateien:Schnittst%s~ ld BauO %2\B.ba0( <"s351D%Xp-f/x///$[e]: ES starten () a Debug-Flags aender[g Ueberse;tz und% s$,[d/#g5[n Neun 0l Listing erzeug$+ 0r 51er-Board-Re [+ ) hinzufuev0{[-=entf zI1u Benu [r-g./b1Oasic"7x(6.9, ohne Term$[q Quitc/ZOlOt~O*a0 > DEDcB_DBE@D@*** Kei6@Z#d2in.V5 nicht ge @hert!7 wCanCDoeff0AS%s B reibfehlb0A"_4YO ]PROJEKT_NAMERVPFADSBINARIESSEDITORSUSETBAUDRATPld COM_NP P?_3__Tr__q_V[WURWT SY`ScS@S @S@S@``A!F cDUL0 opSocSAus0`nSWarnung: Kommandozeile l @1als 127 ZeARA @U"^re.dtlst^rodqE BASIC-S!modul vGorh)pQ_p\r-prt8 -x -la51O.ttpvo! u -wsuxlvj~A ^z{rzs/ -n%bvup{vlzr +5C(]*V!, *@!)9hO0* -܏6O0ummer4  AMi  ns NvV5pc .+5 5L/" T[m~x"*L$b6 "tb  Zc $  P  & Ec(  * R$Z"* r   '(:->F"?  tX%(p %.F& *N;%8(* :*0 G "{Z(   ttt}t" E$.(~# &F("t#$  &8XD|:<* , ZZ("\, "& 0 ,h"F (l$& R.4: w""hleX&>&. :. 4$f.,*  ."($" ,ZmE, @F&&:,68 ,6b$f@D$dHH8PbtBF&8  >l`z R2d,n,*<>[4 L}:} 410< VE[!`ehQg3V1fG: *gq԰{z@ BE-@g3{f / AlX*R® `rg$US@;@04KjRNqZ#ֆ' vt1fM#ڀr ވq nUl z~@_4o < @vgD@S@|8@T@g02HoЁQ@#Ѐr4-rFT@g%lb0ÙСAzP` #7sT@grhF0#5G~F С"(-$%" q<F *.* A]]]]]]]]]]A>>>>".2"T88pG),,JqI  ~c~cc~|  @@@@xA""Ax@p@@8@@@8p@@@DH_HD@@@@p** } cAIQ}QIE_EIAAc****>cpp@@@LRVZRL@@@pp@HXHHHBEEEEBpq!AA .j**. **,b$(. **x@p@x 8$$$$$8 <8$$8 >">*66666666666666>~``|>~|ffl 06ff>6688ooff; 80000008 0 06>>6~~0 ~~ 00```<~ffn~vfff~<8xx~~<~ff 00~~~~  ff~< <<80 8p8~~~~p88p<~ff >samkkn`q?<~fff~~ffff|~ff~|ffff~|<~ff````ff~<x|nffffffn|x~~``||````~~~~``||``````>~``nnffff~<ffff~~ffffff~~~~ff~<ffllxxllffcc``````````~~ccwwkkcccccfffvv~~nnfff<~ffffffff~<|~ffff~|````<~fffffvzl~6|~fff~|lffcc>~``p8~|~~ffffffffff~<ffffffff<<ccccckkwcAfff<<<>~ff~>```|~fffff~|<|`````~>>~fffff~><~ff~``~>~~>~ffff~>~|```|~fffffff88<< |x```fn|x|lfgc88<<vkkkccc|~fffffff<~fffff~<|~fffff~|``>~fffff~>|~f``````>~`p<~|~~fffffff~>fffff<<cckkwcAff<<<~|~~ 00~~8pp8pp1y_N<<<~ff````ff~< 8fffffffff~> <~ff~``~>>~ff~>ff<>>~ff~>`0<>>~ff~>6<>>~ff~><|`````~> 8ff<~ff~``~>`0<~ff~``~>ff88<<`0fffffff~>ffffffff~>~|f<~fffffff~<ffffffffff~<<~f``f~<>200~00000ffff~<~8|llx|nfff~l~p` <>>~ff~> 88<< <~fffff~< fffffff~>2zL<~fffffff2Lffvv~~nnff<>>~ff~>~<~fffff~<~00ff~<~~```~~` !#&,0nS ` !#&,2fN2?6l6l66l""""UUUUUUUU$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$''$$$$$$$$$$$$$' ?? '$$$$$$$$$$$$$$$$$$$$$$$$' '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$????$$$$$$$$$$$$$$$$$$$$$1{nDDn{18|lll|ffff|``100000000x?~T1  0a6cccc63333333>0`?~H>>kIIIIk>>>cAU]UAc>>cccccc6Uw> 0gEIQs> @@<~b88`b~<>cccccccccc~~~~`p88p`~~8p8~~ؘp~~>|@>|@6"6>>><<Pp l~vfff$ 0<~~~~~~~~~~vCCvA]]]A>"88  <8<p .* @@GDw""p@wDGp@GEv`HP~PH`**  cAUUAc"<""`DJJJD`hHHGEEgc!)%  .*.p@gDw8$8 8<< >> <02&$(,$$~$>0> 0`@"&*2"8>">>" $~> <" <"">""""""80 0 ~~`0 0`"&.*. "">"""<""<""<" "<"""""<> < >> <  .""""">""">>""$(0($" >"6>*""""2:.&"""""""<""< """*$<""<($"" ">""""""""""""*>6""""""""> >@`0 6c`0" <"""< """"> <""< <""""8 &(0(&8>vIIII<"""""""<""< ""<"  <>""""""""*>6""""""<>> 0 *"" """""" "> $<~>"" <~><~>  > "">  > $$ "">""">""> < >6 ?H>(HNxHO """""" "" """ """"""<""""""""""  <>""$$<"",< <~>""""",<""",2:.&">""">"> >"$)B"$&J $ $ $""UUUU$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$''$$$$$' ?? '$$$$$$$$' '$$$$$$$$$$$$$$$????$$$$$$$$$&$&$$,"", ~" >~""~$"""""< >>II>"">""""""6<""6III6>0 0~ 0 ~p~2L2L  >P0,2"""$<~~~~~~vCv|888||(((|| 8p`|| (P`|||||| || 0||xlxlx|@@XT|D((D|`@HX|XH@`T|T $4|4$ ̄|8||8||88|8@0H0p`@HTTTH@``HH@HTTH`$Dd$l|\TTT\|XDHP\|8$$$8|| 8||8$8 |||8|((((|((|(<@8x $ H0HP TH4  (|(| | @@8DLTdD80P|8D ||D8(H||@xD88@@xDD8| 8DD8DD88DD<0  ||  8D8D\T\@<8DD|DDDxDDxDDx8D@@@D8xDDDDDx|@@x@@||@@x@@@8D@\DD<DDD|DDD88D8DHP`PHD@@@@@@|Dl|TDDDDdt\LDD8DDDDD8xDDx@@@8DDDTL<xDDxPHD8D@8D8|DDDDDD8DDD((DDDT|lDDD((DDDDD8| @|@@ pp(D|@ 8>??@`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz[[\\]]^^__@`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz{{||}}~~ Bold PS Times PS Helvette PS 4MCES.KBD P2_PLUS.PRN 1.71 ))'(& ('(!"$#"$$$ (%& &!$$&(("$  "!)" "#(!!"" ((#()""!&$!%$! ""%$$))$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% $!$$$& $ "&&&&$$($&("(*(($&,"",.,"6**"*($*$4**" ,$&(("&.**"&$*&& $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"""&** $$$& $ .$  """"""""""" ", $($" (&$,&*"*$$$. "   *&"""( ".2*$ " &""..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"""" $""$*,""""" ""$$ """ &'(+.147:<=@CFHJKQWZ]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCD@2REF45--W F5-W aaaaSSTll QIPMpxpxpJ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-R~R2%!# 1;Hallo<=6GR0 An Alexander Grpl Pilgerstrae 10 6710 Frankenthal  Lieber Alexander,  ich habe den xEDIT zusammen mit dem Micro-Controller-Entwicklungs- System erhalten und mchte gerne eine registrierte Vollversion bei Dir bestellen.  Besonders gefallen hat mir an xEDIT ... Es wre schn, wenn er ...  Mit freundlichem Gru   Anlagen: Die Karte aus dem Handbuch 15 DM in Scheinen Ein adressierter Rckumschlag>?@ABC D T U V WXYZ[\]xyz{|}~ef ghiJjklmnoBIN 䥛SRC 祛SHELL51 INF @?zSHELL51 PRG !{`=XEDIT RSC !}@2. ]NE .. A51 TTP !![BIN51 TTP !8'D51 TTP !B 5EX51 TTP "!P~/L51 TTP &!\9R51 TTP (!k%SLD51 TTP 1!uTxXEDIT PRG C!TST51 TTP :!$'`XP`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ-lz5-X! A51.TTP`}%XKJ$f(ByO H/9?<HNA\OJg.@ `6 - ЭnHй*"ҍ¼.A// {Bg.JNA #$ $/(,HhNQHP(n(?)ԎAZT.OTNVJf JQg(X `0) nhgH0(@A /0~RXP#Jf0܎btPBg3BQ g,BgTO gZ.`?<6 VP 4pU$X-. W\-@Jg nB )JoV-HHL Bn`J H| f$ R R[ 0.H H@J@f``#Rn&z!r ~!Ml`#fn!B-P#B#P# `F# N^NuNVk(?G(3<]zgF/ ?>0(j4tLXg\0.M@H B.6 84,?6Zv<`L?r.3P84&?v< B!R @g@ g Z8"Tc0$nG*fnA`ΌFJB|Ff.[T #` 6z!1@0AnQ1B(2BAAD )DS !!@8PUDY2  #PAt"PoHH *(n ` gRR``gHHCL{0}FHPP / /, pP>0f BGlJgPRP@`JRX.E&@O 5R@?O$i/.R'@JBڶPB7QPf"?ffRBB7|`'M#ˠaP(`)K&P L8~DPd8 g +-fz 0Qn@fS(fT`yHЈ/ q`e#)g`A'g`Z!f@2!FQx@R <002{ËMa]mzo?g_f"Re@ЯR'fbFBHH7!Bp&R'#'fMq,}#g"| #DT`M$ gbXz Ar~So|=ezS@ʘ~ n=@~ r~ 뒀֊[2`tAF nf$V6?@*pB*J-m_F|*@t"0V. @  2JညSAF~ J@oJ8`0@4fR( -?Qal]o߁ߓ"p*˒l``Jh gh gݮh gh gݢh gh gWjh h gh gg!@xN J`bn߮ _ $$ՀP $;B*ȱ?^A>DRv]BHZ*b4B<$N0M g:dv l f`_n | l*  V,/n><ͺЛ>ڲ~D`\N0{@p@np6v=%XuhVx~wƄw\A!eY!@r;T>DŽo.zU|)2 Ad޿go$,g$fDrZPCű ApfAH$ hnI$R' @,@bn@-ᕊn@@n@Qzn@@rn@@jn@~4@Zn@@Rn@@Jn@@9SD4`"tm bL2`N@1hvW'PPPBF`Ro,&v%u?fJFgd0mUE9nY1 `ݰS`RF FmrB0`o3^d1L d`P 0@øXCbA6Pi A$P,Qv*g0E ^S` HgY?Rrv091u6[@FJnm o&BfBR3G2clI_*i`\nb|pjFr@o$x_ ` rdVJW=PWBE_SCbB. nrBz4"vlP `d` p$g p%gTRh̄2qba=|'_`f*t͑cfnc4Pa?`Fnf0mf9nc7QPm`0 ./NH@aH;`\fCORa fr@c`84Qe<0Yn`7@rBrTd>Prrhr|}S p0TaTuaRpq|uf$t HЁA~sTsq>P2G*An- l_Ȓ@ *(A``DHHz@*f/ / .0f #h`0kF^zfRAfL0DR#$X`:p S#$j\R@. @@&WvU GzD RPQ?(^SnT Gof&@M `@@ȥ`TJag6;0g٦աǦ`c0 ٦P g죸DFQ_|gh 0&&/B֥WOh ȖDI?DJTf*t/|0D0Vq+TPtݲ4zz @f/^`AsBH갴\"T6.҃Ⱥ@Gbsb`" n { ఀl|" Ào]/4Fzcrik@{6HЃ.:`8`V UV `V :#"`V ``V 0@>"@0r J5 ؎CL>lPuRaF"FRF02RqP֒ԒP"PaZ"ZJGm)ӯҲ0d"dT: `,`*Dp&!RXPfBgI`]=,/.AU$vA?<3[APŒ Jv`H$PJXn䡉f@2!` ֑8 8#F n1n;!RV @:U !n`(gLT$!,n"@0T!/(hV9`@V |Az ٨/rоO.%gB#BJ`̮@DֲHΐ`^0ACȗ*L`Ґ` f:,fv1`D`Th?^tҺP2phXD`?,?Cg(1LZR`[HBd?2vA@ȥpP jƨWAX"Oz?``PtOAg BROmzD)X94qpTH _pPg ڡ."\Rjt"IVq0A0RZ)z D``pq< &_8_J_\_nSu__G`Y_Zfxe`DUpgt6@6@\HHnSܸbo\48 p0@`Fqᚭa@q1{e}Cwi3!2o`6}p0g 2Xjko,oYōbfġaq vȡam^FXjyxD Jޏ`桡Rq@zpP fBCfQB٧Tg$Vl!Cljm.*oM"HЈ @  Я ΟU0`J`m ?ZShUJ@m-h @D jQX>? @fp?:O|I0A~-p~=pPФ"A yfu2H3g fBZhηPfw^ng!0!1eB2%M6D̪l2(준pb-y졀|n@PS1.Af$*FL^sgBx4LR,6W,``:QԗBr] tJ`}@mؓM1}Ľd3B3pQ@(μX``\*v fFrh pGJjPgJ`*R2S\`qf `18qzpf aܺqBBn"^2ߴ@f%*dU *lX q!jvNqT>Ax` #v‰:3 ] "ָф|"#g@g 6@>A*hv.f 0@*t:0-1Y0!mO3FZ-ocxpYjt_}#OF`*~N1`/Au ge C *>A#J+* H} ( P*&\Ӳ,'~*YQV%$v*v`pvK@ c`"(fwxx *J傤8//r,g!1|C0zp `Z!X9/ B,1Jf;#B-*02*y/"(.':$>/`*8?J?(\?n?4.:$>}+J*??*o|;v5'-vA쀵4B-@P#g~'"Q-@dgCN8*쨴?&ZRddQ4B-tB8bQUQf)( X[g VVSR 1AU8|pV|*LB_ROp}=k`=@VӁ_oo$o6cV@c*J\onoo2j@b\*Hooojj@br6tj gUB`SRI < D#P"R"4u-03VbѲB}̓g?r ]\`[Jlr$Ny gN:B2Qn4t`XrJn9;=|v@?{OTT(Jgz n'8P"J@!"g,g`ɚl ^-R@`` P=`o4t؀"."L@BgvrAR@l&+/0=J/!mDr4-E0T/"N8X yϠ0nJFlˠ3P8~?V6TX"1?f=hP 3lBB`Z."`vr?9PH!@XA1|`6?^?p8V0pdog0peg0pl@0pog0pp@^0prJ@0pt@Av@U0pw@0px@NDfpOɉrJrSaBu\wq f -HR.2пRW*R =g'B S."Mhnbq`Xp R-r[x X*52*3m:>#8"Td`X~t W p3,^Tt@."\9Z8uZd.d чocNdVf%u#[T3uB_co&u6obz'Dyg>d;6UqgH3lXKn."t:lb#`0TS.WLTg⟮DUHu."YSx`q92ЍR=#tfY |Un?BB6BKCq0gd2`4TBAf6C`2A0h 0Q"_f8H B pB<*)BG`4R."/ $`f ^-@<`RG҄)H g_f00RHM.\"nF`$0RFh%n!SG0f0,ḄJJxgR*5pJBܑ/*@(@z0nĀHng$0f$0gB`/ z0Rw"f@2f`7f$ҒZ"6@!"z0'E*'@TCzp8Z"<4P-H8`J>f*-!򜪡Z"` ƥ`b* .8g<`RRGg*g찥g⼟f n8 0gmrBJ@m?l2F3XTf".v1[ 5Rh@Gg<2.g2<<ǀA?R?rҝe As1@@@ >``0$ 2HxA!@im؂ h%\L0fJV 3 #vPr<^y!lxArXPsr b` H2YGA PN*f[Ҡv*H`0- ?|g ҃ "Q@m?fJTL ҃P,Xg0O`2g /-["Pm ?-~mTUfr.;gVJRg:BXjPdz@f mCm *U)Z (M`2}x" f`F2} T J@o:hGSh` R @l`5 hAQfߪB nR`f fOH` Nq8gbĽtC`gYX flXcgFR-_P;@Q҃[QL8S-l m f ` URlxbf=| &0H E@ wg agDh^*~(@`.(H,D`Uة /m'BP~Bl |+W l l !f:?<k0TwF<0j\P>0tl: v!fB*2<D?Gm |\0DY7.Bgb.:r?V6 G1B9Ӱ0 c()@9?p 30=#!hhkqA԰X*Ii.xQR$g `*AaӂVxQO``q | f{HvBJl `cA!0' 0`xRg @yQ ``"UPЁ` `oTL ^,( ~":,A>оEo>`Q0g80CDFaє ^00@\031ȦΥPvRv3|=c g&0?|>g<`jD""|>Gl 3ǂ@P vB@FFXLhT7@c@RGbb\9Dd 52?f|.lrP0KаAf.aށuΎР Bg|1W^:T'@p)HTQB (|2z||1L\|8zgSA@ p0zR\04P@pyA."BTT@p=з2 `"Pb81`zϰrf `0ԕ1(@P6Bl%|.``RR)6z`ڲ`4PSld@d~P f=@ B@`v HJmT/ m ՁIڇFځ .)*Lr$ fR``a6`Fp,a:` `pXgpdgήpogЮpug®pxg ր d6 - D.`E0A &@B#(/8H/:p0 D m2<7E`p0A 0Ee .f/ snP*pFĦAR ta(UV G;#B0|pj2.᫸TvP0R@?x0\pA0Tq:-galB0f.lf`0Xf6@<0GRoF00opJFlG1`0s`&H,`SFS0gJl8p>F0r.` q:SG\70)m`JFoH_@0ff"U qp`<(M@&A0WP%FsW\$g2. g$/ ^FsV>SPpGgP R*FsbX/n`漰=|8B-fUR֔0fҐ0*f R=ST`ZAh2֔.f>T2 lޔ.<$` $@$?$SX/7⠑:#o:.ґqg Ȅ,@P,EڃG1*p nnʑg=X ѠDT`A#.rq/{8Ф,EgPPXf1$P`Nb<@cgb.@eg@fg@ggb@sgbbNk^.gj7|E>.E`4Sm -0 UR$ r<`ehQg3V1fG: *gq԰{z@ BE-@g3{f / AlX*R® `rg$US@;@04KjRNqZ#ֆ' vt1fM#ڀr ވq nUl z~@_4o < @vgD@S@|8@T@g02HoЁQ@#Ѐr4-rFT@g%lb0ÙСAzP` #7sT@grhF0#5G~F СAo{P `PH @1-U-E0EK.g>OG|JGn|m`NB0T@>amd@D@`D@SpHrTOs.O`&HH@$IJGg FGQdR@t0BA!Q/,>##ԟ׆Gc0QȏB 0TBB`f PHm5@ dP6_!@䔑!rRZ$` R$֔9n|* R*@NqfSEl) @BL@0/L0#PD~vtTXONu(XO A/tV+s8prQ,A3 ";4?P8A2*1Z6ˆpȒrQ,3 $;Ȍ?`82*15("($d5"¼݀м@ Qp3B fB`:Evм8 K4g jDh <r`V$0afBH@ @bQB @@YB@?@UBJ@kSB&<"FJHBJjRD i8$HBJ@@BnDB Bcp`*` P c <A`6`BtjAB@DB bbAq/w/r*POAO/W"O_Db_o oRSƒq3\S&3POQ a`__ZD_d]XQXUxPɏBo,oZSy"FoZSbo|gP6q3`b|c("! $&JjFFAJҀF~˂7JfJn*(fJf "Z.%SAb fcBCD!E xzH@:@<M8NF E6cH@~GG~GGH@HBҁрSEg:jփ`2p c&tpc 6HCBBHB|.F΂꫆Jk*RA҃rRD Dcpr#ᐤڑxޒf?SDJf" hHAJAf HA rD0BA*@~Gcv0z`XEJ@gREr <`NE1F,.*FHÁ…HC΃ƅ?ąAxc:HC>ۄHAHB>@ڇلHDHEHF8:|@4&>:؇T:~> kڅلSG CFHD„v 歊ȀۆنGk {c xz`\`SGOHGk؇B@ Xxt8@:LMcEܯFbڑRD1DHBHC.htЇHG~` B@`|FAHF 1`8~[jSG֑d6HC,h ,ІHF|uzƢ*HEHE8BEF֐BdHG>uHA0ð2"@xDjdhrx80zG΀ݟ߅D {~~|u{@ \̵fGr󐮂ʠҸiҏ0ĵkւlw@Jq)o[dёebc ,RNADUPZIqxJ⌂U⨂Y*SԂєQ3ђ[(2:ђAӾHN⽀\3#!Wp"0vD |@U@r⒂)GFEHI$?JKLMIOѓUE CB :"*6b3O ]!vЃ;?I9w jzєU{ |U} ~*4<DLT\ʱdUltV@Ttы?Ŕ*%"w"X")M"U6"@"["X%b""q"/U""U"u""@"Е /Q, ,p",P"0"ysћU!0"2 0 "2Уі J2&J20 NA5I J2 J2O J2eX J2 J2RJ2{J2xUJ2~,"2,U"2,"2,U"2,"2,U"2,"2,}"2"2\ѓްJ2J2yJ2їNB1(NBE19WANBCNBMNB2NB:NB5ŗNBIV@]NBl@rїU~@B@BU@B@BU@B@BU@B@BU@B@B5@ј@g @AS'WfR11WYfR5Y[fRT]^]fRѻQ_fR|QUfRRfRSfRf0\Rf0!\Rf0A\Rf0a\Rf0\Rf0\Rf0J\Rf0\R7fR\W4fRm19љq1:~bA;~b'$1=~bm1>~bE?~b 15~b1Y1%'~b{(~b)~bM!+X~b1-~bi.~b/~b$~bȱ%~bZf0љf01FrUf0QFrf0qFrUf0Frf0Ѯxrf0xrQHt:y::y!3Dnoname.o51DqˏݏRs^CUgy0ӟRls -?QcuέT*: M@UP0wSJЍq@UE]U pU0UЎЏY0U`P5ЏCUyS@9@pEP{xU]0Datei oeffnen%Zeiger positioniser1%les1Speich>vollUnerlaubt>SymbolXSyntax in eik BJchnunMakroparYrnucn @0, @1, ... @9rs lğPuwenig{ PbeimaufruInrSystemfehlerigueltMaximtiefePҹObject-& (*\)+ƽ[bLCodesize V 64IkwPn -a <jOpEŸT9іxrl a,@r0P1234567#*,ua* chd*CC2[[[[[[C0wap subb#s|иetb cH$rrcW rqlZ$V etir"Ppush poG oc,/@$#%##$$$$$$$$#Њ#&3n"mu<U movx46<45dptr24Z40b7T1b4Z ,@a+pO 7T6 l6 `6 r26364656667608!452636465666760,55555552x24!1EC#D<4DDDDDDC3_4 VC_1U1*UWC@2*HNQE*FfPDfPDfPDfPDfPDfPDfPD&JSU*,\O ITlE"l~jz jnPPQjnbRE!6;jO jbcSRB b&caaBbBbBbBbBbBbBbadQERc&QcS@d[@dc@dk@ds@d{@cPdi@U de2ecabbbbbbbaa`acp@ PqPqVpla"erTrgpVpjr8AP|s/@v%@v@v@v@v0v0u QtuRv.RQan# 6666666# E" Ƅdd2Fم=ك9 ؄%2 !!"!.!؄ׁ!c9{M{[{e{o{y{cc Tڟ.`llegb%s, lq%u: %s &*** F: '%s'3! M_K_v%04d%%-12s ()7%c $%-5lx,z. %-6ld(or)(ef.)ԠtB_(7&)*+,-./<>^|f fNF$V6t#1#2"$#3|||ol`org| ibyt-dc].ac.w`s!s]`woiގhishon|! dAbbruch3d8gb!r(bbw . btaatdatdriw%s$lx:̰%02x ??_ 9 "|n˖:ļ5 l#4}td51er--Aymr (C) Jue1n Piscol _1990-34 duV1.01D-(Sourceds( r#Ex|L)k-ot-dbDebug\informauv-lL lst)zeua-van Consolei-xhmeldzusaGetzqar.ou-p 'N!' Pr:nl: U -r[Zahl] ROM/RAM-  (|/1Adr. (ɡ)JwZei&lae% (0..256JtSoft-Tab(0: ke-Umwandl~$, 1..1]eLab'?ern' =_inier d@fwHsL???[,4msi@i2W... iٔt|.Ԕwߚn MMARGV= { ((  +A<BB\rb^ f   /ASewCON:A;UXPRT; k@$Y@ÈjA."c"ׄAy7DxCyFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<@ _Wi?$?!TD-@ $?#%.B9?$*    0  4* W  %0 )0*360(0 60 A160 0\0 Z   4 6 !&, <    0 R h.P|NRbZ–  *l.\0j$ \< d6j000 P(0'0@0 ^0^0   ,$ &X*%00Cl0`00H  0\0.@ J(" *t 4 `@&0WB L6 *  $0$0 6,0 0,:"*1 ( !2@0d 08 _*000 01 (B @A+0 O * ~g0 .00BD*e@"  00L1@@0V.R" H0.;$}1}2 0&JV\$ 80@10 `0@9@$"VPQGPP@R$ Uz 0,0 1U=@ P:0>0$&[Q0_@  @^PA 0AP `a(* 0ZF0 0 B192@^QqQ @0 `009@a^Q@ 0 E0[c@:aQr$+@ &8XD|:<*P0 P !hTP"80 (l$& R.4: ", *Dd2d,n,*&.R. 4$f.,*'0 ."($ia;0"= 0 1PPP00, @FH0 &:,8 ,v0 $f@D$dHH8P tBF&8  >l`|t L0:0,@sqp2 0G0r1uvP s pP pDA2DVhzԏ ()+=K"<+D6666666# E" Ƅdd2Fم=ك9 ؄%2 !!"!.!؄ׁ!c9{M{[{e{o{y{cc Tڟ.`llegb%s, lq%u: %s &*** F: '%s'3! M_K_v`%d`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ-lz5-C%?! BIN51.TTP=`78(KJ$f(ByO =/9:l?<HNA\OJg.@ :l`6 - ЭHй*"ҍ¼.A// Bg.JNA #> >/(,HhNQ6P(>zt?)?LT. VNVH87ЎDP nlDjXU * d?<T Wn :P& P-@Jf &B~Q>/...>O @g,PvP `9<`|Qg. gN -@"Jm,Jwf$V"fV"Wfv8S`&)X T!_o& / X@?%TGL#/-n(0`v(0!@o-q|>3v ?v/W0V1 w f9 / / 0n7R0117.\&\GP f A~ 7:-H..v؎bBnP g0Bk9&J2::ML:\:(3!TH3?E9R?ff:):J??f*W-Ft:p>qΦb` Zur``oa .8g<`RRGNqg*0ugDugPof n8 Ֆq0nmrBpJ@m?lFUBg"BTf"A;1`BLHG g<8P2W0g2<;`zAZ2"?z3z> 8Pt~AH1@$`ys@s@S_>t>{`0c /`2H偀t!grbm xsVtQLs0~X~ !J!_ NMY]P"P$h; J@N`!NnfA~H$`f BB`J".VPpJlVpDJlR/vd`BbdpDdD@-A LAm@0g(& / " dQє0UP/&4Q[or&P\>#` ?,xPo@nJFnJFl@V M( `"° ##,J8ı%g %j@&ѨL`TJnH ,f% XG(XP pP(/ nQg0H͵" :,A@Eo>`$?8fS&0@>Ѐ JEl ` Emx=UP"HePgXHf0(tIHmH.pPf0rUNz\rT.~\ȺxR`t0=4(\Юasg&>4Brs`jvDj|z"~||xGl 316XBwA X@.Dq;!Ala.(PPЃSh`p< >;R~;H^`*@ '@\D n耻#C?Gf|_.H4<\$VD\E#QxS" >xµD6Bʠ(|2``RR1"0:3`4&A"ێ23l7; f7:1=@r!0~P@`v 0{H0mT/[ F]1b7Fdb1..@*L fR`"f A B!:18el!q!v' `gSHs\ĵfS-002 _GlQ @"rw!|!SflLl@B@ gSBAgHwJ@Ax rnk"p`R@Sx$Fz2/^0NuSAVϛNVsw (MDa2 A&H. ηU\4$ S @ 0 *ѐo|lfDjվ²Hn O Gg 3r,d*x~}@@`J/ PI¡Rgu Pp)@d $Q BB`&p@ Bvd d``bd0_-A `"L&gHC H@@HCBCւ-C~j.JnLuȄH ..(UL<\(<\>6,z:y` `PwXgPdgPwogPugP_xg ^0 0dP - D.Z fΡRA u@&@B#(/8H/C 0 D m2<7E`~0A /0FC @.f/ (PW*d Ȅ| (U` Gà:}JdqfZ D j<(&D`=0P*@%L#b\$Pg2. g$/5 rL#f^Gg R<*L#Xp`D`=|D`8N-}faR8$0f4 0H&*f R=STW`"@fFX/B8$.f>H/Z,j/|"ʂ(l@$!Ġ}$R $@Z1H$SX/!:`o:.4!>0'g 5*?#060Q8"2mS*0 nn,!g=0H 30̠T=Ѣ#./4424:54@P`3Hfx62P`N.E`4SmPp0 URŕ  kā @t@c`fXOjO|OK4OFJ` Lfax$PS@asqINqB Qg$g Ñc!`bXUzæ 21\5tPn`nr5?}8TH  "-U-@BEK.g>OG|JGn|m`NB0T@Pmd@D@`8D@S=TOchO`&烪AH@$@JGg FGQdR@-@BAQ/,>³³ԟ׆G9QBagBB` Hmd06 ÓЃx0:q8RZ$` R$8$9n&B R*@NqfSE @BZ0L0L#0-XON}u.XO 2-Ě-<<¨"1<ŠDDCҨ$1D6C\P"(㐨"¼,м@n, LB fB`wм8, g jDh <r`V$ `fBH@ @bQBw @=YBC?=UBJ@kSB&<"F€JHBЂJjԫ$HBJbzBnDB Bcp`*` c <`6BtjABvD҅ ~a=V//PO/W of2>la>lìPO@ w >l0BTb2\Pġ dT&TPTFX v\ " \ <dP7-`+O 0H>\P\ <n /&Jq"y $&JjFFzJ| FFw~i!u"JfJ!n*(fJf_ "0Z%.㾜b fcBCD!E xzH@:<M8NF E6cH@~GG~GGH@HBҁрSEg:jփՂ`20 c&tG00c 6HCBBHBP0|.F΂Ć꫆Jk*RA҃тPRD D_cprq1Ғpx!24fSDJf" SAhHAJAf HA rD ?`0BA07~Gc 00z`XEJ@gRE0H@Ejp# |i2΁†SDLHDЄvX/ Jkg``*[`J % 7NE1F, `.*FHÁHC΃ƅꟚąz!x 1:HC>܇ۄHAHB>B@G@لHDHEH?F8:|A@A؇CA21D~>!kڅلSG cFHD„v 歊ȀۆنGk %c xz`1`SGOHG5v| 4O+^ExTFthK8:LMEOOI#b1RD1DHBHC.hPЇHG~` B@ 0|F20AHF0 a8(a.`0j{SG1d6^1HC,h ,ІHF|a$dLa*HEHE8BELaT`F0BdHG>0HA0afoxcZ1~a2@@xDjadh{r8`x8z.XG‡>P΀݅߅DLR1 ~=t`~|_QBu%C| vU,noname.e51,Pbtx*** 51er-Binaerkonverter (C) Juergen Piscol 1990-3 %s p V1.01ParGpp-*(absolute) Object- odpProg"m-Datei (*.o51F*Jq)mit ExtenH(wird al.bin gespeichp)!brsFehler: '%s': Uoef?fnen!QuellenDT̃ n?U)nL ‰UnerlaubqUtypTextsegmentpG) ab $%04lx,‰UJhaelt relative SGe!?Groesse (dez.) %ld Bytes bzu gross!S voll!a LesCefǂw~ҏZiel(sformat) Schreib MMARGV= :} ((AȢίBܨ=w {%=OasͿ߿'9*CON:AUXUPRTU:@$jYjďnÈkj:A.AscVׄNAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$u?OsPb Wi?!: ?!?TD-@ *q?*!.B9?:A* / ~}Я  v   t m@(,D0$  &8XD|:<* ,  nn8}"(lv R.4: 4$*<4t2V2d,n,*&. z. 4$f.,*   ."($  "  , @FҀ8 ,6v$f@D$dHH8PvtBF&8  >n$&`z 2 L:   vv  wx9GKY?jХ8+^ExTFthK8:LMEOOI#b1RD1DHBHC.hPЇHG~` B@ 0|F20AHF0 `2"`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭT-lz5-2aY ! D51.TTP@`f*-򜔑` Ȁ`L .8g<`RRGg*g욕g⦏@ n8 0nmrBJ@m?lFucNTf"Sb1@#`G pg<,2.g2<`РA8pt?TTvU ,ʦԢwAr1@zϓ@@3V>wP 2H偄!g*Sml ΓFLs00WaX !J!_ NMY"P$h J@NĿֿ迼A4"A2.@bH0f~ f`$~g `Q`bA`2V"JӱvψϚ *3 #0)S^V4ہlS^XQS^ ,`xHyY-' PNfޞ*H`0- |g s&a "0@pPo!TGL /HѪpz(@s0!`2g /)-FanPm@E)T;Ҳfr.ԀgVt0RgQ[BpP` @f m` ?m *;@ r/؄bf=| RH ErgwgMag ]hrT(@ZP.(H`0,*W`؏ mQVTBl |+WA l l vf:@0ћ:7@q/ܡnP{0fl@ `vfBz<|Gm blz.Bgb~ GR9R ()@9@T 0#$l"el lRQz(nj,>Am@0g(t /rqєG0A/qL5 or&@>Q`ګ?,P<}nJF_nJFl@:s 1(`" 㠳 g N$d 0TJnH ,f($X(p *2~/ ljq>A g0 o/ f pJW`g fS /`pBRkf<BsxVQ"k/EQi+x$S8i(aVDl3 `H#Ah-Jmi\/'Jl7Tb&Q ?r"fLqЮr!&B[3b6 !g :06j `!T|J@f%1*:`` @10@kʆ@j& %-Jy]"Rg3n(`1Nq.="kS/"/B/yR!4"`./!. oNX*@!fD`(M)GB PoQT(%&I4AP>E| IH遖CX [(@aTXL\*T -e*Cf(?` B@+@#A P`( { TfXCnAyE(MO*U`I0:8RX`tjQQ` m,Pn,Pl`(TQoR "QЁf T (QT*`* "Rf AѬ Q( S?־`<|Xa00cf&i1^Q"j R/,0j*mf0gBp4`Gg@$\c"HPgXHf0(LIqT=.P2cjT*bnȞ\%R$t=s@@%sg&>so2IDsK`jNvD.@z"\n~BvGl 3Ƕ1lX&!gAhXoaSrr$1%+hP&ShP~o< &rR-чr$ t*X\dΑVhS@Q202" "ˈ j&d$%`Q%l$QHЇ(@`*L,P }/!PJ@Rf4.@5lG( `  ӒPkmm-T1 \ln!>m䠓Ғ @n춞Ql `P}З4@ *zfCP&@*P8Iy8LVyGYNV(MaV2gA&H. U \0 S @  |l0fD(FHn ?ag 3vd6~@@`J/ 9D.eRgPч`aL8ޕBG4Al~D$l GD&gHC H@R@HCBCւJGg?D-C HsP.Jef BB`&Bvd d``b⋻df0-A.gL,6Lu$H .(U0( 6 BE0,!:ϰ`w `Xgwdgogugxg "0 l0dr` - D.{` feRA 9@&@B#(/8H/JCX(0 D m2<7E` 0A /0$gB!4 @.f/ +-_P*i` (U`? GGpW~`rqWd4P60R@?00Hnd009gR!x0fxfR 00fr`<.GRF0non0JFl`0(?:3j &H3`SFS00ogJ0l0]0120D2.s` \1F`SG0 Um`JFoHw`00<0|`J051 R&@`0 CR E-LpRђ0 0BgTd"^(G@* BG*P`0HCQ0>&ᲡR(qfV  K<&30`cPT%#&\$APg2. g$/ r#,ȴ^v0GgO_ R*#fX{pOE``=|`8ϰ-faR]PT0fLP0`V*f R=S_T`:@0*^XZ@NPT.f>`_r\_*RXlXTQN$j $@H?$SX/Q:o`o:.LQP?1g @BD%N`PG:b1B*A0 nDQg=)`< K`PT #]"1/jdJdRe"^'Pxc`0ff݀bP`N&""&.gj P$RLEQ>.E`4SmV-Z0 URɕp=?" @F` 0 D`fp{L^zw`PX$T Nﰈf0f"m$m ;򍱢0=bhU ,:bB NmW`Xp @g v߈¼HЈ*+@-?"RT ȁfZz fZ? -g@SLTJn.1`,>g3`0gХ@z`g*BqXfy ֐($XޤgSr^dXdby@ς/?- ~P;@͠0)LXda8wH m  r szhzs\A@gԾr Z Ж$πS@УyNqZ8g$g $RQ䐫CNH ѽA`0":,A Eo>`α080?/ V^ 0Hє0,d`lp@lҡJGEf#¹~: Emx=g< HHAA`}0^``}@g? P,PPJ@/n GF&FF!P>fV0^α P@e‚lf" ,İ(Ű9lOG|JGn|m`NB0T@,!mAd@D@`pD@Su '0"TO 3O`&}qH@$p& FGQAdR@>BAQ/,>ԟ׆GQ0QB`pgZABw`2 THm"d6AЃQ`RP2RZ$` R$PT9n^ZA R*@NqfSEN @B@0#b 636XONuXO lb220 2##"a/O# <&0 2{#$an/# %vbB"(@}@%"¼Tм@T L^#B fB`※50{8T +$g jDh <r`V$!H@J@fBH@ @bQB @]u0YB{0?u0UBJ@kSB&<"F€JHBЂJj44C#POxA P#VhOzOJ&OFM<:A:E7P2O_܇ۄHAHB/>@ڇلHDHEHF8:|h0 ؇x6j~>qkڅلSG 3FHD„v ȀۆنGk ]c xz`>`SGOHG؇2Ĵ0 l{xt80:LMEП♴(bRD1DHBHC.hVЇHG~` B@B|FjAHFB8`f=jSGd6HC,h ,ІHFW|W\Ƅ*HEHEO8BEFBdHG>WHA02@xDjбdhrpx8 zfG‡v΀?݅߅Dˁ ~~|ԗW]Ǵ0 TGT|TT|Td¤Ti®T|Tkq ~*TmTS[GY0oUdebHcr THTE$TB00TYFTEPTB0ZTHSJxTU”TUT¨TeT\HTTHII&zI,T4W:TUBTHT3ҲG#ҟp2\8"bIQhkn$ҕv$r~Ҋ\8=IDҬAIIҲ8JcK#LTwM8NҪOEC7JJ8JU8"8Y.8J3AT8J*p8!@bJI9oJz{j|K} K KU(0U8@HPKX`:l$t8!%KIwJ䓐ZwL  v 1 cJ , ? UD N gLi l* v ᮉL \wL $  {Lpp]L5L8sI+L!LM."8."8."M ."48 ."3 ." ыM ."c'UM_."d."jzMt٪"~ڰ"۪"ܰ"ݪ"ް">"հ")."K."81M!M$.".")."G!N7!P2'P21P2c1P2&ⓐP21N2R8P2-P2B$fNANGP2X$N^ozNj0U2v020U2020U2020U202 U2020U2$P2$XUO WTBXTB;YTBQWO68[TB@8_O]TBc^TBA_TBhcUOUTBxRTBUSTBJ zOJ !BJ ABJ aBJ BBJ BJ B878TBAOe!O88TB9 TB1-8;lR і3P=lR>TlR)?lR<5lR&lRG'lR_($lR)lRw*lR+lR 1P-XlREP/lRYP!A%lRJ zPJ 1*bJ Q*bJ q*bJ *bJ *bJ *bJ *bѥooooogQ7 Qw0Q;QEQJnoname.e51o#5GYkz{xrl a,@r0 w1vqtptU2v3v4v5v6v7u#ts*,at*qchduqchw/r/uGqGqGqGqGqGq/ wap subbuprqppppppO঄sjmpetb c4rrcCrlFpBeti^ppush po3opc,/wvuq#qpppppppv nsmupAmovxu p dpCtr) F0N@NF,@a+p;l@ X L r2345*670$2345j670,ťϥdᤄu~q~#}(tpppppp~KKߡň/*:*RRRôRʹR״RR6*,;5}l1lcallp?jz jnjnb1j;jbci@ђsӠq ѓq.Ҡp.ҿp.p.p.p.p.pd1tt?sGsOsWs_sgsӾdi AdeӔqqҠpҿpppppph racpz p< %-18s|Pl51er-Disassembf (C) Juergen Piscol 1990-3| k V1.01Par`V-%G odProg mM (*.o51'#*aPb3r(GP(-+RAbsolutes Textsegment,pRelativ+ Groe (dez.) %ld By p MMARGVQR f%((!.;64A(2.?*3BH2N?1pVMRs z{1|??????? OO-O?OQOcOuOOO3CONkPA;UXkPPRTkRs{cDv`@b@YD@CCjrA.݀~"c~"QCAy7DxCyFnH=c)\I1sKP1P=M8O?ZwH02g$uOs&. P. 4$f.,*   ."($PP""89aH`r&  w>`(`a;p, @Ff*a &Ԁ8 ,6Q$f@D$dHH8PPtBF&8  >n$&`z R2d,n,*<>Vt L2`:2`6`ʩrqpP ? ;pPWbtv  mRb sQ` p&01 j3"k3"Q`/x3"40p0v9/pb3BZ1g=|:b@g&pbeS@YBg25bhfA``F` @a0 mbXT`05P.TWA#} BJRJyJNuHC)*?g*).BTLNsJBk{SfNsW Ns)BLQf`Nq>.HgNO9g|W`f-/!LߌB`ϲf?:"T`$ |?J!P!RR%0.SnJ@fV+ -:$3BBlw`0:#g>PLv0pdW VL# ',".4#>J@^$r0g!`d`,<`kP0" 0d%V!t(<`k 2"2(Bnw ng"0U0? ޴T  n 10 lo/. C9 K/ 0/ Xߏ=@..lO B./z.P#>3f`HBV.L6ND9ff ~A0.B%f)"6R .""CTABN#|v8 D #&BǧBgAK(B>2MDQN`%RD\M$1W m0 Ю{ Wo2]FdX2.<<(G$4# 02|nU"v_[ @gS[]0?0.E4"5" @Vu\0T\XQ8 @HbW A>@@Aj`Hn.T_ 02Z 0 .`bD4T2$010IQb>bj#pf0 {l(0 gaU $p0$p0 $p0f_?.O\` Hqbm\bITps s a@{f sH`V(r_f=|"pHphbJ!0p0R`bp{0ʦrj0afag-2DyE#2S`e__bE8Z@&_PKurVi-|%Urrܒ0 Sql!n [2rQ 7fVF$RrQ9rPqHP! pH|-fT(7HZ#%(L PPT0T4|BPv0Pn4p-@PHT/t?L hbghcpvhrgN `N^#:PpTn1m BF>PސJf >TB)Q/g`.N(APg,xG vr;" ҀPţcsQC<Ƣ`nUԯ |QgVg& $-hJ{m,Nf$~wf~f5Ƣ`&<ƢU6T;Ƣ̆~0o&Ƣi4; ѰX@Z#TotHXސ-n`vZ1@olbQH*>LcѮf$800G? n8 Hp7b\åm@(AgpBgF%=|b`b@g\>sHJzߌ֥2HdcӋM`V` L1mv@fc*9":5g8H BRB<*n? BG`4A*ײ/ Df(@ f ^U<`RGpNXR@H gf0Q奐.1\C^F`$0RFX!iSG0f0oBCOP d^drQ0R⥕xqB01*@(@P AVabwHvH9n gAfrqB` PRZh"f@1qa`.faf$prOPO@A@!"P'rpp'P.pZ8sf*-RDHr` d`` .8g<`RRGXp;gNgZL@ n8 gՠ1XwrBԧ, 92H!m # 錂L0!!OL NX !J!_ NMYg"Z)"P$h/( J@X/Bj*Nx///p$A/+0H$=f @Bρ`J"YPaJlV`DJlpDvd`BbdmDdDU-A LsE P BQ$vx??4"_2PHbH0f0]af`$9g `QpbA`[23V@"3J??1 2A3IC bA#IB6PI@N lI@XI@ )@`j0yYCB PNnMfR*H`0- |g pܡ R"@߰m?4'jTL A^=CgD{pgb2$Tg /-aXBm ?-ˢG.T7Ub[Xf9Sr.w$TgV$UTR$TgvaB-ZUJQZU%VҀ@f mk bm *PVPmUG ^`bf=| RH E"6`w6pEagP*h,(@&.R(H`0,T`تA NxomGg~,Bl Y|+W1 l l Am@0g(P /!*є0`*Ip/]S6P@Pyor && ,qe>-0`Mp  \?,\S!rP<nJFnJFla@lR rP(`"P ^-0&-02cT#zT ugeggdQsha`QTJpn+H ,f~6-X(PIpb * ݂s2/ ʃxg0R e=P0r@`[Wg&4p>>`TP# z`j Ddv"o>xGl 3Ryʁ>s0XA X؛1IT1*Nv[51PSh`20BTRATPZ11/\Dt0n ?f|_.H eJ.!JfY.`J]FTfH pS>P K ggSq 20RutB8CvХ2H Fd2f Q1T叢22 H`"Af "bfuR`8P>VPI!U>6kB@"|p``RRd4`4 Ғ,lBҫ f4=@p@`v 퐙H̠mTC/ W\RF\p`.푫*L d fR`df <#42H\%f)-5ϜqLpB@ggSBAgHJ@60A5 rW0fNu opkPR@SJW2F52/0NuSA&2V/?A0a1 R @H:B> g梠 0ޢ 0DўE=!xgX *h0m9}ng|022a@$DaW| 2A@ķ'AABEDѦ oPAO2w`3HHX)-f1Rcа624/H& 65HЃ,M/0IږBRScJo g0 cDP@D`AVLDKAZ @SIaXrCFWps(Mag/A&H. pU`F"b S0g `[ Q|l0fDU"HnҐ A!_g 3&dSP~ 2J/ J/Q2 .°go!(ѽDL8BGjl~D$1l GD&gHC H@:0@HCBCւJGgD-Cpp.Ju`f BB`&j Bvd d``bߊd-AbwLomd-piBdLHmgQ .p(U&F(<F>pq]6pBEF,q:` `JXgJdgJogJugJxg X d - D.`I! @A &@B#(/8H/L0 D m2<7E`<0A @D .f/ ~D3P*`dQ q(U Gܽ6#@OU|>>{O|H:P40R@?0@|H5~gOgqHw0ffpI0Ġ-fЋP<@GRF0@{oJFl A`0Ώ&HL`SFS70g J7lX^fw0.` SG|0m`JFoH%P 0\J@l`JM|L RO&@`ZpE-L@S<d(*kBG1*P`0~PHC(A3>!HD^fغ2> Zp<(p&@nPP%fj\$ g2. g$/ f2ncz`Ggp R:6 *f#NXޠ`nP=|nP8pH-fR0f0*f R=ST`:`B:.f>(B@lN$ $@h!4$SX/:o:.停gW @E A*瀚 ng=ϰ TpQ#]Ӡ/jX|E(p֠'PòfD6݀DP`Nr.E`4Sm-0 U R Ơ)R:y`f(p:L`wLv@$ uS@vrNqg$ g ʢQ8Q򜣨Hc":,A Eo>`yt|80po?/P֠ 0Hє0, lf@lxJEffKh Emxy=pb@g<`X` HHAA`#`@g?uƠ,%VPàJ@n G&0dAFA&%Ppcf[0 gQ)td d"(l*#fm@>@ ,zV(k9l$0_E`RESfl/A1Jgޚ$fd  kgX$wP!`:&lpR g T42:6 =B`s" o/ f pJWf`g fS `pNuLrWɄ1 SRn$Af#K1 n͖`386@1@4o3X6\4J uPrPwg 1D@=#pԶ1N@d@g0v`2I@HoЁQP#РT-nB7MH KglNDVC0^OpBvDHB:𱸁?6P` o#jOt|OBBH grNDeHhOOfBOON.@F?D_bQ@zPt]`tPxT`OSX l-U-eBEK.>OG|JGn|m`NB0T@^qmd@D@`>aD@SCl̀hTOPnPO`&hH@$i` FGQdR@BAaQ/,>ccԟ׆GQB`NH gB` Hkm`dN@6q'Ѓ6RZ$` R$9n,z R*@Nqf{SEy @B70p%#b³9XONuxgXO aŒ8ʠ{8x(|sp"[xp  (|Ip$[܇ۄHAH_B>@ڇلHDHEHF8:|؇8~>фkڅلSG iFHD„v ȀۆGk +`c xz` `SGOHG؇|Ăa p:dxZtn8:LMEbRD1DHBHC.h$HG~` B@|F8AHF`8.4 ߄jSGd6dHC,h ,ІHF|%*R*HEHE8BERZF~BdHG>%HA0l~`2@xDjdhr>x8z4G‡D݅߅DR ~z~|e%+ǂ |aH,noname.e51H-q//////H-Y%c%c Ev K*** Fehler: Schnittstellen-Nummer +Baudrate %ld nicht moegl?0! $Warnung: Programm passt=4ins Standard-RAM!,Keine Antwort!+U0mstark5D6??4UebertragY0sf2dB...M0pw-xOOOODq <%d>dB tOOO_OGBEnden@OO?<151-er Download & Terminal (C) J. WickenhaeusP1990-P3 %s 0 V2.00Pab0eterV(absolute) Object- odP^5-D60i (*.o51S*^!)mi?t Exte;P@-c[Zahl] 6c : (siehe Hy0b_@)-b[155a166bKor6d6c^1. nur oRen, kPPVdResetGB5UA/@nbekann70Option!M0brFCkcoeffnecobc (Tb)Fp[Up %JnerlaubP'stypATsPxtsegment ab $%04lx, zcpPlt relative Sse!pGroessI`de7z.)92Byp"<czu grossL0;pe?0Pvooll! L`Dp7 b `Bo|0cQFCc, normalp:Qn^6^'am MMARGV=T 7Hf((с׎KA UB*0EpN H' H+g^ǟٟ!3EWi{lCON:pUXPRYTH)@$Yۏ@ÈjH"A.AcpׄAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs Wi?H#b?!TD-@ l?lc.B_9?|O* $İ$J ,  "8а Ѱ F *   w J& F]$2ڰA F ," QZ Z l   7 DL(0, sL 7 0$  &8XD|:<* ,  ה"(lv R.4: 4$*<4t2(ӀX&>&. . 4$f.,*   ."(  "  ɰU, @Ff~:,8 ,6$f@D$dHH8PtBF&8  >n$&`z R2d,n,*OG|JGn|m`NB0T@^qmd@D@`>aD@SCl̀hTOPnPO`&`72~`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ-lz5-7f!! L51.TTP`W KJ$f(ByO c/9_?<HNA\OJg.@ _`6 - ЭnHй*"ҍ¼.A// {Bg.JNA #k0 k0/(,HhNQ P(g(e?)l< T.&NVH;Xg(0.@A XL/0ZƎ6O `PB)W0R @g g ?<TN^NuNVJf JQoXg(X'6X `X nhgGL^ro0(e~)P#Jf2 nP֯.`s3nB Urg,BgrvT-f gyT?<d(.*!/%Y8+$"X. J'0\-@Jg nB/ /)JXod-Hc Bn`J H| f$ R R 0.HH@J@f`#&1 1lm#f!B#B# `# > *s(n gRR``gHHCL0>_H0|0 / /,jP>0f `JGlJg02P0`Jx28.23Tk&@2Bg8& R@?A"O /.'@ 7@ BB7|v@0(`)K L8|5~Wf\/(O:O:$TIW;3|@WjCKWd0A5xp5@@?.0&D/&.&2>`Z=0 n@c=|^QWhR2,2^e&0OGQ0n fLUB8X `.QgJY^0Q82mgW\`Jsl[ X$P2&<j$ AHP6F*! no/% IrSdg aMT@1bC{=@ZQ\&}k]i*!gcc> |a0g`+ S r=P-h`g B\,bt n`(`26aO"֦ҪLҪvҪҪ ץfҩ]:4 ]2f3Ba`3# =|``0H倀e p$-fϑ(H퀴C=\p;yW pq~0T/[%z#W pҰAٱ@ձ p޿X3A3 yհ;0n!<13D p^R@81Xlz0/lX\:"Ҙ f  .pڮ(ژ f]*$0"<l0- y!JXlX0pr+> lgU oІ p rB tgWj v& mwjN D p-z2W\&XQ^| G2Ah!COߜ-6*<h;"`|.% k41,lkX#YZ?P&*Rp*LOKƞ?O$dO"U1 8&$f*-$ !` %0`/b! .8g<`RRG!g*%g%gf n8 :10nrB20J@m?rrFJS0Tf"`41! 5͂0G hg<g2<`@uAA@`0\#~ja2Hh?e!x2"mغC 3de=L0(Xk( !J!_ NMYRI"P$h/(' J@OZN_$_6_ TAP_b[tqBT<a_W"2.HbH0T`fz` >f`$ig `Q`bA`2%cV-`"%cJ_o aU &b,a3qc 8a#qbVM`0*w)!lhw`0XU`0 Q``Hj@Ycb PNmf3*H`0- |g  3"@m?T?TL as^ sXg0q`2Ltg /-$m ?-; TFT_ub8{Gxfasr.LtgVLutRLtgmBu1<ܠrqu=P @f mY brm *p~puh Hq(M`~(" f`FS0. J@o:Sh*Հ0~d R @3` )f3 B nf faH` Nq@;sgw0Lt{AMsg`g$dpX sp=f tEX$sg\qs`qb-*@~u8P;@*l (^v8S)-nl mf ` URha? &$bf_ RH Ergwgagh^ae:(@Ơ.3(HF,t`Uq ~6mBUe:Bl !|+wW! l  l f:?<0Db=Шq}0*AS5FP00lvvfB<.0Gm tuȠŧ.Bgޯ¦0 Gn39 @n )@9atv @#s¢R)PAf @XB ?e\2,>Am@0g(p /~є0-Y/rܻ`dp޹or&\>]` >?,V<0nJFnJFlE@b Mdp(`",p @]]dCtյ%Ձ'ނA&`TJen H ,(& x0€۳p/ @g0@3BgVx#`` 1 fHU`$߀pPyJl cpdp(υTdGr<pJ)kl(>0ry`@A{( іTDa Hǐ`4`}(Jg "KC "pRЁ` `A丁 ʜٲ"1:,AdEo'>`c8 pȅ&`p0k@ȠEfQΈ\Emx=<߱HAoA`80Fhlvz,1nF&Ƞ@Ac@}qD\0yҐHqd8ɢƭ ,9l}6E`RESF0:AR?T.`fd 1gXǡ`:&l  g Nv|%` \0L8y o/ f pJWf`g fS `pb8@Bp<BJ-g,q/aCA  Vʔl3ې~ ,p Jsm(`8Ѕ03@VqLЮ&z!2GP koa1T|/J@f/Hn! @P@ lJ]=0g3 T`!Nq:.""qS/""/SB?"./?\.g 絰X:B@<``(7M)G^ P$zqfaavh۲#!cP%z(ށ3b> (@֜AavB>hB*}Te*3f(` ^+ 0#1 P`( Ya7vf#2!%(M*U`dhJEvr X< TtAQw*@(mv`wm0n0l`(T$A{o*B "1Ёf T mї1T*`* "FBf 1ѬΏ1(3ڑ`UXRx^\JrRTp=`#r\Sg&K?p>`#|pgT-`||``RCRJF2 ڄ`4p!"%~|l6'$Ĵ"+ of=@rk@@`0H= mT/ۄHV&?F..؇R *L fRߍ`Ff |Eһ`g0SiFs^dH`#\f- =PT?'zHrKP 1zAl2l2/3PrXRgaaB:ƹA @"rS@L B@gSBAgHJ@j=AR rHp`R@SfFIT2/0NuSAZ?VcuA R @/Hzp0۾ g * ֊=kAxVXJ@ h0m9}nI|02aLXaAL![1AvŊ@ o Dž@HRXyqA-wf(PiR@2/1> 6^HЃ|Ͳ?<[ @|S@JЛg @f6,z:p` `wXg䚀dgΚwogКugš_xg  d@ - ?D.`?2A п &@B#(/8H/#X(0 D m2<7E`p0A ? .f/ / bP*T$P (U(P G P#l$j(XRql$PP&0R@?J K@xWg,>p0f.>pf,0 }qf@fa_QfUa Cu<Ԁ(G&@)PT%0\$]0g2. g$/ 0b/8PGg  R*;X`/%`@=|@8p-f'QR*40f&00:6*f R=ST` nb8 4 N*4.f>:?L<\?*žt8l241$D $@$SX/ r!:@o:.&1lpg U$&М&ը.#BAn{* n1g=@ %@sTѢ#/MpD$$D&@`PIRCfjFxBwP`N.E`4Sm`-b0 URf ]q6`u `fJ_\_n_[&_8Z`0fLbg3]p`: d ~cgda:ub@ BSa@g{af / EX~fR 4`dgfqx$d`S@;@0@rqYNqg i?g$g "r!? W8>fc.`dr`@4c.cc;|~fg Ph BimdseT uH䆡f#S`b0O n87$4UoX\BRaa `:g Ds@=W|2Ng0z2HЁQV#C-Ē(!溍Ngl褬J0ƒ̔ʞn$ATP` #FҟNWgrh@);MF$AUP-ʭ`ʠΤ'l(dH %!-U-PEK.g>OG|JGn|m`NB0T@`md@Dw@`D@S9TOsĠO`&烜QH@$P FGߒQdR@8BAQ/,>Կ׆G]QB`PN4!B` HmFd6e !j@*RZ$` R$*49n4! R*@NqfSEr @BF0L0a#@NZXONuXO BN M*,,G "A,: G0*`44̟ $A4 ؟0B#|""(x  㐾"¼л@ >'B fB`ݑ@м7 "g jDh <ro`V$`fBH@ @bQB @YB?UBJ@kSB&<"F€JHBЂJ?jXa$HBJBnDB Bcp`*`}  c <`6BtjA;BD ahb//0PO/WUJh oeXeXb,PO `#eŒJj<^^RP2`S(L` PhB d  ~  üRddH0Hef/2/D/h/0ql" $&JjFFJ F¿,w~!"JfJ1n*(fJf "@Z%.+b fcBCD!E xzH@:<M8NF E6cH@@~GG~GGH@HBҁSEg:j߃Ղ`2v0 c?&t0v0c 6HCBBHB0|.FĆ꫆Jk*RAтxRD Dcprwq1@x!24fSDJf"&0EQhHAJAf HA rD `0BA0@~Gc|00z`XEJ@gREB@H@Ejp |2΁†SDLHDЄh/"0Jg*]pJx B5f7NE1F,`.*FHÁ…HC΃ƅąӄ!xi1:HC>܇ۄHAHB>$R@W PڇلHDHEHF8G:|,QDP@Q؇SZQ1@T~>1kڅلSG FHD„v 歊ȀنGk c xz`b1`SGOHG؇Ć O;ExFtK8:?LMEOOYL3b1RD1DHBHC.hzPЇHG~` B@f0|wF0AHF <7@fa8DŽa`~a0jSG1d61HC,h ,пHF|{adƨa*HEHE8BEa`F0BdHG=>{0HA0oc1a2(P@xDjadhr`ox8zXG‡P΀݅߅DR1 ~`~|Q{BށCN UQOrss}t,>VFYVV6VeDVPV0Y|VVY}Y/ZU$HfsǏُSpeicher vollMaximal 16 Object-Dateien erlaubt0 oeffnen?lesKschreibKKeine gueltige(Mehr als k absolutes TextsegmentAnt fehltProgramm ueber`tet 64kB-GrenzeSymbol undefinier^doppr InternSystemer65k Debugger-SourcezeilK-K:e100:d1?Zeur positioNUnbewkan Opntax'*** F(: '%s': %s! ϫb͠ѡAbbruchdԤ !$%04lx: %02x ?? %s #5 7 :Z`<%-12s (macro) ,u%c $%-5lx, z. %-6ld+(error)(.)t_relvar(globa51ALink(C) Juerg5Pisc19W90-3 Ѡ V1.01Paʐe-)(*.o51)yit odohmExte 򐧰-o`ƕ4e9`-v`Listing (wie '-l') an Cone-l*.lwst)7zeu(f >'-d' assembleV`)Tp7 'N'  r_q=Or[Zahl] RAM/ROM-C0NВ Adr.U F()TwFռMlaenvbCx0..256-tFSofwt-Tize: kkUmwandlung, 1..1pp ???,s7q)ۣ... AnzH(^ %d*Xi`:B7ZGroieH%ByK. VariabMhSewbwdǔw ѡWarnۥVҒiedeemDen堈vjDi7nforh5:lJ\ MMARGV=6p_((KAUB +e WNo#5GYk\CON:UXPRTlsp@Ym@ÈjrA.<1AcׄAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs#`l@ Wi?}uq?!TD-@ l$?l#c%.B9?|$?*         4* X   4   6. 2 0R 4  !5  $, < +0)0+0 ( R? w m0 c s1 B  s0 0 ?0 0 "#0 "    01  0  330   028@C*<@@ 4,-DtD1 1 IAG0JN0! $: 0m1 +B(>80C&"00  0@ 2D  B$  &8XD|:<*70 , s0 !H"0"0 (l$& R.4: "6$*<4t2.Dd2d,n,*&. . 4$f.,* +0."(m$  " 0 0@  , @F$ &:,8 ,6!$f@D$dHH8P tBF&8  >l`z T >T L :  TaP"  ,"o.fv40 -IcW`0[oigO`zj(kB-GrenzeSymbol undefinierc0輚b6B P`mbvo0|=`RR P‘`40]nl犴 f=@[ @`wv *P HQmT/wI$F$. P*L fR`{ݾf ăr$'2;\Ff-CQWe63E;"(7b1B 7 6P#.9~ @1r9>Ss"tL.B@DgSBAgHJ@LA4 r*-p`R@S:ԷF42/JA0NuSA<VEW1 R @H j gj Jj =uGxjXjnhj0mj9}n7|0ʢ2ja.:aʢjA.=1AXn omu2H`#vX`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ-lz5-W#e:!! R51.TTP3`3KJ$f(ByO 8/95p?<HNA\OJg.@ 5p`6 - ЭnHй*"ҍ¼.A// {Bg.JNA #;: ;:/(,HhNQHP(;.(?z:T.] A# 3RyNuHC)*g*).LNsJkSNsW NsNV0)3nf0`FNqN^Nu4H>.8gNO9gp|`j-t/|LߌSB`*f?_LT`$ n |?R0.SnJ@f3dlE;`0g>9}0p.{>J@.$r0ng/!`d`,z,`P0w 0z,`w 2"Jf(Bn ng"Z0 HXx# T  n 81;0 l/. 2$3P+: K/ M0/  X=@1 ..l OW 2$./.2XP#33f`1U.L>jn9$ {10. B_%)|6 d."3T2:Ȁ:#z>@ BC= BBghA;&(3=bVDQ/:`|B=R<y" v14$2X0"@OK @gCJ"j$-|%S=|n 1BBYFV53n*BEB|ZEPR`@H pH|-f|^(H9@PLZ0Tv43P4t_v4P-@ w` PbgԾPcgRnQ!m\/.?@\mU^1f15 E`F1l`>j3"k3"Q`/x3"40p0v9/pb3BZ1g=|:b@g&pbeS@YBg25bhfA``F` @a0 mbXT`05f*S-QZLPPR` l 0`Ё .8g<`RRG`lCgVgb0 n8 ը!mrB(@*@/ubq`*IPB f. Pg$BgP`\!m?3eRq~cTf"761QP Z0ZG $gM`0ʃ A2H偀(!lm( zv(L0Rv;;2X2 !J!?_ NMYob"P$h J@`rNxAлn#$_f BB`J".hpJlVDJl@`Dvd`BbdhbmDdD~p-A 9R. B"CqϜ"gp2.HbH0f f`$g `Q boA`2V }"JϬ  3Q #Q)6}:̐Qwl6XQ6 1L:Zq ؠYӍ PNvfZ*H`{0-!g xsX Z"@mԺX!0SfpgxX"`2,g /-.XBm ?E 8T?$'D!.,gV,R,g.Bbv\0RblP@f m1!m *^ui%q_<Bsq,al_/)8Qa'B2V8j$J l3|, 1 2 PX`'Jm% LJl3q2]2fN~ `&"g r1Oo}``_ Hnr1W(_B@* VJ]w0g93m`r1P .4S`cHb./. TFX*@fj1(M)G PTZvѣ7HZ`P< ށ~V(@Jf| (@q7H0Af&)1AЬ!* )s0J쐼**-HafA^'Bp8Φ>;PP\#"HwPgXHf0(_b7LP]3UR:P2X>P 7KgR4=sP77Fg&JGm>s\+XC`jFD?J"O.NwLOFGOl 3ǎ[ ?@9A$X%"(Q+6a3 B޴!PSh R`Cf\3$`v,af-arَQ`/&L`B@ggSBAgHJ@PANu opsR@SJWȮFU2/ f0NuSA~RV_P< R @n Wg >`0rg8b 1xtXؐpoh0{m9n}|0"b2a`da|+ "bA`AbaAe800 o@Rb\pZqH -fI6BEN,$:< ` `Xgdgogug}xg  ,d20 - D.` y`A&@B#(/8H/ X(0 D m֠7Eڢ0A .p4uH .f/ /$P*q^0 (Up Gf0#]v`; 氵2^1;\Q+FP0R@?`u`\Q&p`gf.0f^ff0N,f20pH5 2Rf(bTA<(&u`pP%ԣ#\$g2. g$/5 jBԣ"rGg  R(@`*ԣX@`p=|p83-fa1R]d0f`0t*f R=S_T`NUBrrnd'.f>t߆ܞrUllԜf$~ $@R"t$OSX/CR.:/0o:.`јSg *tV`p`uhN♱* nXg==N _RT2#K/W^`u޸PNf!怲P`N:<cg@.egfgggFsgLRN.pgj48CR E>.E`4SmP} @0 UR0V 4ЗHQpr3`f`r` {pL<㥼[q_ TJ10nb{c,oFXqgaa q |gfm@ B@gc}f / \Q2@Ҁ <g2. g ml 4RVxXg B>g4$`"S@;@Nq$ g$g 0 8.і@ ӖX1 ":,A^0 Eo>`80{?/ A 0H۝$!є0 xlP@lJEfԣF@AEmx=<`gOG|JGn|m`NB0T@@md@D@`aD@Sl;֢.TO PO`&H@$: FGQdRw@pBA>qQ/,>NsNsԟ׆GeQدB` {gnB` ƀHׁmvpd@6ΕqЃ"ѤbRZ$` R$d9nzn R*@NqfSEy @B]0%#ف )XONu> * XO [)P&)6E w4"AjPwaڀE ς4$Pσa|]"(4"w¼Pм@P7 ߠx"B fB`pм8P R#g jDh <r`V$YH@J@fBH@ @bQB @ɐYBϐ?ɐUBJ@kSB&<"F€JHBЂJj*$HBJBnDB Bcp`*` F c btϘز" $&JjFFJF;~$JfJfn*(fJf W"v@Z&.[(b fcBCD!E xzH@:-<M8NF E6cH@v@~GG~GGH@HBҁрSEg:jփՂ`2 c&tc 6HCBBHB|.F΂Ć꫆Jk*RA҃т`RD Dcprx,fSDJf"VhHAJAf HA rD `0BA`Ð~Gc0z`XEJ@gRErH@Ejp |†SD_LHDЄ=(0RJg*J`Ϲ rNE1F,Y.*FHÁ…HC΃ƅOąx:HC>܇HAHB>T@NPڇلHDHEHF8:|-\t p؇Np~>?kڅلSG FHDv 歊ۆنGk `c xz``SGOHG؇ 4Vxt8-:LME$6 |bRD1DHBHC.hЇHG~` B@|߅FAHF;pg8jSG d6HC,h ,ІHF|*HEHE8BEF BdHG>HA0# !2X@xDj$!dhrx8+z}G‡΀݅D ~ ~|: " A6f0?<1Tf"m m ;+7F"h0,$ Bg&mM.`Xp3 5됈`A;HЈ*+@0.pcTVd3f 0B3# -gL 1PP:*** Fehler: Schnittstellen-Nummer ;Baudrate %ld nicht moegl0! &. . 4$f.,*   ."($  j:,8 ,6v$f@D$dHH8PvtBF&2l`z R2d,n,*&j0H> C(:x_ :B" @@ 0 P~u0CF .:@d@CR0R _X@._ AP(@" 0*"" N>!  i0B@@@&8zQ,@@ * 4$$A*  z@>`vf`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭ-lz5-u "! SLD51.TTPC`h-<KJ$f(ByO /9ߢ?<HNA\OJg.@ ߢ`6 - ЭnHй*"ҍ¼.A// {Bg.JNA # /(,HhNQ|JP(((?)KT.NVHdXg(0.@A L/05O `nPB) g ?<JT0^Nun/.5 <@0..ZXjZbj\KML,fnC?a/)/Eb/D`/.vF/X/Y,/? n D/$C/` n R H?1f0H? =@ nPo=|X1(HBG`RG GPmBd3 Ћ(2.@0H(@*0`'f/p=?0CP/q=L0:4g2PŽPX-@ n@(|g,:A1|^0^0002<A:AH!w@`@n@0b.MNC,пqR0_OqO؆ODOLBn`@2=!aR PV0_mxJOPDOE( wyf,{`,:?0)ۻl*1SBgBg4 ZRUR.E @ (B@S?_V&R_oX:R.(o:oXENRD^opkRTb(rc1RRoP.m:4J^Qf2A# q$paR@R0R-H{ P`Bp:@ABpHnbrzQ .R1Xq>@EAU1cc ?0Xqpr?VHѮVs Pf :@Rp}" P`tpd3"ҋOop\Q{Q:m:\Q]"):q>tl A2aR0`\qNTQ1\P|gp>pXq?;s P5A&P&P\PXqhmLvyqB%pҒp rxXp`V@M6Jp^pl nSett~u4ƊԊfƀUrBƊ pڄf\Pcb6`\چ:x'(6Fƛ=3\Pnqpeg&Ph~ppBm1:5Ӑ0RL@R ԁ! (?TƥWp0p% P`,agQ1R0|7pV0m BzV0 m[ZJn%f"H`XگƤ&` |g꺰gE@&ư~ȡ:4lellX+(=5`0\QhCA%p38|2SAAmSBr^.MaR0:AbjDbtzvxAa!R@nrxQa0r_AS qom(ĎX`. q2mBg )[2?P(ӓF0:rzbdp좸_ж˴BŐ,Fq-b5dpkvgf1:g \tupp`g o/"fZ*3\Q|0B$#`ݎ P|qc[P3z ZVda7@dm`BupEUA1dp.tcu_D @T~X5H 2Vm`A(V0dUr.HY"`fpfL`0:`&:)@P :"Yp;3TBNdp!ָd:@EpԔ"p\^0Pj Rb^0"X(0m,-%9n'H0AR0`!`$g%g^agNPѼ/ fvtpxqNvoF@ڈv"TƀaՁV0ptptpp*>3TJ@@5>&PLEipN4Pm61T?$?6Z?T?OXTOfOZ~O Hl4V #JӑU V`dD>8WP!ZYDnVx[CZ<4Fq"NƠ5PHa -f` طT0KfR-B<$\!tqgS`f(4p0:!ee0mee9oad eeegqtfch`ߡPR,dtp`eבeb&q!q#q1g-f"2e0:?`&i^>f%#A1R/ެSڽN`@02!Vm1dܑ=nVba0U`@Ⲃ&` 袷t6.! @1/.ba?ba>%$0gb bU`4b4(!J6hb@܀ "]4lF;Rϰv@ދf (\ơ*ސ(t$fUF(v((A_BIИz0$g0r Xʞ`8`j@Fv@mW`fZg| B!f #Ļ`$eHT>$(2(@`P#jBRtdP#dH"RxhzόLVaēϥtaܷtY`u* A1 p@[dgN `6 0a4fr|Bj@ԤeQm2/#@nP >V*4<п#@.@ִJ\nۂ߀ߦ߸DJV(e V-`:FP#,zC0<^ `0#@4o@A nAܢmܢf"7*(5\ &nD3>Aef(Vo| fRfZ1QT` ht1璻??2֢`iR(_!  .z@8t(A&ȁ@.QP0?g1K@@ ( HZ 8U"bp dY e Ȳ ZPl!IѺ0(| H kކb\fa$gs*|'g"l"@yHBhGQ1P/d=fa17 1"4r8p!lp% ?js19?faa!U0|2|%,Pf-p!A0tT^PS?5~uD @$f-0F`,&6VL sBFf/`` 05`f#vY@ @"O17`m&>fAFe XffAt*N%%JthnAVl>rNR|qdC`(qp%t S06jBJ"mvOmj2–t4~8fe"H~8a`-Bs`"&Tš*"n~>Pg_ހ0m$7n1a8?A8R‘"a.@l2f ,?A %7Z-C=4$2,B|b'v/`Hwp2PPvS99X>0Μ̚cev|hgilePTAAce$T\PVbc@mcL֫1g@v`cRҠج4 \RzԾ-s4p8r8p8pr-֡@ھ\+ŽltԒF4\kfΖ`ΕC؟d,b~,$vTrZlttL OAtטcb>|B6fEz`R8BPdXjTAzd‡aoPvPVAZXop]Oߺ@D f,b>@S8h]P`HbdTQPTPA(!!PJf?@bF!}mҵ&(1 %^@*j|0|ғ¾8 <2S@&DJD˂r)LP"V&\*` 1|Pgf `,mvp/~/Æ/iג`,/Þ/æ/ì/òX"-f!v!|03ü$?6?ëN?:7e2QglRSh@J@m3 R @b`ѺTQXӱ @f7rXB` f=| ԢPbTQT)!4 BZXRVS6A|AfPZ0@_=|MdBxq6ZI6aH@AP`tEQ}BPEH={|GmC>=|OmAw4`2fgfwGgfHgfwKgfMgfwPgfRgfSgsAT0Kjg;А QUq>1Rv@AAR@?mcbs /p$\)!Vg0B|XQAnSAZ` XU,Ҁg8HnR`b UЂgbPa8Z\5Zj6bk?QZFRP1H{?Bg4be`$i eAWASW]a1J/ ?ln0C?0T[ d(2g Xg Xf]ZR\PAcbeb˂X Pa w|fz4l`m2uD2KR]b|c- y`esB]brtdbrblcd*dddb@l qak.Tgpl@APB H`Vb2 /rR@0XrSX|1S{AgDTqqCUAT d EfrJq`"*40`0Xm;PT`d`l`m`.-Ȳ 鮃`THPj4D`x 4T@cƐJ,4>&FAmҔzaؐZfDf@Gmv$7g 0k0`JNvbvQ@(r5qt1`8 }Pؐ0mJ0o*d rr`lRsfjHdP'TfVRmQg& 6vM=4|ԓbk=PHwэcHF!8 h Pg*-P`=n%p1Q@xpӰA`R`be{c`>2hP#"[IMN:1p#A,OZ<ӂaPQPH'|7,P҃̾U#ZzUOD}Rށ @$q68pZ1$ZɞSr$[*>8tZ 6bSv$@[zN8|fk.~U Nqg$l2. 2mc2`X`(8Z L,3gzQ8=0@fTSd`g] Skw)?ytG<.Dl`8%Z1ǻ84L4Z4r#H@_ p4-1Θ(dAQ>Q|0TX34jؿp*4B/<ٶ傹`0bg0cgzNuL`&aXU p Y"c|o\Xd?]QvW:\#b!Q0{g QHDfB.0dNU4|60"PHBfX`fTpThQ4`*JD@XߦҼ<Ddggv!(e`(|Acx.0cp(@MD`@|1j.`(@QtBmR*0utBg<惰`*`y!D3`ѐtS*{dU>>z`ҞI`B" (@,4b@N`n@|>@H *(n ` gRR``gHHCLW `xfRRtgf`Rݍl 2 o#Ͱa`NqHfb / /,*O]P>0f pJGlJgRޔa`J(@PT&@8 2D/ R@sLRdd]P'BRB7@bB[7(`)K L8}.2wam zo"w_g\g87D46fpl~b 6 1@(q. [`.L wy `Lo&1|uY"\Z1~L. -PH AB/p$p1 `UR60:0* . ͙2f@& g &+ &-f1 0!t񾢨:0&(fT !.`<HЈ:a!4)g` #g !&!f&C}F)ppQ|8#v&am+'zo&\*(_f"r/%\tp&'fb !$B%2~{%H!Dp('f#$?%^Tkg"9 /pDh9rx1`"( g1QYvXh1pA11BS9.p|=@S@@O4PncP@5qW@@,A.q`n h9"0z3XG!P_ `C=h1SAl5WKv3`@XOOEB _4_E5RGXGdEI^OFp_$_A]_WLB_T_ iS_o 5R<_6oE/ 괆 ZRbOJ0p:^opoj ,`WnTo^am9 `8lTKr pV&/n=]q :h@K2~>p`V`Zd,D6p~\` *`` Y@0cw@  p" Q NTK1aGC|*G&o.aUH|h2`‘AdmOgIo:(;g,*(,g|%:fe 0C1A%x 8h"Jn'c{.SLf"0(JAsgS~ R @1ЄԲﰁl$HאA 2Hr@26NT L{M6ĿfU-h@!;`HL gPÌ}yxd]1A { Ѳ@1XgcB Ҏ 0& ` F$gF%[gBh =|'Yxf* L9!fn! gj@0m.9n0`nm`02/Htg2"Hc&@X"\`Yff^ ӳcxH n lW"v{hf?@-* (T0ip22@Z"A@>lH`vђ?I`wT nQ dF` Z h=| ^<ugѼ` R?`\d`d|Wgz  &`>w A ./@@i=0`f*z$\f6fgfBz@j`CfT$68^d^ZL&`#`vѾ "^_[\A0"8/ J/\///h&$"1{/H!n{^ *2w;и"/.Qd|?pAA1j@b`b?%03?:`8FgfF0^F0FgdF0F0F\0q`@j@`E2fN9bf&!fH"RRlN?Hf&32]@_f ?<.=VlІ`=&bP=@N.`Hu!aH /W028f `&H!J pBRAn mGr|thi.00MEJIf t(2@VW2 mkV9- z`"t:!2MmҮ_c-mP`_W`,2[fN;S@`N*a2_DVvS@6sbRo@Z g~o@[PfVodovb'd*ol*aقood.Ю(PET.Gz*om>o6nytlSJ`{ JAPg/M=PrXRA&{Śv#dRZBJPg~q"݀7@p,vP#JfY$?BgBBAL3rMyLBgtwg0FXfBŲst@Hnj BӁ؋WnX;Lf ~JBpADVA-H-Bn`VZ R R0.HqFH@J@g_iDm'`l!ƕlfBI@'!@B_҂Ku~l౐XX/`.RZC-PvP gZW|[l6l2fS@M"0\°M`;vQgGCT=pi@[xGéc X_l ܠ"QHܧ!dTnl@oo6d44RL !^ꎺ L. @@tmTsNJ)d"jܯRt"P$ZPcd@QA. glIiMZnz Ŀֿ辄H H0"ZƐdϰvψ:_S#`į"ߌhϰɼ"W`Z@ A@@c@pԁAzH!xag#ASѥpA@fNEp-Haz zBn^~o(M&vP"z8`Rfc\nL$&=PQ-m 65 l#q|QޔQ:mdRfdRf dRf`uЄ;pn~P:x> @o"4:”Qoal>X <6Bu%6X<2?br2TIfYt6HQy` (4P`@!dSlxoc"eQeflĘu@=A*!.TQ)efl~Pb n0(fF 0"*!qAUSg"5Tp$0nk!1PA!De4dT/iя8.`.|sSfNT7.3|PBfX6?x*?>YB+e 00NQ*d+$k@$yANuHC)*?g*).? GLNsdQkSUBNsW Ns*Q|q&ȑ$f1`0N}q&UH>vB"gNO9Pg@|`jB@-C/ALIB`?uDthf?tq EQRUSn@f [MD3'dVATCl@P0Cg>wBB&>,C0p DY&6SGB.pB>J@lTr0agmQ`d`,\`P07RfP0U*Xȸ\`P2V7RRBXP P"0P(#*TKg n y` lDbAN%jiqK9a `:!tJ$]$Bg$U+ bb$/$bZ:Lcf+`BA"b $?k@AU9@nb@@ 4q!Hr_%@)B%6^PA$"chth#d*s s FBBgqkmDtQd`r}JUDmSvC,CzJU^U`fX`*tUM<$DCPr\bzbnRxsfЇg\bX` "BpB PۃuƤ 0ڄM7bJUďb,?$E0"uPgTf6ЪP6Д6 whoLa"Az@0CHvΕ*`( H"0fzqDN2`!pʛhܒm*PfvA{J@gP{F03 h @Uؠ l0ڃsRfanRP`aTx(CM3 6j0J:k/6xjFyBQnR.M~% @Bn5?BB6BKCq0gd2`4TBAf6C`2A0LS/ 0Q"_b8H B\B<*BgG`4a/|f ^-@<`RGzH gf0巰Hb\hF`$0RF6!SG0f00-ip:He̤`R*b4B{(*@(@`1!СlH͒߳4egygHaB` NRdѰ|"f]@ޒf(0vf$z=|ѶvAA O@!A"N'߶': ]zd8f_*-Z9R` n` .8g<`RRGb&@EgXgdp n8 ժQ\wrB@`0 51(!mf* (oL05P2AX` !J!_ NMYqd "P$h/( J @bt NzqA S$ pB`J"񀾑JlVUDJl&Dvd`BbdTa\DdD-A @JWBG6l~D& l GD&@gHC H@J@g@HCBCւJGgD-Cp.JwJ B$ba6HKT"i2.HbH0̠f@ ̠f`$@)g `Q `bA`2a#Vi "a#Jӱ8/J/\! b"*h!3# t!#"&+04,All14X`4 Ax̯PY#" PN-f\*H`0-Qg z1 \"@omE&DQn@KVh<3wgF4XR`24g /-BlXBm ?- bT57dv98Tr.4gV5TRn4gB5ˍ`15lP @f moQm *005X 1(M`Ƒ f`F.P *P J@o:PShf@(<A R[ @` `baHBB n f!H` Nq\w?=3Cg GN@e4R3`g`G삯0=fE4X`A<3/ga˜1r<3R"-5P;@fFNzÄ68SzeA-Al mfN@ `|-TBV UREĤWvA{A9bf=| RH Ewrg0`wg0`sagS@Bh(@Jf.\(H@,4`Q1 V>romAgBqBl cᆼ|+WY! l l 6af:?<k0R"@F`U2P90Pl `vvAm@0g(6@ /0|xє0A Cp/ R -Vord&h(zq>`Gpzkc?,WP0@2`(K( RA@DZ! Hǿ`4`(¢g áP ``"0ʠЁ` `A lQ&":,A܁Eo>`ۂd86@rb`P05@pEfɐ "AEmx=6id<7HAA`0cDAn܂r&pP:ѐ2ASA"Fv`1܁@^(TrlB&ಘ}9lE`RExSF0aʐHؒlfd gXlqP`:&l`R gW Dɘq0L8r o/ f pJWȰ`g fS _`p'(@<BH2-@gh1/qg۱vԯd ~VX!dl3#Pd8^gJm&H`ZߊL3 $Ap2@%ЮpP&nX`@Ƞ/ аomsT|J@f#y(Hnᡐ'$@@h J]@g3[`NqN.G^1S/"-/{"p./9r. pvLZP@~s`(M)Gpc Pc1Laz6*Pa*rȘAB%R"$s$@=ܘ`##g&.p?$@>0g6$<>'`jL&D,/>*"Z/l./>(Gl 3$8svPߐpvjWkRpXbH~H< kRRHD4jS$@ 2\v@"AMaS@Q?3202|?8" "8<>Ma&p$A~+}pl1Ї(@`*LxY*A /ϑJY@+fH`4O,O>ClEE(N `ɐ&yiAmr-;bRD ZCxjCnѦCnml E`P=gAlA2 BQ'+*qSdP$S3>Up(G_r6]L<܀t!0!rXXa# A2@(UrLRYWVWbS3Rw`gogNY`ⴱOSAHx>Fo"~ЁL[Dnf}?f|.Ie1}qf.F(ᐘbBgDTj@f}1LTf8 Z\2pjcgSq`j >0rcRb>Q~1mrj>к!,Tj>Ї 22%q o(`"ZluF"bs\kfr`ssyz:5brc0輚b6B P`mbvo0|=`RR P‘`40]nl犴 f=@[ @`wv *P HQmT/wI$F$. P*L fR`{ݾf ăr$'2;\Ff-CQWe63E;"(7b1B 7 6P#.9~ @1r9>Ss"tL.B@DgSBAgHJ@LA4 r*-p`R@S:ԷF42/JA0NuSA<VEW1 R @H j gj Jj =uGxjXjnhj0mj9}n7|0ʢ2ja.:aʢjA.=1AXn omu2H;"XaG-wf1iR+Ʀ2r/]*c 6HЃr !0b@tS+J@g0 +&ӰD`!ұbaZ6ia H (MTA&H. WUηЌ} SĠ  |l0fDžDHn_Ɂg 3r&d~>ʢJ/ ҏv`cg9}хL8 $ BB`&QBvd d``bdd_-A L&gHC H@P@HCBCւ-C.J43XL%H} .Ő(U(<_0>b]6bBE,r:``w `Xgwdgogugxg  d - D.`с!cA 7&@B#(/8H/HX(0 D m2<7E`0A ְܵ O.f/ @ЦP*Jz P(U GiESP\"x1~ѭP] `0R@?R`8ѩ<.07gv`ݦ0fv`f%0:paf.1(*BG1*P`0HCf>>$Q߳sV&!fТ1 IeLRlٜ !LA$ $@Ȥ$SX/2|:o:.N@gW bŶ"#b* ]ng= Q NT#.\d/P4$ş,P#:pf&2P`N.E`4Sm0-@0 UR?м⥮\` Fl`f???K?:`Z qP1֎QB QHﰈf0if"Wm"pm;ixA8h*d,D8@ cBomN`X$@ g ErHЈ*+@-?PYT+*Qf@dSfC -g Q^JTJn#,X>NTgQ^hy$p1PS@;@0'bFa.INqdU6b SlP䐑f#\ad nlc%d@c4oc\fr uj|;gD@/|Dꌰg0n2upHЁQ#j\3-orPc}茰Kglzts0rttr!ѲbP` o#\tnrzgrztxh"q#ZpFop!ѳP`hTH -U-!@EK.g>OG|JGn|m`NB0WT@Pmcd@D@`jD@So$TOn cO`&$AH@$%@JGg FGQd㓿dR@hpBAQ/,>ԟG?QBt0½B`B nHkmd6;p ȱRZ$`w R$9nX R*@NqfSEH @B0_L0A# 0o0XONuXO 2̫ܨ\nƬ۠"1I6\nƬu۠$1hC"(@ڵ"ۼ^мp -GȳB fB`ݏRм8^ ɴg jDh <r`V$P fBH@ @bQB @]oYBu?oUBJ@kSB&<"F€JHBЂJj.ɸ$HBJBnDB Bcp`*` c <`6sBtjABD>n//`ѮP=O/W̢+߽ > od .n 8kPOr uP b߀t߆ڇәE44հ'P"6>XesRx;Tnƣ(:];0HXA" $&JjoFFJFwG~ʷJfJ\!n*(fJf W" Z.b fcBCD!E xzH@:<M8NF E6cH@ ~GG~GGH@HBҁрSEg:jփՂ`2L c&tyLc 6HCBBHB|.F΂Ć꫆Jk*RA҃тNRD D_cprQ@0xfSDJf"1hHAJAf HA rD 0BA i~GcR0z`XEJ@gRE H@EjpU |†SD_LHDЄHJgo*PJN <NE1F,P.*FHÁHC΃ƅꟚąx?:HC>܇ۄHAHB>"@' لHDHEH?F8:|101؇#01d4~>kڅلSG FHD„v 歊ȀۆنGk Wc xz`8`SGOHG5Į f/ %x&t+8:LME//)"bRD1DHBHC.hP0ЇHG~` B@<|FdAHF QHA0aOCA2 @xDjAdh{rj@x8Ѱz`8G‡p0΀݅߅D~2 ~=@~|1Q"uW#Ǯ 5 noname.e51^___ ____n?o$o6oHoZolo~oo oooooo oDVhz= .@RvЏo*( '%3$ %aF+=00?AUX?2?MIDI Datei oeffnenkZeiger positionierwkleswSpeichvollUnerlaubtSymwbolxQBchnung nt moeglInstemfehler¥sueberschtErgebnis keine guelt AdresseSyntaxvetz ѕaenals 65kBLabel ~ s defi}tbekang Opqr lty]Programmdmentha! abso{luzSegmZselbstgBoard antwortetUtragsrea_kpoinu,rhalbgs CodѤs -neid=F_im Verifiz!-s& darf nur g}e werdw*** P: '%s': %s! \_win_regwa9tdis]io%c %ld Baud Regir W ; Dlay I/O 0=$ cR1a2a3a DPTRy 7 PCSPaR4a5a6a7yBACSWa: C= ARSOVP= %2d -$%04x:  2& ld$%lx7I {%d}6War: Wn[0..255]!ps-wr10drU%6Mhzb%d_cqn^ %s=L, BedindK s! \d\...Uie'!jDiffzen{#R7cP Neue Varia7bleip1Lgra8voAllnoet! :b' 4PC>!/.I\ &>,aktivmѴ!}\\dptrU765432\accxY\mem.]04\b1s42s4U3s44s45s46s417s3=$upъq*ev0Terminal-Modus, E0: 2!<%u>F11 mit88n empfaKn0@,'G%c' 0ݶl(C) J. Wickenu~ 1990-`3a V2._00Pae-u() Object- z'r9m(*.oP/r*.e51)!AExt2!-c[Zahl]itt}!(siehe Handbuch)- b[rmkqu~or޶5oPIblaAuf Mikro-Conter-Nh/B8 Zu'0~ Rekursw"~~h~~\~T~W&p+,./:}`<>^|nnVN΀Fy`^΀n6|"%OIbhDDiҋ fuufgehobk2נy`7`WM8~vRWi@j@Wk@WOӞW6ӨW8YW2Ӽd@Į8̮Y8O]08WU@W@W6ԡWW"W,W6W@WJRW;^I?We␥WWWW/Ww𮰕̀7!ڢ WڢWڢW3ڢ#ڢ2ժ6"4ڢ:ڢ@ࠠڢHrڢGڢ\(WܠhDڢSHڢ]IڢW.+ՎWKڢkULڢWMڢWNڢOڢE*ڢȾCڢЪWXܠCWڢUWڢW!,˒U&W4WӱRW$W?kI]աkTSɐTy\T]T{T|TeɐTTr򪐋ͩ!ו KU*2Y>ࠝ[J=^T"?k]ёK‰’k§¶¾PµӐԪYۑוgU #mت%>HʪRU\fuҕnxq؂Ҋ3TѠؐWؘ̠`̠p̠PW0sU̠@´Yʴ3 aPПIۑա !  \ 66<̠СUF̠lP̠lUZ̠ld̠lUn̠lx̠l̠llwٓ5ٽٸ)3b?q#ա!8HࠕH*࠙0С<HT`lx*࠽ʒࠂHVHǑW$HёXHYHաUZ![B}B ]B^B0_B:T5ەBUBJ=TSB\VСb!hUAnatUz578BkۤT)8B9$Bߑ:B;BǑgf *f f r2bf3bf4bf5bf6bf7bf0Afde2f3f4f5f6f7f0,eeoeyeeeee[b6bdVQ\an5Puf1Ps#OtT4pt0pt0pt0pt0pt0pt0Pscdvnsauauwp[b*ax Xu*uv$t$t$t$t$t$t$t1u*, PyRlcall;Pjz jn8jnbQvSfj Pjbcicځd3r1ځ1ځe100000080dFqFpEpE!pE)pE1pE9pE3diRpPdef1e100000001DatAcpLP;P1lR#%jneb:`C`C`C`C`C`C`C0CrranLṢʣb5ܥr1ܣe10000000ܣ#ۤʣ3TJ0RfxddAb@㣹AAAAAAߧ!̴9ß 99#9-979A!J!ʠϪϼllega%02x $%0W4x:2 -18s .dsO.b 1[b, $%sb7r @8lXRdr=;P6*** Warnung: Programm passt nicht ins Standard-RAM!'%s': Verschiede&j0H> C(:x_ :B" @@ 0 P~u0CF .:@d@CR0R _X@._ AP(@" 0*"" N>!  i0B@@@&8zQ,@@ * 4$$A*  z@>R@.SR hP0"z0@&@@ }P @ 2/  }P0Q" @@A 00  @ P0tN w <0 ,(]P$C  0 - P'`x@P` qP0  \0!'` '`@Qeaf#AAX4!PQ *Q1c F  {00P2 00p0:& "   }Bt4 0=K0l P P*PFTPtRl*  ^ " ,P f&0P: *&> &+`w`0 (`     pr&p<`p@Vh *,"$p":.( 1@Q`  v`pp P&N, (p6  . &` 6J{N L,  0P  @A`2 `*p X0j@p0P  ^Z>@AM3$p `@$J,`,q*P "8ʌ ,ar@0PF M0@j0;P-t0 0 .@ D..*т ӀPP ap$  &8XD|:<*0 w ,4@@q !%+P"P-`(l$&} R.4:P", :$*<4t2.Dd2d,n,*&.C`. 4$f0,*` ."(m$  "~08pVa!!& @P `qPya, @Ff@ &:,8 ,6!$f@D$dHH8P tBF&8  >l`|51 L0:01A15jAqP bg~sv  Xa !@ Xz "(:L^p฿ʿܿ *B$s0  [Rs'9K]o`CON' A;UX' PRT'"p73 @"Y@刱!.cׄAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<xa8G(~ a.Gp~Na$G~ aG8~a G2~aa~Jy,g/9,//<JNAO J@laf`Hz4?<&NN\A \)H&Apr0XQ9AB9| <A 0Alab9l t R9l d9l f)l hRlhRlj3j* ldl A-abT`a aaJll A.(ab6`aaJlBgBlBaZJlBg0<`aa(JlBg0<aaa)lB0,B2Ӭ@ma` lB#! #! #! #y6 #yR #ynA)#r A(aa9| x)| Aa89|9|L?, 9| "TKCo)I>A)IB"l>$lBg am zn) m)IBBG9l$AJPgARG Gnz`HzHU?KBl(G."l> ):f`H@?<NAT@AL:BB 1 g 1 g J1 gRB`A )H> 1\ WJBl2-.H@@H?Hm0?<GNAPLG0Jf|\B`QBG6  p  g  gWBaTNI*"l>$lB9|.Bl0a,"l>lBa8JFk:9F.l2a"l>l&aJFk Fn9F0la"l>laNXSl.k9|60,.m lN&`a2L"l>a$lBmr`aHJlo JlBgaXBlL9_ JllJl n aY9| a a`DaBl x)| AaaAaAa?,H?<LNAO?NuBF 0m6 9n00g* g$ g 0m 9n0H @`|NuS)I>NuABh@ma` NHP//<JNAO AaJl gTHz%GaPX)|4! AB)H )|, AaJl g$Jl gABC% f !\fRA%Vf`pAX\)H A)H AaJl g,AYJfSC%g!g g`C$fCYA$f)|,S A~aZJl f A+a\`Hl?<NA\?<#Hz$s?<NNAPJ@kABh ,Јma`#,A$EJf \fRCfBgHz$+?<=NAP9@&HlBh/,?,&?<?NAHz$~HzvHzvmHzv@aBl O :`,f ylfq9| O aP.ABh 2<јQ)lBh*)lBl.)lBp23,NuBl 8g"?, )l /gaaa, A60Na)TA60NaP`x/gva /< NMX@g X"`x"ذlPgH9@PaFa 0,l f&a0)y |9| 9lv pA aW^`a`a&Bl x`9| xa`9| x`9| xANHz ?<&NN\NuxNuJlf9|`BlaNu9|! x)| Aba0, gNuaA )H 9|0 x)| A6a, f l ga`aXa;4aX``NJlf 9|aBNuJl~gJlgBla$NuJl oFGax6)| x)l |)|* Aa0, k@A pN0,ڐlJlgJzl Jlg>Bl` Jlf*9|A60NaMVa)A60Nz֐zx mft x` mft`tHJmgS@lB@2,ؒlHSAJmg[AA60 1A2BB0- S@C>`YmRBQ1BN;h;h a1a6t0, @o a'6,N @fNNNu. $. x.hx9|RNJlgN0,lfBA60N9|`9|aLaRBlaL a)Bl`A60NBlRNu9|RNJlgJ0,lf@A60N9|`BlaKaR29|aKa(Bl`A60NBlRNu9|R/A60N9|`BlaKlBl`a(| _N9|`9|aKPBl`a(`0,lfaQA60NBlRNu9|R/A60N9|`9|aKBl`a( _N9|`BlaJBl`a'0,lfaQLA60NBlRNuAJlgb`AJlf`xa9|`aR0,lm0,lmBl`9l`L$lBt>*a$tBlLJl`gaPBl`NuAJlg`AJlfH` Ava9l a9|`aQ0,lm0,lmBl`9l`La+BlLJl`gaP`JlgA$a4, fBl`NuAJlgn`*AJlf`Aa9l a9|`aQ0,lm0,lmBl`9l`La*BlLJl`gaOJlgAa, fBl`NuAJlg`AJlf8`a9|`aP0,lm0,lmBl`9l`L$lBt>*a"BlLJl`gaOVBl`Nua$)zd x0:Zl9@ |0:Pl9@ ~)l )l Aa0, l3*La`O6Jl~fNuGarA!aPaala9| x)| zAXaa)l FJlg9| x9| z)|4@ A`aajatA!aPv)| x)lF |)|4@ AaRJl o.>,Fz!YGlBG<,Hz!tG0,^R@ FGa!Nu9| x9| zBl |A` l ZfJlBf9| |Bl x9| zAa)l t)l x)l )l Jl|g 9| x9l| z)l |)l Aa0, @9@9l )l 0,2,BȲ@l0 @o0< @pl0<p@9@3*NS@9@ @o0<Jl|g@nB@@3*b@p3*pBlvlo9@0,9@9@l9@9@ l,n36383:Jl~f 0,@3*L0,lS@9@0,lS@9@#*2#*6Bl x9l| z)l |)l Aa)l )l A60NNuaMJgHlHltNblPOJ@f B)| ,fB@`p9@aMNu9l| x)lt z)lx ~Aa9l A16` Jl~gNu3<9|~By**9l x)l z)l ~Aa`\Jl~ga0,l g9@ x9| zA`Nu9l x9| zA`JlgaJl~gaJl|f43"P3*3"3pAB |)lx aMrA60NBlBl~BlB3**9l xA`a|9l xA`9| zC)I | f| B`Jl|g0,Ȁllg0,aF20,alg9@9| za0-2<l܀a̰lg9@9| zaJgJlfJlg6- SCN9CJlgN0,llo0,R@aflg 9@9| zaF0,2,lSAn0<`R@a4lg9@9| za0,aEFBlBNu9l xA`J@np @o0<9@ |Nu P xPs / " " "  " " " #% # * bP ##$ #9#N#c#x# #"! #)##)$$)$4 ) !$M $f +#*$)%)&)')()))*)")9,8 -$.$/$0$1$2$3%4%5%/6%E 7%[ 8%q +% F:E ;%<%=%>)?%@&A)B&C&3D&L E) 9&e QGP! H&~I&J)K&L)M&N&O&P)F' bRa' S'-T'<U'LV'[W'fX'Y'Z'['\']'^(_("`(A a(` Q(  cr,! d(!e)!f(!g(!h) i)  j) k)(l):m)K!n)m!o)q!p)u !q) !r)y !b) !xtw3 u+Zv+]w+_s+a * AxEDIT File View Mark Block Find Opt Etc Author -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Load file ... ^N ^O Save file ^S Save as ... Read block ... Write block ... Abandon file ^U Save all & quit ^Z Quit xEDIT ^Q Goto mark 1 ^1 Goto mark 2 ^2 Goto mark 3 ^3 Goto mark 4 ^4 Goto mark 5 ^5 Goto mark 6 ^6 --------------------- Set mark 1 ^1 Set mark 2 ^2 Set mark 3 ^3 Set mark 4 ^4 Set mark 5 ^5 Set mark 6 ^6 Define start B/^B Define end ^E Hide ^H Copy ^C Move ^M Fold block ^A Reformat block Print block Delete block ^D Find string ^F Find & replace ^R Find line Nr: ... Top of file Home Bottom of file Home Block start ^T Repeat find ^G Insert I | Overwrite O Sourcecode | Document Automatic indent -- Screen font ----- ^8/^9/^0 Big | Med. | Small font ------------------------------ Show line numbers ^# Show info line ^# ------- Save-Settings -------- Making backups Saving foldinfo Hidden foldinfo Split window ^7 Print file ------ ... Fold(s) -------------- Open ^8| Close ^9| Hide ^0 Open all | Close all ---- Use Proportions of ... -----PS0PS1PS2 Show RSC-Info & Settings Z Help? Help! HELP --------------------------------------------------------- ________.___  P (P3 +Z+]+_+a * A 3  +Z +] +_  +a $$$$$$ #$%&'()*345678,-./01:;>?<AEBGHLMNPJRSTUXYZ]\VcghijkCe 345678RSTUXYZ]\Vcghijk:GHLMPJe;>?<AENCB\XED*.RSCXEDIT.RSCTDignus est intrareREAD.MEXEDIT.PRG [3][Fehler aufgetreten! | |GEMDOS ERROR # -33 |-> TOS_ERRS.TXT lesen][ Nanu! ][3][| |Sektor nicht gefunden][ Nanu! ][3][| |Diskette schreibgeschtzt][ Abbruch ][3][Ordner nicht gefunden! | |Richtige Diskette einlegen |oder 'Save as...' benutzen. ][ Abbruch ][3][Datei ist schreibgeschtzt! | |Zum Abspeichern bitte |'Save as...' benutzen. ][ Abbruch ][3][Disk voll!| |Datei konnte nicht vollstndig |geschrieben werden.][ Abbruch ][3][Kein weiteres File frei! | |Bitte zuerst ein File| abspeichern.][ SORRY ][2][ |Neues File? ][OK| Abbruch ][2][ |Gendertes File verwerfen|ohne es abzuspeichern? ][ OK | Abbruch ][2][ |Drucker antwortet nicht ! ][Abbruch| Wiederholung ][0][Ersetzen? ][Ja|Nein| Stop! ][3][xEDIT braucht mindestens|640 Pixel horizontale|Auflsung!-> Programm wird abgebrochen][ SORRY ][3][Also, ein Fensterchen braucht|xEDIT schon!|-> Programm wird abgebrochen][ SORRY ][3][ |Speicher zu knapp! | |Funktion nicht ausfhrbar][ SORRY ][2][An nicht aktivierten Texten |wurden nderungen vorgenommen!| |Was soll mit denen passieren?][Save all|Quit all|Abbruch][2][Es sind noch genderte Texte |im Arbeitsspeicher!| |xEDIT wirklich verlassen?][OK| Abbruch ][2][ |Neuen Namen und Pfad |bernehmen?][Ja| Nein ][3][ |Cursor innerhalb des Blocks! | |Funktion nicht ausfhrbar][ Abbruch ][3][Blockstart nicht im |selben File!][ Abbruch ][3][Blockende in dieser |Zeile nicht mglich!| |(falscher Fold-Level) ][ Abbruch ][3][Fr einen Fold brauchen|Sie mindestens 2 Zeilen! ][ Abbruch ][3][Folding nicht mglich!| |(Foldmarken auf Blockgrenzen) ][ Abbruch ][3][Es konnte kein RSC-File|gefunden werden!|Bitte kopieren Sie evtl. eines ins |Wurzelverzeichnis (z.B.: A:\).][ Programmabbruch ]>> Load file ... <<>> Save as ... <<>> Read block ... <<>> Write block ... <<>> erst RSC-File laden ... <<@`4p@4xH(zB?,Bla-|A60"o>!i )i >)iBaiV9_a-RpLNuJl~gGaa$lBtBC420g.GgTC`BaNfJg Aa/`EPC$r0N`$lB|JRg:Rg`BaN.JgAv`/rC>oNuH`NL`E0g.@f&?*aOA60ah0aTA60`hX`Jl~g(BaMJgpA a/`A6;h;h aNuA6HQC><(F<1`9F"_NuA6:(mNua0,klf6,lf8,Nu6,`Nl`NuaNDo  @RDEmDf Dl.RD`Jmf Dl6Cl 00SC`RDP9Dan @ @Cm6,a`,?Bm ltaMm6ac1@Bh1CRhBB0,&lf*l$m$l(n4-0-2-a_Tl"f1|tJDlCl!I01B1D Ng61|BD`Jl~gJlLfHaNA60 af0af0 afC><-`ta_62HQa("_0afJj0 afta_Z2aF6- ln$C>B@YoR@`A60 1h1@aff0af^a LNu?-Bm>< a0af<;_NuHG><-6>,RGta^6QL@NuaM0SlSl6,ab @f(6,aN40<6,abB@RCaba1a_.`6,aN Bl`^aLDm Jmf BNu600RCDmSD9D`a^JEf JlgJmgaaFaPDmNuaLSlSl m nBmaLBD9Da`6,0- S@@laaJ @gJ@g @gj`60aMa1Xa^jJmga`F0 ad0ad0adaN6,aL0 adaa|0,m mN&`tRCa` @gV @gNJ@gB@`0<a`ara]6,`SCa` @g @gJ@gB@`0<a`a< a;_aaSlSlBl6,RCm l8SCa_ @f"aJlJf<- SFaKpaax`~NuJmg`haKT6,a_ @f"B@a_0<RCa_a/a>a&a\`@a0a2aa/va\a"JmfJlf0acB6,aJmfJmg BmSla B@Jmg$aJlo6,SCaIrB@Dl  fR@`01@abNu EmNuJmf&aI Dn>< aa0HBH@J@fNuanaz0HBH@J@fNuaI0abJgrJmolSlSl<-ta[JlLf0abf0-2-4-;F6aZj;@;AC>$I0,T@@raJ9m>a6,JlLfa`aI60-oBSl<4,RBa[JBg0 aa4-;F0-2-6aY;@;Aaa_`A60aa0 aa0aaaXah0 aaJlJg0aaH;h;h `JmfNuA60aaf0aa^0 aaV0 aaNaa0 aa>`aH\BlJ<,taYm lfRlJ0aaJgRSl?<-taY4-;F0-2-6aY;@;AJlLf0a`aRla6JlLfa4`zNuJlg00,lg&/,/,0,jlr9@9lra)_)_NuaGSl<-4,RBaY.4-;A60-2-aXr;@;AaJa^`JmgJlNfaF0,BgS@EnJlBgDl3P fv?-?-BgBmBmRlN0,BS@Ega(RWa0,BS@El`JEn aTaaaaaJWga8SW`TSlN;_;_`tEfaDm*6,RCm l\aD0 a_vJmgJBmSl`b0a_\Jg20<lܰmo$Zm1h0(Y@1@0 a_.Sla$Nu0<lܰmoZm0([@1@0a_SlN0a^Jg6Jmo[m0(X@1@0a^Sl`Jmg JlgaaNuaba64-lܶmm Cl:ZmZBBn?SlaRl6`?HÆ;CSlabRl60m;C1Ca^J`Jmg a aDnNu0 a^*Jmg BmSl`NuJmoZ[m0(Z@1@0a]SlNaDDl 89DN0NuaDaD޺DlSlSl?W6,aY @g @g06,RCm l$aDW Dn6,RCaY @g @g`aTNuCPE0`Q8Jmg$3@ag3@ag,B3@g@RD9Da|"lBt>) ?,NRlNa9_NB@Jmg$a6,SCaChB@Dl  fR@`` QE0`QEG? axGaCJDo  fRQEBA,B*g  r0`JDoSr0`Q_A9DGaNuaC0aCp6,RCm lSlSl6,RC?aBW Do8`f6,aXH @g @g?RCaX4 @f6 WfB@6,aX4RCaX.aUXT`&0<6,aXB@RCaXT`T @g @g8,B3@g  @RD`SDE@  fR` f  gRD`9DRF06aD Rla'SlaxNuaB.JmfDl\agREDm` REDlagJmgDn4,mBoZmZBBn?Sla":m;E01E`[NuDm:SEmaf SEoagSEmaxfREJElBENuDo:`SEoaXgSEmaPfREJElBENuaAtJmgJEga4-Bl[m[BBm?Sla:m;E01E`Zz3P` 3PJlNg g2,Bg,`. /c$ 9c" @c Zc `c zc dB@NupNua@?aDl agaTREDm:`\a@?aDlagaNREDm`a@?aںDlajgaREDla\ga"REDm`/B@3P@ lB0P _Nu/B@3P@ lB0P _NuafJmgaLA601E1lRhB0,BR@1@"1DJlk6,lfC` 6,a?T$lBABBBCDn"B@Ef1CDf1C`22BR@``$0`2BQ1C0D* @1CaXNuaaA601E1l1DJlk6,lfC` 6,a?BT$lBABBBCBE`RE2BlBnDmpRE* BlBnQ0-ml[m`4,mBo ZmZBBnmg ?Sla2:m;E01E`XNua?<0<# lgJmglR@`JlgB@Jlfp9@aaQ8aNuNuH?<?<?<NM\LNu 778F88p99;=? BCF;h<;=>?@@(AEF E(DCC?T?F.F.F.menukeys1 2%_!`#a!x#y$z%{&|'}(~)*,-./013456780:;.>2 ?#<A E!GHGLG7MN"PRST U1V X Y Z)])\Cec g h imnoqbrGN=> l g0,  @gX @gP @g @g@ @fz0, g @gL @g4 @gȴ$lBt @f?*"`?* a\9|`a0,lm0,lmBl`9l`L>aDBlLJl`gaBl`Nu @fJlgjA69|R0N9|`BlaBl`aa<9|`9|aBl`a0,lfa8A60NBlRNu0<l H;@Sl` @fJlgjA69|R0N9|`BlaPBl`a`a<9|`9|a4Bl`aD0,lfaA60NBlRNu6- SCaQ̖lSClv 4BFaLm m<;FSlaMzaQ`F @g @fBl)l )l $aʢA60aSa89l x9| z)l |)l AaanaA60aSNuJlf )l)l)lt)lx9|`)l)lBl`~ @fL lgNu9l  x9| z)| ANT0, A̸20 g`V @ g @g @ g @g B @gP @_g @`g, @ag@ @g @g @gp @!g @*n` @1n` @8n` H @:gV @;g @>g @?g\ @ @Rgz @Sg @Tg @Ug @\g @]g @cgx @Vg @Xg @Yg @Zg @egO @CgO @ggLl @hgLv @igLT @jgMT @kgM @mgV @ngN @ogF @qg @rg~AaNu[1][Noch nicht implementiert!][ Schade ]?0,B@ma0aWm09@B)lBѬ`BG9l$AJPgARG GoJl.fA`/ ?KBpBl()|3 Jl.g)|3 a 6Jl gJl f a>*_Nua a J-gaaa J@kBl,a J@j Jl.gv`p ,8aJpf0", Ё8ajJpfa>Aa`ta J@k9@&09@&mp$Kt% ,,9@6 9@:BGBm JlBg`Jo8<6@SmSGlaSDkV bg g*`Sm^SGlaf f gB% Rm `SRD SD* UEHŊBHEJEf`  gB% Rm `l  gB% Rm a `Jo8<6@SmSGlaSDk bgN g fS  gB% Rm SmSGla g gH8<6@` gB% Rm SmSGlaR gZ g 8<6@`f&@ % Rm `8SRD SD* UEHŊBHEJEf`&  gB% Rm `  gB% Rm a`bAa` l g aa`4 <@a JpfaAxat`9_9|, -p @ @ t!X!;| a2X:9|(aJl.g`CD;lB;lB;lB;lB;lB;lBBBJl,faCa@aJaLaK` .< Sl6l>,:HlX/?,&?<?NAO JkAXSGNuX`>aD*_?aa0aaJl&ga9l$a+@t/?<HNA\Jg+@pNu -pg/?<INA\BpNu)|3 aJl gJl g~aaFBl4AAa>, az Gf Rl4aVaGBB@J3gR@` 3\WB39|2Bl*aDa*Hl HlBHzatO aJl4gaBl2NuBl2Bl0p l Bg, lQBm$0,B lqBm?Aa0, g0,B9@Ha - gS@J@gpaalAގa>, a GgR Gg~9|0 - g aJl*gda&aa`a6ata A޾a>, aX Gf8ap`.k,a4a Jlk - g alJl*gaaJll` *Bl0Nu9|LRl`aA60aJHUKB@JUg" - gR@K`*_9@aa|a>`*_A60aJSl`BlLNuHUKB@~JUg - gR@KQ*_NuJlga :0,9@6a a6, Cg JmgpC"QaBRlK`SC9C:BUaD0,l6mgSl`l:n9@`9l:0,l6mgSl`l:n9@`9l:0,Jlg0,9@k`Aaaha Bl`VBl2Bl*aaalaJlBgha,J@k`AC Hp g .gQ.BAKBHl Hm.Hl HaO Hl ?<ANA\Hl Hl Bg?<VNAO BgHl ?<BgHl ?<NAXBl&NuJllNuA"a 0,@#a 0,Jlg9@`9@aAJl`f\JlfPJl|ga`J#"Jl~f By"PBy*3 "3!p`0<xA6B |)lx a `#*Jl~g" mfaf` mfaj` av`aJlf9|A60aD^Nu0,9@aaA6BP1m1lJlf1l`(0:r @!l0<!l2,A z\Am01@1GaC9h9h9hJlg0(l3*LJlgJl`fa="aJlg\0,9@aDa=aA6BP1m0:zl9@1@1l1GaCz9hJlfJl`fa`?JlRf$0,ްm l4- @;@ <-a:d;Aa?bNuBGp\Jmg~a`ap]JmgaTG`aNuKNuJlk. - gaXaApa>, a< Gfa `NuBlHaanJ@g*aaaAfab>, a Gfa`Nuaa\`NuJlBf p_9|B`Dp_BlB`JJlBf p`9|B`(p`BlB`.JlBf pa9|B` paBlB`NuJlf8pc9|BlBy*B9z̺a0,gS@9@aA#*`pcBlBl3*BaaNu/Jl na:9| x)W Aa$)l WC|[YQnmXq0,Q9@ |9l ~9| 9i pa9|# x9| z)| |9| Bl Ara, g`XQ W[paa _!|^\NuOKA$M0,R@ravp yl^a2?A$/Cax>Nu ylfB@a Gf B@ yljaNu/?aa.aaB olffa0 Wafa$ W0, @>p a _`A#0,BraA#T0,BraA#0,BraA#0,BraA"0,BraAJlBf 01|` 01| ylZpa> GgNuAqgBlB`9| BA"CBahJlBn9|BA"CBaRA"CBaHJlBn9|BA"CBa2A"CB`( ylbB@`B0H .HG0QNuBGgH@0 @`2Nu@#9@`BmpRa$pS`.;|pRa"pS` BmpTapU` ;|pTapU`Jmf;|`Bm`p\Jmf;|`Bm`Jmf pV;|`pVBm`;|apXa`z;|apYa~`h;|apZal`VA60aaA60`<2,6,Jlf 4,8,`4,8,B`9|aBlNuLJl~gaNu?,BHHlHltNblPOJ@gZaJgNaJ@g" ,g9|B9|`Bla>aD9l x9| zA>a6)l )l `Jl n a9| 9_Ba9l 0,9@ lS@9@ 0,9@ lS@9@ A`9l x9| zAa)l )l NuHlHlNblPONuNVH&n(n 6+:k8,<lDl6Fo:El<9CC9E6:k8<lDl6Fo:El8C9EpLxN^NuB@`pXapYapZ`/)H Aa _)l T)l XaB@`.Bl x`9| x/A z T X T XAa _Nu)lt |)lx )H 9@ x9| zAr`9@ x)H A `A NuA Nup#ap$ap%ap&ap'ap(ap)ap*`A NuC0ga`NuA NuC0ga`Nup#lAC! Nup#l?ApC! 0` @fA*`. @fAE`" @fAf` @fAɽ` @f A)H `(AHD g@0H@@0 )|- a9| xANaz`HPafaTa _a`N4,9B&a6,9C$4-0-2-a1D9@"4,&l*f 6,(llAJa6- SC9l&*4,0,"?a5049C(CgAa6- SC4,0,"a5 9C(0<;at0<6,(WRC0<a1J@fpa1`" @fB@a1`?<,$oaRl$<<-4- a.9F4<-l$ml(n<,$ta.:;F0,(6,$aBa^6Jm nHaFLRBA0a2-l(oB;A?<,4l$ml(n<,$ta-Bm`W9F4?BD<-`RDta-hl4m;D 84C 6,&8,$:,(B@rifQn QlQ`aR@XQ9|&9|*0,aA60 1m1m a4Qf: @na @f*Sl(2,(l$lHAaR9|&9|*LXR@ @mNu4,C B@2<ifa`nSiR@XQif9|&9|*HANaL` nSl&Sl*Nu@,C @C0)9@ax6BmBmBm a/4-SBBA#40 ;B <a+;FJBgm an`0jH?@,afA0@C0@,A! 0C @3LNu_@?a0@,C @3?a03JlBfz6,aT0@,A^@AE B@  f R@  b  g f<`  g R@ @mB @o0AF! TNuA0@,@$p`qstuw0P pA`.NR@ p K@@@@<@Cȁp(&@B0$x|0?Hd   B@p@$ q @x_<??????????????????????????????????~0P pA`.NR@ p K@@@@<@Cȁp(&@B0$x|0?Hd   B@p@$ q @x_<LHzDy6"yR"yny! H y& y y y ,z z  zz2-zNz %z(  zjz 'z FzB{)B{lB{<{B|/<|l( |( | ( | ( /  } (}9 (}b (}(}(}(~3  ~ (.&  ~4~F 4~] ~k~  * ~( ~(~( z z ! %$.$(M%t)&&  ( ; & b *  (  + ' &1*\"' ##";'=@UW[mot GlockeWord-WrapOKAbbruchAbbruchOKSeite hoch/runter..............Shift / Beachten Sie, da SieWort links/rechts...............Ctrl / diese TastaturbelegungZeilenanfang/ende..............Shift / mit Hilfe von XED_INSTFenster links/rechts............Ctrl >/< abndern knnen.Leerzeichen einfgen..............Insert Alles weitere findenLeerzeile einfgen..........Shift Insert Sie im Handbuch.Zeichen lschen...................DeleteZeichen links lschen..........BackspaceZeile lschen.....................Ctrl YZeilenrest lschen........Shift/Ctrl ClrGute Umbruchstelle zeigen.........Ctrl LZeilenrest abspalten.........Ctrl ReturnZeilen zusammenfgen..............Ctrl ~Anderes Fenster aktivieren........Ctrl WNchsten Text anzeigen...............EscWort GROSS/Gro/klein.........Ctrl I/J/KAha!Im Menu: =Shift, ^=Control, =Alternatev1.726 4/1/92Autor: Alexander GrplPilgerstr. 10D-6710 Frankenthal(Pfalz)Tel. 06233/65225Micro-Controller-Entwicklungs-System___unregistrierte Spezialversion__________Weitergabe nicht gestattet!____________nur 20 DM ! InfoxEDIT ist Shareware, Sie knnen ihn alsoeinige Zeit in aller Ruhe testen, und mssen erst bezahlen, wenn Sie ihn regel-mig einsetzen wollen.Der Dauergebrauch von xEDIT ohne Regi-strierung entspricht dem Einsatz einer`Raub'-kopie!Durch die Registrierung verschwindet dieZwangspause bei Programmstart, und Sieerhalten zuknftig die Updates automatischzugeschickt. Gleichzeitig zeigen Sie da-durch dem Autor, da seine Arbeit anerkanntwird und sich die Weiterentwicklung desProgramms lohnt. Der geringe Preis istsymbolisch zu verstehen, er hat nichts mitder Qualitt des Programms zu tun!Na klar!Tastaturbelegung aus: ____________XDruckersteuerung aus: ____________X... fr Version: ____X Info ber das geladene RSC-File 01Returncode bei `Save all & quit': __905Tabulatorweite: __9060Seitenlnge: ___92200Zeilenlnge: ____9070... bei Spalte: ___9 Nur im Dokument-Modus Einige Einstellungen 0000Find line Nr: ____9999 Lizenz an: xEDIT ist Sharewareln,m*pn,6- aB NuHx/a/lfD0Эt/-p//?<HNA\Jg/6- a $I"mp"a""mpt$_+Jp+_t0- a^?<INA\B`J @lB`>"mpt$It0- aH/-t/-p/<JNAO B`PpPLNum %!ӒQNua./$ԁ$Q$Nua$QNuCa6XӡQNu/2HR偓"NuRCa0 ) gS( SCa TUNu/0HR"mpt Nu/0HR"mpt"Q Nu?-a;_Nu60,klflg$aP9C9la9D9DaTE`Q8,|~NuJDg 3 @VJDlBD9DNu0,lNuHUK8,a̸lg:gRD28,gRDDH6- aAr `(LHLHLHLHSl`S@l`dA"Jr `(LH8LH8LH8LH8Sl`!S@l`$ JlA`Sl`A"J`!SlL|~NuBmA60 aH;h;h Bmaa`\BmA60a0a;h;h <,4- SBFa<4,a;FaBaa$lBt>*6aA60aa ,gaNu0,&k9@a8BmBm6,$`Nua Gg 6,m o6- SClBCBmBm`Nu(f9|J`BlJNu lSBm lBCEp)BAA0QNuA a9|6N N 9| 8Bl:Aa*0,<@9@,A N Aaa*ACaH l ,gah>:RBl2SGka>9l.aP9E0 lSBmJlJfB6,.m la̘Go$G6,0DlE0A<VJFk`Rl0`Rl.Bl0`6,.m lDaGo2G"lB6,0Dl$E0A<B@@1VJFkRl0`Rl.Bl0`NuB@6,02,[AAo9|6C @ @l`;@;C6,.9|2l6g?9C6Rl`aSl`>NuA60 1m1m `ra9|6RlN$lBt>*aBlNaJl2fRlN$lBt>*aBlNNuAf+CaN ap9| 89|:A:aF0,<@9@,A" N A l ,ga$aa:ACaX l ,gax9|6aJl2gBaJg A,a(`9g*a BlN`9GLRlN$lBt9j6>,6aSlLl?-BmGBBFz.l3`GHaL@RF`;_BlNGa9|! x)| A N 0, fNu/N N &Jlg/ l hN9@ X9| x9| z9| |9| ~9| A N , f)l F)W 9| xA N )l >)W )| x)lF |A N Jl laF`0, @f.a0,Fl>2,Hl@@A lDmAA9@ `F W?a0Jl f89@<`Jlg&Jl g , g?, ?, l hNXJ@f&W9| 8++f9| 80, @ g* @r g" @Hg @Pg @ g6,8&s0 &k8+:+<+>+Ep @Mg4 @Kg> @Sg@ @gX @g6SCDm00`@EmREDoDoRD`|JDoxSD`tDop6RCFn00`_`SE`VJDoRSD`Jl:g l 8f`lJl:g l 8gp `XJl:g l 8g`BBDBEA0_Q7D7E7F7G W0,8aԒ`9| !i )iBa `9_a\BLNuH(z?,Bla@A60"o>!i !i1i!ia 9_aBLNu Jl< H    f-  n8  5  \5Jlq    f-  n8  5 \5 d50 18 /,p AEJWE@JfB*Hl Hm.Hz(adO aĖJ@k6- aHQBgHl ?<=NAPJ@k9@&//,?,&?<?NAO aĄ"W fdAEfTJf ifH0- i"f>p EA0Q&W@BCa 0 @gA$QX@JAf2A`XXNuJlBg^Hl?<NA\aJ@kH6- aHQpBQ"W"p Jl2gA`AW"WC">2p A2Q"WG@BCanBGBF$Q` $Q*g:F En`B6<YRGm mB&HSp Jl2gAs`AEWEJfB*JlBg?<`BgHl Jl2gHlB`Hm.Hz`aœO Hl ?<0 g`p2,(l$nA`SlSlaĸ6,(aE6,$a)*g Aa̜`||6-l(nhl$l>0,l&fXC>6,$B@Yg R@llB`A60 1h1@;@ a` ;l$Bm 0,l&f A60 aaSl"0,aa2`ȼBy`"`SlSl0-2-4-6,aB@YgR@`A60 1h1@aaa>A6;h;h aǸNuBCaX>- `$aRg f` fQ6,`PBCaX>- `$aRg f` fQBCBmBm`H@a)@LNuH@al@LNuH@?6a>$Q*62Af9B6Cg6 fR@` fR@An RBY$Q*g fS@` fS@`6,6LNuH@?a$Q*62Af9C6JCg6 fR@` fR@An SCX$Q*g fS@` fS@`6,6LNuH8`?BCa|6B@BAJAm4Cg $Q*g fSA` fRAR@Y`JAg8H06aV|B@6- SCa<aL ?6a60BA`LNuH`?BCa6B@BABBJAmRBCg $Q*g fSA` fRAR@Y`6LNu6-aSC9CNu#p6- N#`20,&a6,$a#6,(RCa#a 0,`p"lBxNJ@k a GgNu&zT&:9|N9|PSkaJ@kNu f& f RSFlPNu f +g`JFlNNuJlPg, N LNuHvL< Po Pla N2ACr"qQN Po Pla H &zzH LnNuH0xa&h?9: hm*h3:x`*h3:xBB|3a:RBQJhg$&h4+k$hE 0P@ Q/H8p9|y h9| j9| n9l R t)| v)| z9| 9| 9| B 9h 9D Pl 0(9@ h9@ 0(Y@9@ DP@9@ a`L _3:L NuH/ 2|" lDm*h(hxBCM~|BB2AAGE 0QRCRBQ Q><(_9|y h9| j9| n9l R t)| v)| z9| 9| 9| B 9| 9G 0(9@ @9@ 0(9@ G9@ aLoNu*h(hxBCM~|BB2AAGE 0QRCRBQQ><`JH0SyBC/ E!J>(taL>(t aD>(ta<>("t$a4>(t3a,>(tDa$$_Bh1|J B1|aRRyL NuC / p "_/A&BHk "HA0Hf g` _NuJlg$<,>lSG0R@zڰGoNuDFlNu*z y:gn&h?a y2oa,h2(4:SBa4:>:B<( gSFGo<?4:2<Bha4SFJFmd y:gAACE gYY@YYY YY`Jhg*"@**"RBQ4/Jl|fJlBgH8p9|y h9| j9| n9l R t)| v)| z9| 9| 9| B 9l 9D 9l 0R@z9@ 9l D9@ aL _NuAACE g>YY@YYY YY`YYY@YYY YY `Jhg.*"@**"**"@**"RBQr`Jhk>(tHǎ "HAA0aSBHfNu/H~x h0>RGApL~ H~xH~xH~xH~xQL~ _Nu?( y:gAC `AC $hE 02<Q:NuAA y:gAC$hE gDYY@YYY YY` Do YYY@YYY YY `NuH/ 2|B(hBBC<< E0aTCQ(W0,^ @m*hx: (hBCM~|t2AAGE 0QBRCTBQQ><(_9|y h9| j9| n9l R t)| v)| z9| 9| 9| )| 9| 9G )l> )l> l l a LoNu><QNu*hx: (hBCM~|t2AAGE 0QBRCTBQQ><F`:###p( gp32 hfa` hfa`a0,H 2S@36B@( g*pRh9| 9l 2(D9A 9l 9A a3430(h2RAH38Sy8h>#H<&0: ڐz 1@0: Аz 1@1G3Nu*hx:< 3:39|rNu*hx:<3:39|rNu*h8<:<3:39| rNuH/(:: Hrz "ln/ lfg@>: <: *o,W` LHM Q`: <: *o,W`@LL HMLL HMLL HMLL HMQ` 02HXQۗQPL _Nu&hH(aB y2oaP2(4: HSBa4: >Jhg*<  fJEg  f  ga@RBz mrBhanL`Jhk >(tHǎ "HAA0/a .SBHfNuA>GACp>GGM ,vp>G$h~,<"<NNuC C/Jhg*<`Ba*NuQNuxAhRQNux 騁QNuTx(QNuV`Tx 騁QNuXxAhRQNuZx(QNuRyRGrzPljl69G žlr9G >:ZRGrz0ljm>,jSG9G ƞlr9G `NuH06:&aaL NJl|f8>rz"ln>:rz$ln2,ranNu>RGrzljl9Glr9G>:RGrzljm>,jSG9Glr9G>,ldo>,dGRG<,F3BygRyRFF<FFFF3G<FFFF3G3H>,l<,$ln<,&ln^Zt J"KLPJCg` LpkHpkQL`NP"""""""N`ؔQLNuzldJlBgv9l 9l 9l 9l >rz\9G lr9G ljl*>:frz>SG9G lrljm>,jSG9G `*NuH06:2aaL NJl|f>>RGrz"ln>:RGrz$ln2,rDatNu>rz9Glr9Gljl>:rzSG9Glrljm>,jSG9G>,ldo>,dGRG<,F3BygRyRFF<FFFF3G<FFFF3G3H>,l<,$ln<,&lnfbt J"KLXJCg` LpkHpkQL`@NP"""""""N`QLNuNuX: |||.. Y: ||||. Len: |||.. Page: ||||. Prop_x: ||||. Prop_len: ||||. ‚> 08,&&,80 ‚>08,&,80Ȉ8|@`PHP`@A T"psNBNuP! "8H$L`^n(RT|tfXT >  f. Zb>. (.X|, *2,2NN6d.( 8$8d z"H000000000 NPNp. "F $ $ "t 00000000 ~2:b< F200H00  <H(pX|ZTR@2:"t  l:`  ( Z` P! "8H$L`^n(RT/0݂" AR@o`:(p`R MfH⧼ A fS^g4n=q@p`"tpJч@ptjtn^@W9LTt4t"t8j`@-Cf`uJf\ fJj\ jfW"jS @B@|pA&n`/X g fgPwvARxf*/"x6CЃ܃"qΊ,$뀴J4x|K\c Pr0hXXrLߵ8v PlNAoﰐ䑑llX]`l oЦp`w戰Y PNm~ f*Ht@- |g9 (!Y"ҧ@m?'$ETL xgB24`-~TBm ?-Ў]`LTG /fIr.4gVt4`$'|`,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!!!!!!!!Sj JC pg QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A& LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+D+VC m Sj mJfA, "gr/r$&(*,."A$A&A(A*A,AH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`Sf"|`B QL gpNޭb-lz5-$=#! TST51.TTP_R`5HKJ$f(ByO ;\/98 ?<HNA\OJg.@ 8 `6 - ЭnHй*"ҍ¼.A// {Bg.JNA #M M/(,HhNQP(Mʖ?)N~T.HA#о 5VRVyNuHC)*g*).LNsJNkSNsW NsNV0)5Xݰf0`FNqN^Nu4H>.8TgNO9gp|W`j-t/|LߌSB`*f?_LT`$ n |?R0.SnJ@f3dlEw`0g>9X0pdX.>J@.$r0n}g/!`d`,z,`P0w 0Yz,`w 2"Jf(Bn ng"0 HZΎpXx#HT  n 81;0 l/. 2pP+: K/ M0/ Xߏ=@1 ..lx2>O 2$./.x2P#ZJ3f`T1.L>Pjn9W$ 10. B%)J|6 d."3T2=`=`#>@\ zBC BBghAL;(5J=bVD^Q=\`|BP= R<y" u2$2X0"@OK @gCJ"j$-|HT=d X-@` .мhkP2$358 X 0[`@2PRP n nmjQ=AdjQVoPRe@>@kfB)=m1+=d.@j0 16J0gJc@l.WUP1EhFedP1@&S6fJpR8QEh0QQ"0+pdJ6QTbE90PcJnzj3"k3"kP/x3"0p0v9/Ub7V5g=|b@f-:rg&rEYBg27֚FqFlX05<>f*-qr`  0`x .8g<`RǍRGgg 0 n?8 P!mrBHjPg$BgvP߂(\!m?3ErdTf"1p t0G jPgM`0r aH偀!m 2zĪL0RN6MX !J!_ NMY "P$hN J@N(߈:L Afxn#$_f BB`J".JlVD߁JlPDvd`Bbϊd`mDdDaP-A R. B ʑ(2D﶑"2.HbH0f f`$g `Q bA`2V"Jӱ *3 #j)Mhkql8XQ L:Zq Y;5 PNf*H`{0-!g XP "oP@7mԺ!0Sg Q"`2~g /-{֖Pm ?E!T$D!.wgV>Rg[B \0 lP @?f m1!m *Ii%V_t<B`(q_/KX q >B2Vj$J l3ێ 1 aHJm͐ J;l3i9pr2f& `&!g r1oC_T#@ `` HQM0+b NJ]<0g36`r1Ԁ' .KЩS:"@H./>. ӔXo*@<fj1Ġ(M)G PӔ9]F%;P%(ށ#(@Jf$ (@h9hBM*T -e*b3f(`  c0+ #1 P`( 9f#!@0%(M*U`92XFV#`tΑQ9` ﰔm0n0l`(TAo B "}1Ёf T (y1T*`* w ",&Df b1wѬq1(3M`p\|C"HPgXHf0(.9Ub{9\@PT9S@Z`U:RZ^`.gRT@<"=`P߳ߐg_&JGmT>``Ӱ<"S`jV D_Z"_^_>VGl 36m ?"b`m*YA̐XӐTʑۑ b\#;#_qff-:u 6'?'LnB@ggSBAgHJ@`pANu opR@SJWVFHu2/ f0NuSAPrVYkpR R @t0~_ g搠 pސ pvANtAxX*Ġh0m9n%|0r2a.:a| rA.=AXvA@ oC~#r$H-"-'f`Rvu2̱/1H6BEP,̱:< `w `Xgwdgogugxg  d@ - D.` !2A С &@B#(/8H/#X(0 D m~7E0A ր܆ .f/ / %P*zP (U GfhP#NfjpRpQNfq,Pf&?0R@?, q(H 97g.w0fЧf0Pf@#`0&&Hb`SFSM0gJMlnt|0.` SG m`JFoH;J0rХJ@l`JcВb R&@`pE-Lv@܁, <dH!(*BGr*P`0ӐHC>>H~@bfRrpa<2(&iPzV %|Ę\$?0g2. g$k/ b|$2Gg R(@`*|dXP`愐=|8۰-f QR 0f0*f R=ST`, bN .f>.>Vldf$& $@ʄ$SX/b:@o:.@g UAP{* ng=P RsTڰ#Ӷ—/ nfH PI4PfvALZwP`N<wcg.wegfgwggsgNM ]v@gjbE>.E`4Sm`%@P0 U Rf ?a:C`f,>pPb`v@L$sgl!($`"~S@;@j"!ƈNqfgD8&  g$g vP ">`">7Q vP":,A Eo>`180?/#a 0H;1є0E@ l`@=l!JEf|"y%9QEmxy=xg& , 4z!(09lNp_E`RE3S1fP/1"#x1gDfd  0gXD8Ai `:&l`R gW bRhVPH]B1Bnq/ f pzt`Rp fS `pHurWɲQ SpnPf#M:Q nͬSVS4oSVdL: u p숐wg PD@=92r|Rzg0&p2w`HЁQː#jj-b]jemzgl|dc,0TobdvbP1dP`o #SRoozgr |dhhoo"a%~\`F_rq2P}`ept Nj8 -U-{EK.0>OG|JGn|m`NB0T@md@D@`lD@Sq~TOÈ#pO`&~H@$ FGQdR@@BAQ/,>ԟ׆G QB`dv@gB`҇ nHkmd|`6=ЃL RZ$` R$ 9nZ R*@NqfSEJ @B.^0E#z~+2XONu˜ϴXO w*VΛ*ޘnQnȜݐ"qnPK 8¾vQvȜwݐ$qvj` $^"(Zܥ"¼݀`pм@`p  ʣB fB`м8`p ˤg jDh <r`V$ H@J@fBH@ @bQBw @qYBw?qUBJ@kSB&<"F€JHBЂJj/08ҡ$HBJBnDB Bcp`*` c <`6<BtjwABD@://!-PO/'WΒ-"@ϢPfqM0MX:POt K#Mdvψ"B<66/P 80$8qP@ߘuZעPzߌ<۪ߐ٠Vߐp߼  ȓ*<^߂< 0HM˜>p @Z6!D" $&JjFFJF¿2'~̧JfJf'n*(fJf "`Z.þбb fcBCD!E xzH@:հ<M8NF E6cH@`~GG~GGH@HBҁрSEg:jփՂ`2N c&t{Nc 6HCBBHB|.F΂Ć꫆Jk*RA҃тPRD Dcp%r}!0xfSDJf"'hHAJAf HA rD `0BAk~GcT0z`XEJ@gREH@ߘEjpW |΁†SDLHDЄJg*c JP >NE1F, .*FHÁ…HC΃ƅąӄxA:HC>܇ۄHAHB>@ڇلHDHEHF8G:|հ! !؇2!f$~>kڅلSG FHD„v 歊ȀنGk Yc xz`:`SGOHG؇Ć hxt8հ:?LME$bRD1DHBHC.hR ЇHG~` B@>|wFfAHF<>18\1b0~9jSGd6HC,h ,пHF|S1X4ƀ1*HEHE8BE10FBdHG=>SHA0?312 @xDj1dhrl0ox8Ӡzb(G‡r ΀݅߅D" ~0~|!SYǎ + E Ba8f0?<HRTf"m m ;Ӑ9BhVP,D@ BgFmN`iX?S ErBaMHЈ*+@\P.ޞT Sf*@VPCC -gLߓ Q`p`pTZ*** Fehler: Schnittstellen-Nummer c[Baudrate %ld nicht moeglP! b\Keine Antwort!c[Warmstart]Pruefe Board-RAM: Adressen $%04lx -d, Status: _W$lUebertragungsfjR PJo\od"o4h `jOKfPMIDI/RS80C535-2 H`waretest (C) Juerg`Piscol 1990-`3 %s eP PV1.01Param`r:xF $6&  0$  &8XD|:<* , O InT\5(lF/X&>&. . 4$f.,*   ."($  j:,8 ,6$f@D$dHH8PtBF&2l`z R2d,n,*SHA0?312 @xDj1dhrl0ox8Ӡzb(G‡r ΀݅߅D" ~0~|!SYǎ + E Ba8f0?<HRTf"m m. NE.. OS NEREG51 DEF g!#GREG515 DEF h!$REG552 DEF p%WPROJEKT NE&. NE.. NEOS515 BIN iuOS515 PRO  TST51 C !{`OS515 S51 e$pu] sk0#+CKS[ckMIDI/RS232-80C535,12MHz,(C)1993,V2.00,08.12.1993,Dipl.-Ing. J. Wickenhaeuser,Rastatter-Str. 144,D-76199 Karlsruhe¯p`s**** Error: no libraries in this EPROM! *** System stopped.™S"¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ¬Lu0™u0™u0™Ҭ™0%"0˜%"0˜"™0""q"qq "q "tq*t q" Lu$qqqqq"tq*uq6qa~4qqqqqFq"tq*qqq"tq*uqUqqqq\q"tq*a~tq*$qqqa~$qqq"tq*Lq*™$vuvLq*ҙa~q*™a~=q*$qqqqqqqqqqqqqqq*a~Hq$ $vvqqqqqqqqqqqqqq"Wtq*a~tq*`-qq">tq*™CC S S$vsvLC tq*a~tq*ҵyt2tЃЂ2䓴 tu/u u@uu|uuyt˜™uu䓴 ty鱱x"t uuuu™u/uuuuuu lcall CSTS cjne A,#$19,cz2 pop ACC pop $00 ret cz2: pop ACC dec A jnz cz3 pop $00 ret ; ;####################################################################### ; PROCEDURY OBSLUGI WYSWIETLACZA ;####################################################################### ; CLRWYS: push ACC ;proc. kasowania wyswietlacza. mov A,R1 ;we. R0 - ilosc znakow orl A,#$80 SDE os515 NE.. OS NE; ;------------------------------------------------------------------ ; WYLICZ: push ACC ;proc.wyswietlenia liczby mov A,R0 ;dwucyfrowej swap A ;we. R0 - liczba do wysw. anl A,#$0f ; R1 - pozycja wysw. push $00 mov R0,A acall WYCYF pop $00 mov A,R0 anl A,#$0f mov R0,A inc R1 acall WYCYF pop ACC ret ; ;---------------/**************************************************************************** * TST51.C: Hardware-Testprogramm 12.12.1992 * * Dieses Programm testet die Hardware. Dazu werden jeweils 2 kB grosse * Bloecke zum Controler-Board transferiert und sofort wieder gelesen. * Dieses Programm dient zur Anregung um eigene Software-Kommunikations- * Module zu entwickeln. * * Zum Einstellen des Rechners die nachfolgenden Hinweise lesen! * * In den Rechnerspezifischen Teilen sind enthalten: * ------------------------------------------------- * seriell_put_byte(): 1 Byte seriell senden * seriell_get_byte(): 1 Byte seriell empfangen * seriell_rx_status(): <>0 wenn Daten vorhanden * senden(): Block mit FCS senden (max. 65kB) * lesen(): Block mit FCS empfangen (max. 65kB) * InitCom(): Handler und Schnittstelle initialisieren * ExitCom(): Handler entfernen * ****************************************************************************/ /**** Die Datei 'computer.typ' enthaelt 2 #define'-Anweisungen: **** #define ATARI 0 fuer ATARI MEGAMAX-LASER-C #define PC 0 fuer PC BORLAND C++ oder TURBO C++ zum Computertyp selektieren, hier fuer eigenen Rechner im '#define' eine '1' einsetzen ********************************************************************/ #include "computer.typ" #include #include #include /* ---------------------- ATARI --------------------------------------- */ #if ATARI #define BIN_READ "br" /* gegenueber UNIX und Turbo-C vertauscht! */ #include /* TOS-Spezifisches */ #endif /* ---------------------- PC ------------------------------------------ */ #if PC #include #include /* getvect()... */ #define BIN_READ "rb" #endif #define VERSION "V1.01" /* Versionsnummer des Moduls */ typedef unsigned int uint; /* nuetzliche typedefs */ typedef unsigned char uchar; /*********** RX wird gebuffert ********************************************/ #define RX_BUF_SIZE 512 /* Buffergroesse immer Potenz von 2 */ static uint ser_rinx=0; /* Index RX-Serielle Eingabe */ static uint ser_routx=0; /* Index RX-Serielle Ausgabe */ static uchar ser_rx_buf[RX_BUF_SIZE]; /* Buffergroesse RX */ #if ATARI /****************************************************************** * * Serieller Handler ATARI * * Datum: 10.12.1992 * Compiler: Megamax Laser C * * Leider sind die Systemeigenen I/O-Routinen erbaermlich langsam * Es ist auf einem normalen ST mit 8 MHZ nicht moeglich, den * Buffer fuer die MIDI-Daten schneller zu lesen, als er von einem * Full-Speed-Sender gefuellt wird! * ******************************************************************/ #include static int klick_cnt=0; static int rtx_mode=0; /* Modus: 0: RS232, 1: MIDI, */ #define TIMEOUT 100 /* Nach dieser Zeit meckern */ long old_rs232_vec=NULL; /* Alte RS232-Handler RX */ long old_trap_15=NULL; /* Alter Trap#15 */ static kbdvecs *thevecs; /* Felder fuer MIDI-Bereich */ static int (*old_midi_vec)(); /******************* Low-Level-MIDI-Input-Handler **********************/ extern new_midi_vec(); asm{ new_midi_vec: lea ser_rx_buf,A0 ; Basisadr. holen adda.w ser_rinx,A0 ; Index addieren 0..32767 move.b D0,(A0) ; MIDI-Byte abspeichern addq.w #1,ser_rinx ; Index um 1 erhoehen andi.w #RX_BUF_SIZE-1,ser_rinx ; Buffer zirkulieren rts ; Das wars } /******************* Low-Level-RS232-Input-Handler *********************/ extern new_rs232_vec(); asm{ new_rs232_vec: movem.l D0/A0-A1,-(A7) lea 0xfffffa01,A1 ; Basisadr. MFP nach A1 btst #7,42(A1) ; Interrupt durch Recv-Full-Bit ? beq ign_int ; Nein: ignorieren! move.b 46(A1),D0 ; Byte holen lea ser_rx_buf,A0 ; Hier empfangene Bytes ablegen adda.w ser_rinx,A0 ; Bufferindex dazu move.b D0,(A0) ; Byte im Buffer ablegen addq.w #1,ser_rinx ; Index eines hoch andi.w #RX_BUF_SIZE-1,ser_rinx ; Buffer zirkulieren bclr #4,14(A1) ; ISR-Bit-loeschen movem.l (A7)+,D0/A0-A1 ign_int: rte } /************************ Zaehlt Timeout runter ********************/ extern ticker(); asm{ ; Aufruf mit 48 HZ ticker: tst.w klick_cnt bmi nosub subq.w #1,klick_cnt nosub: bclr.b #5,0xfffffa0f rte } /******************* trap15 ************************************/ extern trap_15(); /* Schnelles Umschalten in Super-Mode */ asm{ trap_15: ori.w #0x2000,(A7) ; USER->SUPERVISOR rte } /******************* seriell_rx_status **************************/ int seriell_rx_status(){ return (ser_routx==ser_rinx)?0:1; } /******************* seriell_put_byte() *************************/ seriell_put_byte(mbyte) register uint mbyte;{ if(rtx_mode) asm { ; **** MIDI-Ausgabe **** trap #15 ; SUPERVISOR-Mode utsr: btst.b #1,0xfffffc04 beq utsr move.b mbyte,0xfffffc06 ; Byte an ACIA ausgeben! andi.w #0xDFFF,SR ; wieder USER }else asm{ ; **** RS232-Ausgabe **** trap #15 ; SUPERVISOR-Mode utsm: btst.b #7,0xfffffa2d beq utsm move.b mbyte,0xfffffa2f ; Byte ausgeben! andi.w #0xDFFF,SR ; wieder USER } } /******************* senden *************************************/ void senden(typ,source,len) int typ; uchar* source; uint len;{ register uchar tx_fcs=0; /* Zuerst: RX-Buffer leerraeumen */ while(seriell_rx_status()) seriell_get_byte(); seriell_put_byte(typ); /* Typ ausgeben */ while(len--){ seriell_put_byte(*source); /* Datenblock ausgeben */ tx_fcs += *source++; /* FCS berechnen */ } seriell_put_byte(tx_fcs); /* FCS hinterherschicken */ } /******************* Ein Byte lesen *****************************/ int seriell_get_byte(){ register uchar m; if(!seriell_rx_status()){ /* Noch nichts eingetroffen */ klick_cnt=TIMEOUT; /* Maximalpause einstellen */ do{ if(klick_cnt<0) return -1; /* TIMEOUT ueberschritten */ }while(!seriell_rx_status()); } m=ser_rx_buf[ser_routx++]; ser_routx &= (RX_BUF_SIZE-1); return m; } /******* lesen(): Zentrale Leseroutine: Angabe: wiviel Bytes und wohin * Lesen von uint typ, len Bytes nach uchar. Letztes Byte ist fcs. * fcs wird nur gelesen wenn len>0, FCS gilt nur fuer Datenblock */ int lesen(typ,dest,len) int typ; uchar* dest; uint len;{ uchar rx_fcs=0; /* Pruefsumme lesen */ register int inp; /* Zuerst Typ identifizieren */ if((inp=seriell_get_byte())<0) return -1; /* -1: Timeout - Typ */ if(inp!=typ) return -2; /* -2: Typ - Fehler */ while(len--){ if((inp=seriell_get_byte())<0) return -3; /* -3: Timeout - Daten */ rx_fcs+=(uchar)inp; /* FCS dazu-rechnen */ *dest++=(uchar)inp; /* gelesenes Byte merken */ } if((inp=seriell_get_byte())<0) return -4; /* -4: Timeout FCS */ if(rx_fcs!=(uchar)inp) return -5; /* -5: Fehler FCS */ return 0; /* Ansonst: OK! */ } /******************* Installation *******************************/ InitCom(com,baudrate) /* com: 1: RS232 oder 3: MIDI */ int com; long baudrate;{ int i,fb=0; uint divisor; if(com!=1 && com!=3){ /* ATARI 1 oder 3 */ printf("\007*** Fehler: Schnittstellen-Nummer\n"); exit(-1); } if(baudrate>19200L || baudrate<75L){ printf("\007*** Fehler: Baudrate %ld nicht moeglich!\n",baudrate); exit(-1); } divisor=(uint)(19200L/baudrate); Xbtimer(0,7,200,ticker); /* Watchdog fuer TIMEOUT installieren */ old_trap_15=Setexc(47,trap_15); /* Baudrate installieren bei RS232 (MIDI ist fix mit 312500 Baud) */ if(com==1) { rtx_mode=0; /* RS232-Betrieb */ old_rs232_vec=Setexc(76,new_rs232_vec); asm{ trap #15 ; SUPERVISOR-MODUS bclr.b #1,0xfffffa07 ; Kein TX-Sende-Interrupt! move.b 0xfffffa1d,D0 ; Timer CD-Vorteiler holen andi.b #0xF0,D0 ; Systemtimer ausmaskieren ori.b #0x01,D0 ; Vorteiler /4 bclr #4,0xfffffa09 ; Timer D Interrupt abschalten move.b D0,0xfffffa1d ; Vorteiler installieren move.w divisor(A6),D0 move.b D0,0xfffffa25 ; Baudrate setzen move.b #128+8,0xfffffa29 ; USART-Control: Keine Parity etc. andi.w #0xDFFF,SR ; wieder USER } }else{ rtx_mode=1; /* 1: MIDI */ thevecs=Kbdvbase(); old_midi_vec=thevecs->midivec; thevecs->midivec=new_midi_vec; } } /******************* Entfernen ***********************************/ ExitCom(){ Xbtimer(0,0,0,NULL); Setexc(47,old_trap_15); if(rtx_mode) thevecs->midivec=old_midi_vec; else { /* Vektoren restaurieren */ Setexc(76,old_rs232_vec); } } /******************* ENDE ATARI ************************************/ #endif #if PC /************************************************************************* * * Serieller Handler PC * * Info zur Registerbelegung der PC-SIO z.B. in: C t 5/88 S. 204 * * Datum: 10. 12. 1992 * Compiler: Borland C++ 3.1 * * Empfangen wird im Interrupt, gesendet via Direktzugriff auf SIO * *************************************************************************/ #define IRQ_CTRL 0x20 /* Interrupt-Controller */ #define IRQ_MASKE 0x21 /* Port fuer Interrupt-Maske */ #define SIO_EIN 0xE7 /* Sio-Bits im IRQ-Contr. */ #define EOI 0x20 /* Ende Interrupt */ #define COM1 0x3F8 /* Basisadr. COM1 */ #define COM2 0x2F8 /* Basisadr. COM2 */ /* relative Offsets Register: */ #define IER 1 /* Interrupt Enable Reg. */ #define IIR 2 /* Interrupt Ident. Reg. */ #define LCR 3 /* Line Control Reg */ #define MCR 4 /* Modem Control */ #define LSR 5 /* Leitungs Status Reg */ #define MSR 6 /* Modem Status Reg */ #define COM1_VEC 0xC /* Vektor SIO1 */ #define COM2_VEC 0xB /* dto SIO2 */ #define TIMER_VEC 0x1C /* Timer Vector */ static int com=COM1; /* Basisadresse */ static int com_vec=COM1_VEC; /* Interrupt-Adresse */ static uint no_sio_mask; /* Alte Interrupt-Maske */ static void interrupt (*o_com_vec)(); /* Alter SIO-Vektor */ static void interrupt (*o_timer_vec)(); /* Alter TIMER-Vector */ #define TIMEOUT 10 /* Muss schnell sein! */ static volatile int klick_cnt=-1; /* Klick-Zaaehler */ int hw_test(void); /* Borland C: Prototypen */ int reset(void); /*********** Timer-Interrupt **********************************************/ static void interrupt timer(){ /* Systemtimer zaehlt */ if(klick_cnt>=0) klick_cnt--; /* 18 mal pro Sekunde decr. */ } /*********** Transfer-Interrupt: Daten Input-Daten buffern **************/ static void interrupt transfer(){ ser_rx_buf[ser_rinx++]=inportb(com); ser_rinx &= (RX_BUF_SIZE-1); /* Zyklischer Umlauf im RX-Buffer */ klick_cnt=TIMEOUT; /* 0.25 sec. Stillhalten */ /* 32: Signalisiert TX-Buffer leer */ if(inportb(com+LSR) & (2+4+8+16)){ /**** Fehler aufgetreten ? ****/ inportb(com); inportb(com); inportb(com); inportb(com); } outportb(IRQ_CTRL,EOI); /* Interrupt bearbeitet anzeigen! */ } /******************* seriell_put_byte() *************************/ void seriell_put_byte(register uint obyte){ while(!(inportb(com+LSR) & 32)); /* Warten bis altes Byte draussen! */ outportb(com,obyte); /* 1 Byte raushauen */ } /******* Senden ***********************************************************/ void senden(int typ, uchar* source, uint len){ uchar tx_fcs=0; /* Pruefsumme Sender */ int i; disable(); /* Vor Senden RX-Buffer leeren */ ser_rinx=ser_routx; enable(); for(i=0;i<4;i++) inportb(com); /* SIO leerraeumen */ while(!(inportb(com+LSR) & 32)); /* Warten bis altes Byte draussen! */ outportb(com,typ); /* 1. Byte ohne fcs raushauen */ while(len--){ while(!(inportb(com+LSR) & 32)); /* Warten bis altes Byte draussen! */ outportb(com,*source); /**** Byte absenden ****/ tx_fcs += *source++; /* Pruefsumme dazuzaehlen */ } while(!(inportb(com+LSR) & 32)); /* Warten bis altes Byte draussen! */ outportb(com,tx_fcs); /* Pruefsumme ausgeben */ } /******* Lesen ************************************************************/ /******** Ist was im Buffer ? *********************************************/ int seriell_rx_status(void){ register uint delta; disable(); delta=ser_rinx-ser_routx; enable(); return delta?1:0; /* Nix da = 0, Was da = 1*/ } /********* Ein Byte lesen *************************************************/ int seriell_get_byte(void){ uchar ibyte; if(!seriell_rx_status()){ /* nix vorhanden! */ klick_cnt=TIMEOUT; do{ if(klick_cnt<0) return -1; /* -1 Timeout */ }while(!seriell_rx_status()); /* Solang nix da ist */ } ibyte=ser_rx_buf[ser_routx++]; /* Byte holen */ ser_routx &= (RX_BUF_SIZE-1); /* Buffer Modulo rechnen */ return ibyte; /* Gelesener Wert zurueck */ } /******* lesen(): Zentrale Leseroutine: Angabe: wiviel Bytes und wohin * Lesen von uint typ, len Bytes nach uchar. Letztes Byte ist fcs. * fcs wird nur gelesen wenn len>0, FCS gilt nur fuer Datenblock */ int lesen(int typ, uchar* dest, uint len){ uchar rx_fcs=0; /* Pruefsumme lesen */ register int inp; /* Zuerst Typ identifizieren */ if((inp=seriell_get_byte())<0) return -1; /* -1: Timeout - Typ */ if(inp!=typ) return -2; /* -2: Typ - Fehler */ while(len--){ if((inp=seriell_get_byte())<0) return -3; /* -3: Timeout - Daten */ rx_fcs+=(uchar)inp; /* FCS dazu-rechnen */ *dest++=(uchar)inp; /* gelesenes Byte merken */ } if((inp=seriell_get_byte())<0) return -4; /* -4: Timeout FCS */ if(rx_fcs!=(uchar)inp) return -5; /* -5: Fehler FCS */ return 0; /* Ansonst: OK! */ } /******* InitCom() Initialisieren: Portnummer 1,2, Baudrate ****************/ void InitCom(int com_nr,long baudrate){ uint divisor; int i; if(com_nr<1 || com_nr>2){ puts("\007*** Fehler: Schnittstellen-Nummer"); exit(-1); } if(baudrate>115200L || baudrate<1L){ printf("\007*** Fehler: Baudrate %ld nicht moeglich!\n",baudrate); exit(-1); } com=(com_nr-1)?COM2:COM1; /* Basis-Adresse setzen */ com_vec=(com_nr-1)?COM2_VEC:COM1_VEC; divisor=(uint)(115200L/baudrate); no_sio_mask=inportb(IRQ_MASKE) | (~SIO_EIN); /* Kein SIO! */ outportb(IRQ_MASKE,no_sio_mask); outportb(com+MCR,0); /* Register loeschen */ outportb(com+MSR,0); o_com_vec=getvect(com_vec); /* Alten Vektor holen */ setvect(com_vec,transfer); /* Durch neuen ersetzen */ o_timer_vec=getvect(TIMER_VEC); setvect(TIMER_VEC,timer); outportb(com+LCR,0x80); /* Divisor-Latch-Enable Bit setzen */ outportb(com,divisor&255); /* Divosor Low */ outportb(com+1,divisor>>8); /* Divisor High */ outportb(com+LCR,3); /* 8 Bits, 1 Stopbit, keine Parity */ outportb(com+IER,1); /* Nur Empfangs-Irq */ outportb(com+MCR,0xB); /* Sio IRQ-Enable, RTS=DTR=1 */ enable(); /* Interrupts nun AN! */ for(i=0;i<20;i++) inportb(com); /* Muell entfernen */ outportb(IRQ_MASKE, no_sio_mask & SIO_EIN); /* Daraus neue Maske */ } /******** ExitCom: Aufraeumen *********************************************/ void ExitCom(void){ /* Handler entfernen */ setvect(com_vec,o_com_vec); /* Alter Handler */ setvect(TIMER_VEC,o_timer_vec); /* Alter Timer */ outportb(IRQ_MASKE,no_sio_mask); /* Alte Maske */ } /******************* ENDE PC *********************************************/ #endif /*************************************************************************** * Allgemeine Schnittstellenroutinen ****************************************************************************/ /******** reset: versuche Board zu resetten ********************************/ int reset(){ /* Verhindere Falschmeldungen: Buffer leeren */ while(seriell_rx_status()) seriell_get_byte(); /* Buffer leeren */ /* '255' stoppt das momentan laufende Programm und korrigiert evtl. die * Baudrate auf 31250 Baud (MIDI) oder 9600 Baud (RS232) */ seriell_put_byte(255); /*** Stop! ***/ if(seriell_get_byte()<0){ /* Byte 0..255 oder -1: Timeout */ puts("\007*** Fehler: Keine Antwort!"); return -1; } /* Moeglicherweise wurde Board gerade beim Senden unterbrochen. Daher * Buffer nochmal zu leeren versuchen */ while(seriell_rx_status()) seriell_get_byte(); /* Buffer leeren */ /* '135' fuehrt einen Warmstart auf dem Controlerboard durch. * Warmstart kann in seltenen Faellen (kreuzweise Interrupts, * Watchdog-Fehler etc... versagen */ seriell_put_byte(135); /**** Warmstart ****/ if(seriell_get_byte()!=135){ /* Wichtig: Warmstart immer pruefen! */ puts("\007*** Fehler: Warmstart nicht moeglich!"); return -1; } /* Board hat bis hierher korrekt geantwortet */ return 0; } /****************** hw_test ************************************/ #define BLOCK 2048 /* Soviele Blockgroesse fuer Uebertragung, * muss Potenz von 2 sein! */ int hw_test(){ /* das Feld 'soll' wird gesendet. Dazu muss es im Header die Datenlaenge * und eine Zieladresse enthalten. Daher ist es um 4 Bytes groesser als * das Feld 'ist', das die empfangenen Werte aufnimmt */ long adr=0x8000L; /* Ab hier RAM */ long len=32768L; /* Soviel Bytes hat das Standard-RAM */ static uchar ist[BLOCK], h_soll[BLOCK+4]; uchar *soll; int i,in,lstat; soll=h_soll+4; /* Kopfbereich ueberspringen */ while(len>0){ printf("Pruefe Board-RAM: Adressen $%04lx - $%04lx", adr,adr+(long)(BLOCK-1)); fflush(stdout); /* Manche Compiler: Zeile ausgeben */ for(i=0;i>8); /* Zieladresse high */ h_soll[1]=(uchar)(adr&255); /* Zieladresse low */ h_soll[2]=(uchar)(BLOCK>>8); /* Blocklaenge high */ h_soll[3]=(uchar)(BLOCK&255); /* Blocklaenge low */ /* Datenblock ohne Rueckfrage an Board senden */ senden(131,h_soll,BLOCK+4); /* die 4 fuer den Header */ /* Was antwortet MC darauf? */ if((in=seriell_get_byte())<0){ puts(", Status: \007*** Fehler: Keine Antwort!"); return -1; } if(in!=131){ /* Protokoll verletzt! */ puts(", Status: \007*** Uebertragungsfehler !"); return -1; } /* Adresse und Laenge des Datenkopfes bleiben, nur Typ wechselt */ senden(130,h_soll,4); lstat=lesen(130,ist,BLOCK); if(lstat){ /* Fehlercodes von 'lesen' siehe dort */ puts(", Status: \007*** Uebertragungsfehler !"); return -1; } /* Pruefen: SOLL und IST identisch? */ for(i=0;i=0); /* Sicher Buffer leeren */ /* Handler und Interrupts entfernen, wenn diese Funktion vergessen * wird, haengen sich ATARI und PC recht schnell auf... */ ExitCom(); /* Uebertragung beenden */ exit(ex_stat); /* Alles Klar! */ return 0; } ; ************************************************************************** ; * ; * MIDI/RS232-80C535-2 08.12.93 ; * ; * OS515 - Betriebssystem fuer MIDI/RS232-80C535-2 Mikro-Controller-Board ; * ; * (C) 1990-1993 Dipl.-Ing. Juergen Wickenhaeuser ; * ; * Version 1.0: 01.01.93: (Ur-Version) ; * Version 2.0: 08.12.93: (BASIC 1.0) ; * - -BASIC Run-Time Bibliothek bei Bedarf im EPROM (Steuerung ueber ; * BASIC_EPROM) ; * - Ignorieren von Seriellen Bytes unter 128 (z. B. ASCII-Zeichen) ; * - Wenn im Code-ROM des Prozessors an $FFFE=$ABCD steht, dann ; * nach $8000 springen, ohne Initialisierungen ; * - Wenn an $FFFE=$CDEF steht, nach dem Initialisieren auf $8000 ; * - Wichtig: Beide Residente Programmarten arbeiten nur nach Druck ; * auf Reset! ; * - Programmteile verschoben, wg. Basic Laufzeit-Bibliothek ab ; * Adr. $100 ( oder $8100) ; * ; * +-----------------------------------+ ; * | Dipl.-Ing. Juergen Wickenhaeuser | ; * | Rastatter-Str. 144 |-+ ; * | |#| ; * | D-76199 Karlsruhe |#| ; * +-----------------------------------+#| ; * |###################################| ; * +-----------------------------------+ ; * ; * Protokolldefinition: ; * -------------------- ; * ; * Untersttzt MIDI- und RS232(9.6 kBaud)-Schnittstellen ; * Baudrate wird durch Senden von {255} erkannt und eingestellt. ; * Initialisiert wird Baudrate mit 31250Bd (MIDI) bei niedereren ; * Baudraten bis etwa 9600Bd liest MC eine gesendete {255} ; * entweder als {252} oder {248}. ; * ; * Protokolle: (MC empfangen vom ATARI oder Komatiblen '->', ; * MC gesendet an ATARI oder Kompatiblen '=') ; * ; * Unbekannte Protokolle werden vom MC als Fehler signalisiert und ; * mit {0} beantwortet! ; * ; * Kommunikation erfolgt Paketorientiert: MC antortet erst, wenn er ; * ein komplettes Paket empfangen hat ; * ; * Timeout: MC ueberwacht in dieser Version noch kein Timeout! ; * ; * MIDI/RS232-80C535-2 sendet MC selbstaendig ; * bei Auftreten TI-Interrupts (ausgeloest durch SINGLE-STEP-Modus) ; * = {128}, {129}, {PC-High}, {PC-Low}, {CS} bei TI-Flag gesetzt, ; * Single-Step (CS ueber PC-High und PC-Low) ; * ; * bei Breakpoints: ; * = {242}, {Nummer (0..7)}, {CS} ; * ; * Angeforderte Pakete (vom ATARI oder Kompatiblen): ; * ; * Pruefsumms CS: Summe ueber alle Daten ohne Typ (= 1. Byte) ; * ; * MC soll Programmzaehler senden: ; * -> {129}: PC senden ; * = {129}, {PC-High}, {PC-Low}, {CS} ; * ; * MC soll Code-Block (auch EPROM-Adressen) senden: ; * -> {130}, {High-Adr.}, {Low-Adr.}, {High-Laenge}, {Low-Laenge}, {CS} ; * = {130}, x*{Daten}, {CS} ; * ; * MC soll XRAM-Block empfangen: ; * -> {131}, {High-Adr.}, {Low-Adr.} {High-Laenge}, {Low-Laenge}, ; * x*{Daten}, {CS} ; * = {131} ; * ; * MC soll RAM-Block senden (Internes Prozessor-RAM): ; * -> {132}, {Adr.}, {Laenge x}, {CS} ; * = {132}, x*{Daten}, {CS} ; * ; * MC soll RAM-Block empfangen (Internes Prozessor-RAM): ; * -> {133}, {Adr.}, {Laenge x}, x*{Daten}, {CS} ; * = {133} ; * ; * MC soll (neuen) Programmzaehler empfangen und starten: ; * -> {134}, {PC-High}, {PC-Low}, {CS} ; * = {134} ; * ; * MC soll System initialisieren (Warmstart fuer neues Programm): ; * -> {135} ; * = {135} ; * ; * MC soll Single-Step einschalten: ; * -> {136} ; * = {136} ; * ; * MC soll Single-Step abschalten: ; * -> {137} ; * = {137} ; * ; * MC soll wichtige Register ausgeben: ; * -> {138} ; * = {138}, {SP}, {DPH}, {DPL}, {R7}, ... {R0}, {ACC}, {PSW}, {B}, {CS} ; * ; * MC soll wichtige Register empfangen: ; * = {141}, {SP}, {DPH}, {DPL}, {R7}, ... {R0}, {ACC}, {PSW}, {B}, {CS} ; * = {141} ; * ; * MC soll Programmablauf fortsetzen (Continue): ; * -> {139} ; * = {139} ; * ; * MC soll Serielles Interrupt-Level setzen (normalerweise minimal) ; * -> {140}, {Level 0(min.)..3(max.)}, {CS} ; * = {140} ; * ; * MC soll auf 9.6 kBaud zurueckschalten ; * -> {255} (wird mit 9.6 kBaud gesendet und als 252 oder 248 empfangen) ; * = {252 oder 248} ; * -> {255} (auf MIDI gesendet, wird immer als 255 empfangen} ; * = {255} ; * ; * ; * Hinweis: Das Betriebssystem belegt 12 Bytes auf dem Stack, der nach ; * oben waechst! ; * ; ************************************************************************** BASIC_EPROM=0 ; 0: Kein BASIC im EPROM, 1: BASIC im EPROM .include "..\reg515.def" ; 80515 SF-Register .text_org $0 ; EPROM-Bereich ####EPROM#### ; ******************************************************** ; * Interruptbereich ; ******************************************************** reset: ljmp start int0: ljmp $8003 .ds.b 5 timer0: ljmp $800b .ds.b 5 int1: ljmp $8013 .ds.b 5 timer1: ljmp $801b .ds.b 2 ; 3 Bytes weniger, da ?toos noch nachfolgt ?toos: ljmp midio serial: jnb PSW.5,?toos ; F0=0: MIDI abfangen ####EPROM#### ljmp $8023 ; F1=1: USER-MIDI .ds.b 2 timer2: ljmp $802b ; ab hier spez. 80515 .ds.b 21 ; hier groessere Luecke! iadc: ljmp $8043 .ds.b 5 iex2: ljmp $804b .ds.b 5 iex3: ljmp $8053 .ds.b 5 iex4: ljmp $805b .ds.b 5 iex5: ljmp $8063 .ds.b 5 iex6: ljmp $806b ; ***************** Versionsinfo EPROM ************************ .dc.b "MIDI/RS232-80C535,12MHz,(C)1993," .dc.b "V2.00,08.12.1993" .if BASIC_EPROM .dc.b "--BASIC/51" .endif .dc.b ",Dipl.-Ing. J. Wickenhaeuser," .dc.b "Rastatter-Str. 144,D-76199 Karlsruhe",0 .if BASIC_EPROM ; *********************************************************************** ; * BASIC: ab $100 liegt das Runtime-Modul des -BASIC/51-L ; *********************************************************************** .hide .ds.b $100-! basic: .ibytes "basl0100.bin" ; Laufzeitbibliothek Large-Memory $100 .show .endif ; ************************************************************************ ; * ab $7000 beginnt das Betriebssystem OS ; ************************************************************************ .hide .ds.b $7000-! ; OS-Modul auf $7000 plazieren .show ; ***************** Hilfsroutine, falls OS angesprungen wird *** ; * gibt eine Warnung aus, falls OS angesprungen wird ohne ; * Bibliotheken ab $100-$7000 no_os: clr IEN0.7 ; Alle Interrupts abschalten mov DPTR,#noos_txt ?notl: clr A movc A,@A+DPTR ; Zeichen holen jz ! ; Wenn 0 ist String fertig inc DPTR lcall cha_ou_r sjmp ?notl noos_txt: .dc.b "*** Error: no libraries in this EPROM!",7,10,13 .dc.b "*** System stopped.",0 ; ***************** Hilfsroutine fuer Breakpoints ************* hilf_bp: clr SCON.1 ; So auffuellen, dass bx-Rout, 32 Bytes lang clr PSW.5 ; OS im Zweifelsfalle anschalten anl IEN0,#253 ; Timer0-Interrupt sperren, wg. Stepper ret ; ***************** Breakpoint-Bereich ab $7200 **************** .hide .ds.b $7200-! .show ; Arbeitsweise: Schnittstelle muss fuer OS frei sein, daher: ; Ausgabe der Bedingung & Warten... ; Dieser Programmteile muss immer ab $7200 beginnen, jede Routine ist ; genau 32 Bytes lang! Da leider 34 Bytes gebraucht werden, ist ; Hilfsroutine hilf_bp noetig BNUM = 0 b0: clr IEN0.4 ; Serielle Interrupt sperren acall hilf_bp mov SBUF,#242 ; "Breakpoint erreicht" ausgeben jnb SCON.1,! ; warten bis draussen... clr SCON.1 mov SBUF,#BNUM ; Nummer des Breakpoints jnb SCON.1,! ; warten clr SCON.1 mov SBUF,#BNUM ; FCS manuell jnb SCON.1,! clr SCON.1 ; TI loeschen setb IEN0.4 ; Seriellen Interrupt erlauben sjmp ! ; Endlos... BNUM = 1 b1: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 2 b2: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 3 b3: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 4 b4: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 5 b5: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 6 b6: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! BNUM = 7 b7: clr IEN0.4 acall hilf_bp mov SBUF,#242 jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 mov SBUF,#BNUM jnb SCON.1,! clr SCON.1 setb IEN0.4 sjmp ! ; Hilfsroutine Aendern IP-Level genau auf $7300 mstop: sjmp ! ; ********************************************************** ; * 4 Serielle Routinen zum Lesen & Schreiben eines Bytes im ; * ACC. In B wird die CS aktualisiert. 3+4: Lesen ohne CS ; ********************************************************** ; ----- cha_out: Zeichen in A ueber MIDI ausg., Reg A wird vera.! ----- cha_out: ; (Zerstoert A!) mov C,SCON.1 ; TI merken clr SCON.1 ; und loeschen mov SBUF,A ; Zeichen absetzen: von ACC -> SBUF jnb SCON.1,! ; TI=1 abwarten mov SCON.1,C ; und alter Zustand add A,B ; alte CS zum ACC zaehlen mov B,A ; neue CS in B merken ret ; ----- cha_in: Zeichen von MIDI abholen nach A., Reg.: A ----- cha_in: ; (A bleibt erhalten) jnb SCON.0,! ; RI=1 abwarten clr SCON.0 ; quittieren mov A,SBUF ; ACC von Schnittstellenregister holen push ACC ; ACC sichern add A,B ; alte CS zum ACC zaehlen mov B,A ; ACC als neue CS speichern pop ACC ; ACC wieder wie gehabt, nur gelesenes Wort ret ; ----- cha_in_r: Zeichen ohne CS lesen nach A, sonst wie cha_in ---- cha_in_r: ; --- RAW --- jnb SCON.0,! ; RI=1 abwarten clr SCON.0 ; quittieren mov A,SBUF ; ACC von Schnittstellenregister holen ret ; Zeichen nun in A ; ----- cha_ou_r: A ohne CS senden (nach A., Reg.: A ----- cha_ou_r: ; --- RAW --- mov C,SCON.1 ; TI merken clr SCON.1 ; und loeschen mov SBUF,A ; Zeichen absetzen: von ACC -> SBUF jnb SCON.1,! ; TI=1 abwarten mov SCON.1,C ; und alter Zustand ret ; A bleibt erhalten! ; ********************************************************** ; * Block-Schreibroutinen. Maximale Blocklaenge: 256 Bytes ; ********************************************************** ; ----- cbkl_out: CODE-Block @DPTR, Laenge R0+256*R1 absenden, ; Reg.: DPTR,R0,R1, (A) cblk_out: cjne R0,#0,?cbo1 ; Einzelbytes dec R1 cjne R1,#-1,?cbo1 ; ganze Pages ret ?cbo1: clr A ; ACC loeschen movc A,@A+DPTR ; Byte holen (indiziert mit 0) acall cha_out ; Byte ausgeben und CS mitfuehren inc DPTR ; Speicher weiter... dec R0 ; eines weniger sjmp cblk_out ; Schleifen-form: do-while ; ----- xbkl_in: XRAM-Block @DPTR, Laenge R0+256*R1 einlesen, ; Reg.: DPTR,R0,R1, (A) xblk_in: cjne R0,#0,?xbi1 dec R1 cjne R1,#-1,?xbi1 ret ?xbi1: acall cha_in ; Byte holen und CS aktualisieren movx @DPTR,A ; Byte poken inc DPTR ; Speicher weiter... dec R0 sjmp xblk_in ; ----- rbkl_out: RAM-Block @R1, Laenge R0 absenden, Reg.: R1,R0 rblk_out: mov A,@R1 ; Byte holen acall cha_out ; Byte ausgeben mit CS inc R1 ; Speicher weiter... djnz R0,rblk_out ; bis fertig! ret ; ----- rbkl_in: RAM-Block @R1, Laenge R0 einlesen, Reg.: R1,R0 rblk_in: acall cha_in ; Byte holen mit CS mov @R1,A ; Byte poken inc R1 ; Speicher weiter... djnz R0,rblk_in ; bis fertig! ret ; ********************************************************** ; * Single-Step-Flag ist gesetzt: Zuerst mal den PC senden ; * lassen... ; ********************************************************** ?m0: mov A,#128 ; acall cha_ou_r ; 128 ausgeben, aber Roh! mov A,#129 ; 129 (Comm: Ausgabe PC) merken sjmp ?mm1 ; ausgeben und weiter... ; *********************************************************** ; * midio: Serieller Interrupt: Hauteinsprungroutine ; *********************************************************** midio: ; Interrupt: Register sichern: Offs. von SP: ; - 8: PCL (automatisch) ; - 7: PCH push B ; - 6: B push PSW ; - 5: PSW push ACC ; - 4: ACC mov A,R0 ; push ACC ; - 3: R0 mov A,R1 ; - push ACC ; - 2: R1 push DPL ; - 1: DPL push DPH ; - 0: DPH jb SCON.1,?m0 ; evtl. TI-Flag gesetzt: Single-Step mid_com: ; Kommando holen acall cha_in_r ; Zeichen holen (nun in A) jb ACC.7, ?mm1 ; Nur Kommandos ueber 128 erlaubt! ajmp ?mx ; War nichts! ?mm1: mov B,#0 ; CS-Register loeschen! ; --- Protokoll 130: Code-Block senden cjne A,#130,?m1 ; CODE-Block senden acall cha_in ; Holen mit CS mov DPH,A ; Source_High acall cha_in ; Holen mit CS mov DPL,A ; Source_Low acall cha_in ; Holen mit CS mov R1,A ; Laenge-High acall cha_in ; Holen mit CS mov R0,A ; Laenge-Low acall cha_in_r ; Rohe CS lesen cjne A,B,?fehl1 ; Fehler bei Ungleichheit! mov A,#130 acall cha_ou_r ; Roh absenden mov B,#0 ; Neue Pruefsumme acall cblk_out mov A,B ; Pruefsumme ausgeben acall cha_out ajmp mid_com ; Und fertig... ?fehl1: ajmp fehler ; Zur allgemeinen Fehler-Routine... ?m1: ; --- Protokoll 131: XRAM-Block empfangen cjne A,#131,?m2 ; XRAM Block empfangen acall cha_in ; Holen mit CS mov DPH,A ; Source_High acall cha_in ; Holen mit CS mov DPL,A ; Source_Low acall cha_in ; Holen mit CS mov R1,A ; Laenge-High acall cha_in ; Holen mit CS mov R0,A ; Laenge-Low acall xblk_in ; XRAM-Block empfangen acall cha_in_r ; Rohe CS lesen cjne A,B,?fehl1 ; Fehler bei Ungleichheit! mov A,#131 ; OK, hat geklappt acall cha_ou_r ; Roh absenden sjmp mid_com ?m2: ; --- Protokoll 132: Ram-Block senden ---- cjne A,#132,?m3 ; RAM-Block senden acall cha_in ; Holen mit CS mov R1,A ; Source acall cha_in ; Holen mit CS mov R0,A ; Laenge acall cha_in_r ; Rohe CS lesen cjne A,B,?fehl1 ; Fehler bei Ungleichheit! mov A,#132 acall cha_ou_r ; Roh absenden mov B,#0 ; Neue Pruefsumme acall rblk_out mov A,B ; Pruefsumme ausgeben acall cha_out sjmp mid_com ?m3: ; --- Protokoll 133: Ram-Block empfangen ---- cjne A,#133,?m4 ; RAM-Block empfangen acall cha_in ; Holen mit CS mov R1,A ; Source acall cha_in ; Holen mit CS mov R0,A ; Laenge acall rblk_in ; RAM-Block empfangen acall cha_in_r ; Rohe CS lesen cjne A,B,?fehl1 ; Fehler bei Ungleichheit! mov A,#133 ; OK, hat geklappt acall cha_ou_r ; Roh absenden ajmp mid_com ?m4: ; --- Protokoll 129: Ausgabe Programmzaehler --- cjne A,#129,?m5 ; PC ausgeben und warten mov A,#129 acall cha_ou_r ; Code Roh ausgeben mov A,SP ; A aus SP holen add A,#-7 ; 7 Bytes weniger (siehe oben Reihenfolge) mov R0,A ; R0=SP-7 mov A,@R0 acall cha_out ; PC_High ausg. dec R0 mov A,@R0 acall cha_out ; PC_Low ausg. mov A,B ; CS ausgeben acall cha_out ajmp mid_com ; weiter warten... ?m5: ; --- Protokoll 134: Programmzaehler setzen --- cjne A,#134,?m6 ; PC setzen (GO ...) mov A,SP ; A aus SP holen add A,#-7 ; 7 Bytes weniger (DPL/H R1 R0 ACC PSW) mov R0,A ; R0=SP-7 acall cha_in ; High-Byte PC mov @R0,A dec R0 acall cha_in ; Low-Byte PC mov @R0,A acall cha_in_r cjne A,B,?fehl1 ; Fehler! mov A,#134 ; Bestaetigen acall cha_ou_r ajmp ?mx ; EXIT, Schleife verlassen, GO! ?m6: ; --- Protokoll 135: Systeminitialisierung klein-------- cjne A,#135,?m7 ; Systeminitialisierung ; Systeminitialisierung: Leider kann der Prozessor von sich aus ; keinen vollstaendigen Reset ausloesen. Daher besteht durchaus die ; Moeglichkeit, dass die "Kleine Systeminitialisierung" aus diversen ; Gruenden schief gehen kann (komplizierte Interrupt-Verflechtungen, ; Register-Zuweisungen aus frueheren Starts, ...). Die absolut ; sicherste Methode ist in jedem Fall ein Druck auf RESET. acall cha_ou_r ; Bestaetigen A enthaelt bereits 135 clr SCON.1 ; TI=0 (Single-Step in jedem Fall OFF) mov A,SP ; A aus SP holen add A,#-7 ; 7 Bytes weniger (DPL/H R1 R0 ACC PSW) mov R0,A ; R0=SP-7 mov @R0,#(soft_ini/256) ; High-Byte dec R0 mov @R0,#(soft_ini&255) ; Low-Byte ajmp ?mx ; EXIT, Schleife verlassen, GO! ?m7: ; --- Protokoll 136: Single-Step ON -------- cjne A,#136,?m8 ; Single Step ON acall cha_ou_r ; Bestaetigen setb SCON.1 ; TI = ON ajmp mid_com ?m8: ; --- Protokoll 137: Single-Step OFF -------- cjne A,#137,?m10 ; Single Step OFF acall cha_ou_r ; Bestaetigen clr SCON.1 ; TI = OFF ajmp mid_com ?m10: ; --- Protokoll 138: wichtige Register ausgeben -------- cjne A,#138,?m11 ; wichtige Register lesen acall cha_ou_r ; 138 Bestaetigen (bereits in A) mov A,SP add A,#-9 acall cha_out ; SP (excl. Debugger, 7 zuwenig + 2 f. PC!) mov R0,SP ; R0 aus SP (Reihenfolge wie Stack) mov A,@R0 acall cha_out ; DPH dec R0 mov A,@R0 acall cha_out ; DPL dec R0 mov A,R7 acall cha_out ; R7 mov A,R6 acall cha_out ; R6 mov A,R5 acall cha_out ; R5 mov A,R4 acall cha_out ; R4 mov A,R3 acall cha_out ; R3 mov A,R2 acall cha_out ; R2 mov A,@R0 acall cha_out ; R1 dec R0 mov A,@R0 acall cha_out ; R0 dec R0 mov A,@R0 acall cha_out ; ACC dec R0 mov A,@R0 acall cha_out ; PSW dec R0 mov A,@R0 acall cha_out ; B mov A,B ; CS zum Schluss ausgeben acall cha_ou_r ajmp mid_com ; weiter warten... ?m11: ; --- Protokoll 141: wichtige Register empfangen -------- cjne A,#141,?m11a ; wichtige Register empfangen (ohne SP) acall cha_in ; SP (excl. Debugger, 7 zuwenig + 2 f. PC!) add A,#9 ; ...neuen SP holen und echte Adresse erzeugen mov SP,A ; neuen SP abspeichern ; wg. Continue neue reti-Adresse auf $0 = RESET add A,#-7 ; 7 Bytes weniger (DPL/H R1 R0 ACC PSW) mov R0,A ; R0=SP-7 mov @R0,#0 dec R0 mov @R0,#0 mov R0,SP ; R0 aus SP (Reihenfolge wie Stack) acall cha_in mov @R0,A ; DPH dec R0 acall cha_in mov @R0,A ; DPL dec R0 acall cha_in ; R7 mov R7,A acall cha_in ; R6 mov R6,A acall cha_in ; R5 mov R5,A acall cha_in ; R4 mov R4,A acall cha_in ; R3 mov R3,A acall cha_in ; R2 mov R2,A acall cha_in ; R1 mov @R0,A dec R0 acall cha_in ; R0 mov @R0,A dec R0 acall cha_in ; ACC mov @R0,A dec R0 acall cha_in ; PSW mov @R0,A dec R0 acall cha_in ; B mov @R0,A acall cha_in_r ; Rohe CS lesen cjne A,B,fehlER ; Fehler bei Ungleichheit! mov A,#141 ; OK, hat geklappt acall cha_ou_r ; Roh absenden ajmp mid_com ; weiter warten... ?m11a: ; --- Protokoll 139: Continue ohne alles -------- cjne A,#139,?m12 ; CONTINUE! mov A,#139 ; OK, hat geklappt acall cha_ou_r ; Roh absenden sjmp ?mx ?m12: ; IP-Level setzen ; --- Protokoll 140: Serielles IP-Level setzen --------------------- cjne A,#140,?m13 ; IP-Level neu ; Problem: bei Wechsel der IP-Prioritaet kann es zum Stacking ; kommen, d. h. es wird ein zusaetzlicher IP-Interrupt ; ausgeloest. Daher muss nach Setzen IP-Level sofort reti folgen! acall cha_in ; Byte holen acall cha_in_r cjne A,B,fehler ; Bei Ungleichheit meckern! mov A,#140 ; Bestaetigen acall cha_ou_r clr SCON.1 ; Single-Step off, sonst gibt es sofort IRQ mov A,B ; Akku wieder restaurieren (Neues IP-Level) orl IP1,#%00010000 ; Hoechstes Level setzen orl IP0,#%00010000 jb ACC.0,?m12a anl IP0,#%11101111 ; Unteres Bit loeschen ?m12a: jb ACC.1,?m12b anl IP1,#%11101111 ; Oberes Bit loeschen ?m12b: ; springe zu M-STOP mov A,SP ; A aus SP holen add A,#-7 ; 7 Bytes weniger (DPL/H R1 R0 ACC PSW) mov R0,A ; R0=SP-7 mov @R0,#(mstop/256) ; High-Byte dec R0 mov @R0,#(mstop&255) ; Low-Byte ajmp ?mx; ; Auf ein neues... ?m13: ; --- Slow-Down weil 9.6k Baud? -------------------------------- cjne A,#248,?m14 ; Umschalten auf lahm... sjmp ?m14a ?m14: cjne A,#252,?m15 ?m14a: setb ADCON.7 orl PCON,#128 sjmp ?m15b ; mit 255 bestaetigen ?m15: ; --- Nix aendern: MC haengt am MIDI! cjne A,#255,?m99 ; 255: Alles klar, es ist MIDI 31250 Baud ?m15b: mov A,#255 acall cha_ou_r ; Ausgeben... ajmp mid_com ; weiter warten... ; --- Fehler aufgetreten: MC meckert und schickt ein 0 fehler: mov A,#0 acall cha_ou_r ; '0' ausgeben unf Fehlerblinken ; --- Restliche Protokolle: Nicht auswertbare Daten erhalten: Meckern! ---- ?m99: ; **** und FEHLER **** setb P3.5 ; LED an mov R1,#6 ?mf1: mov A,#50 ; Kurz blinken acall wait_ams ; warten cpl P3.5 ; LED toggeln djnz R1,?mf1 mov A,#0 ; Lange Pause acall wait_ams ; warten acall wait_ams ; 2 mal lang warten sjmp ?m99 ; u. das gleiche nochmal, Hier bleiben ; ----------- Ende MIDI-Interrupt ------------- ?mx: ; Andere Daten: Schleife verlassen pop DPH pop DPL pop ACC mov R1,A pop ACC mov R0,A pop ACC pop PSW pop B reti ; Fertig! ; ******************************************************************* ; * S_T_A_R_T ; ******************************************************************* ; ------------ Initialisierung der Hardware --------------- start: mov DPTR,#$FFFE ; Resident-Test, Typ $ABCD: ohne Init. clr A movc A,@A+DPTR cjne A,#$AB,nores1 mov A,#1 movc A,@A+DPTR cjne A,#$CD,nores1 ljmp $8000 ; ----> Residentes Programm starten nores1: mov SP,#$2F ; SP oberhalb Bitbereich: Waechst nach OBEN mov TMOD,#%00100000 ; Timer 1 Baudrate, Timer 2 aus mov TCON,#%01000000 ; Timer 1 laeuft... mov TH1,#$FF ; Timer 1 Reload fuer Baudrate 31250 mov SCON,#%01111100 ; Ini. Schnittstelle mov IP0,#%00000000 ; Nur Ser. Int. Niedrigste Prioritaet mov IP1,#%00000000 ; = Level 0 mov R1,#20 ?s1: cpl P3.5 ; LED Flackern- Reset mov A,#30 ; ca. 0.6 sec warten acall wait_ams ; A ms warten... djnz R1,?s1 clr SCON.0 ; RI=0 Nix Interrupt! clr SCON.1 ; TI=0 dto. mov IEN1,#%00000000 mov IEN0,#%10010000 ; Nur Ser. Interrupt zulassen ; ----- Hauptwarteschleife ----- mov DPTR,#$FFFE ; Resident-Test, Typ $CDEF: mit Init. clr A movc A,@A+DPTR cjne A,#$CD,nores2 mov A,#1 movc A,@A+DPTR cjne A,#$EF,nores2 ljmp $8000 ; ----> Residentes Programm starten nores2: main: mov R1,#200 ; R1: Zeitkonstante ?ma1: mov A,R1 acall wait_ams ; warten cpl P3.5 ; LED toggeln sjmp ?ma1 ; u. das gleiche nochmal ; ----- wait ams: Wartet Anz. msec (ca.) in A, Reg.: A,R0 ----- wait_ams: mov R0,#248 ; so in etwa 1 ms. ?w1: nop nop djnz R0,?w1 djnz ACC,wait_ams ret ; ----- SOFT-INI: Soft-Systeminitialisierung --------- soft_ini: mov A,#10 ?si0: mov IEN1,#0 ; Alle Interrupts abschalten... mov IEN0,#0 ; und dabei etwas Zeit vertroedeln djnz ACC,?si0 mov IP0,#%00000000 ; Nur Ser. Int. & Niedrigste Prioritaet mov IP1,#%00000000 ; = Level 0 clr SCON.1 ; TI=0 (Single-Step in jedem Fall OFF) mov SP,#$2F ; SP oberhalb Bitbereich: Waechst nach OBEN ; *** Einige Port-Register-Resetten *** mov P1,#255 ; Alle freien Ports loeschen mov P4,#255 ; P0,P1,P3 sind Systemports: Finger weg! mov P5,#255 mov P6,#255 ; *** restliche Initialisierungen ***** clr PSW.3 ; Registerbank 0 waehlen! clr PSW.4 mov IEN1,#%00000000 mov IEN0,#%10010000 ; Nur Ser. Interrupt zulassen (Timer stimmt) ajmp main ; Warten wie geblinkt... ; ; **** 8051-Registerdefinitionen *** .hide p0 = $80 sp = $81 dpl = $82 dph = $83 pcon = $87 tcon = $88 tmod = $89 tl0 = $8a tl1 = $8b th0 = $8c th1 = $8d p1 = $90 scon = $98 sbuf = $99 p2 = $a0 ie = $a8 p3 = $b0 ip = $b8 psw = $d0 acc = $e0 b = $f0 .show ; *********************** 80C515 Registerdefinitionen ************* .hide p0 = $80 sp = $81 dpl = $82 dph = $83 pcon = $87 tcon = $88 tmod = $89 tl0 = $8a tl1 = $8b th0 = $8c th1 = $8d p1 = $90 scon = $98 sbuf = $99 p2 = $a0 ien0 = $a8 ip0 = $a9 p3 = $b0 ien1 = $b8 ip1 = $b9 ircon = $c0 ccen = $c1 ccl1 = $c2 cch1 = $c3 ccl2 = $c4 cch2 = $c5 ccl3 = $c6 cch3 = $c7 t2con = $c8 crcl = $ca crch = $cb tl2 = $cc th2 = $cd psw = $d0 adcon = $d8 addat = $d9 dapr = $da p6 = $db acc = $e0 p4 = $e8 b = $f0 p5 = $f8 .show tmod = $89 tl0 = $8a tl1 = $8b th0 = $8c th1 = $8d p1 = $90 scon = $98 sbuf = $99 p2 = $a0 ien0 = $a8 ip0 = $a9 p3 = $b0 ien1 = $b8 ip1 = $b9 ircon = $c0 ccen = $c1 ccl1 = $c2 cch1 = $c3 ccl2 = $c4 cch2 = $c5 ccl3 = $c6 cch3 = $c7 t2con = $c8 crcl = $ca crch = $cb ; *** 80552-Registerdefinitionen *** .hide p0 = $80 sp = $81 dpl = $82 dph = $83 pcon = $87 tcon = $88 tmod = $89 tl0 = $8a tl1 = $8b th0 = $8c th1 = $8d p1 = $90 s0con = $98 s0buf = $99 p2 = $a0 ien0 = $a8 cml0 = $a9 ;-552- cml1 = $aa ; cml2 = $ab ; ctl0 = $ac ; ctl1 = $ad ; ctl2 = $ae ; ctl3 = $af ; p3 = $b0 ip0 = $b8 p4 = $c0 ; p5 = $c4 ; adcon = $c5 ; adch = $c6 ; tm2ir = $c8 ; cmh0 = $c9 ; cmh1 = $ca ; cmh2 = $cb ; cth0 = $cc ; cth1 = $cd ; cth2 = $ce ; cth3 = $cf ; psw = $d0 s1con = $d8 ; s1sta = $d9 ; s1dat = $da ; s1adr = $db ; acc = $e0 ien1 = $e8 ; tm2con= $ea ; ctcon = $eb ; tml2 = $ec ; tmh2 = $ed ; ste = $ee ; rte = $ef ; b = $f0 ip1 = $f8 ; pwm0 = $fc ; pwm1 = $fd ; pwmp = $fe ; t3 = $ff ; .showae ; ctl3 = $af ; p3 = $b0 ip0 = $b8 p4 = $c0 ; p5 = $c4 ; adcon = $c5 ; adch = $c6 ; tm2ir = $c8 ; cmh0 = $c9 ; cmh1 = $ca ; cmh2 = $cb ; ct. NE&.. NE80535 E51 3'180535 PRO /OE4 LCD4BIT BLK A F 5DENSYT S51 {38IQnuuuu.422zT%{YTY|YTҮҾ02TTHTTHx TTHx0"SSp"y"xP["p"Dt }"DD0}"T1T 1"D}"D}"uD"1[1[uu0ҫx«´"@x1§ 1 1&"Ꙫx-1=u ٴ@Pu@ y"Puڄ y"Pu y"u y"u "uu@uuuuu?x`u0xxu xt(t txߐtq@tq)xy1JAxy@1JtIxy`$@p" xyK`$@pp"$Ipt"{ Ô@ T ÔxIp"ҫ«´"* DENSYTOMETR AL-ProF * * Witam w systemie !!!* Menu. R - wybor, G - OKZerowanie bieli papieru Pom. gestosci optycznej Wartosc tonalna rastra Pomiar krycia farby Opcja - 5 Opcja - 6 Test Eprommera OK!!! To dziala prawidlowo ! *C- *M- *Y- *K- YxyJqxy@JdڴÉxy@Jdݴáxy@JdIùxy@JdLxy@JdOxy@JdkSI1xy@J°t(x{yD&yCx{yJ&yIx{yP&yOtҰdIIIxyJxy@JtII densyt.s51..\reg515.defkopcja6den11den10Oopcja5ľden9ĵden8Lopcja4Ĩden7ğden6Iopcja3Ēden5ĉden4opcja2|den3sden2opcja1fden1]den0Sden121kom12kom11kom10kom9kom8ùkom7ákom6Ékom5qkom4Ykom3step1 d1liczlicz1dhlupkuldlfidhsrdbedudhd10·uuu½lfi®hsr¼beduIdensytAkom2)kom1starttititadc8 con6con5con4con3con2con1adc§hdphdodwgwysubppjiciidciQomJwykom=wyzn&wyliczwycyfrwclrwyscz2cz4[cstscz3czek2coczek1poppczekustinsins}ustdatasez2Xdaa1Msez1lzekonDdaa9sez+timer2timer14inilcdretinsreset.inramadr0p5bp4accp6dapraddatadconpswth2tl2crchcrclt2concch3ccl3cch2ccl2cch1ccl1ccenirconip1ien1p3ip0ien0p2sbufsconp1th1th0tl1tl0tmodtconpcondphdplspp0kJkMkvkykkkkkEkHkSkkkk4ETm $14~/_ K!!D##R$$i$+l$+$+$+:$+=++k--//111313#13k131313 C13 F33 x44 77 99 :: << ?? @@ AA CC ,DD HGG vHH KK MM NN PP SS TT UU WW ,XX H[[ v\\ __ aa bb dd gg hh ii kk -ll Xnn jpp rr tt vv :xx uyy || |}|}}}<y+.sv.@Tfx"3br*<QduK^u8;r4p)6GVgxHK      )?Sdqt1j!!##%%%&%&"%&%&&`(())**,,..&//;11L33^44r667788::<<<=<=<===Y??@@BBDDEEGG!II.IJ1IJvIJyJJLLMM+OOdQQRRSSUUVVXXZZZ[Z[ZZ[Z[Z[[[^^__ aa cc 'cd *cd ocd rdd ff ii!kk!nn!1pp!rss!vv!xx!zz!||!~~!!" """"b"e""#$#e#####$$$,$@$P$e$v$$$$$$$$%%&%;%O%c%u%x%%& &>&r&&&&&&&&''%'2'?'L'^'t'''''''(((!(7(J([(h(((((((() ))+  )B  )O  )\)i){)))))** **S***  *##*$$*%%+&&+))+*+++;--+H-.+K-.+-.+-.+-.+..,,11,C44,p77,::,==,@@,CC-EE-NGG-HH-JJ-LL.NN.QQ.+SS.8TT.JVV.]XX.rZZ.\\.]].__.aa.cc.ff.hh/ii/kk/&mm/;oo/vqq/ss/uu/ww0yy0'{{0:}}0O0h‚0z„0†0‰0‹0‹0‹1‹11[1p’1”1–1™1›11Ÿ2¡2¤2-¤2o¤2¤2¤2§3©3Y«3¬3®3°3±3³3´3µ4 ·4¹4*º4;¼4H½4W¾4g¿4y¿4|¿4¿4455_5n555555556 66,6E6U6h6z6666666777%7p7s7788/8<8N8a8q8888888999,9@  9R  9a  9t9999999:::J:::!!:$$:&&;((;();a();d();();()< ()<))<:AA1I> 1I>M1I>1I>1I?1I?U1I?X1I?[1I?1I?1I@ 1I@ II@%LL@:NN@MPP@bSS@zVV@XX@ZZ@]]@``@cc@ffAiiA,llAAnnAVppAkssA}vvAyyA||AAĂAĄBĆBĉB/ČBIďB^ĒBxĕBĘBĚBĜBğBĢBĥCĨC*īCBĮCWİClIJCĵCĸCĻCľCCD DD3DED`DuDDDDDE E"E7ELEaEsEEEEEEEFF#F9FJF_FtF  F  FFFFFGG#G8GM""G`$$Gt''G))G++G..G00G22G55G77H99H&<<H8>>HLAAH_CCHqFFHIIHLLHOOHRRHTTHVVIYYI\\I4^^II``I^ccIreeIhhIkkIkn. mov A,R1 ;we. R0 - adres znaku w tab. orl A,#$80 ; R1 - pozycja wysw. acall USTINS mov A,R0 acall USTDAT pop ACC ret ; ;------------------------------------------------------------------ ; WYKOM: push ACC ;proc. wyswietlenia komunikatu mov A,R1 ;we. DPTR - adres pierwszego znaku orl A,#$80 ;komunikatu acall USTINS ; R0 - SDE densyt NE.. OS NEREG51 DEF g!#GREG515 DEF h!$REG552 DEF p%WPROJEKT NE& nop ; A = $FF klawisz nie wcis. vv: mov A,P4 mov R0,A orl A,#7 cjne A,#$ff,szuk mov A,P4 anl A,#7 inc A cjne A,#8,kor sjmp koc kor: orl A,#$f8 mov P4,A nop sjmp vv koc: mov A,#$ff pop $00 ret ;powrot, klawisz nie wcisniety szuk: mov DPTR,#TKLAW ;szukaj w TKLAW kodu ige: clr A movc A,@A+DPTR mov P5,#$3f ;inicjalizacja wysw.LCD clr P5.1 ;ster.HD 44780 clr P5.2 ;tryb 4bit. 2 linie, nop ;dane P5.4-P5.7 clr P5.0 ;E - P5.0 mov A,#1 ;RS - P5.1 acall CZEK ;R/W - P5.2 mov P5,#$30 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 mov P5,#$20 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 mov A,#$28 acall USTINS mov A,#$0c acall USTINS mov A,#1 acall USTINS ljmp START USTDAT: push $00 ;proc. wpisania danej push ACC ;dla wyswietlacza. anl A,#$f0 ;we.ACC - dana. mov R0,A mov A,P5 anl A,#$0f orl A,R0 mov P5,A setb P5.1 sjmp ins USTINS: push $00 push ACC ;proc. wpisania instrukcji anl A,#$f0 ;dla wyswietlacza. mov R0,A ;we.ACC - kod instr. mov A,P5 anl A,#$0f orl A,R0 mov P5,A clr P5.1 ins: clr P5.2 setb P5.0 nop clr P5.0 mov R0,#$20 djnz R0,! pop ACC push ACC swap A anl A,#$f0 mov R0,A mov A,P5 anl A,#$0f orl A,R0 mov P5,A setb P5.0 nop clr P5.0 mov R0,#2 acall CZEK1 pop ACC pop $00 ret CZEK: push $00 ;proc. petla czasowa. pp: mov R0,$1a ;we.ACC t = ACC * 40ms. anl $0,#2 cjne R0,#0,pp dec A jnz po pop $00 ret po: mov R0,$1a anl $0,#2 cjne R0,#2,po sjmp pp CZEK1: push $01 ;proc. petla czasowa. co: mov R1,#$ff ;we.R0 t = R0 * 0.5ms djnz R1,! djnz R0,co pop $01 ret ; JEKT NE& sjmp jex ; ;------------------------------------------------------------------- ; PAR3: push $02 ;jak PAR2 dla parametrow trzycyfrowych push $03 ;we. R0 - poz.wysw. push ACC ;wy. R1,R0 (H,L) mov R3,$00 mov A,#$0f acall USTINS odn: mov A,R3 orl A,#$80 acall USTINS mov R1,$03 odnr: acall TI cjne A,#$10,odnp sjmp odnr odnp: mov R2,A mov R1,$03 ; LCD 24 11.12.1994 ; ; DENSYTOMETR ; ;####################################################################### ; ; STEROWANIE URZADZEN ZEWNETRZNYCH. ; ;*********************************************************************** ; ; RAMSYS ;*********************************************************************** ;####################################################################### ; ;----- ---------------------------------------- .include ..\reg515.def .text_org $C000 ;######################################################################## ; ; EPROM 16K max. ( C000-FFFF ) ; adr0: nop nop nop nop nop ; ;####################################################################### ; USTAWIENIE STALYCH TIMERA T2,START INT T2 ;####################################################################### ; mov CRCH,#$d8 ;Timer T2 mov CRCL,#$f0 ;stala t=10ms. mov T2CON,#$11 ;T2-timer,f=Q/12,autoreload mov IEN0,#$a0 ;int T2 odblokowane ljmp INRAM SRESET: acall retin ;soft.reset po nacisn. ljmp iniLCD ;klaw.SRESET retin: reti ;nie zmienia RAMSYS .ds.b $C01B-! timer1: mov TH1,$1E ;int T1 - przez P3.4 wy. mov TL1,$1F ;sygnalu dzwiekowego cpl P3.4 ;$1E,1F stala T1 - ton syg. reti .ds.b $C02B-! ; ;####################################################################### ; INT T2 - OBSLUGA ZEGARA,BADANIE KLAWISZA SRESET. ;####################################################################### ; timer2: push PSW ;ochrona PSW push ACC ;------- ACC setb PSW.3 setb PSW.4 ;zb.rej.3 ; ; ******************************************************************** ; * Obsluga zegara co 10ms. setsek,sek,min odlicza do tylu. * ; * setsek,sek,min kolejno R2,R3,R4 zb.3 * ; * $1A,1B,1C * ; ******************************************************************** ; dec R2 ;set.sek R2 zb.3 cjne R2,#$ff,sez mov R2,#$99 sez: mov A,R2 anl A,#$0f cjne A,#$0f,daa clr C mov A,R2 subb A,#6 mov R2,A daa: cjne R2,#$99,zekon dec R3 ;sek R3 zb.3 cjne R3,#$ff,sez1 mov R3,#$59 sez1: mov A,R3 anl A,#$0f cjne A,#$0f,daa1 clr C mov A,R3 subb A,#6 mov R3,A daa1: cjne R3,#$59,zekon dec R4 ;min R4 zb.3 cjne R4,#$ff,sez2 mov R4,#$59 sez2: mov A,R4 anl A,#$0f cjne A,#$0f,zekon clr C mov A,R4 subb A,#6 mov R4,A zekon: setb $ae ;watchdog setb $be clr $C6 ;skasowanie INT T2 pop ACC ;odtworzenie ACC pop PSW ;----------- PSW setb P4.7 ;sprawdzenie kl.SRESET nop ;klawisz SRESET P5.3-masa jnb P4.7,SRESET ;reset bez zmiany RAMSYS reti ;------------------------------------------------------------------ ; USTDAT: push $00 ;proc. wpisania danej push ACC ;dla wyswietlacza tryb 4bit anl A,#$f0 ;we.ACC - dana. mov R0,A mov A,P5 anl A,#$0f orl A,R0 mov P5,A setb P5.1 sjmp ins ; ;------------------------------------------------------------------ ; USTINS: push $00 push ACC ;proc. wpisania instrukcji anl A,#$f0 ;dla wyswietlacza. mov R0,A ;we.ACC - kod instr. mov A,P5 anl A,#$0f orl A,R0 mov P5,A clr P5.1 ins: clr P5.2 setb P5.0 nop clr P5.0 ;koniec wpis.starszego bajtu mov R0,#$20 djnz R0,! pop ACC push ACC ;mlodszy bajt swap A anl A,#$f0 mov R0,A mov A,P5 anl A,#$0f orl A,R0 mov P5,A setb P5.0 ;wpisanie mlodszego bajtu nop clr P5.0 mov R0,#$30 djnz R0,! pop ACC pop $00 ret ; ;------------------------------------------------------------------ ; CZEK: push $00 ;proc. petla czasowa. pp: mov R0,$1a ;we.A t = A * 40ms. anl $0,#2 cjne R0,#0,pp po: mov R0,$1a anl $0,#2 cjne R0,#2,po dec A jnz pp pop $00 ret ; ;------------------------------------------------------------------ ; CZEK1: push $01 ;proc. petla czasowa. co: mov R1,#$ff ;we.R0 t = R0 * 0.5ms djnz R1,! djnz R0,co pop $01 ret ;------------------------------------------------------------------ CZEK2: push $00 ;proc. jak CZEK z wyjsciem cz3: mov R0,#80 ;klawiszem STOP push ACC acall CZEK1 lcall CSTS cjne A,#$ff,cz4 sjmp cz2 cz4: pop ACC pop $00 ret cz2: pop ACC dec A jnz cz3 pop $00 ret ; ;####################################################################### ; PROCEDURY OBSLUGI WYSWIETLACZA ;####################################################################### ; CLRWYS: push ACC ;proc. kasowania wyswietlacza. mov A,R1 ;we. R0 - ilosc znakow orl A,#$80 ; R1 - od pozycji wysw. acall USTINS rw: mov A,#$20 acall USTDAT djnz R0,rw pop ACC ret ; ;------------------------------------------------------------------ ; WYCYF: push ACC ;proc. wyswietlenia cyfry mov A,R1 ;we. R0 - cyfra do wysw. orl A,#$80 ; R1 - pozycja wysw. acall USTINS mov A,R0 orl A,#$30 acall USTDAT pop ACC ret ; ;------------------------------------------------------------------ ; WYLICZ: push ACC ;proc.wyswietlenia liczby mov A,R0 ;dwucyfrowej swap A ;we. R0 - liczba do wysw. anl A,#$0f ; R1 - pozycja wysw. push $00 mov R0,A acall WYCYF pop $00 mov A,R0 anl A,#$0f mov R0,A inc R1 acall WYCYF pop ACC ret ; ;------------------------------------------------------------------ ; WYZN: push ACC ;proc. wyswietlenia znaku z tab.wysw. mov A,R1 ;we. R0 - adres znaku w tab. orl A,#$80 ; R1 - pozycja wysw. acall USTINS mov A,R0 acall USTDAT pop ACC ret ; ;------------------------------------------------------------------ ; WYKOM: push ACC ;proc. wyswietlenia komunikatu mov A,R1 ;we. DPTR - adres pierwszego znaku orl A,#$80 ;komunikatu acall USTINS ; R0 - ilosc znakow om: clr A ; R1 - pozycja wysw. movc A,@A+DPTR acall USTDAT inc DPTR djnz R0,om pop ACC ret ; ;#################################################################### ; PROCEDURY OBSLUGI KLAWIATURY ;#################################################################### ; CSTS: mov P4,#$ff nop mov A,P4 orl A,#$F0 ret ; ;------------------------------------------------------------------ ; CI: acall CSTS ;proc. jak csts z czekaniem na cjne A,#$ff,CI ;puszczenie i nacisniecie klaw. cii: acall csts cjne A,#$ff,pj sjmp cii pj: mov $1e,#$fe ;syg.dzwiek.wcisniecia klawisza mov $1f,#$30 setb $ab push $00 mov R0,#$90 acall CZEK1 clr $ab clr P3.4 pop $00 ret ; ; ;------------------------------------------------------------------ ; WYSUB: push ACC ;odejmowanie liczb Hex, przetw. clr C ;na Dec. i wyswietlenie ze znak. mov A,R1 ;we. R0 - poz.wyswietlacza subb A,R2 ; R1-R2 liczby Hex do odjec. jc odwg ;wy. cztery poz.wyswietlacza mov R2,$00 mov R0,#1 mov R1,$02 acall CLRWYS phd: lcall HD push $00 mov R0,$01 mov R1,$02 inc R1 acall WYCYF pop $00 mov R1,$02 inc R1 inc R1 acall WYLICZ pop ACC ret odwg: clr C mov A,R2 subb A,R1 mov R2,$00 mov R0,#$2d mov R1,$02 acall WYZN sjmp phd ; ;-------------------------------------------------------------------- ADC: push ACC mov ADCON,R0 ;proc.A/D conv. 10 bit nop ;we. R0 - nr kanalu nop ;wy. R1,R0 - wynik nop mov DAPR,#0 nop nop nop jb $dc,! mov A,ADDAT cjne A,#$40,con1 con1: jnc con2 mov DAPR,#$40 nop nop nop jb $dc,! mov R0,ADDAT mov R1,#0 pop ACC ret con2: cjne A,#$80,con3 con3: jnc con4 mov DAPR,#$84 nop nop nop jb $dc,! mov R0,ADDAT mov R1,#1 pop ACC ret con4: cjne A,#$c0,con5 con5: jnc con6 mov DAPR,#$c8 nop nop nop jb $dc,! mov R0,ADDAT mov R1,#2 pop ACC ret con6: mov DAPR,#$0c nop nop nop jb $dc,! mov R0,ADDAT mov R1,#3 pop ACC ret ; ;--------------------------------------------------------------- ; ADC8: push ACC mov ADCON,R0 ;proc.A/D conv. 8 bit nop ;we. R0 - nr kanalu nop ;wy. R0 - wynik nop mov DAPR,#0 nop nop nop jb $dc,! mov R0,ADDAT pop ACC ret ; ;############################################################### ; USTAWIENIE RAMSYS. ;############################################################### ; INRAM: mov TMOD,#$10 ;T1 timer tryb 1 mov TCON,#$40 iniLCD: mov SP,#$e0 ;stos - $E0 mov P1,#$ff mov P3,#$ff mov P4,#$ff mov P5,#$3f ;inicjalizacja wysw.LCD clr P5.1 ;ster.HD 44780 clr P5.2 ;tryb 4bit. 2 linie, nop ;dane P5.4-P5.7 clr P5.0 ;E - P5.0 mov R0,#$60 ;RS - P5.1 acall CZEK1 ;R/W - P5.2 mov P5,#$30 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 mov P5,#$20 setb P5.0 nop clr P5.0 mov R0,#1 acall CZEK1 mov A,#$28 ;4 bit, 2 linie, 5x7 mat. acall USTINS mov A,#$0c ;disp.on, curs.off, blink off acall USTINS mov A,#1 ;clear display acall USTINS mov R0,#8 acall CZEK1 mov DPTR,#$FDC0 mov A,#4 acall TITIT mov DPTR,#$FD40 mov A,#4 acall TITIT ; ;##################################################################### ; START: mov DPTR,#kom1 ;komunikat powitalny mov R0,#$18 mov R1,#0 acall WYKOM mov DPTR,#kom2 mov R0,#$18 mov R1,#$40 acall WYKOM mov A,#$80 lcall CZEK2 ljmp DENSYT ;############################################################### ; POZOSTALE PROCEDURY. ;############################################################### ; HD: mov R0,#0 ;przetwornik Hex. na Dec. mov R1,#0 ;we. A - liczba Hex. do przetw. clr C ;wy. R1,R0 - liczba Dec: jz bedu hsr: push ACC mov A,R0 add A,#1 da A mov R0,A jc lfi uuu: pop ACC dec A jnz hsr bedu: ret lfi: clr C inc R1 sjmp uuu ; ;----------------------------------------------------------------- ; HD10: push ACC mov R0,#0 ; we - R3,R2 liczby hex.do przetw. mov R1,#0 ; wy - R1,R0 liczby dec.po przetw. clr C mov A,R2 orl A,R3 jz bedud hsrd: mov A,R0 add A,#1 da A mov R0,A jc lfid kuld: mov A,R2 dec A mov R2,A cjne A,#$ff,lup dec R3 sjmp hsrd lup: mov A,R2 jnz hsrd mov A,R3 jnz hsrd bedud: pop ACC ret lfid: mov A,R1 add A,#1 da A mov R1,A sjmp kuld ;######################################################################## ; DH: mov A,R0 ;przetwornik D/H orl A,R1 ;we. R1,R0 - liczba dec (255 max) jnz licz1 ;wy. A - liczba hex mov A,#0 ret licz1: push $03 mov R3,#0 licz: inc R3 mov A,R0 clr C subb A,#1 mov R0,A jc d1 anl A,#$0f cjne A,#$0f,step1 mov A,R0 subb A,#6 mov R0,A sjmp step1 d1: mov A,R1 clr C subb A,#1 mov R1,A mov R0,#$99 step1: mov A,R0 orl A,R1 jnz licz mov A,R3 pop $03 ret ; ;------------------------------------------------------------------- TITIT: mov $1e,DPH ;sygnal dzwiekowy. mov $1f,DPL ;we. DPTR-ton, A-czas setb $ab lcall CZEK clr $ab clr P3.4 ret ;------------------------------------------------------------------- ; ;############################################################### ; KOMUNIKATY. ;############################################################### ; kom1: .dc.b "* DENSYTOMETR AL-ProF * " kom2: .dc.b "* Witam w systemie !!!* " kom3: .dc.b " Menu. R - wybor, G - OK" kom4: .dc.b "Zerowanie bieli papieru " kom5: .dc.b "Pom. gestosci optycznej " kom6: .dc.b " Wartosc tonalna rastra " kom7: .dc.b " Pomiar krycia farby " kom8: .dc.b " Opcja - 5 " kom9: .dc.b " Opcja - 6 " kom10: .dc.b " Test Eprommera OK!!! " kom11: .dc.b " To dziala prawidlowo ! " kom12: .dc.b "*C- *M- *Y- *K- " ; ;############################################################### ;######### ######### ;##### ***** PROGRAM GLOWNY !!! ***** ###### ;######### ######### ;############################################################### ; ; ;############################################################### ; TRYB GLOWNY - DENSYTOMETR ;############################################################### ; DENSYT: mov DPTR,#kom3 mov R0,#$18 mov R1,#0 lcall WYKOM den12: mov DPTR,#kom4 mov R0,#$18 mov R1,#$40 lcall WYKOM den0: lcall CI cjne A,#$fd,den1 ljmp OPCJA1 den1: cjne A,#$fe,den0 mov DPTR,#kom5 mov R0,#$18 mov R1,#$40 lcall WYKOM den2: lcall CI cjne A,#$fd,den3 ljmp OPCJA2 den3: cjne A,#$fe,den2 mov DPTR,#kom6 mov R0,#$18 mov R1,#$40 lcall WYKOM den4: lcall CI cjne A,#$fd,den5 ljmp OPCJA3 den5: cjne A,#$fe,den4 mov DPTR,#kom7 mov R0,#$18 mov R1,#$40 lcall WYKOM den6: lcall CI cjne A,#$fd,den7 ljmp OPCJA4 den7: cjne A,#$fe,den6 mov DPTR,#kom8 mov R0,#$18 mov R1,#$40 lcall WYKOM den8: lcall CI cjne A,#$fd,den9 ljmp OPCJA5 den9: cjne A,#$fe,den8 mov DPTR,#kom9 mov R0,#$18 mov R1,#$40 lcall WYKOM den10: lcall CI cjne A,#$fd,den11 ljmp OPCJA6 den11: cjne A,#$fe,den10 ljmp den12 ; ;####################################################################### ; opcja1: ljmp densyt opcja2: mov DPTR,#kom12 mov R0,#$18 mov R1,#$40 lcall WYKOM clr P3.0 mov A,#$28 lcall CZEK mov R0,#0 lcall ADC8 mov R3,#0 mov R2,$0 lcall HD10 push $01 mov R1,#$44 lcall WYLICZ pop $00 mov R1,#$43 lcall WYCYF mov R0,#1 lcall ADC8 mov R3,#0 mov R2,$0 lcall HD10 push $01 mov R1,#$4a lcall WYLICZ pop $00 mov R1,#$49 lcall WYCYF mov R0,#2 lcall ADC8 mov R3,#0 mov R2,$0 lcall HD10 push $01 mov R1,#$50 lcall WYLICZ pop $00 mov R1,#$4f lcall WYCYF mov A,#4 lcall CZEK setb P3.0 lcall CI ljmp densyt opcja3: ljmp densyt opcja4: ljmp densyt opcja5: mov DPTR,#kom10 mov R0,#$18 mov R1,#0 lcall WYKOM mov DPTR,#kom11 mov R0,#$18 mov R1,#$40 lcall WYKOM mov A,#$80 lcall CZEK ljmp densyt opcja6: ljmp densyt sjmp dazeg ser: jb $32,sera mov DPTR,#kom11 sjmp dazeg sera: mov DPTR,#kom10 dazeg: mov R0,#7 mov R1,#$0d lcall WYKOM mov DPTR,#kom5 mov R0,#7 mov R1,#$40 lcall WYKOM mov DPTR,#kom6 mov R0,#2 mov R1,#$4c lcall WYKOM mov R0,#$2c mov R1,#$50 lcall WYZN mov R0,#$73 mov R1,#$53 lcall WYZN ponas: clr P3.0 ;petla powrotu