NNNNNNmp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN`  @`/#@%')+-/1 3@5`79;=?A OE`GKM/S@U`WY[]_a c@e`gikoq s@u`wy{} @` @ o @ ` / @ @ ` ɠ  o ׀ ٠  @` @`!Aa   Oa!!#A)+-/13A79;=?/CAEaGIK`  @`/#@%')+-/1 3@5`79;=?A OE`GKM/S@U`WY[]_a c@e`gikoq s@u`wy{} @` @ o @ ` / @ @ ` ɠ  o ׀ ٠  @` @`!Aa   Oa!!#A)+-/13A79;=?/CAEaGIKA163ACCLOAD  t CHANGE ACC't HDTA 2t PGREIFER Et H_WANDEL Zt SWITCHER t X32_CONV t &LEES DITt JH.  t..  tAUTO t ACCLOAD PRGt &MrACCLOAD TXT$t C.  t..  tACCLOAD PRGt MrACCLOAD TXTt !`n@(ACmN4,I*H(mJ$f*O ,f < /?<HNAJkT"&@Ё.@`N - ЭЭ$ԍR&B&,gЃ` "ҍRb.A// Bg?<JNA m"-p`HA0QHAQ)M"O )I)K ^ g H NLP`& yv:&N9| ^ gJf9| H NLP`Bg?<LNANuHz ?<&NN\Nu@v,|NuHz ?<&NN\NuFv,Nu c v6 c v(fNFNuN:"#o6 #o2 @ Pf#v6Cv(!Q "Ryn@NTNTNFNuNTNFNu c"c/ " g$(g e&@Ђ.@/N._&_NuNFNu 9v(fNFNu @E g @$ &C&/ N$_`Nu/9v. yv:"Pv2g v6f 9v(gV @ h gN2.$i|$0 f.B`O,|1h 1| &h.h?/N _1| ?<LNAJ yv: v2fA2gJ#Nu yv:#v2Bv6Bv(Byn@Av!H!HHz ?<&NN\`#v.A2#NuNu` 9NuHz?<&NN\ @2( Af #`,v:`#(v:NuYN NuNuNN NupN  M!#1#N A`Eingabedatei:O"Op Q&6 N N BN &6N(n&B@ cH@B@H@B<>S#W@68 n0g&6B[6&vRNlN LPN]Nup N A!#!#1#N A`Fehler beim ffnen: Ap ? Q&6N &6pN N N A`Nochmalige Eingabe ? (J/N) O"OpQ&6N A &N I  BN :S B<JS#g B<NS#W@6`6Jcg(n B<JS#W@68N LPN]Nup N A!#!#N A`Fehler bei DateiAp? Q&6N 0.g6A` eingabe: O"OpQ&6N  `2A` ausgabe: O"OpQ&6N  &6pN N N A`0Datei wird geschlossen. Bitte Taste drcken. O"Op,Q&6,N .A&N BB[S#S#gN LPN]NuAeNFNU/$OH ,J M!#!# V0(g2&vT09v @cNF cHI n((n(`$(n&vT09v @cNF cH( |vRPLPN]NupN  M1#(|vBT&w & $aP&w& $a>&v&f$a,&v&p$a&w& j$a&w& t$a&w& $a&w& $a&w& $a&w&r$a&w&& $a&w*&$a&w.&$ax&w2&$af&w6&$aTLPN]NuN B[NLPN]Nu(|vB&v& |v&&N D6NNu0#2H cNuNU/ #g,"#BBJk cRBjヲeRCQ&&N]NuNFB&N]Nu K$R`HASeWgHAQJg JgNFBNu"_2+RAR$k'O O/`HAQHAQNNuAd _NU$OH ,JNNF`NuAd _/ *O$OH ,JNNF`NuB@+A pNu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AEEEIIIOOUUAIOUNuNu _NDNNuNsNu"cA"#M#WNu@ fN PA8/9#"9 # "c$Q ie#X#X"6`.@B[##  f|NuHz ?<&NN\Nu#vNu(|vB&v& |v&&N DHz ?<&NN\` @|#vA X#FNuNuB&&vNj _$#$c #"c"(!I#A "#B#JNu$# #"#"cEv#J j#H!I%IBi "#@#BNuNuA&B[ yvNUNu?< &6 yvNTNu?<E&6 yvNTNu/<Y 0#/0#/&6 yvNXNu yvNNuY yvNJcf>e&6 yvN yvNS# c>f@&r dSA6 yvNXNu yvNNu yvNJcV| c0g yvNS# cNu cBNuU&N tTNu yvN # c c NuU cpJgR@`6Nu2#0# c@bRA@b0`tfNu2#S#0# c@b@g S@`NuAeNFNU/$OH ,J M1#BN 0.geBN `fBN LPN]NuAeNFNU/$OH ,JA!#I8?.0Tm/ BN (_RThTLPN]NuAeNFNU/$OH ,JA1#6B@coI0.D@8ID` ICI8?.0Tm$/ BN BN (_RThTLPN]NuAeNFNU/$OH ,J V6 V0(ce V&6 V6 0<k$a@ V6 0<k0#D@6$a V&6pN N  BN V6 V0( k0<k0#D@6$a VASPLPN]NuAeNFNU/$OH ,J B V60<k V0( k$a& V60<k V0( k0#D@6$aV VI V6 0<k8 V& V0( cH@B@H@IB[SLPN]NupN A!#1#I60<k8I BTI 8I&6$a8&6pN N 0.D@6$a6$aA&A&$a|B[$a& <Kf(6 0<cdA SP0<D@6$aZ`2& <MfB6 0.ce6 0.cR@6`B[JcgA RP6$a `& <f.6 0<cdA SP0<D@6$a$aZ`& <Sf $a@`& <G7f,6 0<k0#D@6$aI 8$a`R& <Gf $a`8& <K4f&6 0<k0#D@6$a4I 8`& <M6fJI60.cR@6860.k0. k$aI 60.k8`& <r f$aI 8`& < fI 8`n& <Rf6 0.ce60.cR@6`B[Jcgx&6 B6 0<k$ajARP6 0<k0#D@6$a&6pN N 60<k0. k0#D@6$a`B< S#bBp?#Q&6N T0<D@6$a&6 0<k0# cH@B@H@I6 0.cd.ARP6 0.cc n0. H@B@H@IB[S6 0.ccA RP6$a&0. gp60<k0. k$aLPN]Nu kBNNuBN vBN NuH8#(cRDp` ?/<NM\WLNu/<NMXJ@V|6Nu/<NMXRNu/<NMX&Nu6NuHz?<&NN\6NuJ9LgpPNup(Nu(|v((|v(P(|v(VNu(|v(2(|v((|v(BNuNNvNuA &N[3][InOut driver is missing][QUIT]NuNu#w #w#v#w#w#w#w#w#w#w&#w*#w.#w2#w6#w"#v#w~#wNu cCFE$#JXJ#J4#J TJ#JA"B " 0<NB.LNA4NuNuH c<#$cB0#2#:#"cBPxtJAjABAJ@n,RBAg*Eb*J1 g$`RBEb1 gAeFb@RDQ0FbB2@LxNu2# c JWfS"6NuH0# c:#"crBCBDEF202@ffJgRA@bEcJg`b`EbJfr`r`r6L8Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~CueaaaaceeeiiiAAEaAooouuyOUsaiounNaoaoOooOAAOiINu?0# c:#"crfJgRA@bEcJgB[:NuEbJf6:Nu2# cCB@gQNu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AEEEIIIOOUUAIOUNuH(c4#2#0# c(*6JWfS& EJAjABAJBjBB8BCc @b*B0`$JBgD` @RDRAQB08L8NuBTL8Nu$c2#"c0# c`S@eWgJ@g JgBRNuB4Nu$c0# c2#"cJWfSR@gS@e Q`Jg BRNuJ@gB4Nu0# KPr `S@jBNuNuN BNMvpBNMvLPN]NuN BNMvqBNMvLPN]NupN  M1#62<B0#H@60< 6H@J@gNFJk0<kdNF62<B0#60< kdNFNNLPN]NupN  M1#62<B0#H@60< 6H@J@gNFJk0<:kdNF62<B0#60< kdNFNNLPN]NuN 66NL&N L #6LPN]NuNFpN A!#!#!#!#0.gNZ6 AO"Op Q&6 N0#kdNF2<B0#6jNFNBp'?#Q&6OA&6 &NPAO"Op Q&6 A&6 &N6 AO"Op Q&6 N 0#kdNFjNFNBp'?#Q&6OA&6 &NPAO"Op Q&6 NN. NLPN]Nup(N A!#!#!#1#AO"Op Q&6 A&6 A&6 NR~Ap QBLPN]NuNFN &&NKD(|Nm( yI8 yI$BT yI.( yI28 yI48 yI6BTLPN]Nup N  M!#!#!#&B@ @cNF cH@B@H@ЀI8&0< @cNF cH@B@H@ЀI8 &&NmLPN]NupN  M!#!#60<kNvA60<kNvNm60<kNvA60<kNvNm66N60<kNvA60<kNvNm60<kNvA60<kNvNm66N&&B[B[NLPN]NuN 66 Nm66#NmNb66=Nm6p6sNmNb66Nm66NmNb66Nm6p6$NmNb66=Nm6p6NmNb66NNA`Accesory Lader ( A.S 1988 )Ap ? Q&6NN.66NNA`Gewlte AccesoriesAp? Q&6NN.66 NNA` AccesoriesA p? Q&6 NN. 6<6 NNA`VoreinstellungenAp? Q&6NN.6B6NNA`Info/&6NN.X6<6NNA` Acc :&&p?#Q&6NN.P6<6NNA` Vor. :&&p?#Q&6NN.P6<6NNA` Platz :&&p?#Q&6NN.PLPN]NupFN Ap1#QI4\BIp#QI$\BIp#QAp QB[Np?#Q&6 A4&6&NAO"Op Q&6 A$&6&N A`.ACX/&6A4&6&NXA$O"OpQ&6A4O"OpQ&6AD&NP 60<ccl&$09 @cNF c IAp QB[NI Sp #Q |RP(|&A (ѫdNF(6LPN]NuNFp$N  Mp1#Q60<AccP&w09 @@cNF cIAp8Q |RP(|86LPN]Nu` B[LPN]NuNFpN (|BTA`\*.ACCAp? Q&6A`B&"A&NQr\A`\*.ACXAp? Q&6A`B&$|A&NQr\6B@co B[LPN]Nu6LPN]NuNFpN (|BT(|BTA&A`\AUTO\ACCLOAD.INFO"OpQ&66N]&N^B@cnv(|8(|BT(|8&&B@ @cNF c[A&B@ @cNF c A&6 Nk\I8?<0Te/ &A&6 Nk\AO"Op Q&6 66&09 @cNF c[A&0. @cNF c A&6 &N<(_RTdlT |RP&&09 @cNF c[A&B@ @cNF c A&6 Nk\&N^JcgA&N^`A&N^LPN]NuN 6D6NN6B0#&6NN6D6NN6B0#&6NN6D6NN&6NNLPN]NupN IBT?<0Tm/ 60< 6H@J@gNFJk0<kNvjNF6NN&$6jNF0# @cNF c A&B@ @ cNF cBB[S#S#g>&$6jNF0# @cNF c Ap QBB[N`4A` ....... O"Op Q&6 NN. (_RThTLPN]NupN IBT60<kdNFjNF?#0TmZ/ 6jNFN&w6jNF0# @@cNF cAp QB[NB[N(_RThTI6jNF8?<@0TmL/ 6jNFNA` ........O"OpQ&6NN. (_RThTLPN]NupN IBT?< 0Te/ 6N&0. @cNF c[A&B@ @cNF c A&B@ @ cNF cBB[S#S#gN&0. @cNF c[A&B@ @cNF c Ap QBB[N`2A` ........O"OpQ&6NN. (_RTdTLPN]NupN IBT?<0TeD/ &$0. @cNF c A&B@ @ cNF cIB[S(_RTdT(|B@H(LPN]NupN A1#IBTI&w0. @@cNF cAp QB[NI Sp #Q60<cch&$0. @cNF c AO"Op Q&6 AO"Op Q&6 N0<cV@6`B[Jcg ARP`|60<cfIBT60<ccL&$0. @cNF c A&B@ @ cNF cBB[S#S#V@6`B[Jcg ARP`60<cgf&$0. @cNF c IAp Q(|&&w0. @@cNF cA (ѫdNF(`&$0. @cNF c A&B@ @ cNF cIB[S(|&&w0. @@cNF cA (dNF(I8?<0Te`/ &$0. @cNF c I&$60<kdNF0# @cNF c Ap Q(_RTdTN(N'LPN]NupN A1#N+HIBTI8?<0Ten/ IBT&0. @cNF c[A&0. @cNF c AO"Op Q&6 &w0. @@cNF cAp QB[Np?#Q&6 N0<cf&$0. @cNF c I&0. @cNF c[A&0. @cNF c Ap QARP(|&&w0. @@cNF cA (ѫdNF(` ARP609cf``(_RTdTLPN]NupN IBT?90Te/ &0. @cNF c[A&B@ @cNF c AO"Op Q&6 A` Standard&&p?#Q&6N0<cf 6N.(_RTdfTLPN]NuAeNFNU/$OH ,J66NN6FNBp'?#Q&6ONN.PLPN]NuchangeAeNFNU/$OH ,J M1# VIBT?<0Te~/ &0. @cNF c[A& V60<kdNF0# @cNF c I&$ V0( @cNF c Ap Q(_RTd~TLPN]NuSet.AeNFNU/$OH ,J VIBT V60<ccN&$ V0( @cNF c A&B@ @ cNF cBB[S#S#W@6`B[Jcg VARP` V60<cg60<cR@6`B[Jcg6 6NN$a 6!6NNA` Nahme :&&p?#Q&6NN.P6 kJcg (|BTA&6NMAO"OpQ&6&09 @cNF c[A&B@ @cNF c A&6 &NP6$a |RP(|8N*:LPN]NuClearAeNFNU/$OH ,J M!#09g VI n860<kdNF?#0Ted/ & V0( @cNF c[I& V60<kdNF0# @cNF c[ApZQ(_RTdT |SP6B@cd6 n0cf nSPN*:N'LPN]NuSaveAeNFNU/$OH ,J09gA&A`\AUTO\ACCLOAD.INFO"OpQ&666N^&N^B@cn 6`B[JcgJIBT60<kdNFjNF?#0Tm/ &&6jNF0# @cNF c[A&B@ @cNF c AO"Op Q&6 Nl&NlI8?<0Tm/ &-BNl&&6jNF0# @cNF c[A&6jNF0# @cNF c AO"Op Q&6 Nl&Nl(_RThlT(_RThT`A&N^A&N^`@A`\AUTO\ACCLOAD.INFO"OpQ&6A&NQ$LPN]NuPresetpN A!#$a6 6NNA`Voreinstellung : O"OpQ&6NN.60<cc6A`(E)rstellen O"Op Q&6 NN.09g:A`()ndern (L)schen Ap ? Q&6NN.A` (S)ichernO"OpQ&6NN. 09f60<cR@6`6JcgIN80.`\60<cc$a`09g &$a>`r$a6`h09g n6$a`N`J @(b@eH0;N$a66NNA`Gewhlte AccesoriesO"OpQ&6NN.LPN]NuN 66Nm66NmB[B[N6 6 NNNZA`( Accesory Lader O"Op$Q&6$NN.&N6 6 NNA`( Cursortasten ) - AuswahlAp ? Q&6NN.6 6 NNA`( Insert ) - WhlenO"OpQ&6NN.6 6NNA`(( Clr/Home ) - Accesories lschenO"Op$Q&6$NN.&6 6NNA`(( Undo ) - Auswahl umschaltenO"Op$Q&6$NN.&6 6NNA`&( V ) - VoreinstellungenO"Op"Q&6"NN.$6 6NNA`"( Return ) - ProgrammendeO"OpQ&6NN. 6 6NNNZA`( Taste drcken O"Op$Q&6$NN.&NN0<bcg66Nm66NmB[B[N66 NNA` AccesoriesA p? Q&6 NN. N)N(N)B[B[Nm66Nm66UUNNBRNuBHz2?<?<NMPJ/H@@xNELJg,$@ )Ё%@ )%@fJ#AfJ NF4pNu F hg P f NuJgNNGg"(( jSo4@gR@gpJk0@ //Bg?<JNA `/?<INA\ CBJgt`x?$(Ԩ$F$R`g $R f0`V0$*ԨeHg%B!A@ `,/?<INA\ F"H Pf"$Ff%I %HpNu CBpNup N A!#!#HB@ V&*g4,9(.J9g~*/<F?<&NN\`/<G?<&NN\L=@6LPN]NuNF$FX`"* fB* $R" fNuH*#,9/<IH?<&NN\L`Nu/HNEL( F$h g"RB f$F"R )gb$`d()&I(K`JGg$#W `^JGg(H`NEL Jg @JGf" )Щ!@fJ!EfJ"H`!i۩fJ!EfJ"@ F"!I F!JC `D$I"Q F (gfB` f$F"R Ff6JGfJg"K$L )gFbNBXNuNGg!D C Nup N A!#!#H*gB b:RW|,9(.J9g$~/<I?<&NN\Jg "@ )`B-@` /?<HNA\-@g*/<J?<&NN\L&LPN]NuNF yv:&NJ # c Nu& NJ # c NuNHUNu yv:&NIhNuY #J@g H@J@fNKxNuND&Bf ?NAX&Nu #6Nu #g y"gg P`6NuB[Nu&NSJcg0<} cY0B[NuA/&&NKZ A"f 0<`"A"Y#c6Nu c C$Q$ gf"/ &BNKnXNuC`BNuNSL/#/+NT&BNKn _ Nu cp@6@71@41@81@:1@@01|<|>NuA*eNFNU/$OH ,J VIB V(hBT?< 0Tef/ & V h0 c6A//,O V P& 6pN B[ nAO"OpQ&6NP VA&6' VA,&N< n0g& VA&6' nA&6N`B[Jcg V P60<cc V PI0f1|80rB@Nu h2c8(6 g f1|:0B@`Jhf 1|80B@Bh4NuH&.&p& hNTL0NuNU"cN_Jcg4Jh4gNi.`(NhJAgJh fJh,g e Nit`BN]Nu`*0Nub h2b0g gRoR d:Nu0/ob|NhJAgr g< d" g fXJh,gRp Nitp NitRRoJh,gNit`JogSSoJh,gpNitp NitpNit`|NuNU&N_Jcg"?#"c cJh8g"B0vNgNgN]NuU cBYN]NuBh4BgJh gNi`Nj02AbBN]NuNU # @g h2g0xNgNgN]Nu&N^JcfJJh:f/&Bg&NiT _`Jh fJh,gp Nitp NitBh: ( 6W@1@@N]NuN_Jcg|0(2g, @g&Jh g4// /?(?<@NAX"X _Jj.0`H0w&NgNg`4/&.&& hN _0`c0s`BPӨ (e!@N]NuNU?#"OrNlDNuNU?< "OrNlDNuNU2#"cN_Jcg0(2g< @g6Jh gD// JWfS" /?(?<@NAX"X _Jj.0`H0w&NgNg`4/&.&6 hN _0`c0s`BPӨ (e!@N]NuTextNu&Nu y!c*!c&Nu###ByNuNuNu. N:X KLPSJSd(b>mO`mmC@   <(  J 6  0 0 H4>\084P8.                Hj  04$ &  J LR .  ^^ "(,&" >$  $.,&&&<2*0(((L,(> (,&*6 6 0@ :*&: 8  NJ22 00&,ZB0B("JPj*28D@ (L(F<( l: RJvp((8  8 B2F*R& \$ > 4 : 80 &"t6 H :<HHFBH  * N( D (B *   `D8&>*    &$ 2V",2$ LZ* 4" 4                 ^0N"$ "LB" & p,$, .fp(B\*.:T6V(|$"f J>JN4 .8<<.:    <@ <$ <4 <( n,~(,,"* DJTL  ****************************************************************************** * * * Accesory Lader * * * * Alexander Stauffenberg * * Buchsweilerstr. 8 * * 1000 Berlin 33 * * * ****************************************************************************** AccLoad ist ein Public-Domain-Programm. Es darf und sollte mg- lichst hufig (mit dem gesamten Ordner) frei kopiert und weiter- gegeben werden. Das Programm darf nicht verkauft werden. Falls Sie das Programm hufiger benutzen, wre ein kleiner Beitrag ( nach oben unbegrenzt ) zur Aufbesserung meiner Studentenkasse herzlich willkommen. AccLoad dient dazu, beim Booten des Rechners aus bis zu 65 Accesories zu whlen. Auerdem besteht die Mglichkeit bis zu 14 Voreinstellungen zu erstellen, damit Sie mit wenigen Tastendrcken schnell eine zu Ihrer Anwendung passende Konfiguration Anwhlen knnen.Es besteht zustzlich die Mglichkeit eine Voreinstellung zu erstellen, die beim Booten auto- matisch vorgewhlt wird. Bedienung ----------- Das Programmfile sollte sich im Auto Ordner des Bootlaufwerkes stehen. Nach Einschalten des Rechners wird so AccLoad automatisch gestartet. Nach dem Starten vergeht eine mehr oder weniger kurze Zeit ( je nachdem wieviel Accesories geladen sind), bis der Bildschirm vollstndig aufgebaut ist. Der Bildschirm ist nun in 5 unterschiedliche Ksten eingeteilt: 1- Titel 2- Gewhlte Accessories Aktiven Accesories. 3- Accessories Auf dem Bootlaufwerk vorhandenen Accessories. 4- Voreinstellungen Von Ihnen erstellte Voreinstellungen. 5- Info Acc zeigt die Zahl der Accessories auf dem Bootlaufwerk an. Pre.zeigt die Zahl der Voreinstellungen an. Platz zeigt die Summe der Filegren der aktiven Accesories an. Folgende Tasten werden im Programm verwendet: Cursortasten: Sie dienen zum whlen eines Accesory's oder einer Voreinstellung. Insert : Das momentan gewhlte Accesory oder Voreinstellung wird bernommen .Ist das gewhlte Accessory schon aktiv, so wird dieses gelscht. Clr/Home : Die aktiven Accesories werden gestrichen. Help : Eine kurze bersicht der Tastenbelegung wird ausgegeben. Undo : Dient zum Umschalten zwischen Accesories und Voreinstel- lungen. V : Zeigt im 2 Kasten eine Auswahl der Funktionen fr die Voreinstellungen an. Return : Programmende. Die momentan aktive Voreinstellung oder Accesory werden in den entsprechenden Ksten invers dargestellt. Voreinstellungen: Erstellen : Es wird eine neue Voreinstellung erzeugt.Es wird die Eingabe eines Nahmnes erwartet.Die im 2 Kasten stehenden Accesories bernommen. Speichern : Es werden die erstellten Voreinstellungen in ein File geschrieben, welches dann beim starten des Programmes auto- matisch geladen wird.Dieses File befindet sich ebenfalls im Auto Ordner. Lschen : Die gewhlte Voreinstellung wird gelscht. ndern : Die im 2 Kasten befindliche Accessories werden in die gewhlte Voreinstellung bernommen. Wird eine Voreinstellung mit dem Nahmen 'Standard' erstellt, so wird diese beim Starten automatisch vorgewhlt. Bemerkungen: Befindet sich kein Accesory auf dem Bootlaufwerk, so bricht das Programm ab. Das Bootlaufwerk und die Accesories drfen nicht schreibgeschtzt sein. Es werden nur die ersten 65 Accesories beachtet. Nicht aktive Accesories werden in *.ACX unbenannt. Accload wurde mit Megamax Modula-2 erstellt. Ich hoffe das dieses Programm Ihnen helfen wird. Sollten unerwartete Probleme auftreten ( sollten eigentlich nicht ), so wre es nett, diese mir mitzuteilen. `n@(ACmN4,I*H(mJ$f*O ,f < /?<HNAJkT"&@Ё.@`N - ЭЭ$ԍR&B&,gЃ` "ҍRb.A// Bg?<JNA m"-p`HA0QHAQ)M"O )I)K ^ g H NLP`& yv:&N9| ^ gJf9| H NLP`Bg?<LNANuHz ?<&NN\Nu@v,|NuHz ?<&NN\NuFv,Nu c v6 c v(fNFNuN:"#o6 #o2 @ Pf#v6Cv(!Q "Ryn@NTNTNFNuNTNFNu c"c/ " g$(g e&@Ђ.@/N._&_NuNFNu 9v(fNFNu @E g @$ &C&/ N$_`Nu/9v. yv:"Pv2g v6f 9v(gV @ h gN2.$i|$0 f.B`O,|1h 1| &h.h?/N _1| ?<LNAJ yv: v2fA2gJ#Nu yv:#v2Bv6Bv(Byn@Av!H!HHz ?<&NN\`#v.A2#NuNu` 9NuHz?<&NN\ @2( Af #`,v:`#(v:NuYN NuNuNN NupN  M!#1#N A`Eingabedatei:O"Op Q&6 N N BN &6N(n&B@ cH@B@H@B<>S#W@68 n0g&6B[6&vRNlN LPN]Nup N A!#!#1#N A`Fehler beim ffnen: Ap ? Q&6N &6pN N N A`Nochmalige Eingabe ? (J/N) O"OpQ&6N A &N I  BN :S B<JS#g B<NS#W@6`6Jcg(n B<JS#W@68N LPN]Nup N A!#!#N A`Fehler bei DateiAp? Q&6N 0.g6A` eingabe: O"OpQ&6N  `2A` ausgabe: O"OpQ&6N  &6pN N N A`0Datei wird geschlossen. Bitte Taste drcken. O"Op,Q&6,N .A&N BB[S#S#gN LPN]NuAeNFNU/$OH ,J M!#!# V0(g2&vT09v @cNF cHI n((n(`$(n&vT09v @cNF cH( |vRPLPN]NupN  M1#(|vBT&w & $aP&w& $a>&v&f$a,&v&p$a&w& j$a&w& t$a&w& $a&w& $a&w& $a&w&r$a&w&& $a&w*&$a&w.&$ax&w2&$af&w6&$aTLPN]NuN B[NLPN]Nu(|vB&v& |v&&N D6NNu0#2H cNuNU/ #g,"#BBJk cRBjヲeRCQ&&N]NuNFB&N]Nu K$R`HASeWgHAQJg JgNFBNu"_2+RAR$k'O O/`HAQHAQNNuAd _NU$OH ,JNNF`NuAd _/ *O$OH ,JNNF`NuB@+A pNu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AEEEIIIOOUUAIOUNuNu _NDNNuNsNu"cA"#M#WNu@ fN PA8/9#"9 # "c$Q ie#X#X"6`.@B[##  f|NuHz ?<&NN\Nu#vNu(|vB&v& |v&&N DHz ?<&NN\` @|#vA X#FNuNuB&&vNj _$#$c #"c"(!I#A "#B#JNu$# #"#"cEv#J j#H!I%IBi "#@#BNuNuA&B[ yvNUNu?< &6 yvNTNu?<E&6 yvNTNu/<Y 0#/0#/&6 yvNXNu yvNNuY yvNJcf>e&6 yvN yvNS# c>f@&r dSA6 yvNXNu yvNNu yvNJcV| c0g yvNS# cNu cBNuU&N tTNu yvN # c c NuU cpJgR@`6Nu2#0# c@bRA@b0`tfNu2#S#0# c@b@g S@`NuAeNFNU/$OH ,J M1#BN 0.geBN `fBN LPN]NuAeNFNU/$OH ,JA!#I8?.0Tm/ BN (_RThTLPN]NuAeNFNU/$OH ,JA1#6B@coI0.D@8ID` ICI8?.0Tm$/ BN BN (_RThTLPN]NuAeNFNU/$OH ,J V6 V0(ce V&6 V6 0<k$a@ V6 0<k0#D@6$a V&6pN N  BN V6 V0( k0<k0#D@6$a VASPLPN]NuAeNFNU/$OH ,J B V60<k V0( k$a& V60<k V0( k0#D@6$aV VI V6 0<k8 V& V0( cH@B@H@IB[SLPN]NupN A!#1#I60<k8I BTI 8I&6$a8&6pN N 0.D@6$a6$aA&A&$a|B[$a& <Kf(6 0<cdA SP0<D@6$aZ`2& <MfB6 0.ce6 0.cR@6`B[JcgA RP6$a `& <f.6 0<cdA SP0<D@6$a$aZ`& <Sf $a@`& <G7f,6 0<k0#D@6$aI 8$a`R& <Gf $a`8& <K4f&6 0<k0#D@6$a4I 8`& <M6fJI60.cR@6860.k0. k$aI 60.k8`& <r f$aI 8`& < fI 8`n& <Rf6 0.ce60.cR@6`B[Jcgx&6 B6 0<k$ajARP6 0<k0#D@6$a&6pN N 60<k0. k0#D@6$a`B< S#bBp?#Q&6N T0<D@6$a&6 0<k0# cH@B@H@I6 0.cd.ARP6 0.cc n0. H@B@H@IB[S6 0.ccA RP6$a&0. gp60<k0. k$aLPN]Nu kBNNuBN vBN NuH8#(cRDp` ?/<NM\WLNu/<NMXJ@V|6Nu/<NMXRNu/<NMX&Nu6NuHz?<&NN\6NuJ9LgpPNup(Nu(|v((|v(P(|v(VNu(|v(2(|v((|v(BNuNNvNuA &N[3][InOut driver is missing][QUIT]NuNu#w #w#v#w#w#w#w#w#w#w&#w*#w.#w2#w6#w"#v#w~#wNu cCFE$#JXJ#J4#J TJ#JA"B " 0<NB.LNA4NuNuH c<#$cB0#2#:#"cBPxtJAjABAJ@n,RBAg*Eb*J1 g$`RBEb1 gAeFb@RDQ0FbB2@LxNu2# c JWfS"6NuH0# c:#"crBCBDEF202@ffJgRA@bEcJg`b`EbJfr`r`r6L8Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~CueaaaaceeeiiiAAEaAooouuyOUsaiounNaoaoOooOAAOiINu?0# c:#"crfJgRA@bEcJgB[:NuEbJf6:Nu2# cCB@gQNu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AEEEIIIOOUUAIOUNuH(c4#2#0# c(*6JWfS& EJAjABAJBjBB8BCc @b*B0`$JBgD` @RDRAQB08L8NuBTL8Nu$c2#"c0# c`S@eWgJ@g JgBRNuB4Nu$c0# c2#"cJWfSR@gS@e Q`Jg BRNuJ@gB4Nu0# KPr `S@jBNuNuN BNMvpBNMvLPN]NuN BNMvqBNMvLPN]NupN  M1#62<B0#H@60< 6H@J@gNFJk0<kdNF62<B0#60< kdNFNNLPN]NupN  M1#62<B0#H@60< 6H@J@gNFJk0<:kdNF62<B0#60< kdNFNNLPN]NuN 66NL&N L #6LPN]NuNFpN A!#!#!#!#0.gNZ6 AO"Op Q&6 N0#kdNF2<B0#6jNFNBp'?#Q&6OA&6 &NPAO"Op Q&6 A&6 &N6 AO"Op Q&6 N 0#kdNFjNFNBp'?#Q&6OA&6 &NPAO"Op Q&6 NN. NLPN]Nup(N A!#!#!#1#AO"Op Q&6 A&6 A&6 NR~Ap QBLPN]NuNFN &&NKD(|Nm( yI8 yI$BT yI.( yI28 yI48 yI6BTLPN]Nup N  M!#!#!#&B@ @cNF cH@B@H@ЀI8&0< @cNF cH@B@H@ЀI8 &&NmLPN]NupN  M!#!#60<kNvA60<kNvNm60<kNvA60<kNvNm66N60<kNvA60<kNvNm60<kNvA60<kNvNm66N&&B[B[NLPN]NuN 66 Nm66#NmNb66=Nm6p6sNmNb66Nm66NmNb66Nm6p6$NmNb66=Nm6p6NmNb66NNA`Accesory Lader ( A.S 1988 )Ap ? Q&6NN.66NNA`Gewlte AccesoriesAp? Q&6NN.66 NNA` AccesoriesA p? Q&6 NN. 6<6 NNA`VoreinstellungenAp? Q&6NN.6B6NNA`Info/&6NN.X6<6NNA` Acc :&&p?#Q&6NN.P6<6NNA` Vor. :&&p?#Q&6NN.P6<6NNA` Platz :&&p?#Q&6NN.PLPN]NupFN Ap1#QI4\BIp#QI$\BIp#QAp QB[Np?#Q&6 A4&6&NAO"Op Q&6 A$&6&N A`.ACX/&6A4&6&NXA$O"OpQ&6A4O"OpQ&6AD&NP 60<ccl&$09 @cNF c IAp QB[NI Sp #Q |RP(|&A (ѫdNF(6LPN]NuNFp$N  Mp1#Q60<AccP&w09 @@cNF cIAp8Q |RP(|86LPN]Nu` B[LPN]NuNFpN (|BTA`\*.ACCAp? Q&6A`B&"A&NQr\A`\*.ACXAp? Q&6A`B&$|A&NQr\6B@co B[LPN]Nu6LPN]NuNFpN (|BT(|BTA&A`\AUTO\ACCLOAD.INFO"OpQ&66N]&N^B@cnv(|8(|BT(|8&&B@ @cNF c[A&B@ @cNF c A&6 Nk\I8?<0Te/ &A&6 Nk\AO"Op Q&6 66&09 @cNF c[A&0. @cNF c A&6 &N<(_RTdlT |RP&&09 @cNF c[A&B@ @cNF c A&6 Nk\&N^JcgA&N^`A&N^LPN]NuN 6D6NN6B0#&6NN6D6NN6B0#&6NN6D6NN&6NNLPN]NupN IBT?<0Tm/ 60< 6H@J@gNFJk0<kNvjNF6NN&$6jNF0# @cNF c A&B@ @ cNF cBB[S#S#g>&$6jNF0# @cNF c Ap QBB[N`4A` ....... O"Op Q&6 NN. (_RThTLPN]NupN IBT60<kdNFjNF?#0TmZ/ 6jNFN&w6jNF0# @@cNF cAp QB[NB[N(_RThTI6jNF8?<@0TmL/ 6jNFNA` ........O"OpQ&6NN. (_RThTLPN]NupN IBT?< 0Te/ 6N&0. @cNF c[A&B@ @cNF c A&B@ @ cNF cBB[S#S#gN&0. @cNF c[A&B@ @cNF c Ap QBB[N`2A` ........O"OpQ&6NN. (_RTdTLPN]NupN IBT?<0TeD/ &$0. @cNF c A&B@ @ cNF cIB[S(_RTdT(|B@H(LPN]NupN A1#IBTI&w0. @@cNF cAp QB[NI Sp #Q60<cch&$0. @cNF c AO"Op Q&6 AO"Op Q&6 N0<cV@6`B[Jcg ARP`|60<cfIBT60<ccL&$0. @cNF c A&B@ @ cNF cBB[S#S#V@6`B[Jcg ARP`60<cgf&$0. @cNF c IAp Q(|&&w0. @@cNF cA (ѫdNF(`&$0. @cNF c A&B@ @ cNF cIB[S(|&&w0. @@cNF cA (dNF(I8?<0Te`/ &$0. @cNF c I&$60<kdNF0# @cNF c Ap Q(_RTdTN(N'LPN]NupN A1#N+HIBTI8?<0Ten/ IBT&0. @cNF c[A&0. @cNF c AO"Op Q&6 &w0. @@cNF cAp QB[Np?#Q&6 N0<cf&$0. @cNF c I&0. @cNF c[A&0. @cNF c Ap QARP(|&&w0. @@cNF cA (ѫdNF(` ARP609cf``(_RTdTLPN]NupN IBT?90Te/ &0. @cNF c[A&B@ @cNF c AO"Op Q&6 A` Standard&&p?#Q&6N0<cf 6N.(_RTdfTLPN]NuAeNFNU/$OH ,J66NN6FNBp'?#Q&6ONN.PLPN]NuchangeAeNFNU/$OH ,J M1# VIBT?<0Te~/ &0. @cNF c[A& V60<kdNF0# @cNF c I&$ V0( @cNF c Ap Q(_RTd~TLPN]NuSet.AeNFNU/$OH ,J VIBT V60<ccN&$ V0( @cNF c A&B@ @ cNF cBB[S#S#W@6`B[Jcg VARP` V60<cg60<cR@6`B[Jcg6 6NN$a 6!6NNA` Nahme :&&p?#Q&6NN.P6 kJcg (|BTA&6NMAO"OpQ&6&09 @cNF c[A&B@ @cNF c A&6 &NP6$a |RP(|8N*:LPN]NuClearAeNFNU/$OH ,J M!#09g VI n860<kdNF?#0Ted/ & V0( @cNF c[I& V60<kdNF0# @cNF c[ApZQ(_RTdT |SP6B@cd6 n0cf nSPN*:N'LPN]NuSaveAeNFNU/$OH ,J09gA&A`\AUTO\ACCLOAD.INFO"OpQ&666N^&N^B@cn 6`B[JcgJIBT60<kdNFjNF?#0Tm/ &&6jNF0# @cNF c[A&B@ @cNF c AO"Op Q&6 Nl&NlI8?<0Tm/ &-BNl&&6jNF0# @cNF c[A&6jNF0# @cNF c AO"Op Q&6 Nl&Nl(_RThlT(_RThT`A&N^A&N^`@A`\AUTO\ACCLOAD.INFO"OpQ&6A&NQ$LPN]NuPresetpN A!#$a6 6NNA`Voreinstellung : O"OpQ&6NN.60<cc6A`(E)rstellen O"Op Q&6 NN.09g:A`()ndern (L)schen Ap ? Q&6NN.A` (S)ichernO"OpQ&6NN. 09f60<cR@6`6JcgIN80.`\60<cc$a`09g &$a>`r$a6`h09g n6$a`N`J @(b@eH0;N$a66NNA`Gewhlte AccesoriesO"OpQ&6NN.LPN]NuN 66Nm66NmB[B[N6 6 NNNZA`( Accesory Lader O"Op$Q&6$NN.&N6 6 NNA`( Cursortasten ) - AuswahlAp ? Q&6NN.6 6 NNA`( Insert ) - WhlenO"OpQ&6NN.6 6NNA`(( Clr/Home ) - Accesories lschenO"Op$Q&6$NN.&6 6NNA`(( Undo ) - Auswahl umschaltenO"Op$Q&6$NN.&6 6NNA`&( V ) - VoreinstellungenO"Op"Q&6"NN.$6 6NNA`"( Return ) - ProgrammendeO"OpQ&6NN. 6 6NNNZA`( Taste drcken O"Op$Q&6$NN.&NN0<bcg66Nm66NmB[B[N66 NNA` AccesoriesA p? Q&6 NN. N)N(N)B[B[Nm66Nm66UUNNBRNuBHz2?<?<NMPJ/H@@xNELJg,$@ )Ё%@ )%@fJ#AfJ NF4pNu F hg P f NuJgNNGg"(( jSo4@gR@gpJk0@ //Bg?<JNA `/?<INA\ CBJgt`x?$(Ԩ$F$R`g $R f0`V0$*ԨeHg%B!A@ `,/?<INA\ F"H Pf"$Ff%I %HpNu CBpNup N A!#!#HB@ V&*g4,9(.J9g~*/<F?<&NN\`/<G?<&NN\L=@6LPN]NuNF$FX`"* fB* $R" fNuH*#,9/<IH?<&NN\L`Nu/HNEL( F$h g"RB f$F"R )gb$`d()&I(K`JGg$#W `^JGg(H`NEL Jg @JGf" )Щ!@fJ!EfJ"H`!i۩fJ!EfJ"@ F"!I F!JC `D$I"Q F (gfB` f$F"R Ff6JGfJg"K$L )gFbNBXNuNGg!D C Nup N A!#!#H*gB b:RW|,9(.J9g$~/<I?<&NN\Jg "@ )`B-@` /?<HNA\-@g*/<J?<&NN\L&LPN]NuNF yv:&NJ # c Nu& NJ # c NuNHUNu yv:&NIhNuY #J@g H@J@fNKxNuND&Bf ?NAX&Nu #6Nu #g y"gg P`6NuB[Nu&NSJcg0<} cY0B[NuA/&&NKZ A"f 0<`"A"Y#c6Nu c C$Q$ gf"/ &BNKnXNuC`BNuNSL/#/+NT&BNKn _ Nu cp@6@71@41@81@:1@@01|<|>NuA*eNFNU/$OH ,J VIB V(hBT?< 0Tef/ & V h0 c6A//,O V P& 6pN B[ nAO"OpQ&6NP VA&6' VA,&N< n0g& VA&6' nA&6N`B[Jcg V P60<cc V PI0f1|80rB@Nu h2c8(6 g f1|:0B@`Jhf 1|80B@Bh4NuH&.&p& hNTL0NuNU"cN_Jcg4Jh4gNi.`(NhJAgJh fJh,g e Nit`BN]Nu`*0Nub h2b0g gRoR d:Nu0/ob|NhJAgr g< d" g fXJh,gRp Nitp NitRRoJh,gNit`JogSSoJh,gpNitp NitpNit`|NuNU&N_Jcg"?#"c cJh8g"B0vNgNgN]NuU cBYN]NuBh4BgJh gNi`Nj02AbBN]NuNU # @g h2g0xNgNgN]Nu&N^JcfJJh:f/&Bg&NiT _`Jh fJh,gp Nitp NitBh: ( 6W@1@@N]NuN_Jcg|0(2g, @g&Jh g4// /?(?<@NAX"X _Jj.0`H0w&NgNg`4/&.&& hN _0`c0s`BPӨ (e!@N]NuNU?#"OrNlDNuNU?< "OrNlDNuNU2#"cN_Jcg0(2g< @g6Jh gD// JWfS" /?(?<@NAX"X _Jj.0`H0w&NgNg`4/&.&6 hN _0`c0s`BPӨ (e!@N]NuTextNu&Nu y!c*!c&Nu###ByNuNuNu. N:X KLPSJSd(b>mO`mmC@   <(  J 6  0 0 H4>\084P8.                Hj  04$ &  J LR .  ^^ "(,&" >$  $.,&&&<2*0(((L,(> (,&*6 6 0@ :*&: 8  NJ22 00&,ZB0B("JPj*28D@ (L(F<( l: RJvp((8  8 B2F*R& \$ > 4 : 80 &"t6 H :<HHFBH  * N( D (B *   `D8&>*    &$ 2V",2$ LZ* 4" 4                 ^0N"$ "LB" & p,$, .fp(B\*.:T6V(|$"f J>JN4 .8<<.:    <@ <$ <4 <( n,~(,,"* DJTL  ****************************************************************************** * * * Accesory Lader * * * * Alexander Stauffenberg * * Buchsweilerstr. 8 * * 1000 Berlin 33 * * * ****************************************************************************** AccLoad ist ein Public-Domain-Programm. Es darf und sollte mg- lichst hufig (mit dem gesamten Ordner) frei kopiert und weiter- gegeben werden. Das Programm darf nicht verkauft werden. Falls Sie das Programm hufiger benutzen, wre ein kleiner Beitrag ( nach oben unbegrenzt ) zur Aufbesserung meiner Studentenkasse herzlich willkommen. AccLoad dient dazu, beim Booten des Rechners aus bis zu 65 Accesories zu whlen. Auerdem besteht die Mglichkeit bis zu 14 Voreinstellungen zu erstellen, damit Sie mit wenigen Tastendrcken schnell eine zu Ihrer Anwendung passende Konfiguration Anwhlen knnen.Es besteht zustzlich die Mglichkeit eine Voreinstellung zu erstellen, die beim Booten auto- matisch vorgewhlt wird. Bedienung ----------- Das Programmfile sollte sich im Auto Ordner des Bootlaufwerkes stehen. Nach Einschalten des Rechners wird so AccLoad automatisch gestartet. Nach dem Starten vergeht eine mehr oder weniger kurze Zeit ( je nachdem wieviel Accesories geladen sind), bis der Bildschirm vollstndig aufgebaut ist. Der Bildschirm ist nun in 5 unterschiedliche Ksten eingeteilt: 1- Titel 2- Gewhlte Accessories Aktiven Accesories. 3- Accessories Auf dem Bootlaufwerk vorhandenen Accessories. 4- Voreinstellungen Von Ihnen erstellte Voreinstellungen. 5- Info Acc zeigt die Zahl der Accessories auf dem Bootlaufwerk an. Pre.zeigt die Zahl der Voreinstellungen an. Platz zeigt die Summe der Filegren der aktiven Accesories an. Folgende Tasten werden im Programm verwendet: Cursortasten: Sie dienen zum whlen eines Accesory's oder einer Voreinstellung. Insert : Das momentan gewhlte Accesory oder Voreinstellung wird bernommen .Ist das gewhlte Accessory schon aktiv, so wird dieses gelscht. Clr/Home : Die aktiven Accesories werden gestrichen. Help : Eine kurze bersicht der Tastenbelegung wird ausgegeben. Undo : Dient zum Umschalten zwischen Accesories und Voreinstel- lungen. V : Zeigt im 2 Kasten eine Auswahl der Funktionen fr die Voreinstellungen an. Return : Programmende. Die momentan aktive Voreinstellung oder Accesory werden in den entsprechenden Ksten invers dargestellt. Voreinstellungen: Erstellen : Es wird eine neue Voreinstellung erzeugt.Es wird die Eingabe eines Nahmnes erwartet.Die im 2 Kasten stehenden Accesories bernommen. Speichern : Es werden die erstellten Voreinstellungen in ein File geschrieben, welches dann beim starten des Programmes auto- matisch geladen wird.Dieses File befindet sich ebenfalls im Auto Ordner. Lschen : Die gewhlte Voreinstellung wird gelscht. ndern : Die im 2 Kasten befindliche Accessories werden in die gewhlte Voreinstellung bernommen. Wird eine Voreinstellung mit dem Nahmen 'Standard' erstellt, so wird diese beim Starten automatisch vorgewhlt. Bemerkungen: Befindet sich kein Accesory auf dem Bootlaufwerk, so bricht das Programm ab. Das Bootlaufwerk und die Accesories drfen nicht schreibgeschtzt sein. Es werden nur die ersten 65 Accesories beachtet. Nicht aktive Accesories werden in *.ACX unbenannt. Accload wurde mit Megamax Modula-2 erstellt. Ich hoffe das dieses Programm Ihnen helfen wird. Sollten unerwartete Probleme auftreten ( sollten eigentlich nicht ), so wre es nett, diese mir mitzuteilen. . ' tH.. ' tREAD_ME DOC)t ICHANGE IT +t JSTART_ITPRG/t OCHANGE.IT ermglicht das selektive laden von Acc. und Programmen aus dem Auto-Ordner. Das Programm START_IT.PRG mu als erstes Programm im Auto-Ordner stehen. Das File CHANGE.IT mu im Root-Directory stehen. Wenn whrend des Bootvorgangs die Taste gedrckt wird,wird CHANGE.IT instaliert. P.S. Weitergabe im Ordner ist ausdrcklich erwnscht! Detlev von Glinski Sachsenring 59 4630 Bochum 6 `&``>>> TURBO-C <<<< for ATARI-ST Release 1 (C) 88 Borland International G#:J$VH3> k  Ј<.@// ?<?<JNAO pBAA4|`g |`.gg4TB|"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON0? 9(g @N 9,g @NN ?<LNANV(HATN$B@"LAN 6x`RDC0HD@AN  LN 6JCgANFz`RE0HE@Hu?AN*\OEn<ANB@"LA N t6`RDC0HD@AN LN v6JCg:`RE0HE@Hu?AN\OEn|opF?ANTOADN KNp+fBE|0+gBA|0:MAEBBB|0f+gXEmTBG`RG0HE@G5f4JEBC ANEm p`CpC0HE@AN`vAuN LC8jxA anA pJWF@?@gA 2SAk ae(Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`XH0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H8$HG+gR"S(kt `df`.+g// Ka"_ _J@f(// Ka"_ _J@gk&B JLNu3 &`H:$H&I(Sx&gBJg>+g@,k $ڹd SfRe`&// Ka$"J@f(S`& L\Nu3 &p`H&H(k L0+"+ a0JkRgF+f* L2SAt Wf"HSIS@SAk öWgJ@g&r2'LB@LNup`p`H&H(k6+"+g0DtaJk+fT"SA"L Ip Wf(| ?/ " 0aP"_2JkJAp QH@" 0a.LJj`&0" La|g&'LB@LNup`/ /?<?<VNA J@kpNuaV3&pNuJ@g//??<?NAO JkNu aNua(3&pNuH&Hx&SkdJ9@kdffar<g< g.<g>< e渃dRaZ`JgSSKpaLp aHpaD`Rp a:@p a.`@ LNux`x B9@`?<NATONu??<NAXONu|g$//??<@NAO JkNua\3&pNu// &H&g??<NAXOSb&_&Nu|b$??/?<BNAO JkNua3&pNu0<`D@| |"b;NupNu   / GB g/ &S?<INA\O`GF g/ &S?<INA\O`&_Nu g<g8g4g0g,g(g$g ggggg ggf @NuH0$H|g|$brGRgJ3kSJtgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"&p` 3!&p& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!&`0123456789abcdefghijklmnopqrstuvwxyz@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#|?// ?<NA\O?<NNAPOJVHNu/?<NA\O?<ONATOJVHNu/?<;NA\ONuEp* Dev's change program Vers.1.0 *q %cauto\*.prg _Im AUTO-Ordner sind aktiv: <%d> %s _Nicht aktiv sind: *.pr Welches Programm soll (de)aktiviert werden?->HBJ *.acc _Folgende Accessories sind aktiv: *.ac Vorsicht, es sind schon %d Accessories aktiv! Welches Accessory soll (de)aktiviert werden?->HBJ %%%&999:h hblP.P>JL ~X`V``>>> TURBO-C <<<< for ATARI-ST Release 1 (C) 88 Borland International G#jJ$VH3n k  Ј<.@// ?<?<JNAO pBAA4|`g |`.gg4TB|"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON0? 9Xg @N 9\g @NN?<LNANVpNrfHnHyiCiA`NPON^NuO~"Ap~WF< oJf J(fp @/Ho/?<?<KNAO oJk0p`Z|g"|g&|g*|g.|g23 V`03V`&3V`3V`3 V`3VpONu/ Gp g/ &S?<INA\O`Gt g/ &S?<INA\O`&_Nu/ ??< NMXO$_NuCHANGE.ITh  . 2 tP.. 2 tDTA PRG4t QKmANLEITNGPRG:t meLIESERSTMALCt `lS` Efv*oM m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNfHz2?< NA\pdAxr0XQ)K\NNJPPhhhN ,`NuJrBjNuHz?<&NN\NNCAp$L Qp N:9lrBlJpNN:pMN:9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn" 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8Nr6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?Nr<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNu~c0NQNuNfJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNu ::/rI IN<,(k$/<??<?N`NA Jj ?a0NNHrO INLA NNN` A$ HJo d*b` QjNuQjNubNlN/Nn.,*Q(,l؅kb/,h?<INA\/?<HNA\Jg< l`"ld۬d۬`)Dl$I& `&bۛp0R@@b&C CX`~/,l?<HNA\p=N^vNz)@p `H@)@prtNAHplrtNB 2pNxpNlpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNzv`v`vj`v `v`v`v`?"H2@Nd.0H@Nd.YdNbHANb, NftaoR6 .fJS@gFt ao>AA .f4S@g04<;ark(AjA AbAPjAdYA??<+NAX FNfta>k:Y6 :fRS@g*t;a(k$AA :fRS@g t;akIA??<-NAXNurxS@k0  bS@jrNu .g( :g"0  b DBb BdeS@jJANuSR@JANu2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgN4AH@B pNPA NuApNPA0pNPN$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNfJ@gpNu _0HpNP _0HpNPp"_0HqNp"_0HqNE ұeHHQ0)ND$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuN(WHNuN(VHNuN(RHNuJhg Nf1N4Nu Ihd*N$E$RR@H`2QˈNf ENu Ihd"*N$E8*$R`"QˈNf ENu2)A IJAfr4(Ae*RBBc0*SA?N$E$R`QˈNf ENup`(* 0(iN$E 4R`Q$D 4R`QˈNf DNf ENua NuNf IHPg"B  g &gNJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNRB0 b b瀀`RB0 fрd`0H 0 0H@Nu?<,NATANpNP?<*NATAN p NP"H2X@Nd:0H@?Nd:AANb2p <0N`QNur ,* Nf& ( ENf C"Sj|AcJ@fCAHPBHQ?NA\ _JjNNu, Nf* ( FNf EJ@fC JDfA E@( BE, BHPHQBg?<VNA F DJjNNuH&NVրNVjNuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHRp` HRpJQfpNvNq Y Qfd ЀЀNuN`Nf$_& if"QdփփHRNN^Nd~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N N6L"2` NqR YEjrd0` SjN$_NzЀЀN YQf "_Nq*eNdN^*< NqbІSGfN $_Nփփ"@HHRN YQf "_&Nq*eNdN^*<&NqbֆSGfN @$P "t402g YRBB%(4g $`RBB%(Nu~$_NzЀЀ N" KC`e N`d \Nl l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu0,p2,rR@RANuS@SA9@p9ArNu9@pN4, 6fprta0,2,NuA4, 6f9@9Ap rt`ak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuNp`pNu)H9@Jp4N:P'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNN$HP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(N Division durch NullberlaufZahl nicht Integer|-2147483648 .. 2147483647Zahl nicht Byte|0 .. 255Zahl nicht Wort|0 .. 65535Quadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll Funktion oder Befehl|noch nicht mglich String zu lang|max. 32767 Zeichen Kein GfA-BASIC V2.0 Programm Programm zu lang|Speicher voll|New Kein GfA-Basic Programm|File zu kurz|NewFeld zweimal dimensioniertFeld nicht dimensioniertFeld Index zu groDim Index zu groFalsche Anzahl IndizesProcedure nicht gefundenLabel nicht gefundenBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFZu viele Punkte fr|Polyline/Polyfill|maximal 128Feld mu eindimensional seinAnzahl Punkte grer als FeldMerge - Kein ASCII-FileMerge - Zeile zu lang - Abbruch ==> Syntax nicht korrekt|Programmabbruch!Marke nicht definiert"Zuwenig Data#Data nicht numerisch$Syntaxfehler in Data|""paarweise verwenden%Diskette voll&Befehl im Direktmodus nicht mglich'Programmfehler|Kein Gosub mglich(Clear nicht mglich in|For-Next-Schleifen oder|Proceduren)Cont nicht mglich*Zuwenig Parameter+Ausdruck zu komplex,Funktion nicht definiert-Zuviele Parameter.Parameter falsch|mu Zahl sein/Parameter falsch|mu String sein0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 10)2Kein "R"-File3Nur ein Field zu einem|Open "R" mglich4Fields grer als Satzlnge5Zu viele Fields (max. 19)6GET/PUT Field-String Lnge falsch7GET/PUT Satznummer falschFehlerhaftes Menu?Fehlerhaftes Reserve@Fehlerhafter PointerZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal, For oder LocaldGFA-BASIC Version 2.02| Copyright 1986/1987|GFA Systemtechnik GmbHf2 Bomben - Bus Error|Vielleicht Peek oder Poke falschg3 Bomben - Adress error|Ungerade Wort-Adresse!|Bei Dpoke, Dpeek, Lpoke|oder Lpeek?h4 Bomben - Illegal Instruktion|Ausfhrung eines ungltigen|68000-Maschinenbefehlsi5 Bomben - Divide by Zero|Division durch Null in|68000-Maschinensprachej6 Bomben - CHK-Exeption|68000-Interrupt durch CHK-Befehlk7 Bomben - TRAPV-Exeption|68000-Interrupt durch TRAPV-Befehll8 Bomben - Privilege Violation|68000-Interrupt durch Ausfhrung|eines priviligierten Befehlsm9 Bomben - Trace Exeption|68000-Trace-InterruptAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Falscher BootsektorSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZuviele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS FehlerKein BinrprogrammfileSpeicherblockfehler"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuN"l` epZNC ҳfHP0(N$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)ND$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN$l` epZNHxHxpCP~NpdCVNp N4HP <N4"_NLHPp N4"_NLC큆Np N4HP <N4"_NLHPp N4"_NLC큌NN C큒NN\AUTO\NfN*.PR?\NN>JBfN0,AHN -ANp\N4NfN*.AC?4NN>JBfN0jAHN -A N <N@HP < N@"_NLHP <NuN@"_NLCN -+@H - @NLx+@ -PN\)@A r @0A r @0A rf @0pN?<NNT+@ -JgN18A6 0A< 80+|N1TA6 00A< T0pN4HPppN4"_NLCNpN4HPpqN4"_NLCNN DESKTOP.INFNN>JBfN1AUN N\AUTO\NfNDTA.LSTlNN>JBfN3AbN ? drcken !ANNNV+@>?NL8N&<x*< NpJBgp/A퀜N&<x*<NxpJBgp$grAB 0NA N/AN䶀$fN3RA3N N3fAON <N -PN\)@NNNnN$N$N DTA.PRG HP <N4"_NLHPN By R. Hwing & A. SA "_NLCVNN( TASTEN: RETURN | CURSOR | ESC = ENDE C\NN -XN\)@N -JfN5HmAV"_NLHPA\"_NLHPA"_NLCbNHmpPN"_NLHPA"_NLChNNprNAbNNprNAhNNNA6N&<x*<N N"/p"NANN AUTO-ORDNER ANNNAArNzNJBfN>p"<NpArN&<x*<NxJBfN:AEN N>ArN&<x*<NxJBfN;p+N4HPAC N N>ArN&<x*<NxJBfN;Vp-N4HPAC N N>ArN&<x*<NxJBfNArN&<x*<NxJBfN>ANAlN/AfN"NA`N/BpCP~NjNA`N/HxpCP~NjNN.ACCA`N/HxpCP~NjNNC6Al 0BmdCBAf 0NAlN/AfN"NANA`N/BpCP~NjNA`N/HxpCP~NjNN.PRGA`N/HxpCP~NjNANN`zNAON A NJBfN@p\N4NfBm|A NAxNAxN/HxpCP~NjHPN.ACC"_NpJBgp/AxN/BpCP~NjHPA큒"_NpJBgp$fN?AxN/HxpCP~NjHPAxN/HxpCP~Nj"_NLHPAxN/HxpCP~NjHPN.ACX"_NL"_NA퀊N^AxN/HxpCP~NjHPN.ACX"_NpJBgp/AxN/BpCP~NjHPA큒"_NpJBgp$fN@AxN/HxpCP~NjHPAxN/HxpCP~Nj"_NLHPAxN/HxpCP~NjHPN.ACC"_NL"_NA퀊N^N`.NqANJBfNBN\AUTO\NfBm|ANAxNAxN/HxpCP~NjHPN.PRG"_NpJBgp/AxN/BpCP~NjHPA큒"_NpJBgp$fNAAxN/HxpCP~NjHPAxN/HxpCP~Nj"_NLHPAxN/HxpCP~NjHPN.PRX"_NL"_NA퀊N^AxN/HxpCP~NjHPN.PRX"_NpJBgp/AxN/BpCP~NjHPA큒"_NpJBgp$fNBAxN/HxpCP~NjHPAxN/HxpCP~Nj"_NLHPAxN/HxpCP~NjHPN.PRG"_NL"_NA퀊N^N`.NqA퀊N&<x*<N&<x*<NANA퀊NzNJBfNBBmANNNN$"_AtNA6NAlNNxJBfNCPBmN.PRGC큞NNCpA 0N.ACCC큞NNAlN/AfN"NA`N/BANCP~NjNA`N/HxANCP~NjNA큞NA`N/HxANCP~NjNNHmtp+N4"_NJBfNDA`N^AfN^ANzNxJBfNDxANA`NNxJBfNDrBmdCBAf 0NDA NA`NNxJBfNDBmdCBAf 0NDA`NAfNA`NzNJBfNDBmdCBAf 0NAlN/AfN"NANA`N/BANCP~NjNA`N/HxANCP~NjNA큞NA`N/HxANCP~NjNANNNN$A6NAlNNxJBfNFBmN.PRGC큞NA`N/BANCP~NjHPA큒"_NJBfNFFA`N/BAN/A큒CP~NA`N/HxAN/A큒CP~NNFA`N/BAN/A큆CP~NA`N/HxAN/A큌CP~NNGA 0N.ACCC큞NA`N/BANCP~NjHPA큒"_NJBfNGBA`N/BAN/A큒CP~NA`N/HxAN/A큒CP~NA$NNGA`N/BANCP~NjHPA큒"_NpJBgp/A$N&<x*<NpJBgp$fNGA`N/BAN/A큆CP~NA`N/HxAN/A큌CP~NA$N^NAlN/AfN"NANA`N/BANCP~NjNA`N/HxANCP~NjNA큞NA`N/HxANCP~NjNANNNN$Bm(BmAN^A퀺NANANtANtANtA*NAN&<x*<NxJBfNI*N*.PR?CNN.PRGCNAN&<x*<NxJBfNItN*.AC?CNN.ACCCNBpr,NCN -/?<NA\BHmA"_NLHPpN4"_NLC퀺N?<? -/?<NNAPF$fNLRHmHmpN4"_rNNH <r$<L8NN"r"_NCNHmpr"_NN+@p$fNJTNLHmA "_NJBfNL - mNLHmANfNH <r$<L8NN""_NCzNAzNfN&<x*<NANHmzANN"_NLCNHmp"_NCNANzNpJBgp/AN&<x*<NpJBgp$fNLAN&<x*<NxJBfNKA*N&<x*<NxJBfNK <r$<HALN RNKHmzNDTA4"_NJBfNKA* 0NL <r$<HALN RNLHmp"_NHPA"_NJBfNLHmANfNH <r$<L8NN""_NHPpXN4"_NLCNHmA"_N?<ONAT$g8NN$LAN -ANANAN/HxAN/AzCP~NAN/HxAN/ACP~NAN/HxAN/ACP~NHmp"_NHPpXN4"_NJBfNNAN/BAN/A큆CP~NAN/HxAN/A큌CP~NAN&<x*<NxJBfNNA$N&<x*<NJBfNNAN/BAN/A큒CP~NAN/HxAN/N.ACXCP~NAN/HxAN/A큒CP~NHmzN.ACX"_NLCNHmzA"_NLHPA"_NNNA$N^NOAN/BAN/A큒CP~NAN/HxAN/A큒CP~NNN$AN @0AT 0NANN/ATN"NANN ANNNANN/ATN&<x*<N N""NANN ANN DTA.PRG ANN --> <N4NN 11/88 By: ANNNANN/ATN&<x*<N N""NANN -------------------------- ANNNANN/ATN&<x*<N N""NANN ROLF HWING BERLIN ANNNANN/ATN&<x*<N N""NANN ANN & ANN ANNNANN/ATN&<x*<N N""NANN ALFRED SA ALBERSDORF ANN -UgNS -XN\)@NNANN/ATN&<x*<N N""NANN ANNNANN/ATN&<x*<N N""NANN -------------------------- ANNNANN/ATN&<x*<N N""NANN Erstellt mit ANN GFA-Basic %ANA큒NANNNANN/ATN&<x*<N N""NANN ANNNUNANN/ATN&<x*<N N""NANN ANNNANN/ATN&<x*<N N""NANN -------------------------- ANNNANN/ATN&<x*<N N""NANN Erstellt mit ANN GFA-Basic %ANA큒NANNNANN/ATN&<x*<N N""NANN ANNNN$N DESKTOP.INFNpJBgp/N DESKTOP.IN0NpJBgp/N DESKTOP.IN2 NpJBgp$fNWTN DESKTOP.IN2NN>zNpJBgp/ -N&<x*<NxpJBgp$fNVN DESKTOP.INFHPN DESKTOP.IN0"_NN DESKTOP.IN2HPN DESKTOP.INF"_NN DESKTOP.IN0NN>zNpJBgp/ -NzNxpJBgp$fNWNN DESKTOP.INFHPN DESKTOP.IN2"_NN DESKTOP.IN0HPN DESKTOP.INF"_NNXbN DESKTOP.INFNN>JBfNXbN DESKTOP.IN0NpJBgp/N DESKTOP.IN24NpJBgpJgNXbpiN4HPN DESKTOP.INFNr"_N(pN+@N -NCNN DESKTOP.INF4HP -"_NN DESKTOP.INHP -NNL"_NLCNHm -/ -""_N@NN$NDTA.LSTNN>JBfNbN <NNHPpr"_NHPNHPp"_N"_NLC&NA&NN"+@ Hm&p"_NNN"+@+m:Hm&p"_NNN"+@N--HPp0N4HP -NNL"_NLHPp"_N"_NLHPp0N4HP -NNL"_NLHPp"_N"_NLC큪N - nNZ:R - nNY+|t;BJ <Ѝ/p _ѐ - nNY <Ѝ/p _p0N4HP -NNL"_NLHPp"_NHPp0N4HP -NNL"_NLHPp"_N"_NLC8NNZp0N4HP -NNL"_NLHPp"_NHPp0N4HP -N&<x*<N NL"_NLHPp"_N"_NLC8NA8NN"+@piN4HPNDTA.LST=r"_N(pN+@N -NC>NNDTA.LST4HP ->"_Np N4HPp N4"_NLCDNB+|+|" -"R/Hm>AD"_"N+@ -NzNxpJBgp/ -N&<x*<NpJBgp$VHgN^DHm> -"T/ -NH -"NL8NH <r$<L8NN"""_NCJNHmJp"_NHPp N4"_NJBfN\VHmJAJNfNH <r$<L8NN""_NCJNHmJpr"_NNN"+@&4-JN>zNxpJBgp/ -& \HpJBgp/ -&_HpJBgp/4-JpJBgp/ -& \HpJBgp/ -&N&<x*< NpJBgp/ -&NzNpJBgp/ -&_HpJBgp$fN]TR/-AJCVNHmJp"_NHPp"_NC큰NHmJp"_NHPp"_NNA퀖NHmN00"_NpJBgp/ -:NA퀖NNxpJBgp$fN^4HmHmJAJNfNH <r$<L8NN"r"_N"_NLCJNR/-AJCVN+m" -*$g -$fNbJ -PN\)@NNNprNANN' T E R M I N K A L E N D E R 4ANNNANNDaten in der Zeit vom NHPp"_NNN bis Hm8p"_NNp.NHm8p"_NNp:NANNB.R.B2R2 -.CVNtHPpr"_NHP -2CVNtHPpr"_N"_NJBfN_ -.CVN"HP -2CVN""_N -2m -.m~B6+|. -A.N -.CVNtHPpr"_NHPA&"_NJBfN` t;BLNN heute :N`R6 -6N&<x*<NxpJBgp/4-LpJBgp$fN`hNNNp N -.CVNtHPpr"_NHPp.N4"_NLHP -.CVNtHPpr"_N"_NLHPN.:"_NLNN -.CVNtHPpHr"_NNNN&`NqNNNpN4NpjNNA큒NANN weiter: beliebige Taste 4ANN+|pANNpN4N -N&<x*<NN"NN&`NqNqNNfJfp"<NpNCPNAPNNAHNAHNzNpJBgp/NVN&<x*< NpJBgp$gNpN4NpkNNp'NNNNbNprNN&Keine Termine fr die nchsten 7 Tage.Np2NNNNN$ <N\TN@+@B -B gNbN 06.02.1986CN -B gNcN 22.04.1987CNHmN"_NJBfNlNNprNN$Da das Systemdatum mit dem Datum desNNprNN$TOS bereinstimmt, wurde es ja wohlNNprNN$noch nicht eingestellt. Da so dieNNprNN$Termine, die mit DTA.PRG ausgegebenNNp rNN$werden knnen, nicht aktuell sind,NNp rNN$haben Sie dazu hier und jetzt dieNNprNN$letzte Mglichkeit. (TT.MM.JJJJ)NA CNN TT.MM.JJJJCNANfA퀢NA퀢N&<x*<NJBfNepTN4CNA퀢N&<x*<NxpJBgp/A퀢N&<x*<NxpJBgp$fNep.N4CN+|.FNgA퀢N&<x*<NxpJBgp/A퀢N&<x*<NxpJBgp$fNepMN4CNA퀢N&<x*<NJBfNfpJN4CNA퀢N&<x*<NxJBfNf~NprNpN4NppNN RETURN pN4NpqNNA퀢N&<x*<NJBfNg0NA퀢N&<x*<N N"/p"NpN4NppNANpN4NpqNNNA퀢N&<x*<N N"/p"Np^NNA퀢N&<x*<NxJBfNgrNprNN NNCNANN+@FHmA "_NJBg|NA퀢N&<x*<N N"/p"Np NNHmp N4"_NgNjt;BNNllBmNN CNAN 0 <r$<ANNBm4 <r$<A0NNprNpN4NppNANpN4NpqNNNA0N&<x*<N N"/p"NpN4NppNp?NpN4NpqNNpNN`fNqN`BNqNprNN TT.MM.JJJJNA CN4-NN>JBgbNxHPA"_NHNN$08*x4< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N.6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N.<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNfHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(N Division durch NullberlaufZahl nicht Integer|-2147483648 .. 2147483647Zahl nicht Byte|0 .. 255Zahl nicht Wort|0 .. 65535Quadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll Funktion oder Befehl|noch nicht mglich String zu lang|max. 32767 Zeichen Kein GfA-BASIC V2.0 Programm Programm zu lang|Speicher voll|New Kein GfA-Basic Programm|File zu kurz|NewFeld zweimal dimensioniertFeld nicht dimensioniertFeld Index zu groDim Index zu groFalsche Anzahl IndizesProcedure nicht gefundenLabel nicht gefundenBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFZu viele Punkte fr|Polyline/Polyfill|maximal 128Feld mu eindimensional seinAnzahl Punkte grer als FeldMerge - Kein ASCII-FileMerge - Zeile zu lang - Abbruch ==> Syntax nicht korrekt|Programmabbruch!Marke nicht definiert"Zuwenig Data#Data nicht numerisch$Syntaxfehler in Data|""paarweise verwenden%Diskette voll&Befehl im Direktmodus nicht mglich'Programmfehler|Kein Gosub mglich(Clear nicht mglich in|For-Next-Schleifen oder|Proceduren)Cont nicht mglich*Zuwenig Parameter+Ausdruck zu komplex,Funktion nicht definiert-Zuviele Parameter.Parameter falsch|mu Zahl sein/Parameter falsch|mu String sein0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 10)2Kein "R"-File3Nur ein Field zu einem|Open "R" mglich4Fields grer als Satzlnge5Zu viele Fields (max. 19)6GET/PUT Field-String Lnge falsch7GET/PUT Satznummer falschFehlerhaftes Menu?Fehlerhaftes Reserve@Fehlerhafter PointerZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal, For oder LocaldGFA-BASIC Version 2.02| Copyright 1986/1987|GFA Systemtechnik GmbHf2 Bomben - Bus Error|Vielleicht Peek oder Poke falschg3 Bomben - Adress error|Ungerade Wort-Adresse!|Bei Dpoke, Dpeek, Lpoke|oder Lpeek?h4 Bomben - Illegal Instruktion|Ausfhrung eines ungltigen|68000-Maschinenbefehlsi5 Bomben - Divide by Zero|Division durch Null in|68000-Maschinensprachej6 Bomben - CHK-Exeption|68000-Interrupt durch CHK-Befehlk7 Bomben - TRAPV-Exeption|68000-Interrupt durch TRAPV-Befehll8 Bomben - Privilege Violation|68000-Interrupt durch Ausfhrung|eines priviligierten Befehlsm9 Bomben - Trace Exeption|68000-Trace-InterruptAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Falscher BootsektorSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZuviele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS FehlerKein BinrprogrammfileSpeicherblockfehlerYp-KNu"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H` <^CzNB +|p <^ApN/-pNCzN -pCzNHPN***4"_Nng N N'NN`NqNqp NCgN)HxNBeenden4HPN JA |NEIN4r"_ NA6NA6N&<x*<N4JBfN)+|dT -T dWHgN+D -T =mN* -T ;gN*TRX -X nN*<+|XN*DABNA+PN N*SX -XSmN*t+|XN*|ABNA+PN -T =gN+@Nz?<NATJgN+*N!Den Drucker bitte| |einschalten| 4CHNHxHmHNHab ich|Abbruchr"_ N+@h -hSgN+N*+mhdN+<+|\A- Rolf Hwing *** Ksterstrae 32 <============> 1000 BERLIN 20 *** Tel.: 33 41 511 <==================================================================~dse 1~bse 1~bsa 2~dsa 2EINLEITUNG------------------------------------------------------------Dieses Programm ist PUBLIC DOMAIN. Es darf zusammen mit die-ser Anleitung beliebig weitergegeben werden, vorausgesetzt,da weder das Programm noch die Anleitung verndert werden.Ich hoffe, Ihr seid so Fair. Zuwiderhandlungen werden mitStrafen nicht unter 4 Bomben geahndet. Fr Anregungen undKritik (positive wie negative) zu dem Programm bin ich dank-bar.DTA.PRG wurde mit GFA-BASIC (v 2.02) erstellt und mit demBASIC-COMPILER (V 2.02) der GFA-Systemtechnik compiliert.Es ist lauffhig auf allen Rechnern der ST-Reihe mit Mono-chrom- oder Farbmonitor.DTA.PRG: Ein Utility, mehrere Funktionen------------------------------------------------------------==> D wie DESKTOP.INF einstellen==> T wie TERMINE nicht vergessen==> A wie ACC's oder AUTOSTARTPROGRAMME selektieren~bse 2~bsa 3WARUM------------------------------------------------------------Es gibt schon viele 'Accessoire-Loader'. Einige davon habeich schon gesehen. Nicht eins war fr alle Auflsungen desST, sondern alle NUR fr die hohe Auflsung geschrieben. Daswollte ich mit diesem Programm ndern. So weit, so gut, aberdas war doch zu wenig (warum immer nur ein PRG fr eineFunktion?). Also; was knnte noch darin zu gebrauchensein?... Und so entstand DTA.PRG, ein Programm, das seineArbeit verrichtet und sich dann selber vernichtet (nur ausdem Speicher!). Ein Programm, das sowohl die Leute gebrau-chen knnen die 'nur' mit Disketten arbeiten, als auch - undBesonders - die Leute, die, wie ich, das Glck haben eineHarddisk zu besitzen.~bse 3~bsa 4WOHIN------------------------------------------------------------DTA.PRG wird in den AUTO-Ordner der Bootdiskette oder derBootpartition kopiert. Wenn Sie ber eine eingebaute Uhrverfgen, sollte deren Treiber zuerst und dann DTA in denOrdner 'geworfen' werden. Wenn keine Hardware-Uhr (und somitkein Treiber dafr) vorhanden ist, wird DTA sich selbststn-dig nach dem aktuellen Datum erkundigen wenn das Systemdatumgleich dem Datum der TOS-Version 1.0 (6.2.86) oder dem Datumder Blitter-TOS-Version 1.2 (22.4.87) entspricht. Das aktu-elle Datum wird noch gebraucht UND natrlich an das Systembergeben. Sollten einige Anwender es von mir verlangen, sobin ich auch bereit in dem Programm die Zeit zu erfragen unddas System damit zu fttern. Meine Adresse steht oben.Fr Besitzer einer Harddisk, die von dieser booten, sei imVorgriff gesagt, da es von Vorteil ist, wenn sich auch dasProgramm fr mehr als die obligatorischen 40 Ordner vor demDTA im AUTO-Ordner befindet. Mehr darber lesen Sie unterLOADER.~dse 2~bse 4~bsa 5~dsa 3DESKTOP------------------------------------------------------------Sobald DTA gestartet ist sucht es auf der Diskette nach derDESKTOP.INF. Wenn diese nicht vorhanden ist, wird daran auchnichts gendert und ein weiterer Programmschritt erfolgt.Wenn aber eine DESKTOP.INF da ist, erfolgt eine Kopie der-selben (nur beim ERSTEN mal). Wenn Sie es Sich spter einmalanders berlegen geschieht das natrlich sobald eine Dateidieses Namens vorhanden ist.Die Kopie wird in ein File Namens DESKTOP.INx befrdert. Jenach augenblicklich eingestellter Bildschirmauflsung stehtx fr HIGH- oder fr LOWRES. Sollte also der Monochrommoni-tor angeschlossen sein gibt es dann ein DESKTOP.INF und einDESKTOP.IN0. Wenn der Farbmonitor angeschlossen ist, befin-den sich auf der Disk (oder Partition) DESKTOP.INF und DESK-TOP.IN2 (immer fr die andere Auflsung).Jetzt mu nur nochdas gewnschte Aussehen des Bildschirms in beiden Auflsun-gen mit 'Arbeit sichern' abgespeichert werden und dann fin-det man immer, bei jeder Auflsung anders, das 'selbst kre-ierte Aussehen' vor. Bei jedem weiteren Startvorgang werdendann die Files nur noch entsprechend umbenannt.~bse 5~bsa 6Man kann also zu jeder Zeit, wenn einem das Aussehen der Be-nutzeroberflche nicht mehr gefllt, alles so verndern wieman es will und wie wir es ja auch gewohnt sind. Danach wirdnur wieder 'Arbeit sichern' angeklickt und fertig ist dasDesktop.~bse 6~bsa 7TERMINE------------------------------------------------------------An dieser Stelle kommen wir dann zu dem Programmteil, dermir freundlicherweise von * Alfred Sa * 2243 Albersdorf *zur Verfgung gestellt und von mir nur etwas Modifiziertwurde. Die Erinnerung an Termine. Es wird in einer Liste(DTA.LST) nach Datumsbereinstimmungen mit der internen Uhrgesucht. Man kann z.B. eine Geburtstagsliste anlegen, so daman, beim tglichen Computerstart sofort informiert ist undkeinen Geburtstagsanruf vergit.Die Liste DTA.LST wird vom Programm DTA.PRG im AUTO-Ordnergesucht. sollte sich diese nicht darin befinden, wird auchdieser Programmschritt bergangen. Wenn eine Datei NamensDTA.LST vorhanden ist, wird nun der Stand der internen Uhr(Monat und Tag) mit den in DTA.LST befindlichen Daten ver-glichen. Bei bereinstimmung wird die entsprechende Zeileder Liste angezeigt.~bse 7~bsa 8Whrend des Programmlaufs erscheint (nur wenn DTA.LST gefun-den wurde) Daten holen: ... in reverserSchrift auf dem Bildschirm. Wenn Sie dem Folge leisten wirdnach oben gesagten bereinstimmungen gesucht. Nach der An-zeige der Daten wird durch Drcken einer beliebigen Taste,sptestens jedoch nach 20 Sekunden das Programm weiter imProgramm fortgefahren.~dse 3~dsa 4Durch das Drcken oder Nichtdrcken der linken Shift-Tastebraucht man sich nicht jedesmal beim Booten die Termine an-zeigen zu lassen. Wenn es z.B. nervt, zehnmal am Tag bei ei-nem Reset und anschlieendem Neustart immer wieder an diegleichen Daten erinnert zu werden, dann drckt man die Tasteeinfach nicht.Die Liste der Termine DTA.LST kann mit einem beliebigen Tex-teditor, der ASCII-Text (also ohne Steuerzeichen fr z.B.Fettschrift usw.) erzeugen kann generiert werden (Tempus,1_ST_WORD,SIGNUM!,....).~bse 8~bsa 9Folgender Aufbau ist erforderlich:Die ersten sechs Positionen jeder Zeile mssen das Datum inder Form 'xxMMTT' enthalten, wobei 'xx' beliebig ist, 'MM'ist der Monat und 'TT' der Tag. Der Rest der Zeile ist be-liebig und wird spter auf dem Bildschirm angezeigt. Willman sich diesen Text auf beiden Monitoren anzeigen lassen,sollte man nicht mehr als 28 Zeichen pro Zeile eingeben. Istallerdings sichergestellt, da diese Zeilen nur auf demS/W-Monitor erscheinen, so knnen dem Datum maximal 70 Zei-chen folgen. Eine bestimmte Reihenfolge der Daten brauchtnicht eingehalten zu werden, das Programm sortiert automa-tisch.Beispiel fr DTA.LST:--------------------- 0725 Schluverkaufszeitxx0815 Der Sommer ist bald vorbei.621125 Geburtstag Karin--1212 Weihnachtsgeschenke kaufen! 1219 Letzte Geschenke besorgen581007 Geburtstag Manfred..1229 Knaller besorgen**1021 Hochzeitstag~bse 9~bsa 10Obenstehende Daten werden mit einem Vorlauf von sieben Tagenangezeigt. Das heit, am 1.5. werden alle Daten angezeigt,die zwischen dem 1.5. und dem 7.5. datiert sind. So hat manauch noch die Mglichkeit z.B. zum Geburtstag eine Karte zuschicken anstatt erst am Geburtstag anzurufen.Da es aber auch warscheinlich ist, da man JEDEN Monat einund die gleiche Verpflichtung hat wurde auch das nicht auerAcht gelassen. Es wre aber unpraktisch wenn diese Datenauch sieben Tage im Voraus angezeigt wrden. Darum bestehthier die Chance, diese Daten nur am betreffenden Tag, aberdas jeden Monat, also 12 mal im Jahr, zu sehen ohne dafrextra 12 Eintrge in die DTA.LST schreiben zu mssen. Dafrwird die Angabe fr den Monat auf '00' gesetzt. Selbstver-stndlich knnen auch diese 'Monatsdaten' wahllos unter dieanderen Daten 'gewrfelt' werden.Beispiel dafr:--0005 Rate fr's Fahrrad bezahlen! 0021 Tageszeitung bezahlen**0013 Psst! Freundin besuchen.~bse 10~dse 4~dsa 5~bsa 11LOADER------------------------------------------------------------So, und nun kommen wir zu der letzten, aber nicht unwichtig-sten, Funktion von DTA.PRG. Das Selektieren der gewnschtenProgramme aus dem AUTO-Ordner und der auf der Bootdiskettebzw. -partition.Es gibt UNZHLIGE Utilitys und Accessoires die es dem Compu-teranwender erleichtern sollen. Nur - dieser Anwenderbraucht nicht zu jeder 'Sitzung' gleich alle kleinen Helfer-chen die sich in seinem Besitz befinden. Da der ATARI STaber z.B. nur 6 ACC's in einem Rutsch 'verdauen' kann, kannman sich nicht alle auf eine Diskette kopieren sondernbraucht fr jede Anwendung eine andere Bootdiskette. Undwenn alle Utilitys, die man so besitzt im AUTO-Ordner vere-wigt sind und dementsprechend beim Booten mit eingelesenwerden, wird der Rechnerspeicher nur unntz verkleinert.Das ist ab heute VERGANGENHEIT !!~bse 11~bsa 12Grundstzlich ist es doch so, da nur sehr wenige Utilityswirklich bei jedem Rechnerstart geladen werden mssen. Wieoben schon geschrieben, lohnt sich das nur bei einem Uhren-treiber, dem 40-Ordner Programm und ... Bei mir werden esnicht mehr.Darum wurde das Programm so konzipiert, da alle Programme,die vor dem DTA.PGR in den AUTO-Ordner geschrieben wurden,sowie auch DTA.PRG selber, nicht auf dem Bildschirm zur Aus-wahl gezeigt werden. Aber die 20 (!!) Programme, die nachDTA.PRG dazugekommen sind, knnen zum Laden bestimmt werdenoder auch nicht. Sollten sich mehr als 20 PRG's im AUTO-Or-dner befinden, so werden diese kurzerhand in *.PRX umbe-nannt und knnen somit nicht geladen werden.~bse 12~bsa 13Das gleiche passiert mit den Accessoires. Whrend die AUTO-STARTPROGRAMME auf der linken Bildschirmseite stehen, Reihensich die ACCESSOIRES auf der rechten Seite zur Auswahl auf.Sollten sich mehr als 20 (!!) ACC's auf der Bootdisk oderder Bootpartition befinden, so werden diese ebenfalls umbe-nannt. Diese erhalten aber die Extention *.ACX. Da abernur sechs ACC's erlaubt sind, ist auch dafr gesorgt. Eswerden zwar bis zu 20 Accessoires auf dem Bildschirm ange-zeigt, aber nur 6 Stck sind mit Pfeilen gekennzeichnet undnur diese sechs Accessoires tragen die Extention *.ACC.Z.B.: >> NAMLOS.ACC <<. Genauso sieht es auch bei den Pro-grammen aus dem AUTO-Ordner aus.~bse 13~bsa 14AUSWAHL------------------------------------------------------------Die Auswahl erfolgt nach einem einfachen Prinzip. Einer derNamen der PRG's oder ACC's ist revers dargestellt. Ist derName von den Pfeilen gezeichnet, so bedeutet das, da dasProgramm oder Accessoire nach dem Ende von DTA.PRG noch ein-geladen wird. Will man das nich, so ist einfach RETURN oderENTER zu drcken und schon sind die Pfeile nicht mehr da.Umgekehrt geht es genauso.~dse 5~dsa 6Will man einen anderen Namen whlen, so drckt man einfachder Richtung entsprechend die Cursortasten. Wenn dann allesklar ist, braucht nur noch ESC gedrckt werden, und DTA.PRGverabschiedet sich.Die Files, die das letzte Mal aktiviert waren, werdenselbstverstndlich ohne Ihr dazutun auch beim nchsten Malwieder aktiv angezeigt. Sollten Sie dann 20 Sekunden langkeine der Tasten drcken, geht das Programm automatisch wei-ter und die Files die aktiv angezeigt waren, werden akti-viert.~bse 14~bsa 15Jetzt bleibt nur noch zu sagen, da eine Auswahl der Pro-gramme aus dem AUTO-Ordner nicht mglich ist, wenn Sie dasDTA.PRG umbenennen. Es MUSS also weiterhin DTA.PRG heien,wenn es seine vollen Funktionen behalten soll.NACHSATZ------------------------------------------------------------Meinen Dank richte ich an dieser Stelle noch an Claus Brod,der mir zu einigen programmtechnischen Fragen seine Hilfegab.Allen Atarianern, die dieses Programm benutzen, wnsche ichviel Spa bei der Arbeit am Computer. Da es fr Public Doma-in Software selten 'Knete' gibt, bitte ich die Anwender, mireine Diskette mit eigenen Programmen oder PD's zu schicken.Als Belohnung an Stelle eines Geldbetrags. 'Knete' wird na-trlich auch nicht verschmht. Rolf Hwing~bse 15~dse 6*** '@rZ j \8tD\,t ZDTA setzt einen Auto-Ordner voraus. DTA ist dafr geschrieben, und fhlt sich auf 'Nicht-Boot-Disks' unwohl. Sollte jemand auf die Idee kommen, das Programm nicht von einer Boot-Disk zu starten, wird er mit Fehlermeldung bestraft. . F t.. F tG DOCGt /G PRGLt ]G RSCRt G_NACHTRAG Vt b****************************************************************** * * * D E R G R E I F E R * * * * noch ein vllig berflssiges PD - Programm * * * ****************************************************************** Auf der Diskette befinden sich ( hoffentlich ) die Files G.PRG G.RSC G.DOC und C.REF Letzteres wird nicht bentigt, es enthlt als Beispiel ein Suchmuster, das Sie mal mit Satzlnge = 1 auf Ihre C - Programme loslassen sollten. 1. Die bliche Rechtfertigung - schlielich gibt kein halbwegs vernnftiger Mensch zu, nchtelang aus purem Jux vor einem grauen Kasten zu hocken Der Greifer entstand aus der Notwendigkeit, aus einigen -zig Textfiles, Briefen und sonstigem Kram, fr das ein Datei- system zu unflexibel ist, mal eben die herauszugreifen, die Information zum selben Thema enthalten. Es sollte mglich sein, beim Suchmuster sowie bei den Dateinamen mit Wildcards zu arbeiten und bei erfolgreicher Suche entweder interaktiv in der Datei vorwrts und rckwrts zu blttern oder aber das Programm als Filter zu verwenden und Datenstze frei whlbarer Lnge in eine Datei zu schreiben. Auch im interaktiven Modus sollte es mglich sein, die gerade angezeigte Seite in eine 'Schmierdatei' zu schreiben. Neben der Mglichkeit, eine Ein- zeldatei oder einen Dateibaum zu durchsuchen, sollte das Pro- gramm auch eine Liste von Pfadnamen aus einer Datei akzeptieren. Zuletzt wre es noch schn, wenn man zwischendurch auch andere Programme aufrufen knnte, Shell, Editor u. dergl. 2. Doppelte Arbeit schndet sicherlich Deshalb benutzt die HILFE - Funktion des Greifers den folgenden Text. Diese Datei G.DOC sollte sich daher im selben Ordner wie G.PRG und G.RSC befinden. Das Programm ist zwar in erster Linie fr Festplattenbesitzer interessant, wer aber unter chronischem Platzmangel leidet, kann ja aus diesem Text, das Gelaber rausschmeien. Das Prozent - Zeichen am Anfang der Anleitung wird als Suchmarke benutzt und mu daher stehenbleiben. Ich wre aber dankbar, wenn die Weitergabe des Greifers nur mit der vollstndigen Datei G.DOC erfolgen wrde, einerseits aus Eitelkeit, andererseits weil ich keine Lust habe, wtende Briefe zu bekommen, Bugs betreffend, die ich weiter unten beschrieben habe. % 3. Anleitung Nach dem Programmstart sind die Buttons SUCHMUSTER und SUCHE IN selektiert. Ttigen Sie hier Ihre Eingaben und geben RETURN ein oder klicken SUCH an, so wird eine einzelne Datei durchsucht. Bei erfolgreicher Suche werden 20 Zeilen ausgegeben und zwar ab der letzten durch 20 teilbaren Zeilennummer. ( Die Vorein- stellung von 20 Zeilen lt sich beliebig ndern durch Selek- tieren von SATZLNGE und Eingabe eines anderen Wertes.) Sie knnen jetzt in der Datei vor (V) und zurck (Z) blttern oder die angezeigte Seite in die Datei G.OUT schreiben (D), falls die Datei bereits existiert, wird die Seite ans Ende angehangen. (W) setz die Suche fort. Haben Sie den Button SCHWEINSGALOPP angeklickt, arbeitet das Programm als Filter. Die gefundenen Datenstze werden jetzt fortlaufend ausgegeben, ohne da Sie die Mglichkeit zum Blt- tern haben ( Sie knnen die Ausgabe allerdings mit Control S anhalten und mit Control Q fortsetzen ). Dieser Modus ist auto- matisch gewhlt bei Umleitung der Ausgabe in eine Datei, hierzu AUSGABE anklicken und dahinter den Namen der Ausgabedatei an- geben. Auerdem knnen Sie durch ANHNGEN whlen, ob eine evtl. bestehende Datei gleichen Namens erweitert oder ber- schrieben werden soll. Ist 1STWORD selektiert, werden in 1ST-Word Dateien Softspaces durch echte Blanks ersetzt ( natrlich nur in der Ausgabe ). Wenn sie kein 1ST-Word besitzen, aber jede Menge mit 1ST-Word getippte Anleitungen fr PD-Programme, knnen Sie mit diesem Modus lesbare Texte erzeugen, indem sie als Suchmuster einen einzelnen . angeben ( passt auf alles ) und die Ausgabe in eine Datei leiten. ZEILENNUMMERN gibt natrlich Zeilennummern aus, G/K IS WURSCHT sucht unabhngig von Gro- und Kleinschreibung, Umlaute werden korrekt bercksichtigt. Sowohl der 1ST-Word als auch der G/K-Modus bremsen die Such- geschwindigkeit etwas. INVERS ist nur sinnvoll bei SATZLNGE = 1. Es sorgt dafr, da nur die Zeilen ausgegeben werden, die das Muster nicht ent- halten, sehr wichtig, wenn Sie Ihrer Erbtante Textverarbeitung demonstrieren wollen und schnell eine gereinigte Version ihres Wrterbuchs bentigen. Statt das Suchmuster in der Dialogbox einzugeben, knnen Sie auch unter SUCHMUSTER AUS eine Datei angeben, die das Such- muster enthlt. In dem Fall sind die einzelnen Zeilen Oder- verknpft. Die beiden Zeilen fr das Suchmuster in der Dialog- box gelten hingegen als eine Zeile. Soll ein Verzeichnis nebst Unterverzeichnissen durchsucht wer- den, BAUM DURCHSUCHEN anklicken, Startknoten angeben und bei der Wahl des Dateimusters mglichst sicherstellen, da nur Textfiles betroffen sind. Sollen Unterverzeichnisse ignoriert werden, stattdessen ORDNER DURCHSUCHEN whlen. Um eine hufig bentigte Gruppe von Dateien zu durchsuchen, whlen Sie SUCHPFADE AUS und geben dort den Namen einer Datei an, die eine Liste der zu durchsuchenden Dateien enthlt. In jeder Zeile mu genau ein Pfadname angegeben stehen. Eine Hilfe dabei bietet SUCHPFADLISTE ERSTELLEN. Diese Funktion liefert vom Startknoten ausgehend eine Liste smtlicher Dateien, auch der Unterverzeichnisse ( sofern ORDNER DURCHSUCHEN nicht selektiert ist ), die auf das Dateimuster passen. Die Ausgabe leiten Sie in eine Datei, widerholen das Ganze evtl. mehrmals ( ANHNGEN whlen ) mit anderen Ordnern und/oder Mustern und schmeien mit einem Editor berflssiges raus. Den Editor knnen Sie unter EDIT aufrufen, vorausgesetzt, er befindet sich im selben Ordner wie G.PRG und hrt auf den Namen EDIT.PRG. Ebenso knnen Sie eine Shell COMMAND.PRG erreichen, andere Programme unter PROGRAMM. Folgende Zeichen knnen in Suchausdrcken benutzt werden: ^ Zeilenanfang Zeilenende \t Tabulator [ ] Menge [^ ] Ausschlumenge . beliebiges Zeichen # beliebig oft das vorhergehende Zeichen | Oder - Verknpfung Soll nach | ^ [ ] . oder # selbst gesucht werden, mu ein Backslash \ vorangestellt werden. Um einen Backslash zu suchen, geben sie \\ ein. Beispiel: sucht nach: Otto 'Otto' ^ #Otto 'Otto' am Zeilenanfang bzw nach 0 oder mehreren Leerzeichen \#Otto '#Otto' am Zeilenende Otto|Ottilie 'Otto' oder 'Ottilie' Otto #[0-9][0-9]# 'Otto' dem nach 0 oder mehreren Leerzeichen eine beliebige Ziffernkette folgt ^[^AEIOU]# einer Zeile die keine Vokale in Grobuchstaben enthlt ^[a-zA-Z_][a-zA-Z_]#[ \t]#.#([^;]#)[^;]# Dieses Beispiel sucht nicht nach einem keltischen Kraftausdruck im letzten Asterix, sondern nach einem oder mehreren Klein- oder Grobuchstaben incl. des Unterstrichs am Zeilenanfang, gefolgt von einer beliebigen Anzahl (oder keinen) Tabs oder Leerzeichen, gefolgt von einer beliebigen Zeichenfolge (oder auch keinem) Zeichen, gefolgt von einem Ausdruck in runden Klammern, der jedes Zeichen, mit Ausnahme des Semikolons enthalten darf, gefolgt von einer beliebigen Zeichenfolge mit Ausnahme des Semikolons bis ans Zeilenende also nach allen C-Funktionsdefinitionen 4. Wie's funktioniert und wann warum nicht Eine Zeile mit einem Suchausdruck darf maximal 132 Zeichen ent- halten, die Zeilen der zu durchsuchenden Dateien 256. Wird dem Programm eine Liste mit den zu durchsuchenden Dateien bergeben, so darf jeder der angegebenen Pfadnamen maximal 80 Zeichen umfassen. Wird diese Lnge berschritten, wird entweder die Datei nicht gefunden, oder aber Eine, die nicht gemeint war. Wichtig fr STEVE Benutzer: STEVE benutzt kein Carriage-Return als Zeilentrenner. Aus dem unter Punkt 5. beschriebenem Grund darf der Greifer auf keinen Fall auf STEVE - Files angewandt werden, Sie knnten unliebsame berraschungen erleben ! Um blttern zu knnen, fhrt das Programm eine Liste, in die bei jeder durch die Satzlnge teilbaren Zeilenzahl, der Stand des Filepointers eingetragen wird. Zeichenweises Rckwrtsgehen wre viel zu langsam. Um den Speicherbedarf in Grenzen zu halten - vielleicht bastele ich noch ein Accessory - beschrnkt sich diese Liste auf 8000 Eintrge. Damit ergibt sich die maximale Lnge einer einzelnen Datei in Abhngigkeit von der Satzlnge: bei einer Satzlnge von 1 mit 8000 Zeilen, bei einer Satzlnge von 20 mit 160000 Zeilen. Wird diese Lnge berschritten, passieren vermutlich seltsame Dinge. Im Allgemeinen drfte der Platz aber reichlich bemessen sein, daher habe ich auf die Fehlerberprfung verzichtet, um nicht unntig zu bremsen, ganz zu schweigen von meiner Faulheit. Die nchste Version kriegt eh' eine zirkulre Liste. Ebenfalls wegen Faulheit nicht implementiert wurde die Funktion NUR DATEINAMEN. Wer zum Henker braucht sowas ? Man knnte natrlich nochmal die oben erwhnte Erbtante bemhen. Sie wollen wissen, bei welchen Ihrer litererischen Versuche Sie das invisible - Bit setzen mssen ... 5. Eine unangenehme Geschichte Das Programm wurde mit dem MEGAMAX C-Compiler erstellt, den ich besonders seiner Geschwindigkeit wegen schtze. Eine seiner Eigenschaften bereitete mir aber doch einigen rger. Hat man eine Datei mit fopen() im read-only mode geffnet und ist mit fgets() ans EOF gelangt, so fhren weitere Aufrufe von fgets() nicht nur dazu, da ber das Dateiende hinaus gelesen wird, der neue Stand des Dateizeigers wird auch abgespeichert und die nur zum Lesen geffnete Datei ist pltzlich um einige krumme Zeichen lnger. Der Fehler konnte mit einigen Verrenkungen umgangen werden, tritt aber bei berschreitung der Zeilenpufferlnge des Greifers von 256 Zeichen immer noch auf. Falls Sie den Greifer versehentlich auf *.PRG - Files anwenden macht das nix aus, bei STEVE - Files kann es passieren, das STEVE die Datei nicht mehr korrekt behandelt. Nachdem ich auf diese Weise einem Freund und STEVE - Besitzer eine 200 K Datei ( natrlich kein Backup vorhanden ) ruiniert hatte, hier fr den Fall, da das Elend schon passiert ist ( Anleitungen lesen zeugt von mangelndem Selbstvertrauen ), die Abhilfe: STEVE - Dateien enden mit 2 Null - Bytes. Stellen Sie mit einem Diskmonitor fest, an welcher Position das zweite Null - Byte steht und ndern Sie im Directory die Dateilnge entsprechend. Die mir bekannten Macken habe ich damit nach bestem Wissen und Gewissen dokumentiert, etwaige Schadenersatzforderungen lassen mich nur hohnlcheln. Kritik, Anregungen, Hinweise auf Fehler, aber auch Schulter- klopfen und Bemerkungen wie "Spitze", "Affengeil", "fr mich fing ein vllig neues Leben an" werden jederzeit gern entgegen- genommen. Ralf Rettberg Gahrenbergerstr. 7 3512 Reinhardshagen P.S.: Kennt jemand ein GO - Programm, das mehr kann als das Brett zu malen oder Literatur, die Programmierung betreffend ? `V`zN6N7N5ZN7N6rN7N5N5NU*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNPHlp?<?<N#,PHll?<?<N#PHlh?<?<N#PHld?<?<N"PHl`?<?<N"PHl\?<?<N"PHlX?<?<N"PHlT?<?<N"PHlP?< ?<N"PHlL?<$?<N"PHlH?<(?<N"xPHl@?<!?<N"fPHlPN^NuNVHlf/,N>PHll/,N>PHln/,N>PHlt/,N>P9|BlA)HHl?<N &\N^NuNVHlvN:XHlN:XHlN:XHlN:XHlN:XHlJN:XHlhN:XHlN:xX?<N3TN^NuNVH0 f <`-n` n H|#f| n (gr n -h &n ng/./. HnN J@f n -h g6`$/./. /.Nx $@Jg `d`S o0<H`N`,/./. HnN J@g n -h `0<H` . fDS .o .` .L N^NuNV2<0.|a0.|@ n HAN^NuNV0<2.|`=@0.|@ n HnN^NuNVH-n ` n H|-g/.Hn NX?Nn\` . g . R @. HHAf/.?<-N<\``R n ". U AHHAl n H,. U FH`.. U GH n H` /.?N\RG0FoR n g n . HHAf. . LN^NuNV? n PH|\g n.R GH` nR n PH|\g` ><\``|bg`><`p`|fg`>< ```|ng`>< `P`|rg`>< `@`|sg`>< `0`|tg`>< ` `|ag`><@` n PH``` nR0>N^NuNVBg/.N\N^NuNV nH|g. n. HHAg nH| g nH|#f <`dBnBB`?< N,T-@ nH|.g` n.`D`|^g` f n^`=|``|g`H .R @. HHAg$ .R @H|g .R @H| f n``|[g`b .R @H|^f n!T` n[R?<?<N-FX n!@ n/(/.?<]N -@```|#g`T nH|g|^g|#g` <` n#```" nLHnNdX n@S``0.g/.N^X <`` f nB .-@-@`h nH|#g n!n n!n-n`> .g n h!n n!n` n!n n!n-nR ng( n. HHAg nH| g0.g nB .N^NuNV-n`6/./. /.N -@fR` .g .` .-@` nf .N^NuNV?>< n Pg n H|Lg`" n P n (HHAf><``|^g` n fBG``|.g` n PH| g><``|g` n PH| fBG`p`|[g`& n /( n PH?N.\J@g><`B`|!g`6 n /( n PH?N\J@f><`HlHlN2P``` Gm n HЇ RG0>N^NuNV/ `@ nH|[g|!g`( n/(N)X&n n-h/ N)X``` .f&_N^NuNV-n`r nH|am nH|zn n `H nH|g` n`.`|g` n``|g` n````R nf .N^NuNV-n-n nH|fR`, nH|f nR ` n nRR nf nB .N^NuNV0<9@9@9@9@9@0<9@9@9@9|A HSh0( @m<A H"R AH|`Hl?<N@\A HSh0( @m<vA H"R AH|`Hl?<vN\=|0.nfN0. n PH|-f&0.Rn n /NrX0.nfNv0.Rn n /?<PHnN =@ @fNF0.n=@0.gHl0. n /N P-@ fV0. n /HlHlN0 A HSh0( @mA H R @H|` HlNX`d`A-H0,g0. n /HlHlN/ Bn)|)lL lB)|`0,g HlNX0,g HlNlX ,/0,H/N#DX |g`/.N X",X A ``|g` X````=n`\B0.A/HlN -@ .g0,g .f*0,g$ ,gRn0. n //.NP`Sn0. @lR0,S@fX/.?<HlN Jf/.NRXRn0.nm =n`0.A/NnXSn0. @lN^NuNV`F nH?NT|-g|Eg`` `|Fg` 9|` `|Wg` 9|``|Ug` 9|``|Ig`9|9|``|Dg` 9|``|Ng` 9|``|Zg` Bl``|Vg` 9|`|`|Og` 9|`j`|Sg`^TBl .`0< nHC|09@R nH|0m nH|9oS`?<Hl(N0R\``R nfN^NuNVBn0,g /.N>X`H0.nn$?<|/.N\-@g n X RnR .-@ fNZ?<|/.N0\-@f0.nn$?<|/.ND\-@g n X Rn fN 0.N^NuNVHlN,0X0,f ?<N%tTHl(N/ZXN^NuNVBn0,gHl/.NP-@ fV/.HlHlN+ A HSh0( @mA H R @H|` HlNpX?<Hl(N.\`*0. n?0. nA/HnNx n0. ng/.?<HnN0 Jf/.NX`40. n?0. nA//.N ngA>-H0.N^NuNV0,S@gP ,/0,H/NX Jf 0,H ,/0,H/N X/0,H/N )@`S0,g/,/. /.N `B/. /.N 0,flNH`P.H?NT|Ag`?<Hl(N-~\`(`|Ig`4/, ,6,HÐR//. Hl@N)HlNX`` |Vg`" ,g A HSh0( @m<A H"R AH|`Hl?<N\A HSh0( @m<AA H"R AH|`Hl?<ANn\A HSh0( @m<A H"R AH|`Hl?<N2\A HSh0( @m<KA H"R AH|`Hl?<KN\B/. /.N N` Hl`N(X`` |Zg`< ,Q)@԰Lo0<HA HSh0( @m<A H"R AH|`Hl?<Nh\A HSh0( @m<AA H"R AH|`Hl?<AN,\A HSh0( @m<A H"R AH|`Hl?<N\A HSh0( @m<KA H"R AH|`Hl?<KN\B/. /.N N`HlrN'XP`|`|Dg`pHlHlN>P-@g.Y0,H/./. /.N^ /.N X`HlN'6XHlN @X`HlN&XHlN *X```?<N ZT@H|Wg.H|wfA HSh0( @m<A H"R AH|`Hl?<N\A HSh0( @m<AA H"R AH|`Hl?<ANt\A HSh0( @m<A H"R AH|`Hl?<N8\A HSh0( @m<KA H"R AH|`Hl?<KN \YN^NuNV0,g lgBg l//.NV 0,fJ0,f&/. Hl .g .`A /N%t `Hl .g .`A /N%RP0,gn lff0,g HlNLXR0,g$/,Hl .g .`A /N% HlHl .g .`A /N$ `=l`/.?<HnN )@ ,gd0,g HnNXR0,g$/,Hl .g .`A /N$z HnHl .g .`A /N$V `\`(Hn/.Hl0,g ,`A /N!Rl`0. |gH/./,N%vPHn/,N$PHl/,N%ZPHl ,g0<`0<?N\`(Hn/.Hl0,g ,`A /N!Rl?<ONTJgt0. |f/.HlHnpN ?<Hnp?<NNJPJf.H|gXHlHnN$lPJ@gFHlHnN$ZPJ@g4Hn/.HlHnpN ?. HnpN&\Hn?<N\`d.H|gXHl HnN$PJ@gFHl"HnN#PJ@g4Hn/.Hl&HnpN .?. HnpN\Hn?<Nz\?<ONpTJgN^Nu)I)J"/0<NB"l$lNu NV9n0.| A" AA-H=|` nR2.AH0Rn nm/,`N.X0,N^NuNVA)HdA)HhA)HlA)HpA)HtA|)HxAd)H`?< NXT9l^0,^N^NuNV?<NNX9@g0<`0<N^NuNV nam nzn 0.| ``0.N^NuNVHl,/.NPJ@g`Hl2/.NPJ@gNHl8/.NPJ@g n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DFNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P<)h@-l<-l@BEG>O|g|JGn|m` REHlV/ NRPO`SEHlV/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`F ,$@ f*A$H`0* |f` A"Ҽm A"Ҽm <`BBj Bn+H|+f =|j H|wf?./.N*\>j `hH|afB0<n?/.N\> @f?./.N\>?<B?NPj `0.n?/.Nr\>j Gf Bj <`05G Bj <$%@?<B?* NnP%@5l L N^NuNV)n/.NRX/. /.NLPN^NuNV/ &n/ NXJ@g0<` k ?./. ?+ NP'@0<&_N^NuNV/ &n +"Ё"+&_N^NuNVH0&n$K`0.H| f`HSn 0. @o: nSh0( @m n R @H|` /.NX=@ @fB nf f <` L N^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,A H1| A H1|HlHlR/.N& .g2A H1| Hl0.gAT `AV //.N 0,R@H/?<HN\)@><`0A` 2 l RG0lm l 0, lBL N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BNv -@ m .`?<?.B?<BNL -@?<?.B?<BN2 -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNVH0><2.|SA¼0?N T&@f <` $@5G \/NX ,L N^NuNVH0><2.\ASA¼A ,$@ fA $@)@)@Bl&R0+Ge*0+Gf$`0k0+7G)J \`, f?NT&@ f <` $@ &@`L N^NuNVH0 .]&@$l` m n l`$R o l 2+Ёf R0(k R&`& 2*Ёf 0+j$`$)JL N^NuNVH0. <?NT&@ gBG` 0 KBRG0Fe LN^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHlX/.N PJ@f =|`Hl^/.N PJ@f =|`Hld/.N PJ@f=|`f0. |g0/.N &XJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@ @l0<`0. | ??.N~X0.N^Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/Nd X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n<)n@HljHl]|@0. R@?HnHnHnN>.g SR-.H|0f.f SR`J nff>.n RG0lHo0,H`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hlr/NP /NLXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P<)h@/,@/,. `Rg HGfg ` <`LN^NuNV n R @H=@` n R @H=@ n g n g n g0.N^NuNV=| nxg nXf n f0<`f n0m n9n0.|0=@`2 nam0.|a| =@` nAm0.|A| =@0.n o0<``0.N^NuNVBnBHnNX=@ n-f0<=@ nRH=@`0 ./0.H/N 6.HЃ-@ nRH=@?.?.NX=@ @f g n 0.g .D` .N^NuNV?< /</.N@ HN^NuNV/.?<AN>\9@g0<``0<N^Nu)I)JHl)_lHll" <sNB"l$lNuNV)np)nx .мZ)@|9|dBl9| n 9PN n 0A)HpA)HxA)H|A)HtN^NuNV9|eBlBl9nNXN^NuNV)n t9n 9|9|9|9nN(A)HtN^NuNV`4 nH| f?< ?<N X nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KAv-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N> 9@Hg0<`0,nBl0.L N^NuCA"A"A"Ad"A"A"9|9|C*.* CD\b9|C"2"2 2"2"2"22"2"2"22"2x9|)l>V)lBZ)lFR)lJJ)lNN9|HC A"A"A"A$"A*"A"A ")|)|9|9|Nu *** versagt !***** ^ Zeilenanfang Zeilenende \t Tabulator [ ] Menge [^ ] Ausschlumenge . beliebiges Zeichen # vorhergehendes Zeichen beliebig oft | ODER*.*[2][wat is dat denn ???| |Weber? Sind Sie da drauen?][Aouuuuu...]COMMAND.PRG[0][COMMAND.PRG lt sich nicht kommandieren.][Das ist der Zug der Zeit. Seufz...]EDIT.PRG[0][EDIT.PRG nicht gefunden][ &%^$#!!! ][3][???][!]-efuvwzdr%s lsst sich nicht ffnen noaw[3][i/o redirection error][oha!]G.RSC[3][bse falle| |kein rsc-file][mist]G.LST0020*.*%c:\-ezn%G.DOC 3/88 Listiger Info-Elektroniker, 31 mit guten Kentnissen der Analog u. Digitaltechnik Erfahrung mit Unixsystemen auf 68020 Basis Ausbaufhigen Grundkentnissen in Z-80 Assembler, C, Pascal und Forth Englisch, Fhrerschein Kl.3 sucht interessanten Job. Ralf Rettberg Gahrenbergerstr. 7 3512 Reinhardshagenomatch: das gips nich! br%s lsst sich nicht ffnen %s  H ?! r%s lsst sich nicht ffnen Datei: %s Zeile: %ld - %ld Du bist am Ende!Du bist ganz unten!g.outasorry  %s %ld %s%ld %s nfo orwrts urck eiter bbruch in atei g.out\%s%s%s%s %s%s %s*.*...%s%s\...%s%s\CON:AUX:PRT:@$??rawCON:AUX:PRT:%d  $1- Suchmuster aus:Suchmuster:Suchpfade aus:suche in:Ordner "Baum durchsuchen:Ausgabe:Satzlnge != 201st word formatG/k is wurschtSchweinsgaloppZeilennummern________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXStartknoten:Dateimuster:________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________9999Dateinamenur Dateinameinversanhngen________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________XXXXXXXXXXXXSuch!HilfeSuchpfadliste erstel.???DER GREIFERv. 0.2verbt 2/88 vonRalf Rettberg3512 ReinhardshagenDieses Machwerkist frei.Art willkommen.Gahrenbergerstr.7Kommentare allerCommandEditProgrammEnde$45A BQR\ ]h i{| )))R{))))Hq))))>K LY Z))  9b))  %&67A BRSefwx /O t  ?     4    P   l  (( (   $<(X(   T#(0 @ "p# @  ( \ ! $x % &C0* '0 A  ()*0*+0 0A ,-.0*/0 LA 80*%0 hA # @   ---------------------------------------------------------------------- Nachtrag zur Bedienungsanleitung fr den GREIFER letzte nderung ---------------------------------------------------------------------- Wer in diesen unseren Zeiten auf Keimfreiheit ( keine Muse, keine Busy - Bees ) Wert legt, kann die Version 0.2 des GREIFERS jetzt auch aus einem Kommandointerpreters mit Argumenten aufrufen. Das RSC - File wird dann nicht geladen und der GREIFER kann so auch als Bestandteil einer Pipe verwendet werden - sofern Ihr Interpreter sich auf die Kunst des pipens versteht. Die Syntax ist dann wie folgt: g [-Optionen] [Suchmuster bzw. Suchmusterdatei] [Datei1] [Datei2] ... Optionen: -w 1ST Word-Format bercksichtigen -u Gro/kleinschreibung nicht bercksichtigen -n keine Zeilennummern ausgeben -v Ausgabe nur wenn keine bereinstimmung -s= Anzahl der Auszugebenden Zeilen -i Programm arbeitet als Filter -f das zweite Argument ist der Name der Datei, die das Suchmuster enthlt Werden keine Optionen Angegeben, ist die Voreinstellung 20 Zeilen, Zeilennummern, interaktiver Modus. Beispiele: g sie landen wie gehabt in der Dialogbox g Meier adr.dat wenn sowohl die Datei adr.dat als auch Meier in derselben existiert, werden 20 nummerierte Zeilen im Umkreis von Meier ausgegeben. Sie knnen blttern, weitersuchen oder abbrechen. g -n Meier adr.dat dasselbe ohne Zeilennummern g -ins=8 Meier adr.dat >meiers.all alle Meiers landen in der Datei meiers.all, satzlnge 8 Zeilen dichter | g -fins=1 deftiges >PRT: der output Ihres Programms DICHTER wird vom GREIFER anhand der im file DEFTIGES gespeicherten Muster gefiltert, und das Ergebnis ausgedruckt Es ist wichtig da, wenn der GREIFER seinen Input aus einer Pipe bezieht, s=1 gesetzt ist, der Versuch in der Standard- eingabe zeilenweise zurckzugehen, um mehrere Zeilen aus- zugeben wrde zu nix Gutem fhren Wenn sie bei den Dateinamen mit Wildcards arbeiten, hngt es natr- lich von Ihrer Shell ab, inwieweit bleistiftsweise eine Eingabe wie g Meier brief*.doc dem Greifer als g Meier brief01.doc brief02doc brief03.doc oder nur als g Meier brief01.doc bergeben werden Die Funktionen aus der Dialogbox BAUM oder DIRECTORY durchsuchen SUCHPFADLISTE benutzen bzw. erstellen sind jedenfalls in der Version 0.2 noch nicht von der Kommandozeile erreichbar. Kommt alles noch. Manana. ---------------------------------------------------------------------- Wie ich soeben erfahren habe, luft G.PRG auch in der mittleren Auflsung. Wenn man das etwas verhunzte GREIFER - Logo ignoriert. Na fein. ---------------------------------------------------------------------- Weniger fein: wird zwischendurch der TEMPUS - Editor benutzt, soll es in seltenen Fllen zu unerkllichen Bombenattentaten kommen. Da ich leider nicht ber diesen Editor verfge, kann ich im Moment nicht herausfinden, ob der GREIFER oder TEMPUS oder gar - lauscht der Zimmermann auch nicht - eine kriminelle Vereinigung von beiden verantwortlich ist. Sowohl mit dem MEGAMAX - Editor als auch dem des GST - Assemblers traten keine Schwierigkeiten auf. ---------------------------------------------------------------------- . [ t.. [ tH_UMWANDGFA\t LIESMICHDOCct (LST_UMWAGFAgt SCHALTERGFAkt hSCHALTERLSTot SCHALTERRSCst PGFABASROPRGvt GGFA-BASIC3&LRrrff|j,,888FDLAZAEHLIZBLANKMERKERZEILENAA2BXDATEI ARRAY_NAME DIM_ARRAYSANTWKLAMMERABBRUCHMERKERGEFUNDEN OUT_STRING DIM_ARRAYS DIM_ARRAYFDLAZAEHLIZDECZBLANKMERKERZEILENDIALOG1TITEL123NAMEQ9STRASSE6ORTQABBRUCHOK1ARRAYANTWARRAYSGROSSEGROESSE DIM_GROESSEBAUM1ICONAUSBAUM2AUS1BAUME_EINGABB_OKF_UPDATES_AUSGABB_ENDETEST DRUCK_LABEL ARRAY_ENDADDELSEIFELSIF ARRAY_SUCHENARRAYEXIT ARRAY_GROESSEX DIM_GROESSEOBJTASTS>********************************************************* >* Umwandlung der HEADER - Datei aus dem RSC * >* fr die Benutzung in GFA - Basic * >* V 2.0 vom 14.12.1988 * >********************************************************* >* nach ST - Computer 5/87 s.48 * >* angepasst an KUMA-RCS, DR-RCS, MEGAMAX-RCS und * >* GFA-Basic V 3.0 26.05.1988 * >* Pichlmaier Gnther, Am Steinbruch1, 8306 Schierling * >********************************************************* >* wandelt den C-Header o. genannter RCS in eine LST * >* Datei fr GFA-Basic um. Dabei werden Array's erkannt * >* und am Ende der Datei dimensioniert. Die Ausgabe er- * >* folgt auf Bildschirm und Datei. * >*********************************************************  a-zF dF" . V F wenn niedrige Auflsung >V!!! F umschalten in mittlere 4P!!!F Farben korrigieren P!!!F$F FFFhL "B "p"!! E Fn wenn '/*' oder '*/' gefunden, dann r$Fentferne die Zeichen F Ft4'FFF'$F44=!B ! F' '#define' abschneiden <FL ?!! ! =F Hauptschleife-solange kein = gesetzt 4 PRINT x$ ! ***debug*** 0  L?!!  F bis 1.Space suchen e.  F bei Array's ist & vor () setzen ,!! E=F dann mit = ersetzen 8 FF!@4;!߀ &=>! F  oder mit '&=' ersetzen zF$F(@ ?!! (F oder bis ( t84;!߀ &>! F und & davorsetzen (von hier zur Proc array verzweigen F<FFF$FF Zhler erhhen  F 6  f! B F wenn kein Kommentar z.B. eF9 bei Megamax RSC $F @FF4 ?!!  F Leerstellen feststellen .F? werden durch GFA im Editor entfernt  vF,@F gefundene Leerstellen merken n4 Lprint X$,Z ! ***debug** F ?!! !  Fk suchen bis 2 Spaces gefunden s0 ?!! /?!! B F*F? oder / (Anfang des Kommentares) , BF ! bedeuted das Bemerkungen folgen 4!! E !Fd REM-Zeichen ' !' einfgen 2@FF Position wo Kommentar beginnt merken e.RB Fn bis Ende der Zeile suchen B "?!! *?!! /?!! B F>!! E Fn wenn '/*' oder '*/' gefunden, dann e$F entferne die Zeichen F  tFt24;! ߠ >!߀ F|F6 Lprint X$ ! ***debug*** o2 ^: 'Fv wenn keine Kommentarzeile LET 2LLET F davorsetzen-"ist manchmal ntig" e8L 9LET FF in Zwischenspeicher schreiben und (8Fn! auf den Bildschirm ausgeben LFF L 9F$F FEndezeile  FL 9'F L F F9.L 9!' Ende der Resource HeaderdateiFt L F&Array Dimensionierungen ausgeben n FG Kopftext s F@x90'Dimensionierung von Feldern fr Resource-Datei:FL F$F0dGF Dimensionierungen der Array's  F(x9DIM  &( )F Fx߀9'Fn L F FF FInfo ausgeben (@ F (0) und Kommentar . Fn tatschlich umgewandelte Zeilen @Fd$FLFFNLB "p"/-------------------- INFO ---------------------"B "qF0L$umgewandelte Zeilen : "7FF0L$gefundene Array's : "7FF:L$erzeugte Zeilen : "7 ߀FF.L$Das LST-File wird geschrieben als : "F0$o!M!F Datei zum Schreiben ffnen .(HM! ! F Textfile schreiben B 0F" alle Dateien schlieen h `!:sollen weitere H-Dateien|fr GFA-BASIC umgewandelt|werden?!! nein | ja !F ߀Fg<F8@F# Felder fr neuen <F Durchgang lschen  F F F$F""Fr bis Abbruch Button ! F  +2 weil &( => akt. Gre des " 8LPRINT array_name$,groesse,z,x$ ! ***debug*** *,dGF Suchschleife fr bereits *<F fr bereits gespeicherte Namen s  FX9w ! F(<F nach Grenkorrektur ausstieg $F FM pF$ F wenn nicht vorhanden t"F Array-Zhler hochsetzen "L9F und Erstinformation X9F bernehmen o$FF &,26789:@FLNPRTVXZ\^`bdfhjlnprtvxz|~z Header-Umwandlung von RCS-Files fr GFA-Basic 3.0 Auf der Diskette des Interpreters GFA-Basic 3.0 liegt der Resource-Editor von Digital Research in der Version 2.0 vor. Die bevorzugte Verwendung von RSC-Files bietet sich durch die im Interpreter enthaltenen AES-Routinen an. Durch Sie wird die Programmierung und die Pflege benutzerfreundlicher Prog- gramme einfacher und einheitlicher. Wie bereits in dem Kurs zum GFA-Basic 3.0 erlatert mssen allen Objekten die im Programm angesprochen werden sollen Namen gegeben werden. Die Ausgabe der Namen erfolgt als Header File fr C oder als LST File fr Basic. Ist dabei die programmtechnische Verarbeitung fr viele Objekte gleich, so ist es sinnvoll die Verarbeitung in einer Procedure durchzu- fhren und die Objekte ber Indizes anzusprechen. Dadurch wird die prog- technische Verarbeitung krzer, einfacher und leichter durchschaubar(siehe Beispiel SCHALTER auf Diskette). Da in den Masken der RCS eine Eingabe von Sonderzeichen nicht erlaubt ist ist ein kleiner Patch am zugehrigen RSC File ntig, der im Folgenden noch nher beschrieben wird. Das Programm bernimmt anschlieend die Aufbereitung jeder einzelnen Zeile und die Dimensionierungen der verwendeten Array's, so da das erzeugete *.LST File nur noch mit MERGE ins eigentliche Programm eingebunden werden mu. nderung am RCS V2.0 von DR (ist auf Diskette des Basic Interpreters): Das RSC-file RSC2 in das RCS-Programm laden ,in den Objektbumen 16,17,18,19,20 das Editfeld fr Namenseingabe durch Doppelklick ffnen, und dort die Maske von annnnnnn auf axxxxxxx ndern. Nach Abspeichern des genderten RSC2-Files knnen ab sofort auch () im Namen anthalten sein (z.B. TASTE(1) ). Sicherheitshalber an einer Kopie der Orginaldiskette ausprobieren ! Wenn Sie andere Resource Editoren bevorzugen: 1)Am RCP des Megamax-LASER-C sind keine nderungen erforderlich 2)Beim Kuma Resource-Editor sind ebenfalls die Masken die Namenseingaben erlauben auf axxxxxxx zu ndern.(Objektbume durchsuchen !) Bild 1 zeigt das danach vom RCS2 gelieferte LST File. LET BAUM&=0 !RSC_TREE LET S(1)&=3 !Obj in #0 LET S(2)&=4 !Obj in #0 LET S(3)&=5 !Obj in #0 LET S(4)&=6 !Obj in #0 LET S(5)&=7 !Obj in #0 LET S(6)&=8 !Obj in #0 LET S(7)&=9 !Obj in #0 Bild 1. LET S(8)&=10 !Obj in #0 LET E_EINGAB&=12 !Obj in #0 LET B_OK&=16 !Obj in #0 LET F_UPDATE&=17 !Obj in #0 LET S_AUSGAB&=18 !Obj in #0 LET B_ENDE&=19 !Obj in #0 LET TEST&=1 !RSC_TREE Die anderen RSC-Editoren erzeugen normalerweise nur Header Files fr C, Pascal, Fortran. Ein C-Header-File des KUMA RCS zeigt Bild 2. /* Resource-Set indicies fuer SCHALTER */ #define Baum 0 /* Formula/Dialog */ #define S(1) 3 /* BOXCHAR in Baum Baum */ #define S(2) 4 /* BOXCHAR in Baum Baum */ #define S(3) 5 /* BOXCHAR in Baum Baum */ #define S(4) 6 /* BOXCHAR in Baum Baum */ #define S(5) 7 /* BOXCHAR in Baum Baum */ #define S(6) 8 /* BOXCHAR in Baum Baum */ Bild 2. #define S(7) 9 /* BOXCHAR in Baum Baum */ #define S(8) 10 /* BOXCHAR in Baum Baum */ #define E_eingab 12 /* FTEXT in Baum Baum */ #define B_Ok 16 /* BUTTON in Baum Baum */ #define F_update 17 /* BOX in Baum Baum */ #define S_ausgab 18 /* STRING in Baum Baum */ #define B_ende 19 /* BUTTON in Baum Baum */ #define Test 1 /* Formula/Dialog */ Um fr beide Flle eine Arbeitserleichterung fr Basic Programmierer zu schaffen wurden zwei Programme entwickelt die die entsprechenden Umformungen und die Dimensionierung der Array's erledigen( H_UMWAND.GFA fr die C-Header Umwandlung aller gngigen Resource-Construktion-Set's und LST_WAND.GFA fr die Umwandlung der LST-Header des RCS2 von DR). Den Output von LST_WAND.GFA zeigt Bild 3. 'Dimensionierung von Feldern fr Resource-Datei: DIM S&(8) ' LET BAUM&=0 !RSC_TREE LET S&(1)=3 !Obj in #0 LET S&(2)=4 !Obj in #0 LET S&(3)=5 !Obj in #0 LET S&(4)=6 !Obj in #0 LET S&(5)=7 !Obj in #0 LET S&(6)=8 !Obj in #0 LET S&(7)=9 !Obj in #0 BILD 3. LET S&(8)=10 !Obj in #0 LET E_EINGAB&=12 !Obj in #0 LET B_OK&=16 !Obj in #0 LET F_UPDATE&=17 !Obj in #0 LET S_AUSGAB&=18 !Obj in #0 LET B_ENDE&=19 !Obj in #0 LET TEST&=1 !RSC_TREE ' ' Ende der Resource Headerdatei Den Output von H_UMWAND.GFA zeigt Bild 4. 'Dimensionierung von Feldern fr Resource-Datei: DIM S&(8) ' ' Resource-Set indicies fuer SCHALTER ' LET Baum&= 0 ! Formula Dialog LET S&(1)= 3 ! BOXCHAR in Baum Baum LET S&(2)= 4 ! BOXCHAR in Baum Baum LET S&(3)= 5 ! BOXCHAR in Baum Baum LET S&(4)= 6 ! BOXCHAR in Baum Baum LET S&(5)= 7 ! BOXCHAR in Baum Baum LET S&(6)= 8 ! BOXCHAR in Baum Baum Bild 4. LET S&(7)= 9 ! BOXCHAR in Baum Baum LET S&(8)= 10 ! BOXCHAR in Baum Baum LET E_eingab&= 12 ! FTEXT in Baum Baum LET B_Ok&= 16 ! BUTTON in Baum Baum LET F_update&= 17 ! BOX in Baum Baum LET S_ausgab&= 18 ! STRING in Baum Baum LET B_ende&= 19 ! BUTTON in Baum Baum ' LET Test&= 1 ! Formula Dialog ' ' ' ' Ende der Resource Headerdatei Nach dem MERGE der gelieferten LST Files mit dem Verarbeitungsprogramms sind die Leerzeilen und Blanks nach dem = entfernt und der Kommentar steht in Spalte 30. Das Listing in Bild 5 zeigt den Kern von LST_WAND.GFA. Das um Sicher- heitsabfragen, Prfungen, Ausgabe von Information auf Bildschirm erweiterte Programm und das Programm H_UMWAND.PRG sind auf Diskette enthalten. Nach schreiben einer berschrift und Selektion des umzuwandelden Files wird das bestehende LST-File in .BAK umbenannt und Platz fr den Ausgabetext reserviert. Anschlieend wird jede Zeile eingelesen und nach markanten Zeichen durchsucht. Fr jedes gefundene Array wird der Name und die Gre in der Procedure Array festgestellt. Sind alle Ausgabezeilen zusammen- gebastelt, werden noch die Dimensionierungen der Array's an den Anfang geschrieben und der gesamte Text mit STORE auf Diskette geschrieben. Das Listing in Bild 6 stellt ein Beispiel fr die sinnvolle Verwendung von Array's in Dialogboxen dar. Bild 6. ' * Umwandlung der HEADER - Datei aus dem RSC * ' DEFWRD "a-z" DO CLS PRINT " ";CHR$(27);"p";" RCS LST - UMWANDLUNG fr GFA-Basic V 1.0 von Gnther Pichlmaier ";CHR$(27);"q" PRINT PRINT " Welche LST-HEADER-Datei soll umgewandelt werden ?" FILESELECT "\*.LST","",a$ ! Datei LST oder BAK auswhlen lassen IF a$="" OR a$="\" ! bei leerer Auswahl END ! Programm beenden ENDIF ! Abbruch wurde angewhlt datei$=LEFT$(a$,LEN(a$)-3)+"BAK" ! alten Dateinamen ndern RENAME a$ AS datei$ ! alte Datei umbenennen OPEN "i",#1,datei$ ! Datei zum Lesen ffnen ' DIM out_string$(10000) ! Zwischenspeicher fr Ausgabe DIM dim_arrays$(100) DIM array_groesse(100) ' ! des LST-Files CLR zeilen,arrays ! Zeilen-, Array- Zhler lschen WHILE NOT EOF(#1) ! bis Ende der Datei von Disc lesen INPUT #1,x$ ! Zeile einlesen (bis CRLF) INC zeilen ! Zeilen-Zhler erhhen ' Zeilen in Bereiche aufteilen marke1=INSTR(x$,"(") marke2=INSTR(x$,")") marke3=INSTR(x$,"&") marke4=INSTR(x$,"!") IF marke1 GOSUB array ! Stelle teil1$=LEFT$(x$,marke1-1)+"&" ! bis zur geffneten Klammer teil2$=MID$(x$,marke1,marke3-marke1) ! bis vor & teil3$=MID$(x$,marke3+1,marke4-marke3-1) ! & ausblenden teil4$=RIGHT$(x$,LEN(x$)-marke4+1) ! Kommentar out_string$(zeilen)=teil1$+teil2$+teil3$+SPACE$(30-marke4)+teil4$ ELSE IF marke4 out_string$(zeilen)=LEFT$(x$,marke4-1)+SPACE$(30-marke4)+RIGHT$(x$,LEN(x$)-marke4+1) ELSE out_string$(zeilen)="'" ENDIF ENDIF PRINT out_string$(zeilen) WEND ' Array Dimensionierungen ausgeben IF arrays INC zeilen INSERT out_string$(0)="'Dimensionierung von Feldern fr Resource-Datei:" PRINT out_string$(0) FOR i=1 TO arrays INC zeilen INSERT out_string$(i)="DIM "+dim_arrays$(i)+"&("+STR$(array_groesse(i))+")" PRINT out_string$(i) INC zeilen INSERT out_string$(i+1)="'" NEXT i ENDIF INC zeilen OPEN "o",#2,a$ ! Datei zum Schreiben ffnen STORE #2,out_string$(),zeilen ! Textfile schreiben CLOSE ! alle Dateien schlieen LOOP UNTIL abbruch! ! bis Abbruch Button CLEAR END ' PROCEDURE array ' array_name$=UPPER$(MID$(x$,5,marke1-5))! Name des zu Dimensionierenden Arrays groesse=VAL(MID$(x$,marke1+1)) ! ( => akt. Gre des " FOR i=0 TO arrays ! Suchschleife fr bereits gefunden!=FALSE ! fr bereits gespeicherte Namen IF array_name$=dim_arrays$(i) array_groesse(i)=MAX(array_groesse(i),groesse) gefunden!=TRUE ! nach Grenkorrektur ausstieg ENDIF EXIT IF gefunden! NEXT i IF NOT gefunden! ! wenn nicht vorhanden INC arrays ! Array-Zhler hochsetzen dim_arrays$(arrays)=array_name$ ! und Erstinformation array_groesse(arrays)=groesse ! bernehmen ENDIF RETURN GFA-BASIC3&pv*RRRR  **>>>****llFDLAZAEHLIZBLANKMERKERZEILENAA2BXDATEI ARRAY_NAME DIM_ARRAYSTEIL1TEIL2TEIL3TEIL4EXTVARNAMANTWKLAMMERABBRUCHMERKERGEFUNDENKILLRENAMEKILRENAM OUT_STRING DIM_ARRAYS DIM_ARRAYSPCLEFTFDLAZAEHLIZDECZBLANKMERKERZEILENDIALOG1TITEL123NAMEQ9STRASSE6ORTQABBRUCHOK1ARRAYANTWARRAYSGROSSEGROESSE DIM_GROESSEBAUM1ICONAUSBAUM2AUS1MARKE1MARKE2MARKE3MARKE4TREE1TEST1TEST2TEST3ICON1BAUME_EINGABB_OKF_UPDATES_AUSGABB_ENDETEST DRUCK_LABEL ARRAY_ENDSTARTADDELSEIFELSIF ARRAY_SUCHENARRAYEXIT ARRAY_GROESSEX DIM_GROESSEOBJTASTS>********************************************************* >* Umwandlung der HEADER - Datei aus dem RSC * >* fr die Benutzung in GFA - Basic * >* V 1.3 vom 14.12.1988 * >********************************************************* >* angepasst an DR-RCS und * >* GFA-Basic V 3.0 14.10.1988 * >* Pichlmaier Gnther, Am Steinbruch1, 8306 Schierling * >********************************************************* >* verndert die LST-Datei fr die Verwendung von * >* Array's . Dabei werden Array's erkannt und am Ende * >* der Datei dimensioniert. Die Ausgabe erfolgt * >* auf Bildschirm und Datei. * >*********************************************************  a-zF dF" . ZV F wenn niedrige Auflsung >V!!! F umschalten in mittlere 4P!!!F Farben korrigieren P!!!F$F 4 \*.LSTFF 4FF |FFFFFjL "B "p"A RCS LST - UMWANDLUNG fr GFA-Basic V 1.3 von Gnther Pichlmaier "B "qFjL "B "p"A fr Verwendung von Array's "B "qFBL: Welche LST-HEADER-Datei soll umgewandelt werden ?FF4$ !!Fs Datei LST oder BAK auswhlen lassen , 2\F bei leerer Auswahl iF" Programm beenden e $F" Abbruch wurde angewhlt 4 FF:4;!B  LSTF Dateiname fr Ausgabe 0 =! BAKF wenn schon angelegt  T F<F$F 8F <4;!B  BAKF alten Dateinamen ndern $ TT F wenn .BAK vorhanden <F 8FT"lF alte Datei umbenennen $F$F,$i!M!F Datei zum Lesen ffnen A .H' F Zwischenspeicher fr Ausgabe dHd FHd F: ! des LST-Files e, !F Zeilen-, Array- Zhler lschen 6 tN F bis Ende der Datei von Disc lesen *M!F Zeile einlesen (bis CRLF)  F Zeilen-Zhler erhhen 2  $D!= F Zeilen ohne = sind Kommentar i"Zeilen in Bereiche aufteilen i@D!( F@D!) F@D!& F@D!! F2  Fw wenn & bereits an richtiger F Stelle :4;!߀ &F bis zur geffneten Klammer D 4?!! F bis vor & 84 ?!߀!߀ F & ausblenden r*4 =!B ߀ F Kommentar $L 9   F 8 F  FFDL 9;!  =!B  F 8 FL 9'F$F$F 8 ZFD"  T;! ':  F04 &Soll die .BAK Datei|verwendet werden ?FF  = ! BAKF44 *Soll eine andere Datei|bearbeitet werden ?FF$FV!'Diese Datei wurde bereits|umgewandelt!| !!Abbruch | weiter!Fn0F Datei schlieen   ^߀F F 8 NF F Array's lschen  F F  = ! BAKF 4FF4 \*.LSTFF 8 @FFN4?!D!\ !B ߀ BAKF Dateiname vorbesetzen "4 \*.BAKFF neue Extension $FF $F$F$F L F nF&Array Dimensionierungen ausgeben n FL 9'FL'F F9.L 9"' Ende der Resource HeaderdateiF L F F  F9@x90'Dimensionierung von Feldern fr Resource-Datei:FL FdGF F(x9DIM  &( )F L F F x߀9'F( jFF$F FInfo ausgeben @ ߀F (F@F $FLFFPLB "p"1---------------------- INFO ---------------------"B "qF0L% umgewandelte Zeilen : "7F0L% gefundene Array's : "7F<L% erzeugte Zeilen : "7 ݀FF0L% Das LST-File wird geschrieben als : "FF Fv!kEs existieren bereits |.LST und .BAK Dateien von|diesem File ! Soll eine neue|.LST Datei geschrieben werden!! nein | ja !F *߀Fr.4FF LST-File lschen und neues erzeugen 8F0FF F Array's lschen  F F"4 \*.LSTFF neue Extension u4FF Dateiname lschen FF$F$F0$o!M!F Datei zum Schreiben ffnen .(HM! ! F Textfile schreiben 0F" alle Dateien schlieen h f!@sollen weitere RCS-LST-Dateien|fr GFA-BASIC umgewandelt|werden?!! nein | ja !F ߀Fg<F8 F# Felder fr neuen <F Durchgang lschen  F F F$F"Fr bis Abbruch Button ! Fa ( => akt. Gre des " n8LPRINT array_name$,groesse,marke1,x$ ! ***debug*** n,dGF Suchschleife fr bereits *<F fr bereits gespeicherte Namen s  FX9w ! F(<F nach Grenkorrektur ausstieg $F FM :F$ RF wenn nicht vorhanden t"F Array-Zhler hochsetzen "L9F und Erstinformation X9F bernehmen o$FF&.6<BHNTZ`flrx~ F $*GFA-BASIC3 $**444FFFJNNNNTRUNSODIAAIBAUMX_ABSY_ABSENDENSOASCDIALOG1TITELNAMESTRASSEORTXYWHABBRUCHOKBAUME_EINGABB_OKF_UPDATES_AUSGABB_ENDEICASES<he RSC-DEMO fr Verwendung von Array's in Objektbamen n5 R0Freicht fr das kleine Resourcefile  4Hier wird die erzeugte HEADER Datei eingemergt t 4Dimensionierung von Feldern fr Resource-Datei: H F * Resource-Set indicies fuer SCHALTER   FS Formula Dialog ,(9Fr BOXCHAR in Baum Baum ,(9Fr BOXCHAR in Baum Baum ,(9Fr BOXCHAR in Baum Baum ,(9Fr BOXCHAR in Baum Baum ,(9Fr BOXCHAR in Baum Baum ,(9Fr BOXCHAR in Baum Baum ,(9 Fr BOXCHAR in Baum Baum ,(9 Fr BOXCHAR in Baum Baum $ F FTEXT in Baum Baum & F BUTTON in Baum Baum m$F  IBOX in Baum Baum m&F  STRING in Baum Baum m&F BUTTON in Baum Baum m   >| \SCHALTER.RSC FHП!6[1][Resourcefile SCHALTER.RSC|nicht gefunden][Abbruch] FF$F~! ! FС!!!! F"З!!!!!! F<FF8Н! F&0.! Fohne doppelclick  F 4ap! XXF @5 FF F"! 9-! ! FЙ! !! F4З! !!!!! !! F$F F <F <dFdGFo 4 Fo! C FЙ!!! F,З!!!!!! !! FLB "FF$F F! 9.! ! F4F F }FF &,048<@DFLRX^`bdfhjlnprtvxz|~>8-*N .he RSC-DEMO fr Verwendung von Array's in Objektbamen .n5 RESERVE -1000 !reicht fr das kleine Resourcefile ' ' Hier wird die erzeugte HEADER Datei eingemergt ' ' Dimensionierung von Feldern fr Resource-Datei: DIM s&(8) ' ' Resource-Set indicies fuer SCHALTER ' LET baum&=0 ! Formula Dialog LET s&(1)=3 ! BOXCHAR in Baum Baum LET s&(2)=4 ! BOXCHAR in Baum Baum LET s&(3)=5 ! BOXCHAR in Baum Baum LET s&(4)=6 ! BOXCHAR in Baum Baum LET s&(5)=7 ! BOXCHAR in Baum Baum LET s&(6)=8 ! BOXCHAR in Baum Baum LET s&(7)=9 ! BOXCHAR in Baum Baum LET s&(8)=10 ! BOXCHAR in Baum Baum LET e_eingab&=12 ! FTEXT in Baum Baum LET b_ok&=16 ! BUTTON in Baum Baum LET f_update&=17 ! IBOX in Baum Baum LET s_ausgab&=18 ! STRING in Baum Baum LET b_ende&=19 ! BUTTON in Baum Baum ' ' IF RSRC_LOAD("\SCHALTER.RSC")=0 ~FORM_ALERT(1,"[1][Resourcefile SCHALTER.RSC|nicht gefunden][Abbruch]") END ENDIF ~RSRC_GADDR(0,baum&,baum%) ~FORM_CENTER(baum%,x&,y&,w&,h&) ~OBJC_DRAW(baum%,0,7,x&,y&,w&,h&) ende!=FALSE DO a%=FORM_DO(baum%,0) SELECT BCLR(a%,15) !ohne doppelclick CASE b_ok& n$=CHAR{{OB_SPEC(baum%,e_eingab&)}} i&=VAL(n$) IF i&>0 AND i&<9 OB_STATE(baum%,s&(i&))=BSET(OB_STATE(baum%,s&(i&)),3) ~OBJC_OFFSET(baum%,s&(i&),x_abs%,y_abs%) ~OBJC_DRAW(baum%,s&(i&),1,x_abs%,y_abs%,OB_W(baum%,s&(i&)),OB_H(baum%,s&(i&))) ENDIF CASE b_ende& ende!=TRUE DEFAULT FOR i&=1 TO 8 IF a%=s&(i&) CHAR{OB_SPEC(baum%,s_ausgab&)}=STR$(i&) ~OBJC_OFFSET(baum%,f_update&,x_abs%,y_abs%) ~OBJC_DRAW(baum%,f_update&,1,x_abs%,y_abs%,OB_W(baum%,f_update&),OB_H(baum%,f_update&)) PRINT CHR$(7); ENDIF NEXT i& OB_STATE(baum%,b_ok&)=BCLR(OB_STATE(baum%,b_ok&),0) ENDSELECT LOOP UNTIL ende! ~RSRC_FREE() RESERVE 88$HPTest-Dialogbox zur Verwendung von Array's fr Objektnamenwelcher Schalter soll nicht whlbar gemacht werden ?:0Schalter Nr. : _9(0 oder >8 entspricht keiner)Sie haben Schalter Nr.bettigt ! OK 1 ENDE Dies ist der zweite und letzte BaumC$9  0102030405  06  07 08 ^ 5 0" %   " %- +  1#8`0`BE3A2CJfJVfN2DE`4~WbTNu??/a!DB`~WbTNu??/a!&8:HSHoHo<EjCDEDF|d$NdTNd TTJFgNHD8HD`B|0bBerd8BCHCd\d HD8HDdTTdTDуeJjDBNuQRB|cpNgDB`bDE 24NugDB`gDEHo<EgjCDEDF|0bVed8BCHCd\d HD8HDdTTdTDkcAр[SBk8JjDBNu|H@k0Ѐ[SBj`0`ޒDgdBDA@`ftNuk(g.JBjDBAр[SBDBjNuAр[SBkNuJlNu0gH@rJBk| JkЀ[`DBЀ[`J.gPpr4<NupNJBgVB&8TTDуdQRBNuaJBjDBNugDBgkDE` DBDEaDBNugDBaDBNutNuHoHoE|z:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdڼHA@B@H@хk HAҁHAрSB|bNuJBj4tNu~(WbTNu??/a&8:HSCDEJEoHnfNupNtNugDEDBHngDBE|kQ*HEJDg?<>0rHGGdܼHGGdSWDуdi?<>0rHGGdܼHGGdSWDуdi?<>0rHGGdܼHGGdSWDуd&2 H@k Aр[SBkփjRAd RdQRBJjDBNutNu?<,>CEdGH@0r`|?<`|Aр&AdRAрAрDуNuprt|PQ< g<+g <-f<.g2<0< b<0e<9bda`RF`<.f<0e<9bdahSF`<Eg<efX<+g <-f<0e<9oSH`0<0< b&Hz<0< b E|o`\JjDDDS4<.aJFkSFk6aQa`(HL4FFaQ&8*L/a,H܆jDBJ.gtBnNu|?b4<rp¼Av JBlDBv-|JBgĴ|b̴|k(H>LaRRFBd&8*L?a<a6SF|e|gQRB`RAdRe <rRF&<<0xaCfEv+0JFjDFv-Hƌd<0BFHF <0HF<0ANuprt|`HQ2.|eg>r C<5e&!R<0c <9c0`<R"_`VC0 Ef"_Nuaa/ Cr  g 00VJAgB| nN|mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BA "_Nu.WAkQA<0g`a%^|e=@NuarHjDBaDBNu|e|/d$AрQ4<`,|Nu <r4<NutNua.JBgkpNua af pNuaafpNu>jDG|e|bFGNu||bFGNu~Nua6jDC|e|/jC|@j| jr0H@{0>H@Nur{0Nu{0Nua6j(:<DCaf AfBfNuL8`r$o,b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4&<ݳB88<:<a(H L&<]:Z8<:<a<&::gֵ8<>:&H@Ѓdڼ`HCH@:">H@`2g&HCH@:<HC>H@Ѓdڼ`HCH@:H@r`~gDBgkDE`H@Ѓdڼ`HCH@:H@`(vHDdxdLdLdLdLD`^(vHDdxdLdLdLdLDуeJjDBNuN-2NN- N-N,N,N,N,^N"VNN<&N8N8N8NNfNNZN N tN N `NNNN *oM N#CJEpM4Q=| .`<.@`Oc,NqN-|u.-M̑HPHU-@Bg?<JNAN?<NN-@>NN=@&p-IC"N4Hx?<HNA@-@ /?<HNA-@Oc3fNaN nJg.CN  gSfaqNaiJNRk`\OcB.{Bna1H8NNLa1` N,bNap`NRka*nP`aNNBn&A0NNNB&apfBn%0pN`k,NEvfY2 Y3 v OK >QBHR$nJjg$_NuH LNuJ.BfNuPBHR$nJjf$_NuHC%I LNu,yOc(M< {` N*L``nz}}}},}:}f}r}v|:|}|}zzz{xxxynynyzzz:z{<{y y,xyyyzzzj{|~"v*p}H}V}V}H{|*NK}b&bbBbbZbrjm0lBll\lvb&bbBbbZbrjm0lBll\lvp0l4`+z+++++*L~z"v_ZFD||"v|ccnc8gg2W*v$uv*v0ub VVWW4p2NF"v"v"v"v}www&0}vvv6}wxwwH}w6wLwbV}~@~\~t$\~~~~*bTTmFx*+++++z2*12"V-2|4VT_8_8vv__X<Z0&hX*TB0(,\hxu*2,UfDf&UJUFZ\\ U"v|"v[JWWpH^~[FS"v]l[Z+ ZZfAD$^h\*.tՎrr[+PƠj8FF^K"2l|||||| $$xx...TppN^F^5:AAr|8l"vUf",+5^"v"v"v"v"v"v"v"v"v"v"v"vv e6 ndC p0" V|*A"T Nu~?GG {pN~GG {p &HNp Nj8@ 2 n n 0 0 j 0 ========x<**&~&~&~"VvJx ~ \~ &~ &z3:T34h?>&~9`;9l;9?&DZ>>>&~&~"V1:&~C`Cqr>qr:1&~Њ&~~?>@ ?@:F@F ";d"v"v&~&~"v"v"v"v"v"v"v"v"v"v"v&~"v&~&~x&~&~"v&~&~&~"v"v"v&~&~"v&~&~&~&~&~&~&~"v"v"v"v"v&~"va,:aaCCDCpCChC**********&&~&~&~&~&~&~,,,,,,,:0,aba2ajmklaNal&~&~ll,&~&~aba,ajmklaHaf&~&~ll$&~&~pBNTNuHz~GG {pNw~(.^4:@FNX^djjzpvX\^RdH|(pfp| HP***P++++BB@@@3hz:dJBBJTjT2Tp3\]2H2Z2l3X3^TTlJfJj(&@445PFJ1d1d1z11n2lxr2p0` .hf:\XT~t*xP6zR0DH^JvN<b.xgRVZ^bfjnrv+"+* FFF25,522]"]N]\]R1z"va@&Hd| &NuB.&Nua&aր._fajNup e0@ n 0g(@NupN FgaHJLpNuaDBNu~GGA ppN  gNuR~GGA pp&HHNL8G`R `2R Nua> n0(n&HNua, n0(n&HNua n0(HNuaaaaa`<:\fEDCNuaD/a@/ad d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA .a@XAf B E$fBBraEr $gdXQNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|NuA,0<rX0QNuaHU?2<.,HdY3O Nu2(g"P@g4RA<DAH""nr2gZA<e0 1@#-INu1@NuA,2<XJX[j]`p+Na"ndpNH n$n"HgJ k&@ S`g6 k#&@0+Hd3 Hd3 Hd# Hd `# # # # Q&f-ILNua pJ@g:`Da dJ@g.0`6NȦg Jf*.paFHG|2 Nu  @apa, Nuapa Nuar>pa 2 Nua`.pa" NuarANDBjDB|jt|ct|B 1Ap$aňS@kH2Q NupaHdHd `Q Nua|aJjptNualHPa pJk NuCg.BJ@g  g <&g,<$g<%gNNutNuRpt`2Rpt`Rptr<ae< <OgX<Xgn<HgSRB<ae< <Fb$<0k< c_< cb退`tSHkaNuRB0<b఼b瀀`RB0 fрd`a @HP"Xp0gr~ RAfS@n`1V` Nua/a Whd4a($ W PHd2Hd2Hd"Hd `""""Q  _`J Nuat/aB Whda$ W2( P"IdHdHd `Q  _"X2bP6gHRC<(D#HNua/a?p`a/a?a2fr W4(Ae$RBBc0?aN$2 W PA`p~AWbTNu/a @"_HSHPHQ0(ika $It _a\IUd4Id4Id$Id `$$$$Q _Jf*a,Id4Id4Id$Id `$$$$QNuSaIdIdId`QNup N/a @a$I> _aG` VNu~ _a*4Ae4v` VfANua> @2(g b P"H`Nu/0Ha2  _ PSAvjx E&Wf* <ae <zb< QNuaB]@k 24|B|JjDBNuptNuaY@k rtg|DBNu|NuaQ@k 24Nuaf|jtpr|c4<prJj</Bpa" Nua.??/pa"" NupaHPa NuHQ?<,NAT _2X|a:0H|?a :|A0H 0 0H@Nu?<*NAT.p a4 I:Vk2|a.0H|a.`2H|a/0|a/Y¼ҼdaHAa Nua*/a.2 `ar ?a2R@H`2Q Nua bNuag/a "gL @4(gHP²b af$_// Z4HQ`S@Q _Q _ `a?ANBHP?<GNAPAN `p`ap/a/a @"_ `a/a~/aLL/HQa< _/ ?a20 _$gS@cY6 :fRS@g.t;ak&AA :fRS@g t;akIA??<-NAXNu !gaP0ga %FgkZtak$6g~ .fS@gt atkAg A .fS@f.`\t a\kVAgR6 /fJS@gFtaFk@JAga.&<jRGgVGg:TGjpNJogapANaB`aANaJJk -Ff\Nu fRp"Mav !g pChafaANJoga -Ff\NuaJkHR -FgJg`aANJoga -Ff\NuaJkR -FgJg`a -Ff\NuHnNHx?.&?<?NAO Jk-g2AN  Nu?<?.&/?<BNAO Jk,NupR@0< gF< f`.~SgYf "gBpR@0<,g"< g< fa~ (fR~Nua ~ `a~NuHpa _NupR@0< gڲ< gIJ<"fR@0<,g"< g< fa~ (fR~Nua ~ `a~NuHpRU@a _NupR@0<,g"< g< fa~ (fR~Nua ~ `a~NuaJkHQ ! gRfa _NuXX~Nu<.&\FHSGNa0AMg< f< &_NuHPa"2  _`Q` ??<NMXJk+\Nu<.&\FHSGNa<"fAOg ."Ng&<,g< gAMf< &_Nua< g`Ra<,g< ga<,gְ< f`HSHx??<?NAO Jk*SfNupNv`v??a?@aІNMXNuDW?<NMXNua?k?<NM"|f J@fH@<Nua Bo GN<`~0fpNu\@`a^/p`aT/Ra 0<R@f| bVaJFk(HPH/HQ/??<?NAO Jk*f< tNuHSHP&I>g \SG??<NMXJk)._V t&_Nu nP hg hfBNu-H=|Nu<Fgv<e6C n 00g @~`p!Np"Np#N .g @aJkfRH=H -FfNu nav`4.A'f nLR@RANu4.g S@SAH&Nutbpbr??pa`pYaZ0aT0`NBn`pBn`p=| |=F|=@aH=A~`:a JfBH@<RfF.ϰ<Kg"<Mg <sg<tg<Pg<Hf~`|SGjxRGFcr>`nAN< gv< gp<g<grfg|`ΰnenfJ.j6pRGFc$SG` J.jpRGFcRF` Ff8RFpRGa`BN`8 `?~ap a6p a00NuCpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@<fa(@<fza<0< b @|e0NuNȦ._fJgNup Nu4.f?HyaNM\Nu=|&`LazEfpa`ppa\ANEg0PaEfaBRE`ܾEfp a:5g@<+gN<-gR<$f<,fHQ!aRn&"_p$RHQa"_`Rn&`)< g<*fp `Jn&jp-`Jn&kp `=_&Sn&Rn&`HL&=B&jDBNLx"nE0RJCfRCR@r2HAARACd `<Efr0Sb<Eg2<5e,!e<0R<9e0`R1R@0c JEr+J@jr-D@UEoJYEc0SEnHJ@f<0SEH@HdREf<0SEH@H 0 0REfH@"n n& X&Rn&0n&cJ:g<_g :g<+g<-g HQaL`Rn&`Jn&jp-`Jn&kp `=_&Sn&Rn&`a*o&??Hn?<,NA=@>*NA=@>WNAO Nua6rddA HNuao?<?B?<BNAO Jk<`a: |?Ra\fHPa9>Ehr$ļWgrCOM:g rLPT:fFA0 _=@&TNuApHPB2/ <Og*<Rg~<Ag><Ug0<Ig<ogt`Bp=`pNAXJ@ktgBA p`Nupc?a0QNuA . B. H|m ??<>NAXk. B. H|m??<>NAXjNNupA` p9`p:`p;?a7>AHPBHQ?NA\ _Jk0NuaR/a7$$IAHPB Ba7AHPBHRHQBg?<VNAO _`*.*p`p3[@r Fga7@SANJAg"0<@e2`QB :g \f RCf?9[@HnN?<N /./?.&?<?NAP _f4"[6\`$Y4jDB`Q]CnNu&ZRf`Q]CnNuepNep%NaN~"[6>X nHP/?.&?<@`"$Y4j DB`Q`&ZRf`Q]CnNAO fNuaAdgHAA HP -Ff P (R`a&_ S2 Sb`v6aBg?.&/?<BNAO Jj |fp7NNuHa n"n`Ha"n n <}aLNup=alkHQ??<>NAX"WANfSp g<\g <.WgJfS.BAKBHnN?<ANAT//Bg?<VNAO "_`*BgHQ?NA"oPJ@Nu6`v n\CC p0 24Nu6`v ndCC p0 ` d6`v n|CC p00H` F6`v nCC p0p` (6`v nhCC p0Jg <r4<NuprtNu6`v ndCC p0 Nu6`v n|CC p00HNu6`v nCC p0pNu6`v nhCC p0JVHHNu6 n\CC/00a _ 00Nu6 ndCC/00a _ Nu6 n|CC/00aɴ _0Nu6 nCC/00aɪ _Nu6 nhCC/00a _JBVNu6`v n`CC 08NuHp8`6CC n`/00a _g c/"@0)aբ _$PS@kH2QNu2(g"PRA|4DBH#"@$Y2Pg 1AHRA|%NuBhNuRanJkxg8|AfAD v\ p@"F`6vg6CTxg8Dr@A"v\ q0"q@  "002Nuvg6r@A2;N0 zr0" nlaHp` n\C/00Rv<e6g nla` C n\ p0"_  "  "Nu ntaHp` ndC/00Rv<e6g nta` C nd p0"_  "Nu nadЀHp` n|C/00Rv<e6g na2Ѐ` C n| p0"_002Nu naHp` nC/00Rv<e6g na` C n p0"_Nu nxa?Hp` nhC p0JgBgHPRv<e6g nxa"`C nh p0Jgp"_2g fQPNufNu npaDЀЀHp` n`C/00Rv<e6g npaЀЀ` C n` p0"_ r2$v60!2#RA|g$@%RC|g$B%8NuatRHPa,P$_ Z0AcA`QS@ QNuHd0Hd0Hd` QNuac4ASB Q`QNuaRHPa+$_ Z0ANuvg6g npa2ЀЀSNuC n` p8NuaHP !gRa,?g<0< -!fa? oa68Cc2SDĐDo@c2`QXNu\Nu".~C\pa:pa6pa2pa.R|pa$a"a apapaR|TCpaa`$Dԁee"RNuXNuaņ,aJj Nu*HEJEgpNua/J@gbU@gxS@g[@gS@gp@NaS@f/`vC8;0N@,Tx(PtvC8;0N@@F@f@@ L@@@B@b@@H@@N6NH`6C nd p0 RNu6NH`6C0@f n| p00RNupNpN6NH`6C n p0rfRNu60H`6C nh p0JVRNu6C n\ p0af 00RNu6NH`6/ nta!RNu6NH`60@fV? nat1RNu6NH`6rf, naFNqRNu6/ nla, `\60H`6/ nxa"RJgNuNu6C n\ p0 00RNu6??/ nla RNuvgC<fC n` p0R``/ npaЀЀ R`F~C\aaaaaaaaaa PTGaa~NuLdfXNuXRGNuv6`v nla( 24Nu6 nlaHpaZ _ 00NuC p0/6gh|fa -!gh _dVNu`SNu??aSWgL/H` -!g`: -!g2T8 _*dUD*< c ІQNupNpNpNpNpNv6`v ntaf 0N v6`v ntaF 0Nuv6`v na*Ѐ00HNuv6`v na pNuv6`v naЀ00H`v6`v nap`j6 ntaHpa _ Nu6 naЀHpa _0Nu6 naHpa _Nuv6`v nxah0g <r4<NuptNuv6`v nxa60fpNupNu6 nxa//a` _ JBfNuNuv6`v npaЀЀЈtNu6 npaЀ&Ѐր`xp|@2;N FfNu8888DtP8888h\888888|@pL8888dX880r np`:0r nx`.0r n`"0r n`0r nt` 0r nl@ pJhfHP?Bga.Ro2/RA? - f8:E&<27P 7P`bX$7PbNYEf` RAf rЁЀ`$Ѐe "ЀeЁdpNJAkfgRer?DDЁatAa8$HX :` SEjT"_$P"2trDDd0d d d` QjNuaDa DNu naT n"ng,2 $`gk&|Nqdcђ$`ebѐXfNu|gebѐA``x$ n$n"Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-INux$&ր n$n"HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-INupr<e2TtćB v(\ p"X2g UAk$QNup<e0@|G$vp\"r Y2g|$6p`g "ZfBQ` YH瀀a^L"nc4&$GlaaaaGaaA(`$[` .ϊfϊeNuLA .alR FfVNup@NaJo8H@< gvUg,]gBnVa>JBgtLrЁ`2QjNuaL`"QjNuaL4H@0d2`a@Ld2`aHA2L`""QjNua - g>??/a&8:BmnJBj efAc` bfAd 24 - fNuaf - g>??/aT&8:BnmJBj bfAd` efAc 24 - fNup`pra - fNu/aL @"C2(8) P"Q:De:|`VfAbCJ9rgC @/aɎ `-<Xk,Nup<e0@|A/?;8a\2&N,p<e0@|A/?;a22&N R8L`~ nlaLHPa& _ 00Nu~ nta4HPa _ Nu~ na HPa _0Nu~ na HPa _Nu p8"X PfH(dHqr҄AĒ a _Nu" e" dD` QjNupN nl~a*BBNu nt~aBNu n~aB`Nu n~aB Nu p8"X Pf(dlrҀHqHA a _Nu" e" d`QjNu np p8"X Pff(d.ЀЇЀHq.؄؇؄AHĘ aHPah"_ WBhal`.$Pt4(gRB|&D%(Nu np p8"X Pf(d.ЀЇЀ.؄؇؄HqHAIaI HQaT _"_BBa]tv`$P4(gRBC%(\cNua@z -@-@v n"nEK` k&@p0+R@Db bP| nP$n hg0fQ|-H.z".fapANaP}Jyf zvPb|`=@%0-H%p4`J][Return]a-CNua -C|^Nuv e6C"n"q0& g )Ff& Nuv"CNuBNuQ^NuP^NuOcBaJ*L`aa AN `rA^CN"[3][ g&gJf`Jj* fAHSfNuA6fJj<-TDd<0@H@H 0 0H@B`0@ nd pSNu0@ n| pSPNu0@ n pSNu0@ nd pRNu0@ n| pRPNu0@ n pRNu0@ nd/0a _Nu0@ n|/0a _PNu0@ n/0a _Nu0@ nd/0a _ѐNu0@ n|/0a _PNu0@ n/0aV _Nuav/ap&JjDDj DaDNuJkb dNueC"HAHABAЁNuDBaDBNux6o>|e*RCFCĴ|dЄeNu|/dHDDdRdQRBNu&<:<`NgSC|bSCĴ|cjNu|cHDDdSkg RBAрjNu0ftNu| H@"jNu0@ nd/0a W p aHRax$_%Nu0@ nd/0ab W pajHRaT$W%@aJ$_%Nu"n] Q !k:Аi" n (]Nup"n] QАi n(]NuY -INup"n] QА i氡m(]Nu _$ne ad-J]D@5%NpN0@ n|/0a W0paHRa$_5Nu0@ n|/0a~ W0p aHRap$W5@af$_5Nu"n] Q0!k:Pi"0an (]Nup"n] QPi 0an(]NuUI0-INup"n] QP0iam(]Nu0@ n/0a WpaHRa$_5Nu0@ n/0a WpaHRa$W@a$_Nu"n] Q!k<e$!b"(]Nup"n] Qe ab (]NuSS-INup"n] Qd!e(]Nup0@ n\/0a W 00pafHRar$_55%Nu"n] Q 24a11!:!8!&!JBkJEkEffDb(]Nu-INuJEjEf춀fA`"n] Q 24a11!:!8!&!JEkJBkBffAb(]Nu-INuJBjBf찃fD`p0@ n\/0a W 00paHRaHaL855%55%Nu"n] Q 24:!8!&!aJij`d/afJBg(_NuXNu/aTJBg"nY-I(_Nu/apSAkSAk0SAk SAj `/a _ Xf"HXjaF Gg$f IY(HNu Q`ز<Fgea"n`Rj&am°n`Sm`IJ<d dR$NutgB<kg$n$r tNu$n|$r 4HNu$nd$r $Nup4*]]fY(MNu lg lg l<fNu 9g *@B`(p)N/a&JBf(_Nu/aJBgXNu/a JBgXNu/aJBfXNu*@(MT/aJBf k(@Nu(]Nu0@ n\ p 24ap`0@ n\ p 24aP11!Nu0@ n\/0aDB`0@ n\/0at _&8:a11!Nu0@ n\/0aP _&8:N611!Nu0@ n\/0a, _&8:a11!Nu0@ nd/0a _&ap Nu0@ n|/0a _0Nu0@ n/0a _rNu0@ nd/0a _&aR Nu0@ n|/0af _2HJ@g0Nu0@ n/0a. _rJ@gtNuaD/a>&C"g\kdHöfiHNufnpNupNu&lDaDNuJnDaDNuzxeփ؄d`ef NupNa/a& "gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupNaNhHNuaFhHNua>xHNua6xHNua.(Nua"(Nua8Nua 8Nua/a"ANuaЁNua萁NuaNua܀NuaֳNuaг@FNuaȳFNuaNuaNuaNuaNuaVHHNuaNuaNua@NuaNuaHNuaNuaH@NuazRNuarSNuaHaN.g^ <r4<?k$SWgN~`TL8HN6aNAXNuBPNu&|.GFAa(gaBBAp BQaCNp ap AOCeZVfRCN <aPACEN "Ҁ f Cdb"n .\an`6p `p `p ?a `p`p?a0NNua v`aNRk4`V .g p(NaL0gANS@|e0<QBHTa(_NuNu <.GFAAMBJfS"H .gJg :g \frQB ICNNuNuan/ah/ab/a* o8"_ _" $IdLb&d d `    QjNudd `QjNub`ara/a"_`Ѷa^a/a"_<.&HS?HQ/a.&_<k/HS/??<?NA Jk0&_fDNu\Fj.?r Fe aRJf 3PREfU  fS C>HQaT$_R@Hd2Hd"Hd `""""Q\NuH@a L,zNu<.&kHSHx??<?NA JkNupNpAa,Q{aa`a&fa`Hz#-L-Lv|}NupAaS@Nu3f_g J.Bga_Vga_ga4_g".af_g".aXJg_3Nqf*L`J.^fag`_Nuk".J/g B/a5NuB B ANC&fJ/g B/`5"L igF ig>HN&Lp".f=n&& CNa0yfgpQNu~`aHg"=G&B_3NqfNua-Cf_3fNuAbBBBBBBB._3f`NuAC g#P NuAC f Nu?/Ne4T`N&pNuNeC!H,yAp<f J.^k3Nqf_ n!|v |eC!|.`"XLv:g 4zg8Ag61 <cg<Jg<;e,<]b&<Te<`<Db<; g f <g< bJg fg fg,HC#0z ` Hx Dg;0\YBj@1BAf gbШ 3Nqf_An gdBB3Nqf_L@Nu wHHKMPPR g*g$n``bByXB@etAg1B# `NHCHSG4vg*1B<f< f&< # XB@etAf&_` Bn_Nu-nrnNuBf_Nu-njfNua-CHnNua -CHbNua/aP"Ҁ$afprtNua8@`Nua:rQkH`a:` y"XLpAg 1`a&Hz ?<&NN\Nu| y"XLXB@etAg1B# NuaS@?a&0|b@A4|erQBNu <". n҈C0<"Q 0<"Q"""BBB.{B.^aPAzbBaˌBnaf-n .-@-@ n .g0rd0d d d` Qa `A Nu".C\paDpa@pa"NN @A C#P B?< NA\#/aZaP?< NA\Nu?<"NN @!y THz?<&NN\Nu#+tNu?<"NNT&@/&XB+tpaJ+tga&ALHCdpJg XXQA# ~P޸|a&:|a RGk0Gg`a0GVf3<??< NMXNuBHNTZ`flLH!`,Hx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LH,yOc|1R/9?< NA,yOcpdzNH,yN(LxNp"A ӘQNu%%& &H!"%0%X%%#$ <Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :NuA&r NuN @NJAfCNuNS@jp` tb~@tbtA@A&r0HNuaHPN _0Nu .ЮNu .Nu .мNu?<'Hx9`?<Hx `?<Hx`?<"HxNְd @_06HNupGN?b `BgpJygpAUNuS@f*NNVa!aHz?< NA\N8?<LNATNufC2A@p222N("<$0<NB0.%XNurt=@=A=BN"<po`8pa - fNu?NH%0`pd` pe`pa`?NH%0`p?N-@& f-|& 0`N&<x:<N6NHJjNuNH@-@%p`NHNHG-F& f-|& -G%H?%LH%pav - gL~%/H> aϪ aϤ `Nupj`p?NH%0`6p4`p#?N?a=_%`.NHaL=A%H& p"`pQ`p `pn?a-I& 0AHPBa _NuNH%ppa"g".&H - g / a Nupq` p `p `p?NH%-B& 0`p)`p` pr`p2`p?N-@& =A%0``p-` p!`p `p?N-@& H%0`Hz ?<&NN\Nu nLLJFj|@c<JGj~Ac>02 h|N nHHNuNa -FgN|@;`Hz?<&NN\Nu| |4Vq<B(B(`NNa n"h $h224NuNa n"h 22HNuNa n1F$1E"H&aZ1| NuNa n1F2!E.1D$a6H&Bh4NuNav n1G2!F.1E$aH&Bh4Nu81DL1DL1DL1DNuNa4 n1G2!F.1E$><"h3A!@ a n1F(RFFdNuNa| n1Eh1DZ1BN1ALb "nC&10$CBh$1|jBhr!jLT1jPXj$"jH@1qHBhJ61hH1CP1jRRBhf1|B1|D1j>\1j@^1j:`&*6HC([fv!Cb1|F1|@C$!Il1|@pNuN nH6NuNHaNa&I>`Lxzpa n hP.SGjO NuNn&NuNn&NuNn&n&Nup=Crt`A pBXQpadB&papava=|BnprtanBplrta`papparpatpapa pa"Bp'rta. nCB2SY2SY=|0<rtapa.papar`0 !g" %FgFN&jD@ava -Fg* !g& %FgN=@Bnprta -FfNup !g %FgN?p -Fg FgN=_=@plrt`b !gSahN AI0`0QpptaNvq`6Nv`.Nv `&Nv`Nv`Nv`Nv`NvC=Crt`papap? !g %FgN6a %FgRTNupapa FfNuN=@prt`vN$&`Nn&n&n&n&HH prt`B6AC1=@01=@WCk1Qrp`Nn&n&n&n&A0000000000prt`Nn&n&HB=BBnp rt=|`Nn&n&HBB=BBnHp rt=|`zNn&n&Hp rt=|`XNn&n&HH0p rt=|`0r`r `r?Nn&n&n&n&Hp tr=_`Nv8<`Nn&n&HHBB=BBnp rt=|`Nx:<`Nn&n&H0Hp rt=|`By GfR?.?.Rya?a?Ry -Ff yg T4:`Nq?/t`N`Ntn&n&=BHpgrt`paFpja@p a: !g %Fg$N-@rtp a -Fg Fgap&a=n#&=n$&=n$&NuNBg?N/N?@N @N, > _N4$FAN0||[000][vx`*<[g"<]g<|g QSx` xQSrQ][vx`*<[g"<]g<|g QSx` xQStQ]BAN0aVHNgaHpirtap0.#NuN|???<NN\NuN~GGGABBC`pNp`p`p ?N.fTNuba??.&/Ra??.&/ Fg/NoNo.C _<0aC _<0a 4r0`zڇ|gk0F2TQNu F2TQNu 24NHF2TQNuv<e6Cr@AA\ p p8 hf X eRNupNpNN|=@%0pN`RN AI0`0QtpoapNNrtFSggRRfNu$n\e N$d-JaBb% Jg(CNup\B.{Np!`-np]`aJ.|f .Zzg .[zgB.z(n Ff(nNup`pv e6C֮ C/g?a nc*2 ng|f` `JfY-H`Jf a`flJfN8X(_B.zNu&n .nN$ .bpZNvC2;0N-K FfNuX:4444x444444T64444tN6C nd B& &6Nu6C n` BB[& &6 Nu6C n| B[& &6Nu6C n B[& &6Nu6C nh B[& &6Nu6C n\ BB& &6 NupZNg _3Nqf-K*@XNX.z-KAcf J.|gN dfXNu&n0#f #o-K(@Nu|gG`T-KNuk c | gT0f #ox-K(@NuPp0 cgR@|"D!`aHp N _ NuaRNut<e4A\|A pB 0 gRNuaRNuv<e6A\|A pfC 00<f @ Nu?Nk2|eg QAeg|gЀЈNuЀЈNuЈNuЀЀ 0Nu$n\e N$d-JBb% 0@ n 0g @ (Ff FfZ(HNupN FgD @0Hp\a(_Nuj-< g$|@4; N <2g~S  f#Nu:4444X8>>44>>64444T4N0Jk"n\@HqHPN _??/  fSad&npЮbN$pЮe( && _& &6 -KNupN0JkZ"nd@HqHPN _/  fSa&npЮbN$pЮe( & _& &6-KNup*Np-Np.Np/Np+Np,N0Jk"nh@HqHPN0VH`<0Jk"n@HqHPN,X`0Jk"n|@HqHPN, _?  fSaJ&npЮbN$pЮe( 6 _& &6-KNu0JjH"n`@HqHPN _/  fSa&npЮbN$pЮe( $_e6Bk K0*N$RHd2Hd2Hd"He`""""Q`"Z&p0P7@g R@|#\ _& &6 -KNuS  g$j|@2;,N(U  fr#NuS ( fZ#Nu|@pL ".dX:x<lH*`T60"n`r`:0"nhr`.0"nr `"0"n|r`0"ndr` 0"n\rtg gpDN4B@Hq/1 Ra&npЮbN$pЮe&"_ _& &6-KNu0"nr tg f4RR`0"nlr`0"npr`0"ntr`0"nxr`0"nr `pg0@ d n` n 0g @HP$n\e N$dl-JBbB _"H Xf\ eRR #g( #g gHU*HNHaL*_Nu #g -fpHQa8"_R yR`]/.?.&H (IEc \e N$d"n-J5<%Hd2Hd"Hd `""""Q eRR #g* #g g n0 "`k`!MNd #g -fHQa|"_R`pENNe.$@0*N$RHd2Hd2Hd`""Q `NHaL$nUJ&"Kd?"Kd/"Kd `/"/"/"/"Q-JL0=_&-_Nup-@&r-@&~-@&-@&=|&p-@%0phaL%ZH&JKBCH&A)p0 1PP1P1PA&vL?&<@>AFGH 0000X0000X0000G&r~A%00g0  piaz QNu MWfRNJf ?S@k8L&fBfC`2Sk|t A&v & &`pTNuNS@k*|> A&r1EH`\Ha-_&TNuBn%0`N -Fg&?NJWg԰n&bn&cTNuH&a0S@k|> A&rP޼)pގ"G0(<JgRJ)@g1@C%02fP2HP"&"&pdaX W0.%X1@A%000 pia<=|%2@%4pia( _C%2""pe`.=|%2=X%4HPpia _C%22""pia=| %2pia=|%2phaL%ZH&P&P&H&SBSC@AHH&p=A0<rt`NS@k| A&r=p%0fNupa&pa"papaL&ra`j4&_NuBn&`a6`Rn&<&SFEn&eSn&`NuNS@kN| A&rC%00g8?a(=_%0p =@%2phaL%Z6Fgap `p`p=@%0pk`NuNB&S@k| A&rC%0=P%0a=| %2phaL%Z`4p-@&"<$&HA-H-HBnpmrt`Hz ?<&NN\Nu nMNJFo`JGo\H 8N-@-@ p-@*-@-@ H0H00(L=B=B&=CC=C=C$tBft=B=B(NuNS@ A&r00HNuNA&rPgh ghgh$g0<NupNupNupNupNuNHz ?<&NN\NuL& nMN(8N-D-D x-D*-D| J@jpJAjrRBhe4(RChe6(@otAop=@=@NN`pH@*A%00.0CL000H?-|%paXL%XH%Hv3LHd"aVHd"aNHd"aFHd"a>Hd^ y g"`,2:|WAARA0:tAc hfRAS@f3"g"$n\e N$d -JBb% (ANuN@k0;HNuX@gAc Nu <NuNz`NzAC|HdXC|2H0`&NHpA`Ap` A`Ap4.Nu g=BNu((?<NNT. n0(LJvA HA HNuNAHN/p -FgNְ|d _&X PdXNu6:8N?<NNTHV nMN-@ @6H H00(L=C=B&<RF<>RG=G[fx-KC=C=C$tBft=B=B(tFJ=BBBB*Dk>Ek:@l6Al2DDk =DVBnDEk =EnBn@cVk Acnk,_Nu=@a _N]Ak024E$|b5B5A6||5CK5C:8AB0000DkxEkt00A<:L>:JSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|-|0`NuNCBHN&@N?<NNT-@`LDbFEbGBj=E\=D^-|XBTBx n0(L=CR?=BfC=Cd=Cr@dnAdjED??RGRF=GN=FPtGJ=BttBft=Bh=Bv|OpЇЇb KN222-InHVMN,_Nup NT KpNN @ <}N&IaN7TN @&XaI`N?<NNT @"K <}Nu @HPN _"X0|Jg2zf.HPEJH LppJ$_44&b'JJ|NHD'BNNupNup e0@ nt pT"X PfXLNupNp e0@ nt p"X PfXHVMN$N 4 4 4 4 4$ 4 4$ 4 4 4 4 4$ 4 4 4$ 4 4 4L?H?,_NuNHV,@,_Nu   FgBSN|gS@ H{ -FgXN W@ -FgF Mg4N W -FgN W HAA620i0d R@`RN W?< NN\ -FgN*.Nu0^ M / haw FgxSNFA -Fg`NA ff f -FgNƙ -Fg NAAHP p0p t0t x0x`p<e0@ @|A2;N !gNu T,J,,,,6@,,,,,,\ PBBNud PBNu| PBXNu PBNuh PBNu` P"X0gBPR|"D#NuHyNMXJg HyNMXJNuHp&HNga`NLNup|?HyNM\NuA0aNhJPfN`NRkNNuHGFA-BASIC 3.0 RUN ONLY "h P`BfNuAaAaAaAa nPBBgKp0(H|e|b|dd``R2;N"($HjBBfff000Ht6pHP?`h0|f"_0#Hѩ`|gHzN`"_!I`80|g |g|f"_0#Hѩ`Jg|bg6|dg0J@gHzA`L0|f"_0#Hѩ`|gHz`("_!I0E#J`0|g |g|f"_0#Hѩ`ް|,gB|.g<|0g6`L0|g |g|f"_0#Hѩ`ް|&g |(g|*f|@1@"W2(igHz`0|g |g|f"_0#Hѩ`ް|2g |4g|6g`0|g |g|f"_0#Hѩ`ް|8g |:g|g0Q@kg$Q@kHz`.Hz``(Hz\`"HzF`Hzb`Hz`Hz` Hz`Hz _O~Nu _f"_#HT/?<` Hz `j _f"_#HT`Hz`NHz`Fp fHP?2(A"nJf#p` _ fX`Hz`r( (eA(A"nJgHz`"0ёJWg`~ W gv W"gn W$gfgHz`Hz`(t(gB( e"n`"nBJ fP# `f<(t(gB( e"nv"`"nv$BJ f# HP?`Hz `(Hz ` 2|"g|$g Hyݮ`\`"OYgJf`"O Y gXeHz|` nPp2(|g|gT|g²|g`~O n"n`VeNuvC e6C"n&10xȃDNuag"CgHPbI~|L|gD|g>|g>|(g0|,g0|Le ||e |c$e _gfBHz p`RR`SS`Sj`afgBD|1D~"CL|g:|g4|g.|g(|g"|(g|,g&|Le ||e"|c `JgBHz `Hz B`R`Sj`p`(NJBj[BNHZBNHa"< @Ё`a"<-JjЁk`ddReaDBNu$⊰e v@Cr4<L`ЄQJftNuSBЀjNu;ew2Ƕ '\ a0Mj&l g:~lm٬26K! #H%lo'n)7+P-?/2zE4B6Z8:\V<>=@AĄCdE^GIjK<MFQNPRFISU[WKXZy\S]_^`Rb cyd݉Pf9:gnhdj7kYl mznoqm>r us ttuavw&IUGj -FfNuSGkpg< g<gt<Pf<Ug <DfQ\`P\`<Cf <Ofa2NH=@prtNV`<TffaH8`<Lf<TfaDBL88/N*.`ְ<Rf <Tfa`ް<Ff<DfaHa`HL8a*/aBL8a,&.Dg L0HaL8 aH <Пa L8a&.Pg L0TaL8,aH,aHJ.\fprtNV`<Bf<KfaDB`L<Mg<DfZ<Ag<Rf԰<MV<AVaHaJgL8 afH aJgL8,aPH,Jg`b<Sf<Xg<YfaJBfpHP`bazJBftHD`/N6.Nu/N*.NuL,an&?L an&2NuJBkRBNHdRNuSB`tNu -Fg 7f RN~NuN &I>SGk< g<,g<;gSRG K /N:x.JkȞHNuNrd A LNu.\f <r4<NutNuNH NH,NH8NuA#װH a,a:LPNuH aaLPNu pANpNpg0@|YA;AAl p"p Y Qf//  gRp mfNְcp N=@HS@M<rfdRt<eBRB|AA\ p p "X Pfb <bRAN| g kQ`2Q`"Q FgNְd/@p -Fg0g0@ nt p$X Pf d/@ $@zlxd fzoxc&_"Sp~| eEKDDNDpDD Dh|fLp/HzH .rMfCP`"{p8, g| {pNu$r:r؊4`ذL0 g"$&k(*ڄNdNjRofNuH״e(*NdN$&Rg$(؁*Ne*(NdN(*Ro2(NdS(So&*NdD*RRNf$f$SB`S(l//"a R"mxNupЂmlNu,..3xhNu,.*sh'xh'xNu,.*sh'xh'x*rh%xh%xNu,.܆އ>3xshNu,.܆އ:sh7xh7xNu,.܆އ:sh7xh7x܆އ*rh%xh%xNu3X3HNu,.*rh%xh%x3HXHXNu,.܆އ܄ޅ܆އ(sh*sx<3h>3x?Fc>HHnHSGk Vf>FNuTNuHANpr,.܆އ܄ޅ܆އ(sh*sx<3h>3x?Fd>HHnHSGk00Vf >FLNuTLNu,.܆އ܄ޅ܆އ*sh'xh'x:sh7xh7xNu,.*sh'xh'x*sh'xh'xNu,.*rh%xh%x܆އ*sh'xh'x*sh'xh'xNu,.*rh%xh%x܄ޅ܄ޅ*sh'xh'x:sh7xh7xNuv" [0gt@C!(Q꒼jNuH <3Ho">3XoDFf,3XHf<3XsHL0Nug">3Xl Ff,3HXf<3HsXL0Nu>3X||F`Case ohne SelectSelect ohne endselectMll - Editor FehlerWhile ohne WendRepeat ohne UntilDo ohne LoopFor ohne nextWend ohne WhileUntil ohne RepeatLoop ohne DoNext ohne ForIf ohne EndifEndif ohne IfElse ohne IfElse ohne EndifExit ohne SchleifeProcedure ohne ReturnProcedure in SchleifeProcedure doppelt definiertFunction ohne EndfuncFunction in SchleifeFunction doppelt definiertReturn ohne ProcedureMarke doppelt definiertLocal nur in ProcedureLocal nicht in SchleifeFunction doppelt definiertGoto in/aus For-Next oder ProcedureResume in For-Next-SchleifeResume ohne ProcedureKein Resume in FunctionEndfunc ohne FunctionNeue VariableNeue ProcedureNeue FunctionNeues Label[2][Besttigung bei neuen|Variablennamen?][Ja|Nein] Neue Namen [2][Inline lschen ?][Ok|Error]Division durch NullberlaufZahl nicht Integer|-2147483648 .. 2147483647Zahl nicht Byte|0 .. 255Zahl nicht Wort|-32768 .. 32767Quadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll Funktion oder Befehl|noch nicht mglich String zu lang|max. 32767 Zeichen Kein GFA-BASIC-3.0-Programm Programm zu lang|Speicher voll|NEW Kein GFA-BASIC-Programm|EOF - NEWFeld zweimal dimensioniertFeld nicht dimensioniertFeldindex zu groDim zu groFalsche Anzahl IndizesProcedure nicht gefundenLabel nicht gefundenBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFZu viele Punkte fr|Polyline/Polyfill|maximal 128Feld mu eindimensional seinAnzahl Punkte grer als FeldMerge - Kein ASCII-FileMerge - Zeile zu lang - Abbruch ==> Syntax nicht korrekt|Programmabbruch!Marke nicht definiert"Zu wenig Data#Data nicht numerisch%Diskette voll&Befehl im Direktmodus|nicht mglich'Programmfehler|Kein Gosub mglich(Clear nicht mglich in|For-Next-Schleifen oder|Proceduren)Cont nicht mglich*Zu wenig Parameter+Ausdruck zu komplex,Funktion nicht definiert-Zu viele Parameter.Parameter falsch|keine Zahl/Parameter falsch|kein String0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschAFeldgre < 256BKein VAR-ArrayCASIN/ACOS falschDFalsche VAR-TypeEENDFUNC ohne RETURNGIndex zu groZFehler bei Local[Fehler bei For\Resume (next) nicht mglich |Fatal, For oder Local]Stapel-FehlerdGFA-BASIC Version 3.03 D| Copyright 1986-1988|GFA Systemtechnik GmbHf2 Bomben - Bus Error|Peek/Poke falsch?g3 Bomben - Adress error|Ungerade Wort-Adresse!|Dpoke/Dpeek, Lpoke/Lpeek?h4 Bomben - Illegal Instruction|ungltiger Maschinenbefehli5 Bomben - Divide by Zero|68000 Division durch Nullj6 Bomben - CHK-Exeption|68000 CHK-Befehlk7 Bomben - TRAPV-Exeption|68000 TRAPV-Befehll8 Bomben - Privilege Violation|68000 Privilegverletzungm9 Bomben - Trace Exeption|68000 Trace ohne MonitorAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler[1][Wollen Sie den Interpreter|wirklich verlassen?][Ja|Nein][1][Programmende][Return][2][Programmstop?][Stop|Cont][2][Druckerlisting?][Ja|Nein][2][NEW - Programm Lschen?][Ja|Nein] Syntax Fehler Zeile zu langAsOkHf 6&* & "$ rR V 0tb8,8&ZnFV 2vH  < $,~l(Xv"6@( ^$08j,D 4d xN ,  2"0:PF @xhvN T &20J X0& NjH.  t..  tREADME TXTt QSWITCHERQ t 6SWITCHERTOSt % Switcher Der Switcher ist ein kleines Utilityprogramm, welcher sich ins Betriebs- system einlinkt und mit dessen Hilfe man viele Systemeinstellungen vornehmen kann. Nach dem Starten des Switchers durch Doppelklick auf "SWICH.TOS" knnen seine Funktionen wie folgt benutzt werden: Damit eine Aktion ausgelst wird, mssen beide Shift-Tasten gleichzeitig gedrckt sein. Zustzlich zu diesen beiden Tasten kommt dann noch eine funktionsspezifische, dritte Taste. Da die Tastenabfrage noch vor dem Bios! gemacht wird, gibt es mit fast keinem Programm Komplikationen. Nachfolgend finden Sie ein Liste der Tasten, die zusammen mit den beiden Shift-Tasten eine Funktion auslsen. D: Der Bildschirm wird dunkelgetastet * F: Wechselt die Bildwiederholfrequenz auf 60Hz ( nur Color ) * G: Beep bei Drcken von ^G wird abgestellt * I: Der Bildschirm wird invertiert * K: Tastaturklick wird abgestellt * N: Night wird abgeschaltet. Das Night tastet den Bildschirm ca. 2-3 Minuten nach der letzten Tastenbettgung dunkel. Wiedereinschalten durch beliebigen Tastendruck oder Mausbewegung * P: Anhalten des Computers * S: Zeitlupe einschalten * V: Abschalten des Verify nach jedem Schreiben auf Diskette * W: Tastenwiederholung wird abgestellt * 2: GEMDOS wird so berlistet, dass auch die zwei letzten Cluster jeder Diskette genutzt werden ( 2 Kbyte mehr Speicher auf jeder Diskette )* +: Verzgerung der Zeitlupe erhhen (Computer wird langsamer) -: Verzgerung der Zeitlupe verringern ( Computer wird schneller) Delete: Warmstart des Betriebssystems ESC: Kaltstart des Betriebssystems Anmerkungen: Funktionen mit einem * werden durch nochmaligen Druck auf die entspre- chende Taste wieder rckgngig gemacht. Die Funktionen '2' und 'N' sind standartmssig eingeschaltet. Um die mit der Funktion '2' beschrieben Disketten zu lesen, braucht die Funktion weder eingeschaltet zu sein, noch muss der Switcher geladen sein. Leider luft das Programm noch nicht aus dem AUTO-Ordner heraus. Ich versuche aber, dieses Manko noch zu beheben. Wer das Programm gut findet und es auch regelmssig benutzt, soll doch so fair sein und mir DM 20.- oder SFr. 15.- zusenden. Wenn diesem Brief dann noch eine Diskette beiliegt, bekommt man umgehend die neueste Version des Switchers zugesandt. Wie Sie sicher schon gesehen haben, habe ich auch den Sourcecode zum Programm begelegt. Sie knnen das Programm also nach Ihren Wnschen selber erweitern. So wie es geschrieben ist, kann man es direkt mit dem Assembler 'Profimat' assemblieren. Wenn Sie eine solche Erweiterung geschrieben haben und diese von allgemeinem Interesse ist, schicken Sie mir diese bitte, damit auch andere davon profitieren knnen. Selbstverstndlich erhalten Sie dafr gratis die neueste Version. Auch wenn Sie eine gute Erweiterungsidee haben, aber nicht genug Assemblerkenntnisse besitzen, um diese selber umzusetzen, knnen Sie mir schreiben. Ich werde versuchen, dies fr Sie zu tun. Es hat aber keinen Wert, mir folgende zwei Erweiterungen vorzuschlagen, da ich mich selber auch an ihnen probiert habe: - Fastload. Beim RAM-TOS kein Problem. Wie aber macht man so etwas, wenn man das TOS im ROM hat? - Beenden des laufenden Programmes mit PTerm. Diesbezgliche Versuche landeten immer in den ewigen Jagdgrnden des Betriebssystems. Viel Vergngen mit dem Switcher wnscht Ihnen Markus Bubendorf Zollstrasse 1 CH-4124 Schnenbuch Tel.:CH-061/63 05 92 ; ; Switcher.Q V1.0 ; ; Multifunktionales Umschaltprogramm ; geschrieben von Markus Bubendorf ; Zollstrasse 1 ; CH-4124 Schnenbuch ; Tel.:CH-061/63 05 92 ; Funktionsweise der Tastaturabfrage: ; Die originale Routine aus dem ROM, die fr die Auswertung der Tastatur- ; prozessordaten verantwortlich ist, wird in den zweiten Teil der Base- ; page kopiert. Die Maus-, Joystick-, und Zeitdaten werden hier wie in ; der Originalroutine bearbeitet. In die Tastaturabfrage hinein kommt je- ; doch der residente Teil des Switchers. Er fhrt, je nach geliefertem ; Scancode der Tastatur, die diversen Funktionen aus. ; Die eigene Routine kann auf zwei verschiedene Arten verlassen werden: ; 1. Durch ein 'rts'. In diesem Fall wird der Scancode vom BIOS nicht ; weiter verarbeitet. D.h. Das Betriebssystem merkt gar nicht, dass eine ; Taste gedrckt wurde. ; 2. Durch Sprung in die originale BIOS-Routine, die die Scancodes ; wie blich auswertet. ; Wer genaueres ber das verwendete Verfahren wissen will, kann dies im ; Heft c't Nummer 11/88 Seite 150 nachlesen. ; Die Routine, die aus dem ROM kopiert wird, ist im TOS 1.0 und im TOS ; 1.2 genau 336 Bytes lang. Die Differenz zwischen 'unsere' und 'hier' ; plus 128 Bytes (halbe Basepage) muss mindestens gleich diesen 336 ; Bytes sein. ; Zuerst ein paar Konstantendefinitionen, um das Listing etwas ; bersichtlicher zu machen gemdos: equ 1 xbios: equ 14 keytbl: equ 16 kbdvbase: equ 34 supexec: equ 38 crawcin: equ 7 cconws: equ 9 super: equ 32 ptermres: equ $31 pterm: equ $4c mshrink: equ $4a text _base: equ hier-$100 ; Adresse der Basepage neu_ikbd: equ _base+$80 ; Hierhin kommt die Kopie der originalen ; Tastaturroutine hier: pea ok(pc) ; Adresse der Begrssungsmeldung auf Stack move.w #cconws,-(sp) trap #gemdos ; und Meldung ausgeben addq.l #6,sp move.w #Kbdvbase,-(sp) trap #xbios ; Adresse der IKB-Routinen addq.l #2,sp ; ermitteln move.l d0,a5 move.l $20(a5),a3 ; Zeiger auf Keyboardroutine laden move.w #256-1,d0 ; max. 256 Words durchsuchen suche: addq.w #2,a3 ; Zeiger erhhen cmpi.l #$0c0000f6,(a3); und mit "cmpi.b #$f6,d0"-Opcode dbeq d0,suche ; vergleichen bne err ; Error ausgeben, falls nicht gefunden addq.w #4,a3 ; Zeiger auf nchsten Opcode cmpi.w #$6500,(a3)+; mit "bcs.l"-Opcode vergleichen bne err ; Error ausgeben, falls anderer Opcode adda.w (a3),a3 ; Wiedereinsprungadresse berechnen lea wdeinsprg(pc),a4 move.l a3,(a4) ; und in wdeinsprg abspeichern lea neu_ikbd(pc),a4 lea unsere(pc),a6 move.l $20(a5),a3 bra Copy ok: dc.b 27,'E',10,27,"p Switcher Version 1.0 ",27,"q",13,10 dc.b 10,10,"von Markus Bubendorf",13,10 dc.b " Zollstr. 1",13,10 dc.b " CH-4124 Schnenbuch",13,10 dc.b " Tel.: CH-061/63 05 92",13,10,10 dc.b "Dieses Programm ist Public Domain!",13,10 dc.b "Bitte sendet mir dafr aber",13,10 dc.b "sFr. 15.-. Danke.",13,10,0 align.w ; Ab jetzt kommt der Speicherresidente Teil des Switchers. ; In d0 befindet sich der Scancode der Tastatur. Es drfen alle ; Register verndert werden. unsere: lea sh_flag(pc),a2 cmp.b #$2a,d0 ; linke Shift-Taste gedrckt? beq set_left cmp.b #$aa,d0 ; linke Shift-Taste losgelassen? beq clr_left cmp.b #$36,d0 ; rechte Shift-Taste gedrckt? beq set_right cmp.b #$b6,d0 ; rechte Shift_Taste losgelassen? beq clr_right testen: cmp.b #3,(a2) ; sind beide Shift-Tasten gedrck? bne ins_rom ; Nein, dann normal ins BIOS springen cmp.b #$20,d0 ; 'D'-Taste? beq dunkel cmp.b #$17,d0 ; 'I'-Taste? beq invers cmp.b #$1f,d0 ; 'S'-Taste? beq slow cmp.b #$1b,d0 ; '+'-Taste? beq plus cmp.b #$35,d0 ; '-'-Taste? beq minus cmp.b #$01,d0 ; Esc-Taste? beq totalneu cmp.b #$53,d0 ; Delete-Taste? beq neustart cmp.b #$19,d0 ; 'P'-Taste? beq pause cmp.b #$3,d0 ; '2'-Taste? beq bpb cmp.b #$21,d0 ; 'F'-Taste? beq frequenz cmp.b #$2f,d0 ; 'V'-Taste? beq verify cmp.b #$22,d0 ; 'G'-Taste? beq beep cmp.b #$25,d0 ; 'K'-Taste? beq klick cmp.b #$11,d0 ; 'W'-Taste? beq wiederh cmp.b #$31,d0 ; 'N'-Taste? beq night ins_rom: move.l wdeinsprg(pc),a1 ; ROM-Einsprungadresse holen jmp (a1) ; und dorthin springen ; Die ist die neue Keyboard-Interrupt Routine. Sie wird direkt nach Aus- ; lsen des Interruptes angesprungen und kann deshalb auch Mausbewegungen ; auswerten. Alle Register haben undefinierte Wert, die auf jeden Fall ; erhalten bleiben mssen. new_ikb: move.l a2,-(a7) ; a2 sichern lea vblcount(pc),a2 ; Adresse des Nigth-Zhlers laden tst.w (a2) ; Ist der Zhler=0 (=Nigth wurde aktiv)? bpl.s new_ikb1 ; Nein, nichts ndern bclr #0,$ffff820a ; sonst, Bildschirm hell machen new_ikb1: move.w #$2200,(a2) ; Zhler neu initialisieren move.l (a7)+,a2 ; a2 restaurieren ikbsprung: jmp 12345678 ; Sprung in originale Interruptroutine dunkel: bchg #0,$ffff820a ; Bit fr interne/externe Screensynchr- rts ; nisation invertieren set_left: bset #0,(a2) ; Flag fr linke Shift-Taste setzen bra.s ins_rom clr_left: bclr #0,(a2) ; Flag fr linke Shift-Taste lschen bra.s ins_rom set_right: bset #1,(a2) ; Flag fr rechte Shift-Taste setzen bra.s ins_rom clr_right: bclr #1,(a2) ; Flag fr rechte Shift_Taste lschen bra.s ins_rom invers: lea $ffff8240,a0 ; Alle 16 Farbregister in einer moveq #7,d0 ; einfachen Schlaufe invertieren invloop: not.l (a0)+ ; Longword-Verarbeitung geht schneller dbra d0,invloop rts slow: lea slowflag(pc),a0 not.b (a0) ; Flag fr Zeitlupe invertieren (Die eigen- rts ; liche Zeitlupenroutine befindet sich in ; der VBL-Routine) plus: lea verz(pc),a0 ; Adresse des Zeitlupenwertes laden move.w (a0),d0 ; Wert nach d0 holen cmp.w #$2200,d0 ; Ist der Wert grsser als $2200 bpl.s plusrts ; Ja, dann weiter bei plusrts add.w #$200,d0 ; sonst $200 dazuaddieren plusok: move.w d0,(a0) ; Wert zurckschreiben plusrts: rts minus: lea verz(pc),a0 ; Adresse des Zeitlupenwertes laden move.w (a0),d0 ; Wert nach d0 holen sub.w #$200,d0 ; und $200 subtrahieren bpl.s plusok ; Falls Wert immer noch positiv, abspeichern rts totalneu: clr.w $420 ; memvalid ungltig machen clr.w $426 ; resvalid ungltig machen neustart: move.l $4,a0 ; ber Resetvektor springen jmp (a0) pause: lea pauseflag(pc),a0 not.w (a0) ; Flag fr Pausenstatus invertieren bne.s pausewait ; Falls es nun gelscht wurde, rts ; nichts weiter machen pausewait: bclr #6,$fffffa11 ; Sonst Tastaturinterrupt wieder zulassen move.w #$2500,sr ; Interruptlevel auf 5 stellen pauseloop: tst.w (a0) ; und solange nichts tun, bis das Pausen- bne.s pauseloop ; flag wieder invertiert wird rts bpb: lea newbpb(pc),a0 cmp.l $472,a0 beq.s unstalbpb lea bpbsprung(pc),a1 move.l $472,2(a1) move.l a0,$472 rts unstalbpb: move.l bpbsprung+2(pc),$472 rts newbpb: lea bpbstack(pc),a0 ; Neue Get BIOS_Parameter_Block Routine move.l (a7),(a0) ; Alte Rcksprungadresse sichern lea bpbret(pc),a0 ; und an deren Stelle die eigene move.l a0,(a7) ; eintragen bpbsprung: jmp $12345678 ; nun ber alte Routine den bpb holen bpbret: move.l bpbstack(pc),-(a7) ; Rcksprungadresse wiedereinsetzen move.l d0,a0 ; und, als eigentliche Aktion, die Anzahl addq.w #2,14(a0) ; der freien Cluster um 2 erhhen rts frequenz: bchg #1,$ffff820a ; Bit fr Bildwiederholfrequenz rts ; invertieren verify: not.b $444 ; Flag fr Verify invertieren rts beep: bchg #2,$484 ; Flag fr den Beep invertieren rts klick: bchg #0,$484 ; Flag fr den Klick invertieren rts wiederh: bchg #1,$484 ; Flag fr die Tastenwiederholung invertieren rts night: lea nightflag(pc),a0 not.b (a0) ; Flag fr die Night-Funktion invertieren rts newvbl: lea slowflag(pc),a0 ; Neue VBL-Routine tst.b 1(a0) ; Ist die Night-Funktion aktiv? beq.s newvbl1 ; Nein, dann Sprung zu newvbl1 subq.w #1,-2(a0) ; sonst den Night-Zhler decrementieren bpl.s newvbl1 ; falls er noch grsser 0 ist ==> newvbl bset #0,$ffff820a ; sonst Bildschirm dunkeltasten newvbl1: tst.b (a0) ; Ist der Slowmodus aktiv? beq.s newvbl9 ; Nein, dann Sprung zu newvbl9 move.w verz(pc),d0 ; Verzgerungswert laden slowloop: dbra d0,slowloop ; und entsprechende Zeit 'totschlagen' newvbl9: vblsprung: jmp $12345678 ; Sprung zur originalen VBL-Routine ; Nun noch die diversen Flags und Speicherpltze sh_flag: dc.w 0 ; Flag fr die Shift-Tasten wdeinsprg: dc.l 0 ; Wiedereinsprungadresse der Keyboardroutine verz: dc.w $1700 ; Verzgerung des Slow pauseflag: dc.w 0 ; Flag fr die Pause bpbstack: dc.l 0 ; Speicherplatz fr bpb-Routine vblcount: dc.w $2200 ; Zhler frs Night slowflag: dc.b 0 ; Flag fr die Zeitlupe nightflag: dc.b $ff ; Flag frs Night ; Achtung: die letzen drei Zeilen mssen hintereinander bleiben unser_ende:align.w ; Jetzt kommt der zweite Teil der Initialisierung. Dieser Teil wird ; nach der Initialisierung vom Betriebssystem gelscht! copy: move.w (a3)+,(a4)+ ; ROM-Routine kopieren cmpa.l a4,a6 ; kommen wir an den Anfang unserer Routine? beq err ; Ja, dann Fehler ausgeben cmpa.l wdeinsprg(pc),a3 ; Sonst mit Endadresse vergleichen bne.s copy ; und weiterkopieren lea newvbl(pc),a0 suba.l a6,a0 ; in a0 wird nun die Adresse der kopierten adda.l a4,a0 ; newvbl-Routine ausgerechnet move.l a0,buffer move.w #(unser_ende-unsere-2),d0 lsr #1,d0 ; undschliesslich wird die eigene Routine an copyunsere:move.w (a6)+,(a4)+ ; das Ende der kopierten ROM-Routine kopiert dbra d0,copyunsere lea neu_ikbd,a3 move.l a3,$20(a5) ; Jetzt neue IKB-Adresse eintragen lea _base(pc),a3 suba.l a3,a4 ; Lnge des residenten Teils ausrechnen clr.l -(sp) move.w #32,-(sp) trap #1 ; In Supervisormodus schalten move.l d0,2(sp) move.l buffer(pc),a0 move.l $4ce,2+vblsprung-newvbl(a0) move.l a0,$4ce ; VBL-Interrupt umbiegen move.l $118,2+ikbsprung-newvbl(a0) lea new_ikb-newvbl(a0),a1 move.l a1,$118 ; Keyboard-Interrupt umbiegen lea bpb-newvbl(a0),a0 jsr (a0) ; bpb-Routine installieren trap #1 ; Zurck in den Usermodus addq.l #6,sp clr.w -(sp) ; Errorcode 0 (kein Fehler) zurckgeben move.l a4,-(sp) ; Lnge des residenten Teils auf Stack move.w #ptermres,-(sp) trap #gemdos ; und Programm beenden err: pea fehler(pc) ; Adresse der Fehlermeldung auf Stack move.w #cconws,-(sp) trap #gemdos ; und Fehlermeldung ausgeben addq.l #6,sp move.w #crawcin,-(sp) ; nun auf Tastendruck warten trap #gemdos addq.l #2,sp move.w #-1,-(sp) ; und Programm mit Errorcode -1 move.w #pterm,-(sp); beenden trap #gemdos fehler: dc.b "Switcher arbeitet nicht mit ihrem TOS.",0 align.w bss buffer: dc.l 0 end `HzN?< NA\?<"NNT*@&m 0<TK WfXXK [efNI(I>M&m `E p Switcher Version 1.0 q von Markus Bubendorf Zollstr. 1 CH-4124 Schnenbuch Tel.: CH-061/63 05 92 Dieses Programm ist Public Domain! Bitte sendet mir dafr aber sFr. 15.-. Danke. Eڰ<*gİ<g°<6g<g fz< g<g<g<g<5g<gİ<Sgİ<g°<g԰<!g </g <"g <%g <g <1g "z8N/ E>>>>>JrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr NJ9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHnh 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNnpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N:?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NLJFkSFk&aQNL`Ha"FFaQL8N 6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N <JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNu~c0NQNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuaHQ` @gS@@CNu   aH@@`"aH@@`a0) 4a3B HA2;i`0^ M / hawAnFNuAXr%eee%NuAMNuA.A&HP 0 0 &0&?< NN\Nu vN<)@p `H@)@prtNJAHplrtNJB 2pN:pN.papaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNJpapap9@p`pvNJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX"l`Yd&-KNN"l`YepNpNpN pNprNL <"<NxpN:NpNpNpNp NPp!rNLN**.X32Void Xbios(32,L:Varptr(Parameter$))"<NVpNpNpNp NPp3rNLNOProgramm zum Abspielen einer *.X32 Datei und ihrer Konvertierung fr GfA-Basic.NT <|rNLNOby Hauke Vo * Postweg 5 * 2740 Heinschenwalde * P U B L I C - D O M A I N !!!4NTN\*.X32HPA HPA$""_NrA$NNJBfN!piNdHPA$r"_N0?<Bgpr _Nt?<Bgpr _Nt?<Bgpr _NtpN/p"NRC NpN:pNpN pNprNL <"<NxpN:pNpNpNp NPprNLNDatei HPA$"_NHPN geladen. Lnge: "_NHPA NN(Np"_NHPN Bytes.4"_NNTpNpNpNp NPp rNLNIch konvertiere...NT+|.A NN(&<x*< NdNhA.Nl -.N(&<x*<NNhr9NN -.N(&<x*<NNhr