|A j Y   S0F18n  SUrZYp]ik።pX靭At 0mm  `LR@LY&4W7L7LLL6LL!LL- w    C  E  gȄ e g 'LAei)Jf*Jf*Jf*Jf*Jf*Jf*Jf*Jf* ȍ`WD w Щ̍Щ} J X'YXim CIDJE F GHG;CȥGCȩ=CHHEEF^ _CCi(CD®~ Bʊ U )A~ )G Ii(IJHȥI8IJJI IGG   + -LN ! D E%D 8DF (EGFG  DDEFFGGC C llH`)   G + ަDE / F8FGGDeDEŢHI 0H` ]LB U^^ Ȅ  t ɠ i^i 륂DEFGL ! C " # Di!EiL 0DD D)  eDDEEj > Al ll J LG HH`%H$H`QRRRRRRRRRRRRRRRRRRRRRRRRRRRE||ZRRRRRRRRRRRRRRRRRRRRRRRRRRRC30%2E0eter3abath$emo^-atthias2eichl$emo^$etlef*ohannsen$emo^"urkhard7agner$emo_(<;L6O@}pN[/pW.F.L+/F.LC/@[/pԈ\T\A((!,,/")4"94%2()%2)340%4%23!"!4( )#(7/,,4%!5#(%).")33#(%.&5%2}$)%02/'2!--)%2!+4)/.)--!'!:).45.()%23%(4)(2$!3%2'%".)3$!$%2!""5#*!%).#,5":5--)4-!#(%.)34} )34!5#($)%3%$%-/$!:5!53'%,%'4)(2+/%..4$)%"!(.0!2!-%4%23%,"%2!%.$%2. 7!37)%&/,'4'%(4:5%234%47!3%).&!#(%3}!5&$%.4!34%.1 0 ! 5.$: ,)%'%.3#(/.&%34$%&).)%24%0!2!-%4%2-)4$%.:)&&%2.4!34%. +!..-!.$%.-/$5}3%).34%,,%."!(.%.&5%285.$9+//2$).!4%. -)4$%24!34%7)2$$%2).4%2,!#% -/$535-'%3#(!,4%4$!..7%2$%.*%.!#}(0!2!-%4%2.!53+5'%,.$)%*%$/#(%47!3&,!#+%2.$%../#(3).$$!-)4%).)'%).4%2%33!.4%%&&%+4%-/%',)#(.5.:5$%.}"!(. 0!2!-%4%2.-)4$%.#523/2 4!34%.!5&5.$!" 5.$ 34%5%24)(2$%.2/4",).+%.$%.#523/2!5&5.$!"$)%7%24%}7%2$%.-)4$%.#523/2 4!34%.,).+35.$2%#(436%2!%.$%24 5.$  5.$:7!23//(.%3()&45-$%.7%24 -)43()&4}5-$%.7%243/7%)4:52"%$)%.5.'$%302/'2!--37%2*%4:4-%(25%"%2$%.#,5":5--)4-!#(%.7)33%.7),, $%23#(2%)"}%!.7/,&'!.'"52'%2 7)%3#(%."%#+ $ (%24%.$/24+/%..4)(2!5#(-)4',)%$7%2$%.&5%2.52 $-)--/.!45.$}"%+/--4$!..!5#($!3#,5"-!'!:).")3"!,$ 30!%4%34%.3:52(/""9 42/.)#)#(7%2$%$!3%).)(2!5#(%5%20%4%23!"}!4(!#(*! &!34(!%44%)#(%36%2'%33%. $)%/",)'!4/2)3#(%.'25%33%!,3/)#('25%33%!,,% $)%-)#(+%..%.5.$-/}%'%. "%3/.$%23"%.*) 3/&45.$(44P}PPQRKPKPQRPQRKPKPQR $* }HR\^HHHZJLH`VbNHF468:<>@BDPXHHHTH  "$&(*,.02HHHH}H.H)?.\I\..@h.`)I)? / 0`:00:0 0) (}@)?:00;0L60/?0 0?00))0I00`/0/6/ 0`/6H/K. }h IiHM.h 0L0H/)ʩPh81L0}1H.h` d) )?,ݜ1` 1=11>1L8!} H i96ʈ6 g2666M.) 166h)6161 L2!3502/.*(-+  ?>:8=9"}#% "&122a2a2a2a2a2a2a2a2a212;2.I.o4I o4{4`L2L2 )@ /6%/ 6L0#} )@ /6/ 6L0ʊJ P.~24244`666777888678678678/+/` 2/ /+/` ҍ6$}6 ҍ66 )86 )86 ҍ6 ҍ66 6Ģ6 0`  ԩЩԥJJ)i3Ѝ=%}ЍЩy3ԭ  )? 66 /0l$Lb "$&(*,..,*(&$" HHH㩞3 %4 14 F4 i4hhh@HH#ԩ Щ&}Щ 33hh@܍33MpH ԍЩƍЩ@h@ߍԩЩ$ЩЩЍЩ` ФƍЩ ЩГ 4'}`@^0^ 4`Щ@Ѣ?P^^Хi@А`ɀjeɀjeJJJ60^e(}6JJJJ68J@^e`^ЅҼ^ȄӠБȑБȑБҘi`H>]ԝ^]՝^h):/585A5:0595B5)}i0`Ծ5 5ԩ(Ԣ5 ɘԥ`"#o3y3$*}Щ@ѢЈН]i Хѝ]iJJJ>`abc^@^ЩPѢН?i@Хѝ?id+}(? 66` ҹ>P^)J6^`@  Щ;ѩ=ҩ;өJȱjȱjҥiАѥiҐ` R6 5,}6 2 0 g2 T5 1L6 @ x{~-}¿~{xurolifca^[XURPMJGEB?=:8531.,*'%#! .} !#%'*,.1358:=?BEGJMPRUX[^acfilorux}/}~{yvtrpnljhgedcba``_______``abcdefghjkmnpqsuvxz{}~|zwurolifc`]0}YVSOLHEA>;740-*'$!  #&*.26:>CGLQUZ_dinsxxy{}xoe\RH>5,$ 1} '1HR\eox}{yx@ @ K@ ] |-3};(x4>jKVK8[m ~r ߱P4}yr}}z,Yv@>V `jK =m-];;;;;;<<` `@```````a a@a`aaaaaUU5}?L|vA{~?P\????6}~?~????7}????8}?????9}~??:}???????;}??????<}??????=}??????>}~?~??????}????@}???????A}??????????B}????C}?????D}???Ǐ?E}???????F}????~??~?G}???ÇH}??8>????I}????>8J}?K}?????L}M}ǏǏN}O} h% ! L\H)h)B}8H= h C```yslfa[WŹztnyrlf`[UQLHD@<9P}52/-*(%#!ҩҢѹʈ ! Lb !!6:) L  Q})ɠ`L L (Q (7"8"00 0(,ɀ) !Z!![! L,! =# >R}#$ $,"3#,,, (`(,L!3`!!00`00`!!!1" S}  ""#?"T}   U}           (Pdx`<|fl0fF68of;`p88p`f<x<6>ffsccncc^>]<9}}99}~||x,$FD`pq!qPHDƜ~>>4$B" __}__/ "!c8|~::~~||x,$FD`pr!qTHD*>TH\~~>>Qq1 _N__/*"!c8||99}}}}z((,( 8h|99}$(,*>^>}}$84>fff;``|ff|ff:>|x|``lvff0 8flxl0 f~~jc}|fffc|v```>`<|0~0006ffn;ff<k>6f<x~ ~1~<~~<~x|nf}8x88888fffffff>`<|fl0fF68of;888>x|f<>>``~pppww``|l`cc>66wwcc0 0 }~~`0 0`ccooo`?33sss~ffgggg`cc~ffwww``pp``pppc`oggssssss <<< n~fflggg000ppp}~gwggggwogggccgggccpppccggg~ffwww`ssggggggggggo>gggogsss>ggggggfl7g@`0} xx6c6>8pp8?}ww<~~~<x`x`~}<~~<0~0 ~ <~~<?g``ss```ggcp~88cc``sss  ~0}0v|vs888fkc?3sss?3ss?3sppcc?3ppp`  33ssccc6ck>6f<)iHH *hh *((L3-)m()i}LJ-)m()i(L/(ILb- *L/(I L- *()m()iHH *hh)m()iH}H *hhL/(I L . *()m()iHH *hh)m()iHH *hhL/(I L2.}(L/(I L/)i)iHH *hh)i)i)i)iJ)i )i)i)iJ})i)i)i)i )i)i)i)i )))i)i )i)i)i)}i)i)iq)i)i)i)i)i)iq)i)i)i)i)i)i}q)i)i)i)i)i )iq`L/(m((m((( LH2(ILH2(((L 0 +L}-2(ILF0 *)e)i(L-2(IL[0 *(L-2(IL08((( m**(m*((L-2(IL}0( m**(m*(i(i( * m(*(m(((L-2(IL1 * m(*(m((}(L-2(ILw1 *( *((( mt**(mu*HH(( *hhL-2(IL1 *Q)eR)i}HH *hhL-2(IL2 *( *( *(y)m(z)i((L2)m()iL2)m()i}(L-2(I L-2 *((m((m((L/`LL2****L2((**(**}IL>3**)L>3**((M(L>3(m((((((IL>3(IL>3****}****IL3**@(m((iILe4)m( )i([)m(\)i[)m(\})i[)m(\)iLb4 )m( )io)m(p)iQLb4)m()i))m(*)i )m( )i}G)m(H)i))m(*)i)m()iG)m(H)i )m( )iL7)m()iѮLY6)m}()i(3)m(4)i(=)m(>)i([)m(\)i[)m(\)i)m()i))m(*)i} )m( )iG)m(H)i(ILm5))m(*)i))m(*)i))m(*)iqL06(IL5))m}(*)i))m(*)im(L06(IL6)m()im(())m(*)i^*m(_*i)m()i}(L06(IL06))m(*)i))m(*)iJG)m(H)iG)m(H)iL7((m((m(((}((I L7(I L6o)m(p)i()m()i(L6(I L6 *()m()i))m(*)i} )m( )iG)m(H)i[)m(\)i)m()iIL7)m()i(q())m(*)i^*}m(_*i)m()i(L7))m(*)i(G)m(H)i(L7[)m(\)i)m()i}IL9)m()i())m(*)i(((L8)m()iHH8(()m()i }*hh)m()iL8)m()iL 9)m()iHH8(()m()i *h}h8堠)m()iL 9)m()i)m()iHH)m()i *hh)}m()i())m(*)i(`L9G)m(H)io)m(p)iQL9G)m(H)ii( `*ea*}iG)m(H)i( mt**(mu*qq(e(eQ)m(R)iq)m()iL;))m(}*)i)m()iQL:)m()iIL:))m(*)i)m()iL:))m(*)i)m(})iq)m()i8e)m(f)iIL;( b*ec*i))m(*)iG)m(H)i( m}**(m*qq(e(eqL;( b*ec*i))m(*)i`hhhLL;(ILa=}(La=((LO< /(ILO<((LI<)m()i(y)m(z)iILC<(ILC< I2(L;((8(}((IL.=(L%=(((((((((((((((( /((L<)m()i(y)m(z)i}IL<(IL< I2(L<((((((((((((((((((8((((La=y)m(z)i}ѮL[= 9(L3=( ;HL;Lx=$Ii %I=L=ԭ%;$;=%i$@`L=$Ii %I=L=ԭ;%};$@`==L=(((( *((La> *((I L:>((((LG>(I LG>L>}=m(=i=L> (L>(IL> *(d(L>( m(*(m(((=m(=i=L>}=(m=((i(L >((L?)m()i(m((i )m( )i?)m()ie)}m(f)io)m(p)i?y)m(z)i)m()i)m()i)m()i)m(})i(L>((((((( (( u=Ҡҩ2((`L@` }}  } 7 5L4L4L4  L4L4L4O7L4Q9   7 6L4L4L4 L4 L4 L4} O7 L4 Q9   7 6LL4LL LL4LL LL OO  4LL LL4LL LL SS4SS QQ4SS QQ  9 9 7 6LL4LL LL4}LL LL OO4OO OO QQ  4QQ SS4SS SS4SS SS QQ  9 -SS SS TT0TT TT  0TT TT VV2VV VV [[  +OO OO} TT0TT TT TT TT0TT TT VV  2 +TT0TT TT TT 0TT TT VV2VV VV  + -QQ QQ QQ-QQ QQ SS  / ; }9 7 4 4 4 LL4LL4LL LL OO7LL4QQ9   7 5 4 4 4 LL4LL4LL LL OO7LL4QQ9  }SS SS QQ4QQ OO LL4SS SS QQ4QQ OO LL4SS SS4SS SS SS7SS QQ4 9  NN6 6NN NN NN QQ9QQ9QQ}9 QQ  NN6NN NN NN NN SS  7 NN6NN NN NN NN SS  +   4  }    aVV  VV VV VV VV VV XX   VV VV VV VV VV VV XX   } VV VV VV VV VV VV XX   VV VV VV VV VV VV XX    7 5NN6NN NN NN NN SS  7}`[XS4[XS4[XS4[XS4 4[XS  9]XT ]XT [XT0 0 0 0 1[VS2 7 +[XT0 0 0 0 1[VS}2 +]XT- - - - .ZWS/ / / / ; / /XSO4  a`   } a   ba  cab b   }b c =(`(G`HI I I IH \$ ` II0ԽI1ԩ"/ԭ I5"Q} I I JLH IP I3 I. I I$ I IJ I I I I IL_#_"L_ppppppppppppppG IAHpppppppp}pppp0G!IpAHpppppppppppp0GIIpAHppppppppppppppGqIAHpAHHHHHH!.$./74(%*/52.%9).4//54%23}0!#%02/'2!--%$"9()!33/&40,%!3%7!)4,/!$).'HLPp`ppNp}ppAA񩜍Ԡ?Щ Щ`/)# /}@ԩϩ \`HHHd ԍЈO ԍЎЌЦH ԍhƭt ԍЎЌЈ ԍЩ8}hhh@HHνL ԍhh@n^.>N^>.n^Nn^l\jZhXfVdTbR`PP`RbTdVfXhZj\l^n0`ԭ1aԢ}/ԩύԩƤƱHe e h ƥ ̥)ŤƱĩPƫƫ ҝƬ ҝLb} GM`LR8Lg8e *88}eeeL΂eee GL> *88eee}L3eee GƦ` –JJJ)缾=`BJJJ)缾=`@ }Ii悅Ii慅]F ee&奐摦}]IF ee&奖日E"ŗ'8嗅 8呅e}]F ee&奖旦]F ee&奐摥E"ŗ }'8嗅 8呅eI褔I`@‘BB“BB }’JJJJiB8͝™` Ԏ01` Ԏ01`GԥJλ 8Jҭ4κκ }ν JJL_μ۩HHHd ԍЈH ԎЍhЌЩhh }h@HHHu ԍЈHH ԎЌЍhhhhh@p`pO }Opp0`–Bi –iÖi Bi}CO` `<(468:01"/}ҩҩҩҩ \䥤> / 0 I ɖ`` N K ņ b V 4 >/ I } Ņ!/ Э_ \@ԩЍLb LwJZj}   IiJIL4F8iz8i(Џz⭊{ {⭋|} |⭌} }⭍~ ~⭎ ⭏z ⭐㮁 ⭑㮂 }⭒㮃 ⭓㮀 ⭔㮅 ⭕㮆 ⭖㮇 ⭗㮈 ⭘㮉} ⭙㮄  ŅL LՋ dﭚ⭪㮛 ⭫㮜 ⭬㮝 ⭭㮞} ⭮㮟 ⭯㮚 ⭰㮡 ⭱㮢 ⭲㮣 ⭳㮠 }⭴㮥 ⭵㮦 ⭶㮧 ⭷㮨 ⭸㮩 ⭹㮤 z})I Ɯ67Ɲƞ! eeeLxԍԭ)ө7}&拥؅ ө@X`ԍx)өIJJJJ)}eL ꪄ⏍ҌҤIйж毥 ؅LŌө@X`!"#$%&'()*+,-./0123456789:   }ĩXĽ,H © *&à…ǢFff(ffH ɑȥȑhiLp` .*/../.}4/5y¹iéȑ ȑ $ȑ 6ȑ Hȑ Zȑ lȑi~â9090ˠʑȥˑiک}ȑ ȑ $ȑ 6ȑ Hȑ Zȑ lȑi~``abcdefg`Ω`ۍ[} Ωۙiȹi?˩_`ĩPš,` d  ` ĩP`}}PV()!33/&4!""5#02!%3%.4)%2%.$)%%234%$%-/'!.:/( }.%3/5.$-)4 3/7)%30!#%5.$%3#!0%+/%..4)(2$!3!4!2) ,/'/$2%(%.,!33%. 34!2434!24%4$)%*/52.%9%2!}.%54 /04)/."//4%45.$3%,%#430)%,4$%.$)') 3/5.$ 5%"2)'%.3-)4/6%23!-0,).'5.$%).%2!5&,/%35.'6/.")4 -%(2"}$)')-53)#).%).%2!.$%2%.$%-/)-&25%(*!(2%23#(%).4$!3-!'!:).$%3!4!2)")4"94%253%2#,5"3!5#}3$)%3%-'25.$-/%#(4%)#(%5#($%.!""5#+52:6/234%,,%.$%2!""5#)34%).).4%2.!4)/.!,%2!4!2) 8,#,5"-)4+/.4!+4%.:5#$},5"3).!,,%27%,4 :52:%)4(!4$%2!""5#25.$-)4',)%$%2$%2!""5#")%4%4%5#(!,,%-/.!4%%).#,5" -!'!:). ).5.2%}%'%,-!%33)'%.!"34!%.$%.3/.$%2 -!'!:).% %).%.0$ 5.$%).%."!50,!. 3%26)#%5.$%).%.2%0!2!4523%26)#%&5%2%52%.2%#(.%25&}.$%52%&,/0093%,"346%234!%.$,)#((),&4-!.$)2'%2.%7%)4%2 7%..$5:5-"%)30)%,02/",%-%-)4$%).%-$25#+%2(!34$%'}2!""5#)34!5#(%).#,5":5--)4-!#(%.&!34!,,%02/'2!--%!5&$%.#,5"$)3+%44%.752$%.6/.")4"94%2.'%3#(2)%"%.(}$)%3!,,%35.$./#(-%(2:5-02%)36/..52$- )--/.!4()%2$)%!$2%33%!""5#%6#/7/,&'!.'"52'%2 7)%3#)}(%."%#+$ (%24%. 5.$',%)#(./#(-!, !""5#%6#/7/,&'!.'"52'%2 7)%3#(%."%#+$ *}(%24%.7/,,4)(2'%.!5%2%37)33%. 3#(2%)"47/,&'!.'7)2$%5#(3)#(%2'%2.%7%)4%2%).&/2-!4)/.%.:53%.$%.$!37!2+}3&5%2(%54%7%)4%2()../#(6)%,30!33"%)-!""5#75%.3#(4%5#(-!44()!32%)#(,wWDd̬xff5Cu,}ޫxV#!SΚxFB˼xECůgwWDthfVDu̬WDT4CEC43tʻgfV#Rɬ˽iVeE3iUvgEiEdvV{4CU5sGCTECXDT-}E3ͻ{UegsۋUvWܛ52tgd̬7"TgTY"CeE%CT$bʼGdwWCʬGCvxfI2dVZSwg TEdH2eV3Z#tF.}|$cVt۬%Bfɼ̬Swfk1eEt%AuWd7!dgEi4uWuXBzRwvGRvVXBuV6"dETߜG#CETެhf/}i$SeΊgUh5"3CuyfUuxw̛WD3SevWU4TvʽwVUfwܛxVvܬgE3CeʬxwWUzfFDdxvWTUTu0}wvˬxwgUxhUEDuxgfffv˛xwgfWeVUzgfUuxUEDSxwwvwhEUUdgfxVefyfffywwf1}yffVuwxFDDdxwwgwV333TxwwhvwwwgE3CDeww̼ywwfxwVDTTuwgfw2}wwͬgVefgUEDUewgfwwgefffvgfVUTw݋fV$1efgUvwwxff۽iEDCTxyvgETgUu3}iED4SyfVE4Txwy؟FESwgUU4 CuΜxgfvͬgVDTfxwgffXfFTFt쾻yF Cvxwgfݼ4}hfewwxwgfwwxwwwxyWկyxgxuWCU#Svww̬xwfywffvwxwvxxzzCVUެiF4BvwgUUv̻xgv5}VUUvwgewwfWuwFgETe˜h$!TeVfVeܼwfwgffwwxgwxg{Ufwwfͫw5Cevvwwfv˫6}xwfwfVefvwgwhgvFTVUeΚh%SvgUfUvXewFDfwxwwwf˼xffwhey52DDuhfvzffVD7}xUUE4SxxwyECvgfffV4"Cfg̫x̫wgFSvgUUffɼxwf͉5DeEe뽪xg$2TUewww̼xgwgg8}UeUUvguzwwgvwwV#"3CvxVfffwwVEUuxטgvwfwwwgffvWefvwwx9}xxwfffewwyxwfejXx5TxyfvwyyvwwiUuwwwwgwgwwxwgvxUvɪyF:}tVeܽyxW3dygwwfvxxxfgxwfwfxyWvwgxwgfvWyVvwyyfffUuxwxwxFdHh5Sfd;}wWjegzUwwwVwzvhD̬iD43ܛW4Cv%s˼wUv5 TguzUef5SH#1dVeݜhuyx˽w7DdUvwɬ62<}VUxWCuwY"Sxy4CTgÜ@vfEfwxxwwxfxgwxywwvfvxvvwxvwwxwwgw=}ygfvgVVwxxwgwxwʬhUevhwvVfwxyvvfvhwvwfxxfvwgVVhgywxgwfwfefyfe>}uzvfECdͼX!"33T˼wxg%1#3uxvgfvͬgEUexwxXUTDCewwwVffvwzVTfgffvgE?}3CETUvۼyfvxVUvwxgvgfvwxwyWuiDTUvwwwvgUDTuwxfgevwgVUvwywwwwwgffwVDe@}fvxwxfvwxgVUUEdgfgUUxwWDuwwffffxwywwwfgUvwwWUUDTvwwwfw̼A}xwWUECuwxgwwwxfVewxwwwxffUvxgUUUvww̻yfffgUTUvgxVvwwwwxfEDTB}efgfefͫywV4DeVewgfwffxxwwgETvgVUDDuݫxwffvxhDe4TfwgfywwgwC}xfvxgUUETfwfffUxʼyfFTwvivgVUTxxxxgETvwwwVD42efwwwiDE"hTxfwwD}wVfygVUDTefgUUDUEdyhfgVehvxvVSfV˫xwgUxxw̻wUUfgEUDCTfwE}xwwwgfVUVVvhUvg˼xxwffffUxwxfvVDTwwx˼xwgvxwgfffffxwvffvwwF}wffwwxwffvxwwwvfffvywwfUUUwgE4DDewwvywxwxhUfUUexVfvVe̼ͻxVG}5"#thEfEe%1vڽ̪̋vxUUEgwffE#CUuxxwVew̼˫xV3SvgVfffUewwfv̼gU4TvwxwwgV4CUvxH}ggVTUUv̫hffUegUD4DewwwgfVUUUfX3Tef˼xvgfECU4Sx۽yfwgexyEewf˫gfwI}VuxVUUUuyDeWD̻hvVyfvwgvʬgevVuhEvxg̫VUfUgUUUvgUvxfhUvwv̫wwwxFTvgxEuxwJ}hfwwwyVegvhUffwgUewgUe˫WUuxVevxffwgfg?@FxltXUdeJyfUyFfK}wXxghWgxxhfxggvgwxxfvxxxhUhwFTfvwfgefwwxwwL}gfffECDehwwwge̜g$!2TewwwffxgUv˻ffvhiVdwVTUegfݼhE"Ce̼xgUUfvM}wVDTfxwywfvwxgvVETuxfvgxgVewgfEUvxwxwgxwfVuhvxgN}wwfywwxvEewwwfUefexwfvvxwwwvxyVUVeffgwxfywwvwwffvwfwwwxfgwwO}fgUUxhefVhU4TEwzEDufvʼywg5cH{TTUvhwffwxxfW3CTUuܽVE42uޛP}xfwf̫xEUEuVvVxvwxwvgwޜE3BT˫WE"CU3zVUTUugE4CDvgvwxwxwwvxQ}gwheF3cVeݽzE3CUeʽxwwwͼzVD4CegE3DuʼwwxvwvgUygEUufww̼zU43CeݼxfxwR}wgfwgVUfUfxxwxxfffUwwVvgvxfvwwywwwEugTvhvxwxgegvwhwvxwS}ygfFCewwwxfxgwwvxgfgwwgUfwwVeffhfgUwvwffgVvxxgygwvwxvgUwvxwT}VfUuWfVxVfef6DvʛVUEuyvwwgvGE4CDvyggvxv6dhWTUwxgdyfVgvU}ygfyWvfwwUefgFux5UvhEexeFuW"DTVd˫ʼyUʬguF3D3jwgEyfUDe݉V}yfTxwwVvwh3thvYhyfxgyxfUEuyyyWTxxewfVBXzhxwWewxxW}xwgvhyvgwwgfvwghvfxxxwxvxvgexhvVffxggvxvyyzfwywyX}gwwwyvhivxtgdiggVxUgezjwgfwʚgfhhuwVzuww|exhfweYjd4TFuwwھzF SvY}hD3"!CDu̫gvwgwgvwwUED4cwVߛVw̫wg3#!Svݫzwgwwgegegv˫whyWuU yheU4"TUfwZ}wwvwgvgfwwxwgvxiffTChUE#BuwgUvgfwxwxgwxwwVVvXTuxwVD[}TvfwwxwgUeffwxwxxyeYfvED̛WfFDuwwwwwwwwwwxwwffffwwx\}gwwW[dheDd̬ywgEdxgeffffwwwwggwgfwgvxffvɌvgfEvfffffv̻wwVUhweFTfUew]}huwfhzߥy{H2cjuiDyTEvghwxgwwT&DI#hjZE_}Xf`Gx&fHxzye^}Íʤ;2rX4{ZH<ٖiyg~Ikdjd{yNJ]ygKWxvyH|JeVhgfHyhViII[{YhWhFGk^_}vfYbrtuHugwveFSWuWUV5BUTfv˼hvgexUViwyYxwxihvyTTewBHd5e4tͫ`}xeVDDefwܽfVevwywwVewwwwxwwwiGTtYeEg4Sݜh5Befwʼ̛xhfEC43Ddvgvw˼ya}xffxwVFd$cxˊxgegUwfVe$2STviUfg4eʼ̪xxvFwwxgXfVgUuxgjfVgfxb}gwfVEUEDvvwwwxWxU6 TESݫwfU̼xfwgxfF#2DUewxWfV$Sc}5TUfg˻iGeUuwwxwxwfwgwxxxwgvguwhuVfVggvfvFUefvyxxhgxwwgfUd}vvgyhggXfegYvUDxuww̽ygUDwyWxgwwxFwxXTVV#efv꽉yfxVWefvggUeGSfguzhge}ʍv5TvvxwgfeWwiwXTgwfgUwxwwgvVd5dFUfVˊxxwffgwwwgwhuxwwxwgvvief}xwffVV3UUUUxwwۭwwwwfvvhewgfgy\VfTvxxwfwxVEECDfv̻hVDDDeݬg}hwxwVEDTUexgfwVsfUU4BͬfEdxgfxfeUUexgffvwxxwxxwl}bSABATH COMbREICHL COMbaDEMO COMbWAGNER COMb MULTIOS2COMb'EDITOR COMb 9MULTILADBASb3CMKURS1 TXTb/vNEUSOFT TXTbABBUCBUDBASbHEX3 TURbFUENF TURgwggeWE3""XEDDTwfvgffwwwfVDexfvxwwfxvwwwwVTwjE3DV$Sewxffvxm}wVwxwUUefwwxxwgfvxgffwwxwwxwgfwxfwxvxxwxxgVUffxwyhfgvxwwfvn}xfZ24uܼhW43dvwfxvgvfevffwgwvwwwxwxfVUewwwwvvxxwuGTVVo}wyVfVevfVUewgwܽwffwgwWfywhwwvvxgUwvVUvxywvgwޜg#1u߬xwwxwyUDefgfp}xwf4BxwVUvݽxwxgFEdETE˚yfEBTuͫˬgUfffDwvxfUwyVegUvfvwwxzWxxx!Sgwxvq}ww˽W4Sfw˚gxWDdiU3TUVܼwywvyEdgd˭Wvx4DffvxUex̛xEUUvfwi5uwuVEDvwgvr}ܼyvfwxfheWuxfevwwgvwfWvxVU˫gUwfUvwwzgfgefvyVexww˫xWuwgWugVfs}wwfVffETUUTgwwwVewwxwxwgfwwywxgxwx̫hfVeffvxUvygvxETvwxwwVUUft}xgUexxwvxgvwfffvxVexgUffgV4DevgVvwwxwxzUWDvxwxgvxfx5BUu}wfewegUUvwʼxyxvvwW5TvgU4UUyexUTuwhxgegwgffvxffxvhffxgUxECTfvwwv}wgffyffegxvyVffwfwxxWvxgwguhCevfegݼhvwyViETUefWTU̜WDhfFw}3txxʼxfW30Tex5CuͼxviETWAgeWvܛW4tFT휘wF38"dwۼW2vw̛hVuʜETx}xgDtW݋6Gd̫zVUy$RVG3D}#SͼX1{4TvyUZd{16!Sh[CܼhSwv̪G3ۋ$2z5y}BFu̻zfzVxEeEBܜFTyXTI!RF4cɋxw̫x&cVUdg5Aދfܽ̋4Sy%BvzEuhvzvxECz4SyEDdz}w{YC5CheWDukDuwˬF3uy$"dFuxx$2w5"tɼGSgiUy%!ckUxyvx5"c̊g$2dˬW{}WT'1zE5Sۼxvffy% ܽhDTjTxwvIAz6!TGSܼggvY2tHTv{1u댇gvjSjEDTuɜ5S̛|} dʜWVvw6Sx5TW4c˛gUuʽG3uyVRwʭgUeyvʬ̊w(BdȾywW%BvW#SxfU{effw˛W}}j1Dˊwhtz$S˼WeWeVfxˊF2DuUXUUvxvxFFTvzwyY4R܋vx@ %+28>DJPV\agmrx}~}p|}}UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUU}UUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUU@UUU}U@UUUU@UUUU@UUUU@UU}UU@UUUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UU}UUUUUUUUUUUUUUUUUUUUTUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UUU}UTUU@UUUUTUU@UUUUTUU@UUU}UTUU@UUUUTUU@UUUUTUU@UUU}UTUU@UUUUTUU@UUUUTUU@UUU}UTUU@UUUUTUU@UUUUTUU@UUUUT}UU@UUUUTUU@UUUUTUU@UUUUTU}U@UUUUTUU@UUUUTUU@UUUUTUU@UU}UUTUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UU}UUUUUUUUUUUUUUUUUUUUTUU@UUUUUUUUUUUUUUUUUUUUUUTUU@UUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUU@UU}UU@UUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU}U@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@}}x 023"### "#####"""20   } 22#  /.. <899,"### "#####"""3==;==;= } <<22# /.. 2 <899-"###=#######""", '89989""""""" }/..< <#2238=>=>*:*=,"%&& ###"""-# ###/....# }#8999#22,8 2 -"%&& ###""",# <#### }###899922-#'/..8999899/..,"###="#####"""- (899 }8999< <22,( 2 /..4  "#####"""4= }%&& <<4<<<<2  "#####"""2 }### 00 } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }TP@V?ꪪjZUVjZVUUUUUU }UUUUUUUUUUUUUUUUZjjjjjjZ }~jjZ iUUU U }*U`_Z %U`ZU:аjiUTTY꺮 }UUUUUUUUTP@jZV?ꪪUUUUWkkkkꪪjZVUUUUUU }UUjZVUUUUUUUUiy饦ZjYyVZ鹥奖VZjjZ }ꪪZjjZVUUUUY UiY iUꪪVVZjVYy }UUUUUUUUUUUVZk6餐@k6餐@k6餐@eZjZjjUUUVZjV^~>> }>>>>V^ T<4u4u$== mP 489:599999;;88  } ?:9$?:*U?8?*%:59?:5?: }9  =5??::?:?: }??:?:: 5::9: :/ }Ǡ/>::>@@@@@TШШԐ4@<4@d@@@@@@@@ }@T@@𐐐@PP 8@P@@@TTPАPPP@P𤤤@@@ }@@@@@@@PP@@@@$@PФ@T@䤐@@@ }P<@4T8dd䤤dPP@䤐T@@@@䤤P䤐@dd4<@4䤐@@ }@@T(L L(\\ww\\<<8<||||~~~~||||<8<<<<<<<<<<<<<<<<<<<<<< }<<<~>>>~~~~>>>~<>?~ }~<<2.v~~v.2>f<:_?_~ }g_~<G_<>>>~~~~>>>><<<<<<<<<<<<<8888 }<<<<<<<<<<<<8<~|||~~~~|||~<8<<<, xo@|``p|o@~ }x~<8<<<<<>.&^ff^&.>><<<,,<,,<,,<<88 }884<4<<<<<<4<48<|~zG]>><]D4AG]6>,]D4AG]EE4 AdB <~~<<~~v }<~~<<~ۙ~<<~<|~|\@$Z<<~8X } H4Z<~%d( 8<~?l 8<U~?l :cABc&?() $@@(@@@@GBBCCFDD }EEFGHH I J   ALA M J  NNAAAAAHAH HMHARASSTUTUTUVWXY }Z[\]^_ᢣ$%de&'fg*+jk큮HH01pq23rs45tu67vw89xy:;z{<=|}>?~AA/ԩ01& \" }/` 0 0)8ԭnnnn.MLbpppppTTT }TTTTTTTTTA𩌅8錅&&i**i8ȑi }iiɐLЯ` }@Jʍ@ } ȯ ԥ)ҩ 0I/ /Щԩ ЈU Щ@1o WIESCHENBECK 45 << >> D-4352 HERTEN <<< ABBUC MAGAZIN #20 ! JUBILAEUMSDEMO ! 199 }0 VON D.JOHANNSEN x< Ԡ@AЎЍ ԍ `ԍ ԍЩЩ`d ԍЩ8Щ }? eG H` ԭ@ ԍР BAЍй@ЈAA A A A ) A B } C D E`AЍ`AЍ`AЍ`AЍ F 3H H`AiЭAЭAЭAЭA`x~D`Dx,A NC }x,A ]Cx,A lCDx,A CDD̀DD0 ~DDD`~DDD`A`ΧAΧA`A~`AA`AEA }`D`~D 0#~DDD DD` D`AEA`D`~D 0#~D΂DD DD`©D`` }A)****=DCDAA) =D=DCDCDAV[șV[ȽV[AV[șV[` }d,8mDiA^DDD``0`8x` }A^DDD`)`D`A^D͂D`DA~DADLVEA~DA DAA^DD` }G )D )A@)ͨA A A }D****f~ƴD****f~Ƶ80< )6G>GF FDVGDʈ }`G` )FGNGF FD[GDʈ`G` LFALFD8ADʈ`P_ }A_PP\h\PPD8DPPiniPP_P_PPF<2(PW`<| }fl0fF68of;p88pf< 80 0 ~~`0 0```nf>ff~fff~~f<flxxlf`````~cwkccfv~~nfc~`|``~~~~f````~~fn~~vfff>6fx`x`~<~~<0~0 ~ <~~<<>f>0c x|f|f|f<860`@ʙ@  ;7T J` J ?7ʍ`36/6 .36 .36m/63626JJ}A/6) }@A(A`B-6.686 `=-68Aԭ.6A0(V8吪Ր  :L\:԰ `=` :ˢ}g@z@ˠeԑȱeՑߤ `=`ʥԅ̥eՅͮAͱʑA`ʥԅ̭AeՅͦAʑ}Đ`BLb<6RAM >^6[6AW6AX6o6A <Y60Z61@ h6/68:6 96 h6-2})2ҥ ҩҬ2636Ҏҍ ҩ76AHAH0HHHHL_HH;HHHL >LbAA H@ >h}A`@Ԏԩ"ԩ2EO%NЩ %NЭ)#  /6/6L!< /6/6 9D6+=6=6@@6@A6L^< }>6I>6D6 8>6@ AA=6 @09ALa6)@ ȍ4}6ȍ56a6) /)@L=@m464656@m`6`6_6Lȭ468ȭ56ȭ`6_60 H)ph8AiȊ}eʑȩeˑ̭A`ȍa6) a6)@ q=L]>a6)@ޱȱL]>ˍ:;A;eʍ9;:;A;i@;A;ȩ@`lAΐ1}-)%>6 96A8A)?A)?}@AVA`A]A)?A)?}@VAA`??*?E:D1:FILENAME.EXT D1:AUTORUN.TAS Q?????}?? @)@A@R@T@Multitasking-BetriebssystemVersion 1.1(c) 1990 von Matthias DreesBitte den Filenamen des Programmesangeben :} D:Eingabefehler !Diskettenfehler !Fertig !kein Multitasking-File !Nicht genug Speicherplatz !Adresse nicht erlaubt} !CLR:? USR(13992)}? USR(14514)+6/6AAAVYpppBApA@"4 r0p(> !fv@/2'/2'4/2'/2'4 }44 (((( (((0000 000%9"!$$,%!}/934)#+L]AhLA ө 86_9 `86 ) s9t9r9  L"}6B?DHH76)҅86Q1616@ʙ@D6D6/\6]6/Q6b6V6g686Lbx >#} >D6 >D6 A ;96 ;db6g6;6N\6 /) "ԭ<6- PFXF >-! xFF: (!^:B"^FF( # FF?:!^:(}B^FF>?*!^:B^G"Gf!9*Xpr@GJGf! **prhGzG *#!Z  2 ^:B^ B?B@ @ @ @ GpI4,tw)}lv'g<| LpppB@Bp6]\ d'-ultitasking %ditierhilfe6c von-atthias$rees2%!$9*}پkcPL '@B C C=BF Q E`E+}C@(%3'/$/3'225.8)/532#/.4%8%#"25.0!).4",/!$2%452.%.$02/#'2!0()#3qIOH<6h,}[6W6X6<6`66)6*666`n6l6m6n6`BBD6BBB>6qJ I IK I`̆ͱ̑ʈi(ʐ`-} BBW@Bʆˢ*i@ʩB˩CH IbH I I}H IʠiHGB BH qI LL M.}B5HBo6iؐj6k6BЩ ԮB7HB F+ @ FBB KBȱB! K8名B/}呍B  KLbHj6k6BЩ h@BBFΆϠBB89HHB>H BhBL5Kh B L0KBB00}BLrK`)҅OHHHlJJJ B9`BLl͊ & &e̅̐ͩ@e̩̅BeͥͅS8Ri B B K Bm BLK1} RLLK8` BBʼBB B B B;8` B)a{8@BS Ri(̐ BЌ B B` BR B KEB2}8Iʆˢ_I BBLL}_IʐLxL K8LL`3 +"%16Ȣʆˮ16HLL3}B`ȩъъъ LL8L M` ?OGʆ˩͢ H HͼHHʑhʈ8}H׭BIB`ъi &4}eЅЩFeх`B&B OMBB`BB OMB`BЍBB`B B'B`BB0ЍBB`D6B5}C B> BD6L"NB BB FOL"NBD6 BBBBLN^B`B M` M BIB6}LwN݂H kMLtN MHBL,OݮBLO MBBLO LH MLO4 HHLOB;7G7}H H詷HLO BH)?  K h;6 MH ?O0 hBBLOBB`^ `B")8}^BZͿ^I^` LB-B@>6 MB ?OB -N M` IL~K nOBBL~K`^ `B")b0HIvMANEDILEFEHLE""@5@A%@A6A7@ A6:} $$******************************$$* *$$* Multitasking-Lade-Programm *($$* ;} (c) 1989 *2$$* von Matthias Drees *<$$* *F$$* nur im Atari-Basic starte<}n *P$$* *Z$$******************************d F:AD, @TA nB$(Bitte dies=}es Programm nur im?(Atari-Basic verwenden!Bx;@4,-@@4"67,.>:,  A>}--@@ D:MULTI*.COM-)@)@-6-%$AV"BU5A-)@?})@-6-%$AV6-&%@6-?:C:,<<,"@A@A@}@1.(?:F:A8,%AV$F:A9,%@,16-F:A,"(FEHLER ,104,162,16,104,157,69,36A}104,157,68,3,104,157,73,3@!!104,157,72,3,169,7,141,66,3J32,86,228,132,212,160,0T132,213,96 D:LADER.BAB}ShhEhDhIhHB VԠ`U;9,7,141,66,3J32,86,228,132,212,160,0T132,213,96 D:LADER.BA2 Multitasking-Programmierkurs (Teil 1)So, Ihr habt jetzt schon soviel vom MOS gesehen, nun wollen einige sicherlich eine D}eigene Task schreiben. Deshalb beginnt auf dieser Magazindiskette der Multitasking-Programmierkursus. Der erste Teil beschreiE}bt den grundlegenden Aufbau, den ein multitasking-faehiges Programm haben muss und welche Speicherbereiche fuer die Task zur F}Verfuegung stehen. Nun fangen wir aber gleich an :Das MOS basiert auf der Umschaltung zweier Maschinenspracheprogramme. DaG}s Atari- oder Turbo-Basic ist selber ja auch nur ein Maschinenspracheprogramm.Also muss die Task auch in Maschinensprache voH}rliegen. Da der Programmierer ausserdem die volle Kontrolle ueber die Speicherbelegung haben muss, ist die Programmierung in I}Assembler zu empfehlen. Aber auch andere maschinennahe Sprachen wie ACTION! oder QUICK koennten geeignet sein.Dieser ProgramJ}mierkursus basiert auf dem Bibo-Assembler. Er kann nicht dazu dienen, die Programmierung in Assembler zu erklaeren, sondern sK}oll nur ueber die Besonderheiten bei der Programmierung einer Task in Assembler informieren.Im Prinzip ist eine Task ein DiL}sketten-File, das einen bestimmten Aufbau besitzt. Wer sich schon einmal mit der grundsaetzlichen Struktur eines Object-FilesM} beschaeftigt hat, der weiss, dass ein solches File mit zwei Bytes $FF beginnt und dann eine beliebige Anzahl an DatenbloeckeN}n enthalten kann, die jeweils von der 16-Bit Anfangs- und Endadresse des Datenblockes eingeleitet werden. Ein solches File kaO}nn von fast jedem Assembler schon bei der Assemblierung erzeugt und von fast jedem DOS geladen werden. Im Bibo-Assembler stehP}t zur Assemblierung in ein File der Pseudo-Opcode ".OF" zur Verfuegung, der direkt nach der ersten Originaladresse stehen musQ}s.Das MOS kann dieses File nur laden, wenn es zwei strukturelle Merkmale aufweist, die an dem folgenden Listing erklaert werR}den sollen :10 ;20 ; Konstanten30 ;40 SPEED = $4050 MOSBLOCK = $362B60 MOSEND = $420070 CODEANF = MOSEND80 S} .OR MOSBLOCK90 .OF "D:FILENAME.COM"100 .DA EINSPRUNG,PRGEND110 .DA #SPEED120 ;130 ; Quellcode140 ;T}150 .OR CODEANF160 ;170 ; Programmtext180 ;190 EINSPRUNG200 JMP EINSPRUNG210 ;220 ; Ende des benoetigten SpeU}ichers230 ;240 PRGENDSo, oder so aehnlich muss also das absolute Grundgeruest fuer jede Task im Bibo-Assembler-Format ausV}sehen. Der Pseudo-Opcode ".OR" existiert in anderen Assemblern auch unter dem Kuerzel ".ORG" oder "ORG". Der Pseudo-Opcode ".W}DA" lautet im Mac65 von OSS ".WORD" und im Atmas II "DFW". Das Doppelkreuz vor dem Label "SPEED" in Zeile 110 isoliert das LOX}-Byte der Adresse.Der erste Datenblock des Files ist zugleich das erste Strukturmerkmal jeder Task und wird, wie in Zeile 5Y}0 zu sehen ist, ab der Adresse MOSBLOCK (=$362B) abgelegt. Dieser Datenblock, der als erster geladen wird, ist zum einen das Z}Erkennungsmerkmal jeder Task und zum anderen haelt er wichtige Informationen bereit, die es erlauben, das Basic-Programm vor [}dem weiteren Laden der Task zu verschieben und die Task dann zu starten. Schauen wir uns diese Informationen ab Zeile 100 doc\}h einmal genau an.Zuerst muss das Label "EINSPRUNG" angegeben werden, das innerhalb des Assembler-Programmes an die Stelle g]}ehoert, an der die Task nach dem Laden den Programmablauf aufnehmen soll. Das naechste Label "PRGEND" muss die erste Adresse ^}enthalten, die nicht mehr fuer das multitasking-faehige Programm benoetigt wird. Das letzte Byte des MOSBLOCKs wird in Zeile _}110 durch das LO-Byte des Labels "SPEED" vertreten. Dieses Byte dient dazu, den anfaenglichen Anteil der Task an der Leistung`} des Prozessors festzulegen und darf zwischen $00 und $7F frei variiert werden.Auf den MOSBLOCK koennen nun eine beliebige a}Anzahl an Datenbloecken folgen, sofern sie ausschliesslich auf den Adressbereich zwischen $41FF und der im Label "PRGEND" angb}egebenen Adresse abzielen. Dies stellt gleichzeitig die zweite strukturelle Bedingung an das Object-File dar. Alle Programmtec}ile, Daten und Variablen, die speziell fuer das multitasking-faehige Programm erstellt werden, duerfen nur in diesen Addressbd}ereich abgelegt werden. Wenn fuer einen Datenblock des Files eine andere Adresse angegeben ist, bricht der Ladevorgang ab.Ine} dem vorliegendem Grundgeruest wird das Label "CODEANF" in Zeile 70 mit der ersten freien Adresse nach dem vom MOS beanspruchf}ten Speicherbereich, der Adresse $4200 initialisiert. Dieses Label wird dann in Zeile 150 als Basisadresse (Originaladresse) g}fuer den Quellcode des multitasking-faehigen Programmes verwendet. Am Ende des Quellcodes sollte, wie im Beispiel, das Label h}"PRGEND" stehen. So gibt es exakt die Adresse der ersten freien Speicherstelle an, die nicht mehr fuer die Task benoetigt wiri}d. Zwischen diesen beiden Zeilen kann nun der gesamte Programmtext aufgenommen werden. Wer noch Speicher fuer Variablen, Datej}n, Bildschirmspeicher oder andere Verwendungszwecke braucht, der kann das Label "CODEANF" noch weiter heraufsetzen und hat dak}nn ab der Adresse $4200 dementsprechenden Speicherplatz frei.Kaum ein Maschinenspracheprogramm kommt ohne die wertvollen Pol}inter aus, die erst die wichtige indirekt-indizierte Addressierungsart der 6502-CPU mit dem Y-Register erlauben und nur in dem}r Zero-Page angelegt werden koennen. Auch dem Programmierer eines multitasking-faehigen Programmes kann der Verzicht auf diesn}e Pointer nicht zugemutet werden. Deshalb stehen der Task in der Zero-Page 16 Speicherstellen ab der Adresse $CA fuer diese uo}nd andere Zwecke zur Verfuegung. Ansonsten darf die Task nur Speicher innerhalb des ihr zugewiesenen Addressbereiches fuer eip}gene Zwecke benutzen.Noch ein Wort zum Stack. Man sollte ihn nicht allzusehr vollstopfen, denn im unguenstigsten Fall, der q}Installation des TURBO DRIVE der Floppy-Erweiterung 1050 TURBO in der Page 1, bleiben der Task nur 64 Byte freie Stack-Plaetzr}e. Also auch Unterprogramme nicht zu tief verschachteln.So, das war's fuer dieses Mal. Ich denke, dass diese wichtigen Grus}ndlagen jeden, der sich schon ein bischen in der Assembler-Programmierung auskennt, dazu befaehigen, eigene Routinen in den Mt}ultitasking-Beitrieb zu versetzen. Da die Ein- und Ausgabemoeglichkeiten noch nicht besprochen worden sind, kann man den Erfou}lg ja ueber den "PEEK"-Befehls des Basic kontrollieren.Naechstes Mal geht es dann richtig rund!Bis dann...ann man den Erfom Multitasking-Serie Teil 2Hallo Abbuc-Fans,wie ich von Wolfgang erfahren habe, ist das Multitask"w}ing-Betriebssystem bei einigen doch ganz gut angekommen. Diese Nachricht hat mich um so mehr gefreut, als ich selber die ganz"x}e Zeit keinen einzigen Brief dazu bekommen habe. Da ich es aber bin, der die Beitraege fuer Euch zusammenstellt, waeren posit"y}ive und negative Kritik, Anregungen und Vorschlaege bei mir sicher auch gut aufgehoben. Also schreibt mir auch mal ein paar Z"z}eilen. Wenn Ihr Fragen zum MOS von mir beantwortet haben wollt, dann legt bitte einen frankierten und addressierten Rueckumsc"{}hlag bei. Hier meine Addresse :Matthias DreesDreibrueckenstr.13D-4410 WarendorfTel.:02581/2612 Zur letzten Aus"|}gabeIm ersten Teil der Multitasking-Serie wurde die Version 1.0 des Multitasking- Betriebssystems und das Spiel TRONG vorge"}}stellt. Sicherlich ist einigen die kleine Ungereimtheit in der Spielbeschreibung zu TRONG aufgefallen. Das dort erwaehnte M"~}enue ist natuerlich keine spezielle Einrichtung von TRONG, sondern der Multitasking-Control-Screen (MCS), der in der Beschrei"}bung des Betriebsystems ausfuehrlich zum Zuge gekommen ist. Bitte denkt immer daran, dass Ihr einem Programm, das unter dem M"}OS ablaeuft, erst die Eingabemedien, die es unterstuetzt, zugaenglich machen muesst. Das geschieht ueber den MCS. Im uebrigen"} kann TRONG nicht mit Paddles gespielt werden.Die Version 1.0 vom MOS hat ein bis zwei Fehler, so dass die Editierhilfe, di"}e in dieser Ausgabe des ABBUC-Magazins vorgestellt wird, nicht mit dieser Version laeuft. Eine fehlerfreie Version 1.0 wird v"}oraussichtlich auf der naechsten Magazindiskette enthalten sein. Die neue SoftwareAuf dieser Magazindiskette fin"}det Ihr eine stark verbesserte, aber auch etwas laengere Version 1.1 des MOS und eine wirklich umfangreiche Editierhilfe. Da "}auf dieser Diskette noch der 1. Teil des Programmierkurses Platz finden muss, will ich mich bei der Beschreibung der beiden P"}rogramme kurz fassen. MOS Version 1.1 Filename : "MULTIOS2.COM"Die Version 1.1 des MOS ist vollstaendig"} kompatibel zur Version 1.0. Alles, was an anderer Stelle ueber das MOS gesagt wird, gilt fuer beide Versionen. Alle Programm"}e laufen grundsaetzlich auf beiden Versionen. Die Verbesserungen beziehen sich auf einige bedeutende anwenderfreundliche Deta"}ils, die die Arbeit mit dem MOS sehr erleichtern.Der Atari-Basic-Lader musste fuer die neue Version abgeaendert werden.Er b"}efindet sich auf dieser Diskette.Fuer die Version 1.0 des MOS muss weiterhin die urspruengliche Version des Basic-Laders ver"}wendet werden.Neuheiten der Version 1.1 :- je ein eingebauter 63-Bytes Tastaturpuffer fuer das Basic und die Task- Au"}f- und Abbewegen des Multitasking- Bildschirmes mit Hilfe der Tasten- kombinationen SHIFT-CONTROL-- und SHIFT-CONTROL-="}- Resetfestigkeit- Sprung in den Titelbildschirm des MOS mit SHIFT-CONTROL-0 (nur bei laufender Task)- automatisches S"}tarten der Task in Laufwerk 1 mit dem Filenamen "AUTORUN.TAS" beim erstmaligen Start des MOS; Dies kann durch Betaetigu"}ng einer der Konsolentasten (START/ SELECT/OPTION) auch verhindert werden. Multitasking-Editierhilfe Fi"}lename : "EDITOR.COM"Die Editierhilfe ist kein eigenstaendiges Programm, sondern laeuft nur zusammen mit dem MOS. Die neuen"} Funktionen der Version 1.1 des MOS machen das editieren mit diesem Programm nebenbei noch interessanter. Alle Funktionen der"} Editierhilfe sind nur solange zugaenglich, wie die Tastaturverarbeitung im MCS auf die Task umgestellt bleibt. Nach dem Lade"}n der Editierhilfe kann die Eingabe gleich in dem angezeigten zusaetzlichen Editierbildschirm vorgenommen werden. Um wieder i"}n den "Genuss" des normalen Basic-Bildschirmes zu kommen, den zweiten Editierbildschirm entweder ausschalten, oder in der Ver"}sion 1.1 des MOS nach oben wegschieben.Funktionen der Editierhilfe :- mit SHIFT-CONTROL-> gelangt man in den INSERT-Modus"}, in dem bei der Ein- gabe alle Zeichen rechts vom Cursor nach rechts verschoben werden- die DELETE-Funktion des Editors"} verschiebt beim loeschen alle Zeichen unter und rechts vom Cursor mit nach links- mit SHIFT-CONTROL-S wird zwischen d"}en beiden Editierbildschirmen hin- und hergeschaltet. Die Anzeige ganz links in der Statuszeile weist auf den gerade "}aktiven Bildschirm hin. Im zweiten oberen Editierbildschirm werden einige Basic-Kommandos, die dazu geeignet sind den B"}ildschirm durcheinanderzubringen, im Direkt- Eingabe-Modus nicht angenommen. Die Farbwahl und der Zeichensatz kann fu"}er den oberen Bildschirm nur in den folgenden Adressen festgelegt werden : - Farbregister ab 13905 (COLPF0) - Zei"}chensatz : 13910 (CHARBASE)- mit SHIFT-CONTROL-P wird zwischen zwei Prozessor-Modi gewechselt. Der eine Modus gewaehrlei"}stet, dass die Editierhilfe immer nur soviel Prozessor-Zeit verbraucht, wie sie benoetigt. Der andere Modus nutzt aus"}serhalb des Editors den ihm durch den MCS zugestandenen Anteil am Prozessor voll aus, so dass man die Ablaufgeschwindig"}keit eines Basic- Programms selber bestimmen kann. Welcher Modus aktiv ist kann an der ganz linken Statusanzeige abgele"}sen werden.- die Tastenkombinationen SHIFT- CONTROL-1 bis SHIFT-CONTROL-9 dienen als Funktionstasten. Sie sind von v"}orneherein mit nuetzlichen Tasten- kombinationen belegt. Eine eigene Belegung kann durch gleichzeitiges Druecken einer "}der Konsolentasten vorgenommen werden. Ein erneuter Druck auf die Funktionstaste beendet das Aufzeichnen der Tastendruc"}ke.- die Statuszeile zwischen den beiden Bildschirmen zeigt noch den freien Speicherplatz, die gerade bearbeitete Basi"}c-Programm-Zeile, den Status der Tastatureingabe und den ATASCII-Kode des zuletzt eingegebenen Zeichens anbeitete Basi oy,CTEXTADFREEFARBA@@@@9@! AS&} @ AV @@ ABBUC GEBURTSTAG'S DEMO !!;AP,67AP,. &}67@<@,. 67A,. 67@,. 1 +A1AR@"-&}A (*" -@AP (1 +A1AR@-""à&}25-@@5(* * *** *** **** ****<5-@@5(* * * * * * * * * *F2-@&}@2(***** * * * * * * *P2-@@2(* * * * * * * * *Z5-@@5(* * * &}* * * * * * d5-@@5( * * * * * * * * * *n5-@5( * *** *** * * ****&}x--@9#-@ )(*- -@3@(e-@3@(.-@3@(V&}-@3@(.5-@@5(Der ABBUC hat Geburtstag !!-A /-@&}8#-@ +(* / -@P /-@8#-@ +(* / -@P&} /-@8#-@ +(* / -@9@ (*B-@B((&}B-@B(( B-@B((&}B-@B((****************************************,B-@B((Herzli&}che Gratulation fuer den ABBUC !!!6+-@@+(Von BUDDYSOFT !!!@;-@@ ;(!1989/90 by Christian D&}uesterhoeft-@A"-@@?'2@ &%%2&}0 :243,217,217,217,162D162,162,144,144,144N182,193,217,217,217X217,162,162,162,144b&}144,144,182,193,217l243,217,217,217,162v162,162,144,144,144217,000,000121,121,114,121,121114,&}128,144,128,162162,173,182,182,173162,182,217,217,230217,217,114,121,121114,121,121,114,128144,&}128,162,000,217182,182,182,182,182000,193,217,217,230217,217,000,000,000000,000,182182,182,182,&}182000,000,193,217 217,230,217,217,0,0 k-AU@+A?-@KA &}_-?Pc g k >AA)CAR@H>>67@@<A ,.# mit CONTROL-1 Laufschrif&}t stoppen.Rkk67A!<A,.P Herzlichen Glueckwunsch von BUDDYSOFT fuer den ABBUC , zu seinem Jubilaeum !! \QQ67&}A<AT,.6Hey BIT-BYTER !!! Ihr wisst nicht wer BUDDYSOFT ist ??fvv67AW<AG,.[Nun , BUDDYSOFT kommt aus&} Anroechte und stellt Software fuer den Atari XL/XE her !!!! Heypss67AI<A@,.X ABBUC-Vorstand !! Gebt Anfaenge&}r (wie mir) auch eine Chance einen Preis zu gewinnen !!!zxx67AA<AB,.] Sonst verlieren sie die Lust am Programmi&}eren , und geben es vieleicht auf ! Ich nicht,aber |nn67A4<A),.Sbestimmt andere . Und ich meine es sollte jeder&} User gleiche Chancen haben !! ENDE -@A0-@@-@ (7<%@7&},  #Au AuD8:ABBUCBUD.BAS mit CONTROL-1 Laufschrift &}stoppen. Herzlichen Glueckwunsch von BUDDYSOFT fuer den ABBUC , zu seinem Jubil&}aeum !! Hey BIT Herzlichen Glueckwunsch von BUDDYSOFT fuer den ABBUC , zu seinem Jubil$#X A7AY5@@P:B;@,V6. HEX DECi(@*}u(@-  BU5! AU@1(@[:, - -(@1 /(@*}[:, - +(@/  D:HEX3.TUR@1(@[:, - -(@1 /(@(7 @"  +@@+-@@p;Y@@AW2@@{2@%@.}@@ {-@@p'Y@HBK2@@$@@w2@@@$%@.}@@{ {-@@p'Y@VBK2@$@@w2@@$%@.}@@{ ({-@@p'Y@dUK2@ $@@w2@@ $%@.}@@{ 2-@@p'Y@rCK2@`$@@w2@@`$%@@.}@{ ~2M@%% D:FUENF.TURCK2@`$@@w2@@`$%@@,5