by HN0~Lp Th%O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKMOQ S@U`WY]_/c@e`gikoq s@owy{}/@` @ ` @ ` @ ` O ` ɠ @ ` ٠  @`O!Aaء  /A#A%a+-//3A5a79;=A!OEaGIKMOQ!SAUaWY[]_a!cAeagik/Oow{}!A!Aa!Aa!Oa!Aaǁɡ!AaA!Aa!Qoa  " B  !"!B!b!!!!!"n""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$Ir*K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&mo'q"'sB'ub'w'y'{'}'("(B(o((((()")B)b))))*"*B*b****+"+B++++,",B,b,ǂ,O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKMOQ S@U`WY]_/c@e`gikoq s@owy{}/@` @ ` @ ` @ ` O ` ɠ @ ` ٠  @`O!Aaء  /A#A%a+-//3A5a79;=A!OEaGIKMOQ!SAUaWY[]_a!cAeagik/Oow{}!A!Aa!Aa!Oa!Aaǁɡ!AaA!Aa!Qoa  " B  !"!B!b!!!!!"n""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$Ir*K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&mo'q"'sB'ub'w'y'{'}'("(B(o((((()")B)b))))*"*B*b****+"+B++++,",B,b,ǂ,AUTO `CPX `HDOKU =`SOURCE =!CONTROL INF zMXCONTROLACC S>!ڮOOKIE C <*LAYMAN ACC README ZHw=M PRJ ld4MASS S G*MJOY C O* MJOYSTIS [* MMAIN C f* MMOUSE C l*MRS232 C r*MRS232AS x*9 RAPAUTOH * CONTROLACC !XCONTROLTXT ]aJCON ICN y["n. `.. WM PRG !!SLECTRICPRG u" MACCEL34PRG Bh+``` p>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@# b3 f k # l Ј<.@# hJy fg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON0 J"LN*? 9g @N 9g @NN ?<LNA/NN&# 28gt`tH#" CNbN#$!|(#!|Adp!ND#NANH09"gN Tp&NuN09#gpNuB@NuH0YOE p5@65@5@r5A85A5Ap5@:5@5@r5A<5A5Ap5@>5@5@r5A@5A5Ap5@B5@5@r5AD5A 5Ap5@F5@"5@r5AH5A$5Ap5@J5@&5@r5AL5A(5Ap<5@N5@*5@r<5AP5A,5Ap<5@R5@.5@ r<5AT5A05A p5@25@5@r5A45A5A5|Z5|X5|VG"KANtN6J@g A pN\`XA]NBA^NAaN2A{NtA~N"ANANAN ANANANA BnB/|d8(Hĉd`AN XSDJDn T0(HdH@@`jBn T0(6rhAf`*o^p$CRn2.qoHBnB/|8(Hĉd`ANSDJDn T0(HdH@D@/g`BnXOLtNuH>(HE Gp22g f` fM K"p22g.42f(rf@0-gt2 F V"h$Bm`p22g42gL2-g$ fp2 V"h$;|`0-g2-ft2 F V"h$Bm f ;|`Z0-f42-g. f(Bm MN MN MN` 0-gr2F V"h$BmBmL|Nu/ $HNB@329"vg JB@N09"xg JB@N$_NuH<&HE jlfp\ KNB(HK# g RL"L MN`"K MNBC`4pC MN,J@f 0*@A13Rjp` RC|mB@L<NuA 0(oSh0(@C3NuH8G#^0+f2+f4+f0+gA 0(VgC0@E6Rk2+rm7|dE40(2g<2`0@I62+tm IB4`SQ QlRk kco7|cB+B+0+gj`0+g *DA0+gj`0+g *DA0(4g KpN KNLNu/ 09"g fE#R0f2*f 4*f0*gBj`5|p(g4`BRp(g5|`Bjp(g5|`Bjp(g5|`Bj0f2*f 4*f0*g0*g5|d5| NLBj Bj$_Nu/YOBA <_MCHN b"p???4<BApN\OAN`|09"S@gS@gS@g*S@g8`bpN&ATN`4pN&ATNt`"pN&ATNb`p N&ATNPp???4<BApNL\O0NtXO&NuH"P | dNu?/a _2J@f 0Nu3 pNuC!I!IR!I `H&H(k L0+"+ aJkRgF+f, L"St gSj`"HSISSk ögSjJg&"'LBLNup`p`H&H(k6+"+g0Dta2Jk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" LaJkg&'LB@LNup`p`/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a3pNuH&Hx&SgkJ9 Xkvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp a Xp a`bJg^ X`TxB9 X`Jx B9 X` Xp a2 L$_NuBx`xB9 X`x B9 X`?<NATONu??<NAXONuH@??<@NAO $_JkfNuaZ3pNu3Nu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua`3p$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   g fC`Jg INuSHNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu/ &y Z g/ &S?<INA\O`&y ^ g/ &S?<INA\O`&_Nu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNup `p`#&3$tp4`/ 3#@@A"C#B@22220<"<NBA%t0$_Nu##$t%t&( / /?< NA\O$_Nu/ /?<HNA\O @$_Nu?/?<1NA/ /?< NA\O$_NuH瀠>NMPO @$_Nu/ /?<&NN\O$_Nu/ ?/ ?/ ?/ H?<NNO$_Nu/ ?<"NNTO @$_Nu/ ??<,NNX$_Nu/ #)#)#)#)$_NuAllgemein[1][Wrap Mouse V1.0|(c)1992 by Richard Kurz|Vogelherdbogen 62|7992 Tettnang][ OK ]p Wrap Mouse V1.0 q(c)1992 by Richard KurzVogelherdbogen 627992 TettnangFido 2:241/7232.5Fr's TOS-Magazin[3][ |Fehler:|Wrap Mouse ist bereits|installiert!][ OK ]FEHLER:Bin schon da [3][ |Fehler:|Das Cookie WrAp konnte|nicht angelegt werden!][ OK ]FEHLER:Das Cookie WrAp konnte nicht angelegt werden  r   .2d&> zf&    $ `Nb 2> R | `D$& o<| # .|p//Bg?<JNAO 3aJ@g3AJa yXa~APatAYaj?<NATr9ArJygR@?Hyt?<GNAP O?|3pN?| p?pkNbTOp?pkNbTOIAN(N LNy?@AN#?@ Ny.Bl)oT)oX)|h"lBi "lB""l3|BG`0HЀ lBp RG| m lBP /`g,@`,yٚEH R"hT" NN~|$l NN~`p$ R1@t lNt lNt lN$29@NyB@ANz,fCAN}"L lN$ lN,J0,HA<"pRI R h p"L yTHN~p"L R h PN~px"lAlN~CAlN}"LAlN}HT"l y0THNuXO y *op `09*3* y $or `29$3$N#"lANn"H R h Pp N~"L lN&J@f//\"o\ oXNFXO?@ `B@N.\9| RNhBAp RNJ@f0<NJ@f 9f> Rh BCp RN,XO/?/?/?/?/p?Bgp*NbOBBgpNNb\OGKp RNB:2|?A"|0]@|b @0;N >v  < trp RN0/"gB@`p"L lN*trp RN` Vtrp RNHoHUHSHSBgp??pNbOpogNE`:pUfrog|`0/"f l2( hfBF`|t2p7N3trp RN` 0/"g2|gSAg$SAg SAg` lBP`p lh0`| l hopHoHS/p?p,NbOCp RNHSHSHoHSpONbO0/o0/H l2(HN R2(HNY@ l0B@N.\HSHSHSHSBgp??pNbO` l ho Hy."Hth2p RN@XO` /,2/&0"L lN7*XO?@J@f 2,g ?|` Bp?pNNb\OB@ANz6BBgpNNb\O0fN R"h ,QB N/ ,",N",N _Nwp&"yق NNsp ,g.A/", ЀЁЁ",NH _Nw"H`C Np&Nspp&"yن NNsp ,g( R0(H",N",N R1@` R"R3hHoHUHSHSpONbO`pofrUg"BB2<p RNBB2<p RN` BB2<p RNBB2<p RNp RNr86/HoHUHSHSpONbOUfogpUfzBB2< Rp NBB2<p RNp RNrN2`pAlAN}&tRC0/"gl"9f l0( gByvy|yؠ2,fy؂y؈`:y؂y؈`(yvy|y؂y؈yؠHoHo/p?p,NbOBgp?Avt 2/0/NXO6J@oN40| b~@0;Nr**rNr:\rhB@N40N0`H0"L lNU`8 l0( lNe`$"L lNHz`0,Nb` lNIbB@N4`09"N6H"ҁҀҁAp09"o y`y09 H|g y`yHoHo/p ?p,NbOBg?At2/0/NXO6J@oV4H"ҁ҂ҁApNP*`40/"g"L lNF`?@J@k9@`HoHo/p ?p,NbO09* R"hD"QA.N=l6rl?t@?A.ty*0/2/NXO6J@oH y,,pHoHUHSHSpONbO|gbpUfrogTpx"l NN~pxC NNsppx"L NNspHT"l2H ЀЁЀA. pTHNuXO`|ggHAN} g|fCl`"N lN~^`0/"gNNGJ@gp"L R h PN~ R"h QNsp RNr"L lN&pN.\`BGv`V0H y&,pRGg@"N4H"ҁ҂ҁA pTHpN~2H ЀЁЀA pNsRCy$l| m yNsHoHo/p ?p,NbO"LAN~^ANs"HA0N=l8Bgr@?A40/2/NXO8J@oHoHUHSHSpONbOpUfrog>pC LNsp2H ЀЁЀA pTHNt"H LpNsp`~2H ЀЁЀA pTHNt"H LpN~`PNlJ@gN#N#"L lN&p RNrp RNr`HBG`092HA٦ pNRG|mBG`092HA pNRG|m09 y٢NNg.trp! RNBG`092HA٦ pNRG|mBG`092HA pNRG|m09 y٢N`0,g lN%)l9l|$f0,Cn oTNUBl09 H|g"l oTN~^` oT)H)oXCn LN~^9l R"hT"` o`N~ R1@t RpNr&tr0 RNC lN}"L lN}"L lN,9@`HoHUHSHSpONbOBo0/f RNDBBr0 RN Rh C lN}"L lN} l hg8p2(H"l&q+f tUfvof"KC lN~^` R"h"Q lNo$|#gp`B@ o\0J@gry0gty0g 3`py0g,y:BG/l$`p o$"P)gnry0f4H$y:,r(RG o$"PC NN~^p o$"P)gC NN}py0gC NN} NN~RGX$y8l o$ fppy0g JGg & fB38By0#r,#J&p 3$3*29f, lN%AN6AN$J@f rpN{.09 H|g ANz"0/Ny WNyp?pkNbTOBgpkNbTONBy0/ O(L|NuH<6:@|6Hx"| |N{@XO"h10HEpEg0NsJ@g60AN},tRFJFk:2*0"J jN+f5@` |xm|o|f|g |Cy*l0H y,&p`|GlpEgZ|gT"j KpxN~pxC KNsppx"J KNspHR"j2H ЀЁЀA. pTHNuXO`gzHAN} gh"K jN~^"J jN,5@`HKIHpEg2|gJn"|bA2;N666666|g4n| gSAgSAg`|Hg,QAgR`zpC"J jN*`p"J jN*`Hy.p Uh?r?"Ht TprN>PO`Hy.p Uh?r?"Ht TprN>PO`j0| |9b`@0;NTTTTTTTTTtTTTtTttttttttttTTTTTTTTv0TT*6BNvTTf TrTTZpDy$lи|0m2H y&&h@`&/|*fp`B@H""ҁҀҁA&pTKpEg&C JpNsp KNt"H JpNsp` KNt"H JpN~p"J T&h SN~ T"h QNsp TNr`f U0( gpN4p"J jNU` U0( gpN4p"J jNU`d U0( g2*fʸ|Cfp`pN0`pN4"J jNHz`&p N40*Nb`p N4 jNIbB@N4`lp"`lpEg|` U0( hfBF`|t2p7N3N2`2NE`(pNP*`pNP*`pNP*`pNP*`pNP*`pNP*`/9>p?p4Nb\O` jN,J"J jN&pN.\`pEg<2|G|bA2;N.p          U0(j(Hy.rh?t?"H TprtN>PO`(rp jN;` U0(j(Hy.rh?t?"H TprtN>PO`rp jN;` U0(j4rh0Hy.t Uh"Hrp TN>XOp TNr`r U0(hS@ jN;`|2AA0(X|`j0|BgnH|=gn |gx| g|gS@g`2|>gS@gS@gS@g`|Pgn|CgS@gW@gS@g`|agS@g|g*` U0( gpN4 U0( jNe`4 U0(kH"j&qr+g T"h QBp TNr jBHk "J jN+XO`Z0@A00`Pp#`Lp!`Hrp jN;`2rp jN;`" U0(jBP`Tr U0(D@ jN;p`B@L0LNuH8$H g<&JI`"[ LNt@ f"J LNt4 yBh yBB^p`B@LNuH<&H(I y^NE R1| RBh RB"B@Np+f ANq` KNqKH/ "K U hD PNNXOBp?pNN]\O LN6"9^g"y R0(H ArNV R ho2"U0)HH29@o` U2(IH"R U1A` U"U3hN $ KN R1@ U"h QNL U"h QNLBBgpNN]P\OBA? U"h"QAFNGp2N 0L<NuHO/H4*I$oX&o\BRBS"o`BBCNUмANp,H fp`pg6"o4 NNU>C NNTh"M NNT`K MNPJH|NP NNPp7ANP<6I`vCANTJ@g\CANTJ@gJHWHTHo-C NN(O 6J@kR2/R2S2g$`$- o`Րp-g MNONO6JCg|g|fBC o4NP,`4"NANp 0O8L|NuH6O/HEBRBjB 9^gd&@KM`Tp S(gHr(g4HWHUHV("HC oNZO J@j`&0R2j$ժ` RR S (ѪXK fB@O LlNuH0$H&I6J@fB*`p\ JNS, gB0SCJ@f"K JN,A"P0) f i l2) Hҁ41 `BB"P2pNRL NuH8&H(IE R h l"R0) HЀ3 C KNRR"o KNRH RBP"L KNpNLNuH8&H(I68|lH$ԂԀԂA"p(RI yH h yHpN[At00H|6@gBr?pNNX\OE09 H|g JNN<80NNpA|:AB@NNC JNRPf C JNQv yBP"L KNpN(BBgpNNX$\O0LNuH0O$HANM0C JNQ0p7 JNk6 Jp\NQz&H gBJCgp\ JNQf&H gBJCg f0O,L NuH<$H&IN6"K JNI09 H|gyg LNMD0NMB@ LNMf C LNP JNHItKH/pAC LNP ""ҁҀҁA"pRI U h p UNZ.p"K U(h TNQ yBP"K JNpNp UNZ0L<NuH<*o09g`EG^0H S(p`Bp,g,,g BBjgrB@ MNRLp"LANJRRB@`RR0H S(p fpL<Nu09gBy3//NlXONupNu/ 09g2 y^NByE JNk JNkJ@frpNLp`B@$_Nu?/ 6EHHzNt yh"Hrp RNXO09dg$JCg Rp NXp RNXp RNXp RNX$_6NuH2H ЀЁ"U i"h_t T(gxC KNO&`x r K"T )NP."TC AN?ANOHrdp.`p 4H"ҁ҂ U"h i@ U"h$Q09 H|g ANEJ"H`CAp NCp"KA NCBC TNEXOp T(g4H"ҁ҂"Ui`2H ЀЁ Uhp T(g4H"ҁ҂"Ui`p2H ЀЁ Uh`X2H ЀЁ U"h$i U"h$i|. C U$h RNM2H ЀЁ UhRCXL|m@09dg UpNVOL<NuH86Erp yh H JNi#< fr?p5NSnTO`&y^(y<`"p S(g JpNh(p"SNG2XLBXK f3b@pN: y1||f&yV`&yZ3fIhp&"LA&NF"yANL#"yANL#CA(NL3: yH"hT" KNL yH1@t yHpNUN&rpNI.LNuH8E R6( (("IF R0(o"yH i P/JCg ` R ( _NE~&Hp&"l NAJCg0` R0(S@o@ KNL4A/JCg0` R0( _r NJJCg p&"l$ KN@p&"l( KN@`BJCg0` R0(S@f0p&/JCg"l,`"l0 K N@`"l4 yH$h RNKr09dg yHp NTrLNuH0&H"y3@6"yQ|2H y^$pt*fDp4H"ҁ҂"yHq g*C KNJC yH&h SN;p yHNSL Nu("ySi ("y򴑩"Nu("yRi ("yѩ"NuH8&H8:<"9^gBC$AI`j g"K RA NbJ@gP R(gBADg@0J@g S@gS@g"`0p R(g&`p R(g RNl`p R(g RN:RCXJ ThmJFgNTN T1|LxNu/ "9^g6BA y^C` $P*RAXH$QjmBj QB"J@gN$_NuH06GHJCgZEؾ2Hҁ02H2H$ԂԁԂAv"p(RI S h PNI0HЀ22 S"h QB0tr SpNR`"y~ S$h RNI(trp SNRjL NuH?j0*jS@?@2*jSA?AGdAr0NjBA0Nil> ?j 0* jS@?@2* jSA?AA0Nj|r0NjBA0NiCAtBA0Ni8I٦K`T0H t @fRH4Cj 2* 0Njb`*Bgp??*2H t4Cj 2* 0Njl\ORDpC@mBB?JCfr`rp yT4NQ>BB?| fr`rp yT4NQ pO L<NuH :A6"PQ|2H"y^"qBD)|JDg$PSj )$P")`$PRj )$PѪ")|m"|n4?JDgr`r0 yH4NPL8NuH>O(H/I06?A.G S1|8 SP|hl0H"y^$qM&Ho Ho"HVHVpONLOpo frogp`B@?@,J@fpNr0N09 H|f2/,ft*f09 H|g<2/.g6t*g.Hj "o4 LNXOHVHVHVHVBgp??pNLPO` o`0NN0/.f?D*?D(Bo6 SP|I"L0 yHNMCp yHNMCp yHNMzHVHo"HVHVpONKOpogBA`r?A$K`VHVHVHVHo*HUHo0BBgBgBgBgBgBgBg?,?,?,?p?Bg??r?pNK|Oo `0/o2@ov>@`v|g0 SP|rhAl8`x Sh6 SP|0H"y^$qo*mz`zB@?D"2/(o*l JEop`B@`2/(o*o JEjp`B@o(oJEo2`rD?A"`o(lJEj2`rD?A"Br Sh??"Ht yHprNPO?@`Bopo$g`B@`pO4L|NuH0&H8:E R0(g6(2(j0JDo4`p RPhl4` R4(SB R1BpN` R h opN`r0N Rh R0(jBh` R0(hm rh1A R0(Pl&Hzrh?P?"Ht yHprNPO`2 R0(rPAo$Hzth?A?"H yHprtNPOr R0(NJEg K"R0)NN R0(L 8NuH<$H8:49 J|gIgBCG^KH`JDgp2H S"p)f JNB"J2H S pA NB&J@f T hg h o0N` Thg 20(N Thg1C20NN TPmpP@o4 T0JEgA`/t Th"Hrp UNXOJEgp UNJ> T0(`(RC Thm, T1| T0( g 0NNpL<8NuH0$H&I8BC`2H ЀЁЀrRCCnBC`RCCo"K2H ЀЁЀ rTHN@ZJ@f޸Cfv`2H ЀЁЀr0L Nu?@o4`4JBo @o4`4`BB@l6`60Pl0`Po06NuH8(H:8$I6&o IB@2N gNJCoD0H2H$Ԃԁ24(<H$ԂԆ犒t(HNE@2HNE4H"ҁ҂9`2H ЀЁBtLxNuH(IEHRHo"Ho(HRpOND|OC0 NNE2H ЀЁA/H:/ 4/hRBB<K"`HRHo"HUHRpOND.O0/ Ug0oEH2HNCP2/ ohHNC82 LB@NhTg^C0 NNEn//L4"L20 NNXOC0 NNEPCANT`/po ??/ ro ??/ t??p*NCO<?U 0/fDO$LtNuH8]O(H68&I$o@4JBgSBgNSBgSBg$`/ ?p?"K4rCpC LNdPO`/ ?p?"KtCrCC LNDPO`HWHoHo Ho pONBOHoHo/ pC?p,NBO0/olr`r?A/ ??"KtrCpC LNPO`0Bp?pNNB\O/ "K4rCpC LNXOBBgpNNBz\Op\OLNu|lF@|?p5NBZTONuH0UO$H6/ ?p2NBB\O8|:2H ЀЁGt@kgJ0+||fSE2H ЀЁ r J0NEHWHoHoHo Bgp??pNAOp@kf0TOL 8Nu2A|0|Hg|Pg |g|rfr`BA0NuH:O(H>vEBD4GBSBEM`p4H"ҁ҂tg4`p RE4H"ҁ҂tg`0g @g8BRHS/ p??Bg?p.NAOHoHVHoHoHoHo BBgBgBgBgBgBgBgBgBgBgBgBgp??r?t?pN@O<:r@g^0|N0J@g 0NJ@gPHWHoHoHo HoHoBBgBgBgBgBgBgBgBgBgBgBgBgp??r?t!?pN@lO<:r@f0NJ@fpogHS/ p??Bg?p.N@:O2/0NӮ<0NdJ@fpogHS/ p??Bg?p.N@OJFg0|g*HR/ 0|gr`r?0|?p8N?O 6``JFf\HVHR/ ???p7N?O62g@HS/ t????p.N?Or?4H ЀЂ t "PAFN*6B@2NFpEg/ ?/?/r?Bgp+N?NO 4R@f2/ L0/ NUJ@fBrpN5`8Rg2H ЀЁ44|f"zog of LNU` LNUzBR`HR/ ?/ ?p8N>O 6JCg0g@gHS/ p??Bg?p.N>OJCfpBBgpNN>\O0OL\Nu/ El0<NTJ@g y0(H|g"yf`"yZ R hl!IB@ R"yHNHJ|g8 R"hl QN. R"hl Qf C0N8trp' R"hl QNtp`B@$_NuH8&H(IEh R"hl iN8*&"K R hl PN8b C2 R hl PN, "L R hl PN,0<NTJ@g y0(H|g"yb`"yV R hl!IB@ R"yHNGr|g R"hl"Q KN7X"L KN`pLNuH>BCEGP"J S hl PN7&M0<NStJ@g V0(H|g"yj`"y^ S hl!IBDK`~2H ЀЁ(SIm lT m "p l PpN7@0<NSJ@g V0(H|g"yj`"y^ l !Ill` llRD| m~"yHB@ SNFV|f\ S"hl"Q JN5J@gv S"hl"Q JN6(BD`02H ЀЁ S"h QN,v"H0H m pN5RDm m0L|NuH<*H(IBCEX R"hl QB"yHB@ RNE8[@g R"hl QgBt?pNN;\OGF R"hl"Q KN&L0]@gS@g`: KN1(6`0B@ KN26J@or?p5N;\TO0N0`B@ KN16J@nJCk"L MNB@N,`0NBBgpNN; \O`/9Bp?p4N; \O0L<NuH:Oj/HEA*"JBCHy4Hop}N:PO /g"@AN4`CvAN4M|9vg Vh Vh*` Vh Vh*0<NPJ@g y0(H|g"yf`"yZ V hl!I VNBF/Bgp2N:6\O:_@g U@gU@g`6HW/p?E?p8N:O HWHoHoHo Bgp??pN9O|g|fp Vhgx`p Vhgx `x "yH VNBBBr0 VN<|g. V"hl QN*,HBApN*G SNABp?pNN9v\OI | f`BE`NAPHy>"J S h PN)XOp SNtr SpN;l`|f/BgBgBgBgp+N8 O "yH SN@ܶ|f|C yN1"L yN1pxC2 yN&pxC yN&C yN3r LpNp"L yH$h RN"p yHN:OL\8NuH:O(H/I,$oLBCpxANL&H g"oHpxN1C@ KN0bAN,Pp7 KN,X6M.`LCEAN0J@g2CGAN0J@gp/gnC/ Kp\N0fRH"_N0Hy="K y h PN'hXOp yN9/ / "o4 LN0POO/H>,I@<,8N,мANH(H fp`"o> LN,zKL"M LN+"N LN+Ep/`CAN+J@gxC AN+J@ghp\ LN*B4"++C LN|:C LN*^JEj"LANF0`T"NAFN"H R h PN*p RN4 KN&N&^>JGgnC R&h SN*r R"h QSy09N)hp RN3p RN3|g|fp\ yN*Bp\ LN*B|g|f LN&:C R&h SN*\p RN3h`L"NAFN"H R&h SN*6r R"h QSy09N(Н R"h Q 9N#p.9p &9C Rp N1x0/ oJg< R0(4H"N.H"N.jS@o R0(4H"N.."N.P`p R1@L` R"R3h4L R0(Lo R@?@ p N20S@gS@gS@gS@g`0 LN%8:`& LNF:`Hy4/@ "N oBN0XO:/?/?/?/?/p?r ?p*N/Op RN2"p RN2"LANDN!J@gp`0:J@jNz09g N"$J@fBE yfp`0OBL|NuH<$H*I83 NX6GJCj 0N&`Iؾ2Hҁ04H2H$ԂԁԂAv"p(RI S hN!f?@rA0N!0N!B@XO6NuHO&H,IA"yN%CLAN$"KAN$BCIxBTKFp yhgHT/-L"KANPO<(pNf мopNT&ּ`&JkX N>$Hz`< J"0N:*Jo, J"0NJj*`o/9*p?p4N(\OzJoJn JN`p?p5N(TOzJj `pLNup yhf rhfpNuB@NuH<*H&IE R!o< R h*H&IBCEt R0(|g"2<hXg094B@BH…h Rh09 R1@ R1@ RhX R1y j R1y Rhh Rhx R!yي< yيN!b R1@\C AFN"H R hl PN R"h/"h"Q KN2XO R"h Q +N:BB?p+gr`rp R4N*BB?p+gr`rp R4N)BB?p+gr`rp R4N)BB?p +gr`rp R4N) RN.bp RN8|f MN /A N |ПRAN;(H gD"MN CL LNFC LN< MN FмAN;t,H f"LAN;p`"M NNCL NN R"hl"QAFNxCF NNp Rhgz`BE?p Rhgr`BA_:?p Rhgr`BA_:?p Rhgr `BA_:B@+@g82 LpNj<J@k(E29 I|ftEgC MNƾ`v"N LNJ@gzp+gBA+tA L0N"N LB@N <r+gBA+ LpNJFf2CFA NCA N7J@fC MN@` v`0N$"NAN:4"LAN:("yH RN-NBBr0 RN'JCg0<g`0L|xNuH S"ht Q N0 r *,Jgf S0(H"N$"NFR@S@o S0(H"N "N,R@`p S1@r S"h Q?/ ЀЅЅ"NR@ _2N` S"S3hCk S$h RN2Co S$h RNV SN'$/Bgp2N\O6"yH SN'BBr0 SN"B|f` S"h"QANJ@gL|\ S"h"QAN p7AN6J@fv`$|g|f/gApN6J@oN2BBgpNN\O|g |g0N0OdL\xNuH0$H8v S@oBr?pNNL\O JN:BBgpNN8\OJEkGpr S"h Q09Nr S"h Q09N S"h Q 9NX SN%/Bgp2N\O6"yH SN&BBr0 SN!| fz&y^z`HBB?|fr`rp yt4N p S(gr(g "H JN.:` "S JN:XK g JEk|fJEj0N`|gfB@N B@N80L 8NuH0UOEvBGT SN%"/Bgp2N\O6|p4H"ҁ҂ Sp f^0r4N 40| gS@g` o]p SN` p o\`HWHoHoHo Bgp??pNOtr0 SN|ft"yH SN%dTOL NuH BD6E`0C0@22g"tH ЀЁ yLp UBft`BBBRD|m09 H|g||0LNuH8OpNo: <N$HCrANC AN pANf6J@o J"<N(JoI "L JN &H g LNPN67y"I  Kʐ"L KN &H LNRBEIJ`0H"t KNFGRE| mBEIr`0H"t KN GRE| mBB2pN J"0N`&/9.p?p4N\O`/92p?p4N\O0Nv`0Nb JN` p?p5NTOOL8NuH8OCrANE CANB@AN6J@kjN8GC KNdBE`0|gC `C" KN~DRE|mC$ KNj K/Nr"0 _N*C' KNr A09"NC$ KN4 K/N<"0 _NBEIr`\0H tgLC+ KNr A0NrC KN0H"t KNC$ KN K/N"0 _NRE| mBEIJ`Z0H"4gLC. KN`r A0NC KN0H"t KNpC$ KNf K/Nn"0 _N&RE| m0NOL8NuH$H&IMp R(g r"S)g8p S(g r"R)gHp. RA N (Hp. SA N *H f " g0.fB@` 0.op`pD@` g" f0.fB@` 0.op`p`f f" g "M LNFJ@f."SC RA N2?0.fBA` 0.or`r0`$"M LN ?0.fBA` 0.or`r0L|NuH8$H&IIp R(g r"S)gHp S(g r"R)g R0("Sid0,fB@` 0,op`p`T R0("Sic0,fB@` 0,op`pD@`,"SC RA NV?0,fBA` 0,or`r0LNuH8$H&IIp R(g r"S)fxp R(g r"S)gHp S(g r"R)g R ("Sd0,fB@` 0,op`p`T R ("Sc0,fB@` 0,op`pD@`,"SC RA N?0,fBA` 0,or`r0LNu/ $P0*$Qj?29"fBB`09"ot`t0$_Nu// $Hv` ЃЀH|HЁ&HNPJ@f $_&Nu/ / $H&I` fB@`RRJRKg29 I|g0HNJ@g&HNJ@g KN/ JNop`p` HHA&_$_Nu/ $Hrt`JAg JfBA` Rb$_Nu/ / $HG`RJf`gbB&_$_NuH(H&&I*H IN / BA`4H°c `RA4H¶b LL8Nu/ $H09 H|gN` JN$_Nu|Am |Znr`BA0Nu|am |znr`BA0Nu|0m |9nr`BA0Nu?6NJ@f 0NJ@gp`B@6Nu?6NJ@f 0NJ@gp`B@6Nu?6NJ@f<|!m|-o0|;m|?o$|[g|@g|]m|`o |{m |~np`B@6Nu/ / $H&HHN4J@g f K&_$_Nu/ / $H&HHNJ@g f K&_$_NuH<*H$I(oBC&I`vp\AN&H g KN j/ LN bП2HЁRBb g "KA0N`B50C MN "L MNJCo |:|\|.|.|. MN. ML<Nu// $o gth2(I|0(v h||Pv6 dH@6HÇ <06HÇ HC<04H… <06HÇ HC<02H <04H… HB<0 gxph@2(I|?4(v j|6HÇ <06HÇ HC<04H… <06HÇ HC<02H <04H… HB<0$_&NuH0&I&$H INЖ`&fp`R@3g2g3f J` RJ SJfґL Nu |N`#Jf NP#Nupg yN4Nu/ YOEHRHoHRHRHRHRBBgBgBgBgBgBgBgBgBgBgBgBgBgBgBgp!?pN OJf0`f r N *"҆ҁ,RCJf`FJGg0HH@J@f. "N 8/ r N " N *r0~ r N ,SCJCfB JL NuS0QNuH &x?</?<DNAPrఁg f(`Jf/?<HNA\ fo  @LNuHAz<ANwAr r ~ vAN!rAJ!~AF!vHzV?<NA\BgHz4?<NNAP!0r!.~!,vNw2LNupNupNupNuX:\*.*H>?NAO $_Nu/ /?<NA\O$_Nu/ ?/?<NNAPO$_Nu/ ?<NATO$_Nu/ ?</NATO @$_Nu/ ?<*NATO$_Nu/ ?<ONATO$_Nu/ ?<0NATO$_Nu/ ??<NAXO$_Nu/ ??<>NAXO$_Nu/ /?<9NA\O$_Nu/ /?<;NA\O$_Nu/ /?<ANA\O$_Nu/ ??/?<WNAO $_Nu/ ?<,NATO$_NuH>@NAO $_Nu/ /?< NA\O$_Nu/ ??/?<CNAO $_NuH>VNAO $_Nu/ /?<:NA\O$_Nu/ ?/?<6NAPO$_Nu/ ?/?<GNAPO$_Nu/ ?/?<f0g6f(g.f g&fgfgfggepNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuSeg gb pNuJfpNupNu"SefBJgSf ANu$ fJg` yf p#`L$Igf`#Sf yp#`$IgfB( 9# @$BNu`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyz/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#J@kNuD@Nu$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$HBJBf"$HBJBfB@H@NuB@H@HB0B@H@Nu A"B@H@HABAtҁрdЈӁрQNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNuH0EG62IAv`B@2A7RC|oBC` 0@7(RCkmBC` 0H'VRCkmAN:vAH` 0@"Z2RCkmBC` 0H"Z"^RCkm0L Nu"H00<NBL Nu/ B@Ef` 2A5R@| m5|HjHjHjHjpMNO5@HjC JNXO0*g 5j5j0*$_Nu09dNBydNu?/ 6EHjHjHjHRp?BgphNOJCgNR`BjjB@` 2IB R@|m$_6Nu09dgNNuH0&H6$IHj/ /?p,NZO2H ЀЁ5s5sL NuH>QO(H:&I*o0BC8HoHo /?p,NO2H ЀЁA.ME 4||| b^B4; N *T@TT**TT@SCpVg6SCrVg.SC`*2H ЀЁ64 KC`2H ЀЁ t 6(pRg|ovp RgJCj8DD`8DJCkBCoo2H ЀЁ<4D4BB04DB& g67o7F7@" g":;o4/FSB;B6/@SC;CPOL|xNu?/ QO&H6CNp/ ?/ ?/ ?/ ?/ p??p*NOPO&_6NuH $H86:JAjH$ԂԀr( `2H ЀЁ爇r JEg0 JNL8NuH $H86:JAj4H ЀЂr`2H ЀЁ爇rJEg0 JNHL8Nu/ / QO&oEdr0N r0Nr0NBBBA0N>?k0+k?@2+k?AA0rN> 0*Hk S@?@?@2+ k?AA0rNRoRoAr0NABA0N80+PO&_$_NuH>O$H85@5AIRy ylK09HG &B"LB@ JNXO0Uo`082,mo`2-9A0,ml`0-9@2,ml`2-9AM"N LN C, NN bp lH7@ H7@rl7AA0-jrN6-0+ H2+HN2HNЀм@'@QO$H(I*o ,o$G f O`BB2*0* JNO$_NuH.O*H,I09HEIHo"LB@ MNXO09g$?,?,?,?BgBgBgBgr?p3NOfrCA4NHCA,NBAp MN 6?,?,?,?BgBgBgBgr?p3N"OJCf g NN,SyOLtNuH0$H6&IN/ ?p2N\O|6"K JNBBr0 JN0L NuH/TBD`@2H ЀЁЀItTg l -g lNR@@o0` lNR@>RDDn0>0ArhAl<2@49H…B4(hBo<@29HA2/(G49H…B4hBoG29HA?B(K;o(;F;G;@;Ex`0@DHErD45|5|Bj0H$ԂԀԂ5s( BjrD5A5G5yrs(g s( -f5|%| `5|2H ЀЁЀ%s RDDln0@EHBu; t2 M0/(NlEHRHoHo,Ho2pONO0/gBA`r?AHU?/(?/,p?Bgp+NO >R@fC MB@NBF`XC0 MN C ANp4H"ҁ҂ҁsf*HUp?s??/?/?/?/Bg?p/N6O|?|HRHo HRHo"Ho4Ho:BBgBgBgBgBgBgBg?/4?/4?/4?/4??/Lp??r?pNO<6r@g4/B?B?G"|HgfnSBg|g|+g`|Pg|g|g`|f>/RRGGl~|mp4H"ҁ҂ҁsf`|f>/RSG|l>|mp4H"ҁ҂ҁsf`~`RGp4H"ҁ҂ҁsf`~Bo`0/ W"h1H?A|f>/R?G RGGl~2H ЀЁЀIt0BgZBD`RD l0@g HNJ@g l0@HN>J@g l0@H|` l0@H4 l0@g4/@go f o"g8HUp?4/(H"ҁ҂ҁ?3?/?/?/?/Bg?/4p/NO|gBC 0 MNHUp?4H"ҁ҂ҁs??/?/?/?/Bg?p/NOpCgľ|g4HUr?0H$ԂԀԂ?3(?/?/?/?/Bg?p/NOHU?/(?/,p?Bgp+NzO >R@fC MB@NBF`XC0 MNC ANp4H"ҁ҂ҁsf*HUp?s??/?/?/?/Bg?p/NO|pCf2/fpCg4HRHoHo,Ho2pONOHU?/(?/,p?Bgp+NO > MN|gp4H"ҁ҂ҁsgv`6>HRHRHRHRBgp??pNO0O*L?l0,lS@?@2,lSA?AA0rNp4,H"ҁ҂ Tp gv`BCBA0Ntr0Nr0N0, CR@?@>?l 0, lCU@?@ ?@2, lSA?AA0rNzr0Nr0Nfpl C?@>?l 0, lCY@?@ ?@2, lSA?AA0rN*0, C?@>2, C?A0, lCS@?@ ?@4, lCSB?BA0rN0, C>2, C?A4, lCSB?B0, lCS@?@A0rN20N2*0NB2*0N2*0N B@O LNuH ~>Hx?< NA\O,f B?< NA\Oμ޸jJFf /?< NA\OLNu/ABhBh2<#a>"_222" E0*$AW@g2222Nu/ABh1|1A2<fa"_2r+2QA2r 2QNu/A1|1|!I!o1A"_A000000000Arm`ABh1|1Ar`ABh1|1Ar`fABh1|1A1Brl`HABh1|1Ar`.A1|Bh1A0Bh2ra092Nu/ /ABh1|1A1Br'aA"_2"_2NuABh1|1Arj`ABh1|1Ar`ABh1|1Ar `C3|3|3AC0""A2<`\CJ2222A1|Bh1| r `2ABhBhre`C3A03B23|CrtRB2fA1Br`C3|3| 3A03B23o43o3oCrtRB2fA1Br `3&/ C2dBi3| Cp 2Q"<^ps/ NB$_ _0&A"op,2QA2p 2QNuJ2C3ABi# Ira#JNu/ 1@ 0"<psNBA0$_Nu/ /pMa"_2"_2"o2"o2Nu/ 3@@A"CB@22220<"<NBA0$_Nu822 9ScOtTySLCT5 J r--|.(9JJJJJsPoCk*.TXT*.TEX*.PRG*.AC?*.C*.H*.S*.ADD*.DOC*.INFC:\AUTO\*.PR?C:\GEMINI\*.* p q  1992 by Stefan Radermacher and Oliver Scheel *** Already installed! ***  @(#)Selectric Version 1.02 Sep 2 1992\0, z|{~̢̊ ̮{{ ̻{{̾{{{{{{ {{!>#Yt͗#Ͳ͗# ͗#.I͗#l·͗#Ϊ͗#͗#&{{'M{{R{{m{{ϋ{{z{{z{{z{{ϩ{{Ϻ{{ {{ {{&7HYj{ЌНЮп{{{{{{{{  ̢ 3?̢ \{{ g{{kw̢ ѐќ̢ ѵ̢ RRR{{ {{{{{{{{{{{{ z-z 9E̢ {{{{{{ `{{ l{{ x{{҆{{ҋҴ))}̢ ) \{{ I{{!g{{j@>D *lT0D0D0@8@?~|8@>>|À?  @ @g`g!N@pcAÀx#nC~|8$ *@($$q$ ,@ < #@ X $@ t %@  &@  ! & @'@ !@$@$ @@ @@$ @"@"@"@8"@T"@p "@ "@ "   & & A @&""0#Ӂ  $!ӊ'Ӓ (@&"  $4$P$l$  $  &   @# @# z'Ӓ(@&Ӂq  $  $@q@ӕ @q@ӱ  $ $@q @@q@ @q @ $$@q@ӊ'Ӓ(@&# q $$ $0 L h   ,Hӊ'Ӓ#@!. p ;dD L       A @q@S@q @m ӊ Ӓ 0  *@(zp(DӊԀ   ԉ 'Ӓ  @zp`|L    ;  D  @q@ԓ@q@Ԥ @qԮ@q@ԵӊԼ 'Ӓ  @p;$D@ L \    'Ӓ  @qx ; D            <  AXӊ 'Ӓ,@* q t (ӊ'Ӓ" @$ q ӊ1 '7&@$>p" "  " @E  @^   @q  ӊ 'Ӓ  '@%"Ռ"p" Լ ӊ Ӓ 0@կqӊ'ӒnnnŎǞFʆv5JXFILENAMEEXTDateiname: ________.___FFFFFFFFFFFFunktionen A: PATHNAME.EXT/*MASK*nach NamenMP_PATH~~~~~~~~~~~~~~~~~~~~~~~~~~MP_FNAME1~~~~~~~~~~~~~~~~_ ________1___ ________ __.__.__XFFFFFFFFFFF99999999999999~MP_FNAME2~~~~~~~~~~~~~~~~_ ________2___ ________ __.__.__XXXXXXXXXXXX99999999999999~MP_FNAME3~~~~~~~~~~~~~~~~_ ________3___ ________ __.__.__~MP_FNAME4~~~~~~~~~~~~~~~~_ ________4___ ________ __.__.__~MP_FNAME5~~~~~~~~~~~~~~~~_ ________5___ ________ __.__.__~MP_FNAME6~~~~~~~~~~~~~~~~_ ________6___ ________ __.__.__~MP_FNAME7~~~~~~~~~~~~~~~~_ ________7___ ________ __.__.__~MP_FNAME8~~~~~~~~~~~~~~~~_ ________8___ ________ __.__.__MP_FILES~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~InfoIt's not a trick, it's ...Der einzig wahre Fileselector(es kann nur einen geben ...)Registriert auf: Anzeige Extras Nach Kopieren/Verschieben OP_EXTACT~~~~~~~ Aktuell: ________________PPPPPPPPPPPPPPPPOP_EXT0~~~~~~~~~OP_EXT1~~~~~~~~~OP_EXT2~~~~~~~~~OP_EXT3~~~~~~~~~________________OP_EXT4~~~~~~~~~OP_EXT5~~~~~~~~~OP_EXT6~~~~~~~~~OP_EXT7~~~~~~~~~OP_EXT8~~~~~~~~~OP_EXT9~~~~~~~~~ Voreinstellungen 11112222333.333.333FOLDER~~~~~Ordner: ________.___FILE~~~~~~~Datei: ________.___ Optionen ESCXP_OLD~~~~~Alter Name: ________.___XP_NEW~~~~~Neuer Name: ________.___FIP_NAME~~~Name: ________.___888888Datum: __.__.__Zeit: __:__:__ Dateiattribute Laufwerk: _DP_LABEL~~~Label: ________.___444.444.444555.555.555Diskbelegung:100%PP_PATH~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~________________________________________PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNP_NAME~~~~FP_MASK~~~~~~~~~~~~~~~ Maske: ______________________SP_PATH~~~~~~~~~~~~~~~~~~~~~~~~~SL_MASK~~~~~~~~~~~~~~~OptionenAbbruchOKversteckte Dateien anzeigenKleinbuchstaben benutzenOrdner auf Doppelklick ffnenAuto-LocatorTOS-Pfade sichernIm Zielpfad bleibenSichernExtensionsCP_TITLE~~~~Dateien:Ordner:Bytes:Warnung vor berschreibenObjekte umbenennenErsetzenAuslassenSchreibgeschtztVerstecktSystemArchivWeiterGesamtinformationMehrLaufwerksinformationBytes gesamt:Bytes benutzt:Bytes frei:Pfad ndernNeues ObjektDateiOrdnerSuchenAb aktuellem VerzeichnisAktuelles LaufwerkAlle Festplatten-LaufwerkeSP_TITLE~~~~~~~~~~~~~~~~~~~~~~~~~~Dateien selektierenxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\*.*o\\...*.*\*.* _________________________C:*\DRIVEMAP=\*.*... \\*.*...___________C:\*.*100%X:\AUTO \SLECTRIC.PRG\SLECTRIC.INF#C 10 #S #P#E $*06<BHNTZ`flrx~ڄڊڐږڤڳ +>@FYlےۥ۸>'Jmܐܳ?b݅ݖݧݸ>>>    -=M>]m  y`yߟ߸Y'0:KTgr{.Lj&7:Ofx A: B: C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z: \ 2222222222222 3333333333333 4444444444444 5555555555555 6666666666666 7777777777777 8888888888888 9999999999999 0000000000000 EM_PROG~~~~~~~~~- *.* EM_EXT0~~~~~~~~~ EM_EXT1~~~~~~~~~ EM_EXT2~~~~~~~~~ EM_EXT3~~~~~~~~~ EM_EXT4~~~~~~~~~ EM_EXT5~~~~~~~~~ EM_EXT6~~~~~~~~~ EM_EXT7~~~~~~~~~ EM_EXT8~~~~~~~~~ EM_EXT9~~~~~~~~~ PM_PROG~~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH0~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH1~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH2~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH3~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH4~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH5~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH6~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH7~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH8~~~~~~~~~~~~~~~~~~~~~~~~ PM_PATH9~~~~~~~~~~~~~~~~~~~~~~~~ Lschen ^D Touch ^T Verschieben ^M Kopieren ^C Neues Objekt ^N Info ^I Disk-Info ^Y Suchen ^F nach Namen ^H nach Datum ^J nach Gre ^K nach Typ ^L unsortiert ^X rckwrts ^R numerisch[1][Nicht gengend Speicher fr|Selectric. Versuche TOS-|Selector aufzurufen ...|(nicht erschrecken)][ OK ][2][|Medienwechsel erzwingen?][ Nein |Ja][3][|Erzwungener Medienwechsel knnte|jetzt Daten zerstren!][Abbruch|Weiter][3][|Disk voll!][ OK ][3][|Fehler in der Datei!][ Abbruch ][3][|Fehler!][ Abbruch ][2][|Konfiguration speichern in][Abbruch|Selectrc|INF-Datei][2][|Vorgang abbrechen?][ Nein |Ja][1][|Huch? Hier gibt's kein|Fenster zum Schlieen ...][ OK ][1][Und mehr fllt uns heute|nicht ein?][ N ]leer Suche:GefundenNichts mehrKopieren: Zielpfad auswhlenVerschieben: Zielpfad auswhlenOrdner bereits vorhandenDatei bereits vorhanden Bytes in selekt. Objekten1 selekt. Objekt1 ObjektLeeres VerzeichnisFunktionen Bytes (%) freiDatei-InformationOrdner-InformationOrdner umbenennenDatei umbenennenFileselector Selectric V1.02.?-'77PC,]'Qz+֧ajV?e yC8'ALnRԝp؉"U8`ڳ4MH,-ftf*ͦG` }֧Ы*mt &Pcd~`Î sUȷѭ80q4%hC|LI.h*-qqzDH9t7@ݦGI85Gy;Ln:T44q 2]rT~bԍm\[,m7:yWs&f7i*Oq⅏7q5Gy;Ln9s7@48"CU7@ LϪy&⃜ w;V7T{π6Hz   P4   L      &  "r<\",$ &  $& &   ,>(  4     ( &            $   B "   4,&   j  (   & 4  ` 8$ .*  . jD:zF`6N$  &..n& 4\ p,2">L &@ :d  ,.b . < :d6 .        8 &D$ >b   " |^ :< $ & r `& p B 0($&:F (l @N>00 fx pZR  ~ HXh L^ XR|V ^   <8>.*6D6*  (6  $<  . D6b0H`HxHx0`00`H0HH000H0H00`0000H0H0HH0H0H0H000`0H0 J$ . `H.. COLOR CPX IFCONFIG CPX [2GENERAL CPX a .MACCEL CPX mMODEM CPX uPRINTER CPX |SOUND CPX 2WCOLORS CPX 8ICONDEMOCPX .`WhREAD_ME TXT .` ID CPX `VANITY DOC `D DC_CPX CPX `CALC CPX A<DIABLO CPX 6`MDIABLO MAN 6` WRAP_CPXCPX `README D! =SLCTCONFCPX O!(DESKINF CPX \^ FRAC CPX B4hHUSHICTLCPX \s#ICON ICN y["HUSHIERRCPX \ICONEDITCPX `|KONFIG CPX 8NVDICONFCPX LbSTOPLOCKCPX \<1COLORVDICPX Mt8CWINX CPX GO,dusaColorx` 8p 6a<cXcq8  8@Color Setup` "b(N/ / GC'o N7@ NO(oLBCAr0NJCANN*KBAr0-NGC S1T S1lrB@ SNN4BA0+ NXN>p ShjghjE M$IHoBg/ T h4NO 8R@gt|0[@|=b @0;NN z z zZ z z2h z z z z z^ z4<| zX z7|: Hz BgHyO??-p?r,HN EBGOI K k0(fT2+gN joFBR`<03f2pNBC`2H ЀЁЀ jBB02N RCUmRR Rm0+J@gS@gS@g` ngN?.pV?NXO0+U@ghY@gS@g VgBgpR?NnXOAN v`(?pR?NVXOrCH ЀЁAAN RC|m?pR?N(XO`` ng4ApN pnf"C AN AN FC AN `$AN 0` kf ng ApN k0(fV kf22*ng(tnf "kijp$N  khj5n kfT kgL0*ngB2.g kh8v#` khPv"2H ЀЁ kp0N 5n0+g jf8|BC`(2H ЀЁЀ jBB02N $ j0RCUm`pBR`Fp22pNBC`(2H ЀЁЀ jBB02N j0RCUmRR0jm4pNp?r?Bg?t)r(NPOpNN ~L|Nu/ EO0|2gDn|g|gt`|7gJW@g`2H ЀЁ j"p Q0*N `2H ЀЁ j"p Q0*N ``2H ЀЁ j"p Q0*N `@2H ЀЁ j"p Q09BN `2H ЀЁ j"p Q0*N t$_Nu/ / EOGB0*|2g&[@g>W@g`R0*N 4H"ҁ҂ҁ S1`60*N 4H"ҁ҂ҁ S1`0*N n4H"ҁ҂ҁ S1NN 2H ЀЁЀ S0+2N N p2+2 k&_$_NupNBNu09OyBl09ByON"Nu09OyB|N NupNNuH06N @EBGO0RlRl$BR` pR2@mtjR0Bopj4ND6Rkkgr0+NZBA0NR7C7|N0+gpNRN L Nu3)ONN pNNpN(NuH8EB6*GO2ACAA%HC$A0%HJ@g?*pR?N XO0*3f^NBBC(R`@ LBB20*N L2H ЀЁЀ"j"2 jB00RC2H ЀЁЀ(RjmNL0*LNuH0NGBBC$k`* JBB20N 4 J20N RC2H ЀЁЀ$kkmNL NuHQO8JAfv`BCpN 0<N 209BN 8GU2H ЀЁ kCA HoC k0N hXOpW7@7@6ro7A7A7A0/oR@7@ 7@2oRA7A 7A K09BrN pW7@7@6ro7A7A7A0/oT@7@ 7@2oTA7A 7A K09BrN 0<N B@N POLNuH86GOIB4+H"ҁ҂ҁ$lNN JBB2+0,NN7S7k7k 0N60*N7@0*N7@2+Sg???,?t:B@r9NNPO0+kg???,?+t2r1B@N,PO0+ kg???,?+t7r6B@N POLNuH O?@86>/&SWSoToToCr R0NHoC0 RNXOSWSoCr0 RNxO LNuH(QOpN0<NEBIU jl 6,jSC`vlr0N6:,8*`d20N 2H ЀЁ lCA HoC l0NtXO89o0oS@9@2/oSA9A L0NXRERDEl0<NVB@NbPOL8Nu/ / EBGO kf0+jg ApN0+oRBR`0 3f pNN\RR0jmrf( kg 4+jgN?+pV?NXON jo?+pR?NXONt&_$_Nu?/ NFBCEB`B j 00f42H ЀЁЀ R0*"2N42H ЀЁЀ R"j"2RCj mNJ$_6NuH6QO&H,IECV0* ?@ABCDEFG=!  =- !  @p@p@p @p  @p @p @p @p @p @p @p @p @p@p@p@p @@ @ @  @p@q   @p @q  @r @s $"##!%+&*'(@*))@(@ %@ -,, + .< /R0G1@ 322@ 1@ 4@  5B6@877@ 6@ 9@ ;::@ 9@ <@ -@>A  ?@A=BB A%USA.RSCColor15GrayColorInvertBank0151515SaveOkCancelReloadUV[WW  64X:.&\8:.&\8:.&\260 b64. "Hz$$ 0 :.ި2 "~$l xP*dXX $. HB&&*"    TdCNFGCONFIGURE????8<<<<<PConfigure CPXs` N/ / G o C(p"Q7k(0+*gp`0+.fREHyHyHyHyHy HyHy Hy@Hy r?BgBgt? k8NO,Bk&BBB BBBBB B$ &_$_NuH0O&oZBCE$ R1S R1k RA C2""Ho4C6p RN vXO KC*""Ho,C.B@ RN ZXO j2N%@~G& @C2<"Q2Jg @2(I|5A AB@N rB@ RNrHop?/ j^NO 8R@g|0Y@|b@0;N4 X2ttr RhpN S0(H|o|HoA"S0<"Q2`tr RhpNJ`xtr RhjpN4 S (g^"@2)gT5|4(J|o|JoA"S0<"Q2 S& SC0<"Q2pAN`tr RhpN g갪~g5| @2(I|o|IoA"S0<"Q2%j~` j%h *g @"hf *gj&`dtr RhpN:0/N4:|l\RE<p n R"h<2) |3A R"hH ЀЇ Rp 0NJCgB@O:L NuH>O:*H>/I8v$yBWG H$ԂԀC( K Ho "K J0N`XOIA"L""Ho"LB@ JNBXOBF`$0H uNd0H uN&RFFnpm>BFM`0gCrANx`CpANd0H"urANCpAN0/BH/rANnepA2IC#RFFn|HoHo? o??HyP n6NO8R@g, o02H6H$Ԃԃ"r( " J0BAN0OL|Nu2A0|Nu2t a0|NuH0$H8GC S hT S"hT3jA$"S"i<#HC2 S h@LMNZ[\hijlnqrsuwz{| @"  @AD@AP! @ HC   H     A    @@          @ @   @@  @ A     %!  F HEADER.RSCYo dude.....________________________________XXXXXXXXXXXXXXXXCPX OptionsText Color:Icon Color:1616RAM Resident: Yes SaveOKCancelNoYes  . @.(XpZ PJ"BjdGENGENERAL  @@@_@@General Setup` LN/ / G*'o k7P( k0(g$AC:""""NlNNp` k0(fRE(,Hy(,Hy($Hy Hy zHy ~Hy HyHy Hy!r?BgBgtB? hNO,AC:""""NNNN&BBB BBBBB B$ &_$_NuH O o $y($BC#+5P5hNBrB@ JN~HWBg/9+ y* h4NO 8 y+α((f AN 6` A0N6JCgB@OLNuHHzp?Hy+t2???x?t?p?/ S h(NO`V MNHWCp JNXO0olr`r>Hzp?Hy+t2???x?t ?p ?/ S h(NON^`v*y($BDEH$ԂԀC( J Ho "J M0N8XOAC""HoCB@ MNXOBE`$0H tNd0H tN &REEnpmxBEK+$`JDgC)pAN`C)pAN~0H"trAN C)pAN0/8H/rANepA2IC#REEn|HWHo ???Hy+ m hNO|gYO<,H:.((v((K*L`& f2 N(H*LB`2 N&HB((Kք2pN(pm" g0`"(U$M` &L(T g$K f" g KN B f MN E,hr J N JB* תC) NN ( JN hD@B6 "J NN $W2H ЀЁ% XOL|xNuHYO.8vHW/<_FRB y* hPNPOJ@g8|f Nf*8,8N~Wf&o?/pD?N PO&` JDf N & CXOLNuH08&H$y((BC|g`FB@N2H ЀЁr 0*2*#($+$y+5@5AB@ JrN`$|f0|g|g`vN`vN:0L Nu"y((iiiC,,3|NH|@<0r<0AH|@<0@r<0AH|@<0@r<0AH|@<0@r<0AB)NuBy)Nb?N؀_3)NuNjAN NuN~AN NuH8UO$y($I) y)f vxG)`vx&LN>?tC2 Kp-NTO8R@g0NNAN y)f09+HA)"jD"`HNJ@gpy+gBA`rH jD NJ@gpy+gBA`rH jD BAp- JNTOLNu/BCN y)f69+`0NJ@gpy+fv`BCNJ@gpy+fv`BC0&Nu?/ 6E+ y)f5@ `8NXJ@gj JCgB@`pj NJ@gj JCgB@`pj $_6Nu/ / $y($jA)0gj0HC)&j,& Pf09+HA)&jD&`NG)NBJ@gpy+gBA`rH jD NJ@gpy+gBA`rH jD &_$_Nup?r@?NXOr€gpNuB@Nu/NRJ@gvy+?p@?NlXO&NuN2J@g*p?r@?NRXOr€gt`BB0y+y+Nupy)NuYOHW/<_CPU y* hPNPOJ@g pfp`B@XONuNLJ@gpy+gN`N pNuN,J@g"N1fr`BA0y+y+pNupy)Nu?/ $y($69+NN@y+gp- JN$_6NuBy)N ?N_3)NuN4NNuNLNNu/ $y($jX09)gfjX09)HA)"jt"NJ@g 09+ gBA`rHA)"j"N8J@g09+"HA)"j"$_NuH8UO$y($G)NJ@gvx(KNJ@g vxI)N~>?tC2 Lp0NTO8R@g 0NNN:J@g09+ gBA`rH j NJ@g09+"HA)"j"BAp0 JNTOLNu/BCNNJ@g09+ fv`BCNDJ@g69+"0&Nu?6NJ@gJCgB@`p3+ NJ@g3+"6NuH0$y($G+6+8+ NJNPNJ@gkgp0 JNNNJ@gk gp0 JNL NuYOHW/<_MCH y* hPNPOJ@g r.tfp`B@XONupy)NuNJ@g09+ g 0<NnNup@N"NuNJ@grBN0r@ft`BB3+ NuYOHW/<_MCH y* hPNPOJ@g fp`B@XONupy)NuNJ@g09+"@A)3,|A0NNuNJ@gAFN09,|@A)3+"Nu |!$: & (464\X:(Rp*  "(H(&8Z4^Z($  h$F  H<H*&|Nh0H* B $8P  $H< ,4     8" 2"R,6&  2 :J"B.\ jdmaccMOUSE@&H$0 & pAcceleratorratr` `N2H <04H… HB<0BNu x AHDIRf4"hVARf("x )^f )^"<.N t3Nu3Nu09m: x AHDIRf,"hVARf H"ҁҀ鉒牒뉂"x#A^Nu0)1@1@i i(@giAA1i1iBBAN 8NuH8G'oHy(/<n k hPNPO7@ k2(g"AN 0+gHC k(Nt`6 k0(fEHyHyHyHyHy*HyHyHyHyZr?Bgt?p0? hNO, jC(k0,T|b@0;N$<Tl!Rl!j!j<"@`d!j0l!j4!j8<"D`L!j$l!j(!j,<"H`4!j l!j!j<"L`!jl!j!j <"P`"<&jBBB BBBBB B$ LNuhBhZhrJ@lhBNuJ@ohZNuhrNuBA09N t y2oy Nu/ $y09gNp09A j"Pr JpN$_Nu"y()@fhX`hXJ@g6hjp@1@1@BA1A1A1A1A1AB1A1AhNuhjB@1@1@r1A1A1A1A1AB1A1AhNu/ $y09gN j| P09nNNrp JN*$_Nu09lh`F09o hJB@1@1@z1@b1@h`hJp1@1@z1@b1@hNu)@g,rhg)A`)Aphg)A`)Aphg|NuB)NuH>O,o<$yBCK,0-f mpN` mCD&Ip&Q Mp Q5V5n m( H JN m0( JN20-H;@2-XH;AXMBp ?t??-r?p?/ V h NOp0- j"P m(gj`j m(@g0r@5A5Ap m(Agjp m(Agj`B@5@5@r5A5AAN8-;DBJDfx JN0-m0Br?t??r?t?/ V h NO j| P0-BN"rB@ JNGBm;|Ho Bg/ V h4NO |f o) fp%` o fp$`|2YA|+bA2;NF0"rXh (M"L JNvv$`@IDv%`6Bg V hDNTOJ@g`(M"L JNL0,9@rD// V hHNPOJ@g("L mN0,H9@ MCDr"Q`0,H9@t2*:|p" JN>`p m@ @ `p m@ @ `B m@ @ `xpjJg 8-BBmB`*;DBHzp?r??-t?p?/ V h NO JNrp JN&`&;|Hzp?Hynr???t?r?p?/ V h(NO`;|Hzp?Hynr??t??p?t?/ V h(NO`HzRHynp?r?t?p?/ V h,NO`;|ANHoCp JNXO0o l6`6Hzp?Hynr???t?r?p?/ V h(NO`" m0- JN,rp JN`;|Hzp?Hy@r ???t ?r?p?/ V h(NO`;|Hzp?Hy@r ??t?r ?p?t?/ V h(NO`HznHy@p ?r?t?p?/ V h,NO``;|ANHoCp JNXO0o l6`6Hzp?Hy@r ???t?r?p?/ V h(NOJCg2H ЀЁr 4,9B"L mNB@OL|NuhhNuPhNuH0$I86"H&J&&A@ JN20 JNL Nu/ $HpON"J""$_NuH4QO*H6&I8:E~$ f(HoCNXO2H ЀЁ?u?u` KC""4BZA"JPJ""44#p/NPOL,8NuH4QO*H6:&IE~$ fHoCN4XO2H ЀЁ?u?uBDtu gx`b2H ЀЁ ug ug ug uf2H ЀЁ u 4(lxB`2H ЀЁ45 JBl8SD20CAN` KC""44A"J""#p*NPOL,8Nu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu/ /?<&NN\O$_NuA~00p`4/ #3~p,a "_2"o2Nu#3~p4`3@@A CB@22220<"< NBA~0Nu~~  `Pn~FP899:99@99CHKHRZHbjHpw}e6@?89z^y|>9qa`p99qaWju^9@@# 0  ($$  @8D 889qaWju^99qa`p9`檫XUW/V'GUY쪪3UQv?SUX6 8?"0'G`'`w  `\  Witz}>~^|omNHH      q&  !@@ @     @  @  !@@ @@@! #"" ! &$% %  #   '/! )((' +**) -,, + .Q/Q&q d$FfvMACCEL.RSC5Stacy30SaveOKCancelAbbruchSichernAnnullaSalvaAvbrytSparaCONFIRMARAnularGrabarCONFIRMEAnnuleSauve[1][You must run the Mouse|Accelerator program|before you can configure|it with this CPX.][ OK ][1][Der Mausbeschleuniger|mu gestarten sein|um Ihn mit CPX zu|konfigurieren.][ OK ][1][Vous devez excuter le|programme acclrateur de|souris, avant de le|configurer avec le CPX.][ OK ][1][Debe ejecutar el programa|Acelerador de Ratn antes|de que pueda configurarlo|con el CPX.][ OK ][1][L'acceleratore del mouse|deve essere caricato prima|di poterlo configurare con|il CPX.][ OK ][1][Du mste ha startat|musaccelerator programmet|innan du kan ndra dess|instllningar.][ OK ]b  6f d:0`Z:2^L"v dPHONMODEM @"  @AD@AP! @ HC  pModem Setup`PNH0Gv'o k0(gR hLN'@APCp "Q2NNBC` k0N XRCk.m0+N7@p`Ez k0(fLHy~HyzHyHyHyHy HyzHy.Hyr?BgBgt? hNO,AnN $RjrN8N >J@fN NJ@g jr0*r` jr0*rN k hLN'@APCp "Q2N8BC` k0N :XRCk.m0N7@N&BBB BBBBB B$ L Nu/ / C i|E4r 42J&h& 42J&hT& 42J&h& 42J&h& 42 J&h,& 4J$ht$ &_$_NuH>OBCI$lG40+VNpNJ@g*l,l "N MN  o65P5hrB@ JN @HoBg/ k> h4NO 8W@|b@0;Nx0rBg k> hDNTOJ@gz*/Hy4 k> hHNPONtrjJp JN 8`vNjb`vN~jz`p?tr VCAprNTO`p ?tr VCAprNvTO`^p?tr VCAprNTTO` SWr?tCAp rNTOpWr V7 `pjrfN:N26r ?tCT Lp2+pNTO0+TkVg7@VN60+VNNBAp JNDBAp JN8BAp JN,BAp JN BAp JN`0|f*0/|g U@g|g`N`vN`vN$JCgB@OL|8NuH>O:*H>/I8v$yzBWNG 2H ЀЁA"K""Ho "K J0N XOIA"L""Ho"LB@ JNXOBF`$0H uNFd0H uN4&RFFnpm>BFM`0gC*rAN`C.pAN0H"urANHC1pAN60/BH/rANepA2IC#RFFn|HoHo? o??Hy""n iNO8R@g o0 o0H4H"ҁ҂"r "0 JBANB|g0.N0OL|NuA4C^p "Q2Nu?/ E j hLN$BC`p AC""2 R0NXRCjm0*Nt5@$_6NuH E j hLN$N*6BD` R0NVXRDjm0N25@NZLNuHy/<_MCH yr hPNPOJ@fBNu x h3pNu yepNuB@NuH0O$yzG4 k> hLN'@XN68NBp AC""2BE` kX0NXXREkpm0Nz0+VNƸkVgp JNp V2sg JpNlp V2/sg JpNTp V2/sg Jp N

J"BNdPRNTPRINTER     ;888Printer Setup` TN/ / G*'o k0(g*A C4$I$$$A( A4Np` k0(fREPHyPHyLHy &Hy Hy Hy *Hy Hy LHy r?BgBgt? hNO,A4NtA4C("""N&^BBB BBBBB B$ &_$_Nu/ / Cf iE^0H&hT&0*H&h&0*H&h&0*H&h,&0*H&ht& 0* H&h&&_$_NuH8O o(BCIf$l5P5hNprB@ JNG^HWBg/ k h4NO 8W@|b@@0;N444444444444,4tBg k hDNTOJ@g p /Hy^ k hHNPONZ KNtrjp JN`v KNj2`vN:jJ`p?t"Kr LpNTO`p?tCrApNTO`p?tCrAp NTO`p?tCrAp N|TO`dp ?tC rApNbTO`Jp ?tCrA pNHTO`0|f*0|g U@g|g`N`vNl`v KNJCghB@OLNuH>O:*H>/I8v$yLBWG H$ԂԀC( K Ho "K J0NXOIA"L""Ho"LB@ JNXOBF`$0H uNld0H uNZ&RFFnpm>BFMF`0gC=rAN`CApAN0H"urANnCDpAN\0/BH/rANְepA2IC#RFFn|HoHo? o??Hy"n iNO8R@g o0 o0H4H"ҁ҂"r "0 JBANh|gAN0OL|Nu?/ $HpN^6|0*@R2*IA4*JB2*IA4* JB@0N($_6Nu/ $HpNr@44B|5B2A|5A4B|5B2A|5A4B|5B $_NuA^CR"""NuARC^"""A^N:Nu/ / O$yLG^ KC""" KN\N*0Sg JpNf0/kg JpNT0/kg Jp NB0/kg Jp N00/kg JpN0/ k g JpN O &_$_NuH0O$H6H"ҁҀCA HoC J0NXOHW y& h8NXO&@`& KC""Cr0 JN y& hHz Zp?HyrJt(?Bg?p?t6?r5?/ R h(NO`jHysp? R hVN\OpNHz HyrDp(?Bgr?t?/ R h0NO`Hz dBgHyrDp(?Bgr?t?p?r?/ R h(NO`Hz 0BgHyrDp(?Bgr?t?p?r?/ R h(NO`AN HW"Np KNVXO0/Wlr`rHz&p?HyrFt ?Bg?p?tA?r@?/ R h(NO`ZHysp? R hVN\OpN HzHyrHp ?BgrH?tG?/ R h,NOHysBg R hVN\O`Hzp?HyrHr ?Bgt?pI?rH?tG?/ R h(NO`Hzp?HyrHr ?Bg?tJ?rH?pG?/ R h(NO`AN HW"NpH KN 2XO0/Vlr`r>HzFp?HyrHt ?Bg?p?tH?rG?/ R h(NO`>A.N `2|f,0/ |g U@g|g `A N$` NP`N8vRJCgB@OL\Nu/ / $y.GrHzp(?Bg?+r6?t5?/ S h NOHzTp ?Bg?+rA?t@?/ S h NOHzlp ?Bg?+rH?tG?/ S h NO&_$_NuHO6&H$y.Mrz".8g$.2)hh9A 0,iS@9@ ?@4, iSB9B?l ?BNjAr0,vNdN0<NDHyrHy."K Lr0,vNPO0<NNpOL<NuH0$y.GrD0+NBC8 kmvk`xkr A0NJ jd rBAp9 JNr A0N( j| rBAp: JNANL Nu/ / $y.Gr k(Lf p'N` 0+LN|r K0+LN j rp JNVADN@&_$_Nu/ / $y.Gsr K0+EN j$ BApA JNAN&_$_Nu/ / $y.Gsr K0+DNT j BApH JNAN&_$_Nu/ / QO&H$y.Hk"yr i8NXO&@`B KC"" y(rDf Ap'N` A09rDNCrp JNx yr h> >p9@  @ ~@8q`נ```` @ @ @  xt` 01 `00` ??s;;;9}}}}`0`   h@@g7/`7_u|80x0     p     ?ß 3@OACg       }A׀ 2"b@`p??π=>**p*x*8x* x+ Ox)x)x+x/'%'%88 P `@@@8G@` 0 1` ?< /@_xx| | |>|s=€ -@-q@/X1@+@3X33X3X܀X ݀X@!91p@! `c8 0``0~@?xp=p=8== =(=(=q:22H28H87PpAPA`? `28f @`00 `?????????8?〘???yx?0တ`PӰX((Ѱ``(d`x$8&" #`!@ ` 0p?8||||~~ ~ ~ ~@~@^ v*?7?-+  }\@? 8  <0  0  p   `p77777777  MA  2     A @@@@ A  1A          !"#$% &'()* + ,-./ 0 1 ?34 4@25=A766@  5@8@ 9L:; <R=@ 4>>= F@DA BAA@@@C@D@?EEDMGKA IHH@G@J@K@FLLKNPA POOA NMQRA  RP% Nv.!#VUSA.RSC8   0 d Volume000000Balance00Bass00TrebleSaveOKCancelsRtxuuj^>R JJ .6Z, ,4Z, .6Z, "6Z*T~hL^4,828"$R6: <0 >62 JJ"Bjx(6B "   dWCOLWINDOW7ڪ7+p7#1?DD##`?i#i55è_ۨWWindow Colors` TNQOAN0/fPONu2H <0<0gRH2H HA<0BNuH0$H6&IH"ҁҀC K Hk"K J0N`XOL NuH0O$H8<>/,:/.&ICNC0 JNFf0/ o4H"ҁ҂5`N/0/oH2GHN""뉒Ҁ 4GRBH"뉒҂N4H"ҁ҂5 gNOL NuH8O&H:68(IE"J0N BF2H ЀЁ s 4(l<20"J JN ?/:?/:"L420 KNXOI"L0 KN20"L LN"Lr0 KN0Rl|`BF"L JN2J@gSl0,jJFgRC0 KNrC JN Cr0 KN5|"Jrp KNpoj"Jr KpNlA6 Pf|g|g|f P+g P.g P-f rp5 KN0OLxNuH:O&H?@?A<:/F$I6H ЀЁ s hh?? K0/ 2/4N~XOI"L0/ KNC0/ KNM NN.0WS@?@`>oTn8`T0lo@m8`B/0FR@H2THN""뉒Ҁ 4,oH"뉒҂N(FDg64??"oL42/0/ KNXO NN0.fp2/H ЀЁ s hh??4 K0/ 2/NXOOL\NuH6O&H68?B>/B:/D,I$oFCNtC0 KNjK MN0/HW2@lp`pOE6 0* g84H"ҁ҂ j"p 3j2H ЀЁ j"p 4)l66`22H ЀЁ j12H ЀЁ j40 JBl6I"L0 jN20"L LNK R f`M L"M&I&& N Cp jNl"MANpmnnrmTl4.l"N j0rNj NN(`4 Rg R f( L"M""Cp jN "MANpmTl"Lr0 jN LNO L|NuH 68E6H$ԂԀ R"p( Q0NJDf 2H ЀЁ R"p ii`2H ЀЁ R"p ii04H"ҁ҂ R"p i|iLNu096y6|HHy6296pNJNNu096y6|Hy6296pNNNu096y6|y6296pNNNu/ E60*g4*H"ҁ҂ R"p 5i`2*H ЀЁ R5pN0*H| R"hi|Hirp RN0*r h|5@p2*Ndp?Bg4*r RpNXO0*H|5@2pN6p?Bg4*r RpNXOpj5@2pN p?Bg4*r RpNXO$_NuUO>C66r@Qe H|S@g(0H|QerWSAg0H|QerWQeWW0TONuYO?@>I|gDC66tWQe poS@g$poQerWSAgpWQeroQeWW0XONuH E6> R0ND6 R0(N88??r?B@rN\O R0(N6 R0(N8??r?B@rN\O R0(N6 R0( N8??r?B@rNf\Ov R8(??p ?rB@NL\O R8(??p?rB@N4\Ox R0( N6??r?B@rN\O R0(Nt6??r?B@rN\O R0(NV6??r ?B@rN\O R0(N86??r ?B@rN\O R0(N6??r?B@rN\O R0(N6??r?B@rN~\O R6(??p ?rB@Nf\O R2(0N6??r ?B@rNF\O R6( ??p?rB@N.\O R2("0N6??r?B@rN\OLNu/ E6"R"i3h"R"i3h"R3h."R3hF"R3h ^"R3h "R3h"R"i3P"R"i3h"R3h"R3h."R3hF"R3h^"R3h"R3h"R3h "R3h""R3hrB@ RNN$_Nu/ / A6C$$P$j&Q7j$P&j$Q5k$P&Q7j.$P&Q7jF$P&Q7j^ $P&Q7j $P&Q7j$P&j$Q4$P&j$Q5k$P&Q7j$P&Q7j.$P&Q7jF$P&Q7j^$P&Q7j$P&Q7j$P&Q7j $P&Q7j"$P&Q7j&_$_NuH6OpNTE6 68KAC&I6::* GMRg0Q@|,b@0;NZZZZZZZZZZZZZZZZZZ Rg 5WN5U42H ЀЁ V pg pg pg pfp`B@5@ J@g4H"ҁ҂ V"p >`2H ЀЁ V>NP` Rg5WN@5U4 KN ?+4rB@ VNTO62+f̑B@N45E O Ll8NuH:OBCI620NrHA1)p MEG`TBEHy6?/ l h4NO 8 T",f $,g2 TAC""ؓrp TN rp TN ԓrp TN ȸ|f(0,|g|g| g`x`x`0, |?gn<|;gn|g| gΐ|g`ΐ|<g\|gV|gP`|CgFn|@g>|g8|g2`|Dg(|g|g` l$N`xA!N`j2, A0@AHA!DANz`J2,0@AHA TN``0 l hTf$tr Th:pN >>>>>>>*********Bg l hDNTOJ@g@NFN l$2,0@AHC Tt "QHxHy T l hHNPO`BCt T2(:|pN 6`NNJv2H ЀЁ Tp `z T1|5 T1| TBhh T1| T1|@ T1| pJEf, T1| T1|5h TBh T1|5 T1|` TBhp"Np5 TNBE T0(H@l:20"N NN42H ЀЁ T pg pg pg pfp`B@9@"TC T0N|HoCB@ TN XO0/ Th0 Th rp"TC TANjC p5 TN820C A NNN`"NrB@ TNNC rB@ TN@`HoC0 TN XOzD0,H|@gf0l|Hl0,g&04H"ҁ҂ T"p i|Hi` 04H"ҁ҂ Tp|HpNNNAN(?4/rp TN TO8R@f8,L||0/fV` T"h0)H|g T"hii` T"hii T"h0)H|l|Hl0,g.0,H|4H"ҁ҂ T"p i|Hi`(0,H|4H"ҁ҂ Tp|Hprp TNNRN@`Hz,p?BgCtr TpNPO`2,pNvHzp?CBBr TpNH\O`Hzp?BgCtr TpN|PO`n2,pN0Hzp?CBBr TpN\O`HHzp?BgCtr TpN8PO`*2,pNHzp?CBBr TpN\O`NJCgOL\8Nu// y1E62|bA2;Nfl"R"i""R"i""R"i""R"i""R"i""R"i""R#h\l"R#ht"R#h<`\"R"i""R"i""R"i""R"i""R"i" "R"i"$"R#hdl"R#h|"R#h<`"R"i""R"i""R"i""R"i""R"i""R"i","R#hll"R#h"R#h<`"R"i""R"i""R"i""R"i""R"i""R"i"4"R#htl"R#h"R#h<`T"R"i""R"i""R"i""R"i" "R"i"$"R"i"<"R#h|l"R#h"R#h< R"h QN& R"h QC0 R h R"h QN& R"h QC0 R h $_&Nu/ / OG5'o~N y6`mp`B@7@&BBB BBBBB B$`n k0(T|bT@0;NJJ&2> jpN`8 jpN`, j pN` jpN` jpNv` RpNlp` Or&_$_Nu/ oC6.$I$$ y6A y50(TN36 By6 y6>N6N>B@$_NuH0$H&I2j0kN62*j0+kN820N:2*0+NxEor`BAg@or`BAg67@7C7D0L 8NuhhNuPhNuH0$I86"H&J&&A@ JN20 JNL Nu@oNu0Nu@lNu0Nu?/4h6(hPmhm @oAox`BD0(6NuYO.A700pNBXONu/ $HpON4"J""$_NuH4QO*H6&I8:E7$ f(HoCNXO2H ЀЁ?u?u` KC""4BZA"JPJ""44#9Zp/NPOL,8NuH4QO*H6:&IE7$ fHoCN0XO2H ЀЁ?u?uBDtu gx`b2H ЀЁ ug ug ug uf2H ЀЁ u 4(lxB`2H ЀЁ45 JBl8SD20CAN6` KC""44A"J""#9Zp*NPOL,8Nu"HJgJgJgJgJg JgJgJf SNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu/A6BBh1|1A2<fa"_2r+2QA8Zr 2QNu1@ 0"<5psNBA80Nup `A700p`#9ZA70000p+`f/ #9Z37p,aR"_2"o2Nu#9Z37p4`4#9Z37pN`"A7000000 pi`36B@@A C6DB@22220<"<lNBA80Nu6B6`789Z;Z &r"F.z"F.z"F.z.z"F.z.z.j.z"F.z.z.j.zsK{K{K{{K{{KsK{{Kst}Du}M|}||}||\t}||\tIwDIwIwIwDDDgAwDDDgAwFtxDnHF|HF|F|HFtFtF,F|HFtFtF$F|Az|I|Ew|EwEw|EwEwD7z|EwEwD7zxhHhxhxxhxxixhxxixqaaAqAqqAqqaqAqqaqq0AC0Aq0Aqq0AqqQ130AqqQ13s}4U|{zr#t{EvzgVwy|-~111111111111111111111112222 2 2222222"2#2$2(2+22272@2F2N2T2Z2a2e2h2p2x22222222222222222223333#3*333:3>3A3I3O3Z3`3g3n3v3}333333333344U455o`abcde   ppp !"#5             @ @    @ @  @ 5 @@p@@4*) @Q  @@Q  @@Q  @@ '&   @!@"@!#@1$@A%@Q&@a@q( )    /+. ,@-@ .@*@403 1@2@3@ /@@ `8N  * $ %&'() *  +  , -  * . /012 34 5 6  7 "!* 8 9:;< =>  ? !@ A -#,*&$B%C &D'E(F )G *H +I ,J "K 8.7*5 /L 0M1N2O3P 4Q5R 6S 7T -U 9B*B :V ;W<X=Y>Z ?[@\ A] B^ 8 _ 6WCOLORX.RSCJSaveOKCanceldow Info Window Info131313 Mode Border Text Fill USAOKCancelSave Window InfoBorder Text Fill Mode FRGOKAbbruchSichern Fenster InfoRand Text Fllen Modus FRACONFIRMEAnnuleSauve Fentre InfoBord Texte Motif Mode SPACONFIRMARAnularGrabar Ventana InformacinBorde Texto Llenado Modo ITAOKAnnullaSalva Finestra InfoBordo Testo Retino Modo SWEOKAvbrytSpara Fnster InfoRam Text Bakgrund Lge [1][You can not set the|colors of windows|in this TOS version.][ OK ][1][In dieser TOS-Version|knnen keine Fenster-|farben gesetzt werden.][ OK ][1][Vous ne pouvez pas dfinir|les couleurs des fentres dans|cette version du TOS.][ CONFIRME ][1][No es posible configurar|los colores de las ventanas|con esta versin de TOS.][CONFIRMAR][1][Non possibile impostare|i colori delle finestre in|questa versione del TOS.][ OK ][1][Det r inte mjligt att ndra|frgerna p fnstren i denna|TOS-version.][ OK ]6B7;r88Z"X  ^Nx0n* :L"(   .dNDIC(c)1991 SDS $&fDL<4d@Newdesk Icon CPX`Ix0NNV#cPN< ycP0(g <` ycP0(fJHy[2Hy[&BBHyTpHyT HyLHyQNHyT~p?BgBgpG? ycP hN,#oBoBoBoBoBoBoBoBoBo <oN^NuNVBn#[&I`#[*I6#[.IhHy_HycTNAPOHy_HyH~NAPOHnHnHnHnN=3cLBn n l0.RnHAop0`p3op?NNTOT@3oHyp>HycLHyoN?\ p??9cLN@XOp??9cLN@XOp??9cLNAXO#I`o yo h `"n yo1Q"n yo1iHycTNXO=@ nfjBy[b yo h ` yohZ yoh yoh yoh yoh yoh yoh3[b[d09[by[d3[f09[boN&p?Bgp??9[bp ?p ?/9o ycP hNHy?9[bp??9[dp ?p ?/9o ycP h$N n?( n?( n?( n?p?Bg/9oN>N0.fHnBg/9o ycP h4N =@ ng0.@gn0.U@ @b H0@I PN`Hy`p? ycP hVN\OBp?N>^\O=y[dHyHy[d?9[bp?p ?p ?/9o ycP h0NHy`Bg ycP hVN\O09[by[d3[f0.ްy[dg N&`HnHnHnHnN>"HnHnp ?/9oN>0.nlp`p=@HyBgHy[d?9[bp??.p?p ?p ?/9o ycP h(N09[by[d3[f`ZHyBgHy[d?9[bp?p?p`HyBgHy[d?9[bp?p?p` yoh*#Iho"n yo1Q"n yo1i n?( n?( n?( n?p?Bg/9oN>HnBg/9o ycP h4N =@ nft0. @oh #I`o"n yo1Q"n yo1i n?( n?( n?( n?p?Bg/9oN>`F nf>0. @g @)f.#I`o"n yo1Q"n yo1ip=@ nf ng ng`"yoC N!!!!HnHnp ?/9oN>"yoCA!!!!HnHnBg/9oN>HnHnp??9Idp?Hy[ ycP hN=@ ng,=yId3Id yo h0.HC[ yoh?.?.?.?.p?p ?/9oN>0.ްn`"yoCh N!!!!HnHnp?/9oN>"yoCA!!!!HnHnBg/9oN>HnHnp?p?p?Hy[j ycP hN=@ ng ?.N TO yohZ?.?.?.?.p?p?/9oN>` yoh09[hg yohP yoh yohh"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>By[hN yoh` yohp3[h yohP yoh yohh"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p`p"yoC N!!!!HnHnp?/9oN>"yoCA!!!!HnHnBg/9oN>HnHnp?p?p ?Hy[ ycP hN=@ ng\0. @bRH0@I* PN`BN6`:N8^`2BgN0bTO`&p?`N(`N+`/.N\XO=@ yohr"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p`4 yo h/09[f c/NAPON`09[bo09[hg0. @oh yoh yohP yoh yohh"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>By[hNBn`RBnHnHnHnHnN>""yoCH N!!!!HnHnp?/9oN> nf2.RA0.AH=@2.RA0.AH=@ n l> n l60.m00.m*?.?.NXO=@ nfBn` p=@`Bn nf~ n l, n l$0.m0.mp??.?.?.N POHnHnHnHnN>"2.RA0.AH=@2.RA0.AH=@`| nf09[hfHnHn?.?.?.?.?.?.p?p?N=r=@p??9cLN@XOp??9cLN@XOp??9cLN@bXOp??9cLNAXO0.nR@HHn=@0.nR@HHn=@0.R@3<0.R@3>0.@3@0.@3B0.gB?<N>^\OBn nlJHy^\O09[f"Aq0.nR@H009[f"Aq0.nR@H0p??9cLNAXO`N/*`0. @oh yohP yoh yohh"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>By[h yoh"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p?`p=@ yoh` nf0. |I2<`XHXW`0. |IJ2<`XHXW`N' N`lBgN0bTO`dp?` yoh09[hfHp3[h yohP yoh yohh"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p`N(`N+`/.N\XO=@`BgN `:p?`p`p`p`p`p`p`p `p`?9cLN?TOB@N^NuNVBg/.p=?NAPO-@ lp? ycP hDNTOp`HyIp$/0.?p??NA -@3I[b $f yIn09[bg y[bo"p? ycP hDNTO0.?p>?NAXO`p?0.?BpB?NA -@/.pH?NA\O#c 9cfp`BBg0.?BpB?NA /9c/.0.?p??NA -@ .g$p? ycP hDNTO/9cpI?NA\O`XBg0.?09IH/pB?NA Hyq09[b"H/0.?p??NA -@09[b"HfBg0.?09IH/pB?NA Hy~09[bHH/0.?p??NA -@09[bHHf4Bn0.y[bl0."Cq29IH0."Aq ~"0."Cq29IH0."Aq ~"0."Aq йc-@0."Aq 0."Aq/0. c/NAPO0."Aq0. c Rn` /9cpI?NA\OBc0.?p>?NAXOB@N^NuNV09[bgT09[by[d3[f09[fR@?Hy`HyzNA yo h z29[f"Aq 0Hg yoh` yoh"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>"yoC N!!!!HnHnp ?/9oN>?.?.?.?.p?p ?/9oN> yo h09[f c "yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>09[f"Hq yo!@T09[f"Hq yo!@#I6o09[f"Hq yo!@ #I`o09[hgT"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>N^NuNV y[blB@`^#I6o"n yo1Q"n yo1i09[f"Aq =P09[f"Aq 0@@@=@09[f"Aq 0@@=@09[`f0.`0.V@ @oh yo h09[f c n?( n?( n?( n?p?Bg/9oN>HnBg/9o ycP h4N =@ ng0.@gn0.W@ @bH0@J8 PN`"yoCA!!!!HnHnp?/9oN>"yoCA!!!!HnHnBg/9oN>HnHnp??9[`p?Hy[ ycP hN=@ ng0.y[`gT0.f0.V@ @oh 0.`0.V@ @oh 0.V@ @oh 3[` yo h|0.HC[ yohz?.?.?.?.p?p?/9oN>"yoCHA!!!!HnHnp?/9oN>?.?.?.?.p?p?` yohb09[`f0.`0.V@ @oh 09[f"Aq 0#I`o"n yo1Q"n yo1iHnHnBg/9oN> n?( n?( n?( n?p?Bg/9oN>N`V yoh09[`f0.`0.V@ @oh `L0. @oh 09[`f(0.V@ @oh 0.W@=@0.`&0.V@ @oh 0.W@=@0.V@ @oh 09[f"Aq 0@=@09[f"Aq 2.I0.HHnA0"yoCHA!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>"yoCA!!!!HnHnp?/9oN>?.?.?.?.p?p` nf0. @g @)fpN^NuNVB?<N>^\O"yoCH N!!!!HnHnp?/9oN>?. ?9cLN@bXO0.HnR@3<0. HnR@3>09V@3BHy^\ON^NuNV09[hgZ"yoCHA!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>`09[bgB?<N>^\O"yoCHA!!!!HnHnp?/9oN>Hn ycP h8NXO-@ .g n3< n3>"n n0iS@3@"n n0(iS@3BHy09V@3BHy^\ON^NuNV09Idf09[f"Aq`09[f"Aq-P0. HHЮ-@0.H H@r@ n 4@@B@.@@ .cp@B@.N^NuNV09Idf09[f"Aq`09[f"Aq-P0. HHЮ-@ n-P n fpn2p4威`pn2p4F n nf?. ?. ?.N\ON^NuNV/ Hy`p? ycP hVN\OBp?N>^\O09Idf(09[f"Aq-P09[f"Aq`&09[f"Aq-P09[f"Aq-P0. @ bH0@J PN`Bn n@l nT"nT0Rn`Bn n@lh"nT nT0QRn`Bn n@l@"nT nT0QRn`Bn n@l"nT nT0QRn`Bn n@l nTBPRn`Bn n@l nT0Rn`Bn n@l n0F@ n0 nT0Rn`Bn n lBBn n l02.H0.H&@?.?.NXO7@Rn`Rn`Bn n l8Bn n l6Bg2.H0.H @?(pn??.N PORn`Rn`Bn n lBBn n l02.H0.H&@?.?.NXO7@Rn`Rn`Bn n lBn n l6Bg2.H0.H @?(?.pn?N PORn`Rn`Bn n l>Bn nl.Bg?.0.R@?NXO??.?.N PORn`BgBg?.p?N PORn`Bn n lp=@0.o.Bg?.0.S@?NXO??.?.N POSn`BgBg?.BgN PORn`Bn nl@Bn n l.Bg0.R@??.NXO??.?.N PORn`Rn`Bn n l0BgBgp??.N PORn`p=@0.o@Bn n l.Bg0.S@??.NXO??.?.N PORn`Sn`Bn n lBgBgBg?.N PORn`Bn n lBBn n l02.H0.H&@?.?.NXO7@Rn`Rn`Bn n lHp =@0.m6Bg2.H0.H @?(pn??.N POSn`Rn`Hy`Bg ycP hVN\ON&_N^NuNV09[f"Aq-P09[f"Aq-PBn n@lF0.HAb0.H"@00.HAo0.H"@0Rn`09[f c/HyIRNAPO09[f"Aq 3cN09[f"Aq3n~09[f"Aq3oN^NuNV09[f"Aq-P09[f"Aq-PBn n@lF0.H @0.HCb00.H @0.HCo0Rn`HyIR09[f c/NAPO yo h09[f c 09[f"Aq 0cN09[f"Aq0n~09[f"Aq0oN^NuNV09[bf yohZ yoh yoh yoh yoh yoh yoh"yoC N!!!!HnHnBg/9oN>?.?.?.?.p?Bg/9oN> y[blFRy[bRy[d y[bfp3[dHy`09[bS@ c/NAPO?<Bg09[bS@HH~/NHPO09[bS@"Aq09[bS@HH~ 09[bS@"Aq09[bS@HR@H~ 09[bS@"Aq09[bS@ c 09[bS@"Aq 009[bS@"AqBP09[bS@"AqBP09[bS@"Aqp009[bS@"AqBP09[bS@"Aqp 009[bS@"Aqp 009[bS@"AqBP09[bS@"Aqp 009[bS@"AqpH009[bS@"Aq p0p?Bgp??9[bp ?p ?/9o ycP hNHy?9[bp??9[dp ?p ?/9o ycP h$NN^NuNV y[bfN609[bo09[fR@y[bl=y[f0.y[bl0.R@ c/0. c/NAPO?<0.HT@H~/0.HH~/NH 0."Aq0.R@"Cq 0."Aq0.R@"Cq 0."Aq0.R@"Cq 0."Aq 0.R@"Cq 00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq0.R@"Cq00."Aq 0.R@"Cq 00."Aq"P 0."Aq"P Rn`f y[dgSy[dSy[b09[bolp?Bgp??9[bp ?p ?/9o ycP hNHy?9[bp??9[dp ?p ?/9o ycP h$NN` yo h ` yohZ yoh yoh yoh yoh yoh yoh"yoCA!!!!HnHnBg/9oN>HnHnp?Bg/9oN>N^NuNV09[bo(29[f"Aq 0Hf: yoh09[f"Aq P09[f"Aq PA`"09[f"Aq P yoh"yoC N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>09[hgT"yoCH N!!!!HnHnp?/9oN>?.?.?.?.p?p?/9oN>N^NuNVHyH~HycTNAPOHy`HyIlNAPOHnHyIlHycTN=> 0.g0.fHycTHyH~NAPOp\?HycTNAJ\O-@ .g nRHHyIl/.NAPO0.fHycTN` HycTN3~XO=@ nf(0.f By[b yo h ` yohZ yoh yoh yoh yoh yoh yohBy[fp?Bgp?p?p ?p ?/9o ycP hNBp?p?p?p ?p ?/9o ycP h$N"yoCA!!!!HnHnBg/9oN>?.?.?.?.p?Bg/9oN>` yohZ yoh yoh yoh yoh yoh yoh"yoCA!!!!HnHnBg/9oN>?.?.?.?.p?Bg/9oN>3[b[dBy[fp?Bgp??9[bp ?p ?/9o ycP hNHy?9[bp??9[dp ?p ?/9o ycP h$NNN^NuNVBg/.p=?NAPO-@ .lp? ycP hDNTOp`DHyIp$/0.?p??NA -@=yI $f yIn0.g09[bn @o"p? ycP hDNTO0.?p>?NAXO`p?0.?BpB?NA -@/.pH?NA\O#c 9cfp`@Bg0.?BpB?NA /9c/.0.?p??NA -@ .g$p? ycP hDNTO/9cpI?NA\O`XBg0.?09IH/pB?NA 09[b"q/0."H/0.?p??NA -@0."Hf~Bg0.?09IH/pB?NA 09[bHH~/0.HH/0.?p??NA -@0.HHf Bn0.nl<0.y[b"Aq29IH0.y[b"Cq09[bHБ~ 0.y[b"Aq29IH0.y[b"Cq09[bHБ~ 0.y[b"Aq йc-@0.y[b"Aq 0.y[b"Aq/0.y[b c/NAPO0.y[b"Aq0.y[b c Rn`/9cpI?NA\OBc0.?p>?NAXO0.y[bB@N^NuNVBy[b yo h ` yo h `! yohZ yoh yoh yoh yoh yoh yoh yohP yoh yohhBy[h yohBy[fp?Bgp?p?p ?p ?/9o ycP hNBp?p?p?p ?p ?/9o ycP h$N"yoC N!!!!HnHnBg/9oN>?.?.?.?.p?Bg/9oN>N^NuNVj09[bg09[bR@ @fp? ycP hDNTO`Hy`"HyIlNAPOHyH~HycTNAPOHnHyIlHycTN=> p\?HycTNAJ\O-@ .fp`0.g< nRHHyIl/.NAPOBgHycTp=?NAPO-@ .m0.?N;8TOHy`#HypNAhPO0g$p? ycP hDNTO0.?p>?NAXO`0.?N;8TOHnrHypNAXOHp/N;PO0.?N;8TOHnpHypNAXOHp/N;PO n rfp n pffBnn0.?N;8TO0.?N;8TOBn nl0.?N;8TO0.nH @HhtHypN;PORnn0.nH @HhtHypN;PORnn0.nH @HhtHypN;PORnn0.nH @HhtHypN;PORnnRn`Z0.?p>?NAXO09Idf09[f"Aq`09[f"Aq-PjBn n@l$0.H @j0.H"@0tRn`NN^NuNV-|p/.p/?.p??NA =@ ngB9p`B n  f* nB nRH/.p/?.p??NA ` nRH`N^NuNV n BPBn nl^0n 0m(0n 9nrnI0nH@0`rnI0nH@74h n PRn`N^NuNV3D0.@ HJ-@p=@ nl$0.HCD nRB@2Rn`/9`N? XO09lN^NuNV#D`#o`#L`#l`#I&`#I2`#``p ?N<,TO3lI09IN^NuNVp?N<,TOpN^NuNV3L3 Np?N<,TON^NuNV#I&# I*pZ?N<,TO n0n09lN^NuNV3L3 N3 P3R3T3V3X3ZpG?N<,TO n0n n0p09lN^NuNVpM?N<,TO n0n n 0p n0r n0t09lN^NuNVpO?N<,TO n0n n 0p n0r n0tN^NuNV3L# I&pN?N<,TON^NuNV#I&3 L3N3P3R3T3Vp*?N<,TON^NuNV#I&3 Lp,?N<,TO n0n n0p09lN^Nu"/0<NBNuNVpe3I:ByI @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |L82<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NE^PO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ NE `p ? n// NE *@X`p`p`/ ?./.?NF: *@P`fBn n-Pf-|`>X .-@*@g0.m noS`(Bn nT0` n//.NAPO`n ./0.Hї =@lBn0.fL0.g0 n0f( n -f/. nRH? n hN\O0.Sn0g /.?.` nd /. nRH? n hN\O`0.g0.Sn0g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @L>`?Bg _Lg nR` .L N^NuNVH0*n>.IB$p0//. NH PO-@g$p0//. NHhPOAL-n ` n Lg` L0N^NuNVpL?Hy`Fp?NGbPOp?NG,TON^NuNVNF:N^NuNV/ *n .*+@+|GB-0. D@;@ m l;| +|F`+|F *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNVNGF?.NGNTON^NuNVN^NuNV?.pL?NAXON^NuNV/A#`/9`NIXO0gB`p 3bp`,/. 0.H/?.p@?NA .B`/NGXO.N^NuNV .l .D3bp` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o "o2/ gm H` QNu!QNuNVH >. <.*n0SF0g` .L N^Nu O$X"XHB@Nu o0/L.Nu ;<=N>?z@ABCD TUVWXYZ[\]a;NH)5N L N, vvdLLLLLLLLLLLLLLLLN!`!!!!""<"h# %X#$$r$ DCODUCXD cDldCbeDfDgDoCrD~sD.uCxCDB0123456789ABCDEF[[\\\\\\*\7\;\<\=\B\C\D\a\b\c\k\l\m\s\t\u\{\|\}\\\\\\\\\\\\\\\\\\\]]](])]*]C]D]E]b]c]d]]]]]]]]]]]]]]]]]]^^^^4^5^6^I^J?π|>>|>||>π? !A@  @@  @A! ?π|>>|>||>π? !A@  @@  @A! ?π|>>|>||>π? !A@  @@  @A!  $&fDL<4d@    !"#$%&'(*+, /01#23456789:;<=>?@ABCDEFGHIJKLMNO!PQRA  HA  H-A  H B @   @@ H   @ @ $             @C  `   B            C     $     )       `  B 1  .           6MNnNOnOPnP^K^R^a^p^^^^^^^^^___$_)_._7_@_P_`_p_________ICONFORM.ICNClick To ExitICONFORM.ICNICONFORMNAME____________XXXXXXXXXXXX199DataNewdesk Icon CPX (c)1991 SDSEditingToolsOtherOptionsSaveAbandonCancelForeEditingNewdesk Icon CPX (c)1991 SDSOKICONFORMNAME____________XXXXXXXXXXXXICONFORM.ICNOKNewdesk Icon CPX V1.01 (c)1991 SDSWritten by Scott SandersDemo Version (Save Disabled)To order contact your localor SDS direct at:Software Development Systems996 Redondo Ave. #404Long Beach, CA 90804Order: (800) 237-4SDSInfo: (213) 595-9799Retail Price: $19.95 + $2.50 S&H(CA res add 8.25%)!!!!!! Copy Logical And Logical Or Logical Xor Clear Fill Invert V-Flip H-Filp Rotate Shift Left Shift Right Shift Up Shift Down DataMask Data Mask Clear All Add Icon Delete Icon Icon Color Load .ICN Save .ICN Load .RSC Merge .RSC Save As .RSC ForeBack Fore Back C:\DESKICON.RSCC:\*.*%dUntitledDESKICON.RSC/* GEM Icon Definition: */{NULL} You must compile with the -f option to include printf() floating point!  0I           4 >     0&  0$ 2    $  $ "  " $ *   $   " " " dZD2   B     "  ,   $ 02 D","         " " "     "    ,>   " $ &   .  ("  " P"  ,  j  r   NZJZ<64.4,DX      .                         " "     &     *D", B J               &   * &    &"  <*             rFP( LD" $ | 2 &Rdd======================================================================== NEWDESK ICON CPX DEMO RELEASE (c)1991 SOFTWARE DEVELOPMENT SYSTEMS WRITTEN BY SCOTT SANDERS ======================================================================== Thank you for taking the time to download our product demo. This is a full working version of our product with the save features disabled. We hope you enjoy it. If you have any comments or suggestions, please direct them to the address below. Requirements for use: Any Atari Computer with Newdesk (generally this means a Mega STe, TT, ST Book, etc...) Atari's Extensible Control Panel (named XCONTROL.ACC, available on GENIE, Compuserve, or your local dealer) Installation: Simply copy the file ICONDEMO.CPX into your folder of CPX's and either reboot or instruct the control panel to reload CPX's as directed in the control panels' instructions. If this CPX does not appear you may need to increase the maximum number of CPX's loadable in the control panels' setup dialog. Usage: This program is very self-explanatory. Upon selecting it, it will attempt to load C:\DESKICON.RSC. If the file does not exist it will display a file not found error and will then 'grey' out many of the options. You can still load icons under the menu option 'OTHER'. The check mark in the lower-left corner will allow you to preview your icons. The 'C' button in the lower-right allows you to toggle an icon character on or off (like the drive identifier on a disk drive icon). To place the icon character move the mouse over the drawing area, press and hold the right mouse button and then press and hold the left mouse button. A box will appear which you can then place by releasing both mouse buttons. More information about the program can be obtained by clicking on the title line. Both save features are disabled in this demo version. Have fun experimenting with the rest of the features. Ordering and Information: Check with your local dealer or contact: Software Development Systems 996 Redondo Ave. #404 Long Beach, CA 90804 Order Line: (800) 237-4SDS Tech Line: (213) 595-9799 The NEWDESK ICON CPX has a retail price of $19.95 with $2.50 shipping and handling (CA residents add 8.25%). Dealer inquires invited. Sorry, no credit cards but COD's gladly accepted. dCL03MOTOROLAuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuױuIDENTIFICATION`,,NNV#FNx z.0(g <` z0(f>Hz >Hz 2HzHzHzHzHzHzHz~p?BgBgp? z hN,# J# 8#lBpBtBxB|BBBBB <lN^NuNV:f#r# XJ` z` h N^NuNVBnN"n z>1Q"n z21iHz "Hz Hz Hz p?BgND n?( n?( n?( n?p?Bg/:NHnBg/: z h4N =@p3?:Tp?NAXO/.Hn?.ND =@0.gB@N^NuNV0. @x-h ?: p?NAXO n N^NuNVJBn-| Z-| V ng0.@gp3 n0.S@ @bH0@t PN`p=@ z hj` z h"B.^/.ZHn^NfPO/.VHn^NXPOHn^p?N|\O=@J?:Np?NAXO nJf6# # J"n z 1Q"n z |1i?:p?NAXO n?( n?( n?( n?p?Bg/: BN$` z 2 f: z (h# hJ?:p?NAXO"n z 1Q"n z 1i` z fzp?NXTO-@Rp-@L nRoR/.L/.R z hHNPO=@P# J"n z 1Q"n z 1i z h R?: p?NAXO# J`b nf0 n 0 |V2<`XHXW`>p=@?: p?NAXO0.N^NuNV30.@ H-@p=@ nl$0.HC nRB@2Rn`/9 4NXO09N^NuNV# #N # $# (# ,# 0#  4p ?NTO309N^NuNVp?NTOpN^NuNV3# p4?NTON^NuNV#3 33333p*?NTON^NuNV33 ph?NTO n 0 n0 n0 n009N^Nu"/0<NBNu"o o JfSfNuBOGDAN LEWANDOWSKI>)5\HZZ   # 2 2B  As  !b A G!     B  s  !b A ! GE (IDENT.RSC 7 9 ; = A D xThis Computer Systembelongs to:1234567890123456789Enter your name...ExitSave@@@@@@@@@@@@@@@@@@@>___________________XXXXXXXXXXXXXXXXXXX O*CPX [2][ | | Who moves first this game? | ][=> CPX <=|=> You <=][0][IDENTIFICATION was written | in Mark Williams C by | Tom McComb | of| @ircular Logic][> uh-huh <|= init =] 0,tree1_8 intin_< c_ intout_< ctrl_cn_rs_iconblk_Berrno_<desk_>handle_button_objc_draw_0form_alert_ rs_tedinfo_dxcpb_Fptsin_Jcrys_if_ptsout_Jtree_Jglobal_Ninitialize_rs_frstr_,menu_items_ cpxinfo_ltreesav_rs_object_st3a_ rs_bitblk_0st3b_ click_flag_ appl_init_control_int_in_int_out_crystal_rs_trindex_l rs_imdope_t appl_exit_cpx_call_ad_c_4 Mbuffer_save_vars_alert3_ctrl_cnts_rs_strings_acur_text_gl_apid_addr_in_pname_z wind_get_|strcat_addr_out_contrl_get_ted_str_cur_item_rs_frimg_>cpxstartpcur_text_cpx_init_bell_ hltvn:8     b`10.26.91 FreeWare Version -=-=-=-=-=-=-=-=-=-=-=-=- Welcome to Vanity Plate -=-=-=-=-=-=-=-=-=-=-=-=- Vanity Plate is a .CPX module for Atari's (relatively) new XCONTROL ACCessory. Vanity Plate is 1991 Circular Logic. It is FreeWare, we retain all rights to it however you may freely use it on your system. Vanity Plate has been tested and no incompatiblities have been found. Nevertheless we hereby disclaim any implied warranty. We cannot be held responsible for any damage including but not limited to your hardware and software. If your hardrive nose dives and your monitor blows up in your face, don't come crying to us everytime people gawk and point at you. We will vehemently deny any and all mouse paternity suits. Play at your own risk. Installation: Simply put the ID.CPX file with the rest of your CPX files. Reboot and click on XCONTROL PANEL and then click on IDENTIFICATION. Now What: You will be prompted to enter your name. Do so. Spell it right or people will laugh at you. Then What: Now whenever you select the IDENTIFICATION CPX, a vanity plate will pop up bearing your name. Close the box by doing any of three things. 1- Hit Return. 2- Click on the upper left Close Accessory Box. 5- err, 3- click on the area just below your Name. Poor Spellers, New Brides, Divorcees take notice: If you need to change your name, there is a secret way to do it. You must promise never to tell anyone. STOP READING IF YOU DO NOT PROMISE. The secret box is the second box from the outer edge. Shhhh. Paying: But I thought it was a freebie! It is! But some people like to encourage silly things like these and we like encouragement. If you are so inclined pay whatever you'd like! Two methods are possible. 1- Send a check/money order/cash to Tom McComb 154 Laconia Avenue Staten Island, NY 10305-2418 2- Send a GEnie Gift of Time to T.MCCOMB Have you checked out the DEMO of the Registered Version of CPX Reversi yet? Why not? It's GREAT!! And best of all, the FULL version is only $10. Thanks! Tom McComb Bill Metcalf Circular Logic 10.26.91 ddcxaDC Software0?p`0`0`0`0`00`70`70p00?Eۺ((DCPXtensions Info`j Hf#p a3D z Jhgp`Jhf A8aalA P LNuHf o#^"z 22,z 3 ?<NNTT@A0p0Q0apa z LHVaTHz Bg/ n4NO rg2A | g`0: b|)g|g`aBy3pj`*By3p'`By3p`By3p`By3p`By3ph`Bypp`33pm`33py`ByBypn`|3Bypi`hByBypv`VBy3pz`BByByp{`0ByByp|`ByByp}` ByByp~`ByByp`ByBy0<`By3pf`By3p`ByByp#`ByByp$`ByByp%`vByByp&`dprC2g2Rj3Bypt`@By3pu`,By30<`ByBy0<`33 "<0<sNBNuNNN$NN" &Double Click Software presents:DC CPXtensions Volume 1Featuring (in 5 CPXs)Disk, file, directory, mouse,keyboard and more utilities.Plus a game & DC Formatter Jr.Look for a demo soon!100% AssemblyAvailableTo order:(713)977-6520I'll Buy!August 1991Only $29.95$DE F^_`vwx     &'2>? @LM  N j         .  J  f  (      $$$$ * 8|0$ , $     "                                   :bdCALCRechner?@GrE "RD*rDBG@@FffbFffb@FffbFffb@?Taschenrechner7`0f/ $o0*fBB9tA7C9""2#9`2*fNB@N#9\A6d `p$_Nu/ By5E9pC7 RN)xA8C""2A8C""2p%@%@Bj5|A8C.""2p jN`$_Nu?/ O6295fE94*gOA6CpQEnGNHolHorrp"KA9N\POK6M00/lgC NN)x` C NN)xI Ro*C y9pN)xp y9\N`35` RlCL KN)x4 +4oLv`00SCJCm 390gJCmR30`*"K LN)xC KN)x"L KN)0RR RnnB+0n8 0fCn LN)x`fpRHC LN)0D@B4"K LN)0`BBDC KN)0BC`Rfx.00D0B4RC0H/ KN)"eB,x LN) 40f LN)B4`BDJDfBC`C LN)0RCy9lm` C KN)x"L KN)0"K LN)x LN)rb"L NN)0B."N y9pN)xp y9\N`OpL|Nu/ / OEG9p2+ J +N* JN)rd$C8| SN)xp kN`35`VC8 JN)0`"C6AN)x"JAN)0C JN)x JN)rb"J SN)xp kN`O<&_$_NuH8O&o$E9\?+4rB@ RN-tTO6R@gBC2+ R0N.J@f,|fNG5| g*BD`RD0@ sgsf0@ sg0NBDIl`RD0@ tgtf0@ tg04NBD`RD|lp4J43 H"ҁ҂ Rp S@fڸkgP5|I$0+fBBj LC""2AC8Nl LC""2AC9Nl$C8| jN)xp RN`7|` LC""2AC9Nm( LC""2AC9NLA"L""2 LC""2AN'h %@JDftA9&C.""2BjA *N(TA"L""2 LC""2AC90Nl( LC""2AC9:NrA"L""27D0H5s 2+f j fN`NBDI$`0+f2A04N*J@f\0@ t.gP kf0@ t1g< t0g4 kf2A04N*J@f kf.2A04N*J@g2A43H ЀЂ Rp `2A43H ЀЂ Rp 2A03 RN`RD0@ sf8p4H"ҁ҂ Rp|gp 0 RN`|f o*0O LNuH 0/6/||f o0`r@SAgt@UBf0N*J@g|0m |5n|1E50*f 0N*J@f< jf |1g.|0g( jf 0N*J@f jf<0N*J@g0BD`RD0@ rg rgr$f0@ rg0NBDAb`RD0@ pg pgr|f0@ pg02HNLNu/ / $o G9\p/BBr? k h@NO S1R S1jp Shzg7| p Shg7| p Shg7| p Shg7| S?(?(?(4(rB@N-P\O S'h<Np&_$_Nu/ / OE9\HoCB@ RN-XO R?h?hHW"j i8NXO&@`4 KC""?/?/?/4/rB@ RN-P\O j hMHGGCA 0jD@aAC a `aAC a P?b C a SGA6"$JDoGn| Fo| o0RG0CC?SFpԂӁ@Q` pԂӁ@*(6ԂӁ@ԂӁ@ԅӄC<0QBJjR! :fg0`1RPOpAL@Nu o?jD@ @c0<?>@2AA@AC,0 ]HOgCbC OdaJGf>J_k Nu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R A"op`BA"op`6A"op`*A"o99Yg99Yg99Yg`pH?aka(`2@ @?bVBiB Wg>JWgjJQj4`JQj$`, @?c& fJf`JQj "`"?`QBi`v|~@@D@k`| k` &`P& D@Ƃ Wg>*(g4JWgjJQk`(JQj`"څلgj `†fćg ևцdRQH TOLNusqrtg:nJ@j2HzaZNuA"o4HEBEڇ>,HFƔ.HG,HGBGBFHFj ԅӄSԅӄkf Jf|`&I"HA,h,BFHFԆ|`$BBHB6HCBBHB>ƖDjSFօDk.h.BGHGև~HC4BC`&BC2ǖDjSGօDkփB2DjJGfr2ҁSցDSFSGօDօDkHF<99Yg( c299Ygj99Yg``RJBjS`DkN b:օD"HA.HABABGHGҁ߇DD.ǒD99YfDo RۄfR@@2""]ILNu4CG?/p<6>܇׀HAHBHDHE>܇׀?<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀>և(".Jkއ99YgJg j c a0JfJg99Yg99YfJkt`Jk`h/"HA.HGpށ@H@HG0BGHBHE2tށـׂ݂p"Jk އل݆׃SANu b c0a b f$JfgJk؄݆׃SAR׀fRA` Jk؄݆׃SA Ae "$Hzap` ҁQ !1LNudivCA L/ / ? AaA0 ]HNu4CG?bfb RGd6|/|$F,HF.h.BGHG҇~`"BAHA,HFpHAHB024 6<?~Gj SWԅӄGd, Q,HF.h.BGHG҇~HA`"BAHB02BB6|FjSG҄FdHG>HG99Yf,⎜bHFRFkHz``, c99Yg~99YfJkb`lJkf`X//&HC0BCHCH@B@4rЂׁ"$dSGԅӄNu99Yf╚kfg` JfJg`,HFRdR`,HF  @c"$HzaD` ЀP !1L Numod42<@H@J@fAH@ @bQA @bYA @?bUAJ@kSAH@AԂQ0 B]HNu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART JgJgJgJgJg JgJgJfSHggggg ggf @Nu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"SefBJgSf ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!9d`0123456789abcdefghijklmnopqrstuvwxyz<0< SHNuJ@k|A"0|NuB@Nu|A 0|Nu@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu# 666666666(6667667!66#A 0f7?7R7V7X7Z 7\  7^ 7` 7b 7d 7h7j7l 7n 7p7r67t7w7y7{7} 7f  77777 7 !7P "7 #7 %7   !r7777 7 0 0 0 0  0 14n   0123456789abcdef.0123456789ABCDEF."! # /*-+=.^#><~ /*-+ .^#><~ 2 0.000000000000000ESCpCalculator is Shareware! If you use it, please send DM 20,-- to: Torsten Dix Obere Steinbreite 9 D W-3360 Osterode am Harz +8888888888888888.CLR789/DEF+/-456*ABx123BINDECHEXOCTM0=+MpCalculator v1.01(c) 1991/92 by POWERSOFT written by Torsten Dix & Oliver TeuberOK 0.???@@ >complex value< >Division by zero< >Overflow< ??@@000000000000000000@@@@ $ "\ " . * " `,*(6r    &8 $.       ""PBJ:R(~$H(<"2    D~ ,h L4<*&8 4B @ (& .* Jf0 4 & t . B ,&  80H dDIABDIABLOYS?    R RRx 8RDiablo 630`) HN"Jxf3Nq&x 8g* @ g$" _SLMf&AXpJkf+03#Jp f#&c#pNu#2J#6J NuHp<09fHzx?<&NN\J@f&yJd?<NMT @g*e"@d@&@ f p3`bHz?<&NN\&yJ&9J "< H@` HC$@ggQHCQ`lHB4fTYa"f XSj`N#&c#`<09 @d p$+gp`g p`gp3Nu&za09L<Nut`t`t` t`t`t #3JB?< NA\# zD P/:"Bg?(49JN P3J/:?< NA\09JNu#JNuH~ z hJhgHz?<&NN\$9J6:  e# z hBhCIa:3B?< NA\#@|?<?<NMXJ@g,Fl?<?<NMX/<@/H| z\Q `@N zJ h1|F2/: ?< NA\6:` CIa6 z"`" Hjv` P 0g JCf o6JCfT z h0(hdBH@@Hz?<&NN\L6: 9J$ e#RC CgUC3 ptgt$o82Bgp4¶Rg4pL~Nu/~ a.Nu/~a~ a ~Pa.Nu/B?< NA\#Bg/<@/H| z0Q `0@N/:?< NA\ NuHa# #2QLNu zQ Pp"o@NuHa"zH 2(0Q0(1AA{aaRLLNuAOE#A/ "zQ"QTI0BQH@02H@g /a$ _`L2H@3@"_Nu z` PpNH瀀 y (T!@LNuH瀀 y (м!@LNuH8(H6&I:| oB@`BDE)`\0@DH5.2H sN2ADI5,5*0H%$Eft`BB0@DH5"r r RDDn8`0@DHr RD| m5j,5CBD`?HR lN\ORD| mpL8NuH O86:$HArN#nxCD5C5E5D5o Bj 0H2HҁNN2/HNDOrL8Nu?006BSC00oS@06NuHO>8/$6/&&H?A024NTO?A 4BAB@NTO/ C*Ar0N"XOOLNuHO><:8/,6/.&H?AB@24NfTO?A 420NTTOHy*"KAr0N">XOOLNuH>O,H?@ <EKHRHoC MN HPOpN!pN!?/4rB@ NN TO68BE|f vF8||gp4H"ҁ҂v f|vfx|gp4H"ҁ҂vgv ?<?<BgBBrB@ NN \OIG |g,|Hk"K0 NN 8XO2H ЀЁ7v7v`BFHk"K0 NN XO7n7npEg|67o7F7FHRHTHRHRHoBgBgBgBgBgBgBg?+?+?+??0/0F@|?"MtrpNO.:>BWr@gl4||PfJDkxG`x6o oSD60||HfJGkxG`8/ 6JDfx60||afx>0|| f>`?/4rB@ NNTO86|gp4H"ҁ҂v fpvfxGg>|g8p?4H"ҁ҂06 |??.?.?.4. N0BANHO |g6p?r>H$Ԃԇ犂v( ??.?.?.4. N0BAN O pEf2g0/F@|g2fHRHR"J JBBp2NLPOpNrB@Nl0OL|NuH>Ox(H&I86*oEM)HRHR"J JN8PO=@HoCANXO0.gN2"K L0NJ@g>=U=m|g 0..ÑnAtnrn0.Nj* N:. f|fp`pCHH@`0<Npn?rn?Atnrn0.NXO0<N20 NN :0<Npn?rn?Atnrn0.NXO0<Nr0.N|f0`pEOL|8Nu 8Nu?BCANr @ gB/<_SLM yM> hPNPOJ@g N6J@fB@`0|6Nu/ / O(H"yM> iLN$@HoN\XOHWNDXO9o 9o9o9o9W 9o 9o9o9o9o 9o 8O8(_$_Nu/ / O(H"yM> iLN$@HoNXOHWNXO?l?l> ?l ?l?l?l?l ?l 40gNL`N`HWNXO9o 9o9o9o9W 9o 9o9o9o9o 9o 8O8(_$_Nu?6NA+2SAg` 0H p`0H p6Nu?6NA,F2SAg` 0H p`0H p6Nu?6NA,Z2SAg` 0H p`0H p6Nu?6NfA,n2SAg` 0H p`0H p6Nu?6N:A,2SAg` pCH p` pCH p6Nu?6N A,~2SAg` pCH p` pCH p6Nu?6NA,2SAg` pCH p` pCH p6Nu?6NpCHA, p6Nu?6NA.r2SAg` 0H p`0H p6NuH8NbA-2SAg`$H`E(BCGE`~0H22H(s22H$Ԃԁ4,||| bFB4; N ((<<<<((0H"r l N`0H"r l PNRC|m~LNuNNuNNuH>UO(H<BCGM8MJHWHoC" KN'XPO=@$E82H ЀЁ44||fxn"tto4tBt9BDp[4H"ҁ҂ t N#*H gB2I-2I=-HN$h2I=C MN#8 2H ЀЁ爘t2H ЀЁ:4|gtf 2H$Ԃԁ9(9(pS9(r4H ЀЂt44n"BB4H ЀЂ90H"ҁҀ t N$>4H"ҁ҂24@A0@0H$ԂԀ9(4H"ҁ҂04||f20H$ԂԀ9(2H ЀЁt $Ԃԁt(t(xt|tttpJFf9RR RdoB@`p RC4H"ҁ҂tgpTOL|xNu// $H6Hx"| |N%XO0@|6|xm|G|:fv0` "P10H60N$h6B@AJC8`2If pf00`R@Qmp$_&NuH8QO&H(I$o$6:H$ԂԀ82( / k8NXO(@`F LC""2H ЀЁ5 t???/ ?/ ?/ J0BA4/ N'O k hN\O` 0RC JNp 4H"ҁ҂rg JpNvLNuH0$H6&IH"ҁҀ7r7rHk0NHXOL NuH4QO&H*I6EM>/ R h8NXO&@`. KC""?/?/?/4/r0 MN\O R hOBC$yE8*jK HoHoHUHorB@NtOG KN0+N"H j\N0+N"H jN0+Np"H jN0+N^"H jN0+ NL"H jN0+N"H jNv0+N"H j?V?o?T??/??/??/42/"B@NO ??/?4/rB@ JN\O`LB@ JN8|0Y@|.b2@0;N&&&& &&&&&v&&&x&^&&&&&&&.&&&&&j&&&&&&$ k0+N"H jN Z`PB@N /H:pN/H>C2p JNHWHo6t2+pCB yM>NPO7@H"w: jN ??/?4/rp JN\O`D k0+N"H jN `PB@N/H:pN|/H>C2p JNfHWHo6t2+pCB yM>NPO7@H"w: jN ??/?4/rp JNP\O` k0+N"H jN N`PB@N/H:pN/H>C2p( JNHWHo6t2+pCB yM>NPO7@H"w: jN ??/?4/rp( JN\O`8 k 0+ N"H jN `PB@Nz/H:pNp/H>C2p JNZHWHo6t2+ pCB yM>NPO7@ H"w: jN v??/?4/rp JND\O`Rkk0+Nb"H jN >`dB@NP/H:pNF/H>pNNPO7@H"w: jN ??/?4/rp JN\O` k0+N8"H jC2p" JN6HWHo6t2+pCB yM>NfPO7@H"w: jC2p JNHWHo6t2+ pCB yM>NPO7@ H"w: jlN ??/?4/rp JN \O` KNvJCg??/??/??/42/"pN O 2H ЀЁr OJL|NuH<(H&I$o0*N,"H k4 PN F k4h0*gr`rI k4hKMh g2-jg "K LpN kh0*gr `BA k܃h g2-jg "K LpN0*gp`B@N"H kN g2-jg "K Lp N0*N"H kN g2-jg "K LpN\0N"H klNf g2Rg "K LpN8 J"M""""""2L<NuHIMF2|%bA2;NjjJ22^L|tHop? S hVN\OpN HAN<0/fpNpN S@fN/ BAp"L SNHXOHoBg S hVN\OANHW"J LNXO`Hop? S hVN\OpN NH/ BAp"L SNXOHoBg S hVN\OANHW"J LNXO`rAN oANHW"J LNvXO`PB@N/H"pN/H&Cp JNjK MNNpCg m`HTHot2-pC* SNPO;@ MNHU"J LN XO`ANpoHH@?@ANdHW"J LNXO`B@Nh/H"pN^/H&pNT/H*Cp JNK MNpCgrmHHA;A`HTHot2-pC* SNPO;@ MNHU"J LN^XO`8ANX WANHW"J LN>XO`B@N/H"pN/H&Cp JN2K MNpCg U`HTHot2pC* SNRPO: MN`HU"J LNXO`Bg S hDNTOJ@ghHop? S hVN\OpNANAC""""""2p/Ho S hHNPOJ@fp? S hDNTOHoBg S hVN\O/ 2*|p%"L SNXO`"N/ BAp"L SNlXO` ANp`B@OdL<NuH 8QOE;GM>// S h8NXO(@`. LC""?/?/?/4/rB@ JN\O S hKMF0||Cgn$|;g|g|g|g`|Dg|g |gb`Hop? m hVN\OpNACL""""""2ALN`">`> `>`>` >`> Wf,HTC4rp JNXOJ@gpCg J0N>R@g^ WgDp4H"ҁ҂r f0prg(/ r0/H$ԂԀ42( A"M m0/N4XO20NJ@g o0OfL4 NuH 0UO&oE;?+4rB@ JN$TO>J@k$C2/ JNJ@fBA0NJ@g o0TOL Nu/BA?0/ gp!`p#2N$NuH 0O&o*E; KCMF""09MBfB@NpN B@`NAN4HW"JN$XOACMN""""""25S5k?+?+?+4rB@ JN2\OpOL NuH 8OEM>$. R0(g*NJ@gA)C""""""2ANp` R0(f&yE(yEN@5@N0(T|oB@2AAI00NugfSHNuJgNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNuHR/?<HNA\O @$_NuHRHP?<&NN\O$_NuHR//HQHP?<NNO @$_NuCMHRt""2"<I0<NBAN0$_NuHQHPHM"<a"_2"_2"o2"o2NuHQCM#H 222"" """"2 "<ar" "_2E"Z2"Z2"Z2"Z2"Z2$ANuHQHM#O"<8a6"_2NuHQ#O"<6a"_2"o2"o2"o 2NuCM222""" "<3 `3M#O"<2`HQCM222#H"<7a"_2"o2NuHQHP": automatic :OKCancel[OK[Cancel[Save Paper [feed: Print [pages:ResetSTATUSForm feednderungen rckgngigBelegung der FunktionstastenEmulator an/ausPapiereinzugWelche SeitenAndere EinstellungenResetSeitenvorschubOK Bit 7 entfernen: Datenquelle: 8er-TABs setzen: Zeichenbreite: Zeilenabstand: nur Groschrift: automatisch: automatisch:OKAbbruch[OK[Abbruch[Sichern [Papiereinzug:[Welche Seiten:ResetSTATUSSeitenvorschub[1][ |Please install DIABLO|driver!][ OK ][1][ |Warning:|Page is empty!][Print|Cancel][1][ |The screen is too|small for this|dialog!][Cancel][1][ |Bitte den DIABLO-|Emulator installieren!][ OK ][1][ |Achtung:|Seite ist noch leer!][Drucken|Abbruch][1][ |Der Bildschirm ist|fr diesen Dialog|zu klein!][Abbruch]FF0F2F4FDFFFHFYF[!F]FF%FFF$FFFFFFFFFFFFFFFFFFFFF0    8 80    8 80    8 80    8 80    8 80    8 80    8 80    8 80    8 80    8 80    8 80    8 89f9999::&:F:f:::@ @F q @F@@: @Fq   @G @ @:@G q @G.@;@@; p882  A  AG=  A8N % %!# #""GF! $$GJ #&&GS% q2&$G\ @Gn@@;  $ G~   @G @ @;,$G  @G@@;:$G @G@@;H$G @G@@;V% !$!H"# #@H!$$@#@;d+&' $'H(%() )@H:'**@)@;r1,- $-HJ+./ /@H\-00@/@;2Hl %Ho  &8j &Hw 8#  HzHH H H II" 888899.  9J;?6C",  0!"Drucker betriebsbereit0123456STATUS123456778 Seitenvorschub WRITTEN BY JULIAN F. RESCHKE 8/1992Tastaturbelegung5555555555533333333F1F2F3F9F8F10UNDO[Diablo 1.5: 012345678901 [Papiereinzug: 012345678901[Welche Seiten: 012345678921Reset012[OK[Abbruch[Sichern Datenquelle: intern0160000 8er-TABs: intern0120000 Zeichenbreite: proportional automatisch: intern0100000 automatisch: intern0110000 Zeilenabstand: intern0140000 nur Groschrift: intern0130000 Bit 7 entfernen: intern0160000OKAbbruchOKEmulator ein/aus00000000000Papiereinzug000000000000000Welche Seiten00000000000000Weitere Einstellungen000000Reset0000000000000000000000Seitenvorschub0000000000000Seitenvorschub0000000000000@(#)Diablo.CPX, Version 1.04, Copyright (c) Julian F. Reschke, Dec 8 1992MMMNOPP^P|RQSP^P|QRS4  >N ,"  ( *@d\4\ZZ(b4v,,,,006, X"2 (zV X & ~r ,L,( (\("n&" D  . x2H0H0H00H`0H00`00000000000000000000000000 DIABLO(CPX) CPX-Module DIABLO(CPX) NAME diablo.cpx - CPX-Modul zur Konfiguration des Diablo-Emulators SYNOPSIS \CPX\DIABLO.CPX BESCHREIBUNG Dieses CPX-Modul fr Ataris modulares Kontrollfeld `XControl' bernimmt die Aufgaben, die bislang vom Accessory `SETUP630.ACC' erfllt wurden. Das sind in erster Linie: - Anzeige des Druckerstatus - Emulation ein-/ausschalten - Wahl des Papiereinzugs - Wahl der auszugebenden Seiten (gerade/ungerade/alle) - Reset - Seitenvorschub Weitere Konfigurationsmglichkeiten gibt es in einer Dialogbox, die man ber den Linkspfeil in der linken unteren Ecke erreicht. Alle Einstellungen knnen auch gesichert werden; sie werden dann beim Systemstart automatisch wiederhergestellt. Eine bersicht ber die (nicht durch Unterstreichung gekennzeich- neten) Tastenbelegungen erhlt man durch Bettigen der HELP-Taste. COPYRIGHT Copyright (c) 8. Dezember 1992 (Version 1.04) Julian F. Reschke (jr@ms.maus.de) Teile des Codes sind Copyright (c) Atari Corp. Sunnyvale Wichtiger Hinweis: Es wird keinerlei Haftung fr irgendwelche direkten oder indirekten Schden bernommen -- einschlielich aber nicht beschrnkt auf materielle oder finanzielle, die durch die Benutzung dieses Pro- gramms oder die Untauglichkeit dieses Programms fr einen bestimm- ten Zweck entstehen. Dieses Programm ist NICHT Public Domain, darf aber (ausschlielich frei), sowie auf den Leserdisketten des `TOS'-Magazins (ICP Verlag) weitergegeben werden. Eine Verbreitung auf PD-Sammeldisketten und hnlichen Medien (gebhrenpflichtige Mailboxsysteme oder `Channel Videodat') ist nur mit meiner schriftlichen Genehmigung gestattet. Ich behalte mir das Recht vor, diese Genehmigung jederzeit und ohne Angabe von Grnden zurckzuziehen. Bei der Weitergabe mssen immer beide Dateien in unvernderter Form -- nach Mglichkeit im unvernderten Archiv DIABLOCP.ZOO -- wei- tergegeben werden. Bei Gefallen und/oder regelmiger Benutzung -- im Allgemeinen dadurch zu erkennen, da man `SETUP630.ACC' verbannt hat -- bitte ich um eine kleine Spende auf das Konto von Greenpeace, Vorsetzen 53, 2000 Hamburg 11. Spendenkonto: 2061-206, Postgiroamt Hamburg (BLZ 200 100 20). FEHLER Einige Tester haben von Fehlern im Zusammenhang mit der `Sichern'- Funktion berichtet. Meines Wissens gibt es zwei verschiedene (deut- sche) Versionen von XCONTROL: bei einer 41033 Bytes langen Version tritt der Fehler auf, bei der neueren, 41063 Bytes langen nicht. Falls es mit der lngeren Version Abstrze gibt, bitte ich um sofortige Mitteilung. Wenn ein Cookie-Jar installiert ist, aber kein _SLM-Cookie gefunden wird, kann das CPX-Modul den Treiber nicht finden. Abhilfe: neuere Version des Diablo-Treibers verwenden (z. B. 1.4, gibt es auf der TT-Systemdiskette und sollte auch beim Atari-Hndler und in Mail- boxen zu finden sein). SIEHE AUCH Dokumentation zum Diablo-Treiber und zu XControl dWrApby R. Kurz*@ H$q H@UUUTWRAP Mouse`.".N/ / G\'o k0(gTHk/ #include #define TRUE 1 #define FALSE 0 /* externe Variablen aus dem Assemblerteil */ void clear_jar(void); int get_cookie(unsigned long cookie,unsigned long *value) { long old_stack; long *jar; old_stack=Super(0L); jar=*((long **)0x5a0L); Super((void *) old_stack); if(!jar) return(FALSE); do { if(*jar==cookie) { if(value) *value=jar[1]; return(TRUE); } else jar= &(jar[2]); }while(jar[0]); return(FALSE); } /* get_cookie */ int make_cookie(unsigned long cookie,unsigned long value) { long old_stack; long nr,new; long *jar,*ajar,*njar; old_stack=Super(0L); jar=*((long **)0x5a0L); Super((void *) old_stack); if(!jar) { jar=njar=Malloc((22L)*8L); if(njar==NULL) return(FALSE); jar[0]=cookie; jar[1]=value; jar[2]=0L; jar[3]=20L; old_stack=Super(0L); clear_jar(); jar=(long *)0x5a0L; *jar=(long) njar; Super((void *) old_stack); return(TRUE); } ajar=jar; for(nr=0;jar[0];nr++,jar=&(jar[2])); if(nr bD.R,<*"҂ T1k|f o0|g|g| g `xN`pc`p o hbfA[DpNv`T o hafHA[bpN\8S@f6C] T <`NpN. y\?(?(?(4rB@ RNv\OB@O L<NuH #include #include #include "fsel_inp.h" #define NULL ((void *) 0l) #define FALSE 0 #define TRUE (!FALSE) /* ------------------------------------------------------------------------- */ SLCT_STR *slct = NULL; long *fsel = NULL; SYSHDR *sys_header; /* ----- Cookie Jar -------------------------------------------------------- */ typedef struct { long id, *ptr; } COOKJAR; /* ------------------------------------------------------------------------- */ /* ----- get_cookie -------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ long *get_cookie(long cookie) { long sav; COOKJAR *cookiejar; int i = 0; sav = Super((void *)1L); if(sav == 0L) sav = Super(0L); cookiejar = *((COOKJAR **)0x05a0l); sys_header = *((SYSHDR **)0x04f2L); /* ... wenn wir schonmal super drauf sind */ if(sav != -1L) Super((void *)sav); if(cookiejar) { while(cookiejar[i].id) { if(cookiejar[i].id == cookie) return(cookiejar[i].ptr); i++; } } return(0l); } /* ------------------------------------------------------------------------- */ /* ----- fsel_check -------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int fsel_check(void) ** ** Funktion: Prft nach, ob ein FSEL-Cookie vorhanden ist. ** ** Parameter: keine ** ** Return: TRUE FSEL-Cookie vorhanden. ** FALSE -----"----- nicht vorhanden. ** ** ------------------------------------------------------------------------- */ int fsel_check(void) { if(!fsel) fsel = get_cookie('FSEL'); return(fsel ? TRUE : FALSE); } /* ------------------------------------------------------------------------- */ /* ----- slct_check -------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int slct_check(unsigned int version) ** ** Funktion: Checkt, ob Selectric installiert ist und ob es ** die Mindest-Versionsnummer besitzt. ** ** Parameter: version Enhlt die zu prfende Versionsnummer ** (es wird ein '>='-Test gemacht!!) ** ** Return: TRUE Selectric ist installiert und ** die Versionsnummer ist ok. ** FALSE Entweder nicht installiert oder zu ** niedrige Versionsnummer. ** ** ------------------------------------------------------------------------- */ int slct_check(unsigned int version) { if(fsel_check()) { slct = (SLCT_STR *)fsel; if(slct->id != 'SLCT') slct = 0L; } if(slct && (slct->version >= version)) return(TRUE); else return(FALSE); } /* ------------------------------------------------------------------------- */ /* ----- file_select ------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int file_select(char *pfname, char *pname, char *fname, char *ext, ** char *title) ** ** Funktion: Ruft den FileSelector in komfortabler Art und Weise ** auf. Dabei kann man alle Parts (Filename, Pathname, ** etc.) einzeln bergeben. Man kann aber auch Pathname ** und den kompletten Namen in `pfname' bergeben. Diese ** Routine sucht sich schon das, was ihr fehlt in ** bestimmten Grenzen selbst heraus. ** Diese Funktion untersttzt den FSEL-Cookie und luft ** auch ohne Selectric. ** ** Parameter: *pfname Enthlt abschlieend den fertigen Pfad, den ** man sofort in ein `open' einsetzen kann. ** *pname Der Startpfad (ohne Wildcards!). ** *fname Ein voreingestellte Filenamen. ** *ext Eine Extension. ** *title Einen Boxtitel. Dabei wird a) die TOS-Version ** als auch der FSEL-Cookie berprft. ** ** Return: Der Button mit dem der Selector verlassen wurde. ** ** Bemerkung: Beim Aufruf aus Accessories nicht vergessen ein ** BEG/END_UPDATE um diesen Aufruf zu legen!!!!!!!!!! ** Die meisten File-Selector Clones (incl. Selectric) ** machen das eh, nicht aber das Original ... ** ** ------------------------------------------------------------------------- */ int file_select(char *pfname, char *pname, char *fname, const char *ext, char *title) { int but; char *p; if(!fname[0]) { p = strrchr(pfname, '\\'); if(p) strcpy(fname, p+1); else strcpy(fname, pfname); } if(!pname[0]) { p = strrchr(pfname, '\\'); if(p) { p[1] = '\0'; strcpy(pname, pfname); } } else if(pname[strlen(pname)-1] != '\\') strcat(pname, "\\"); strcat(pname, ext); if(fsel_check() || (sys_header->os_version >= 0x0104)) fsel_exinput(pname, fname, &but, title); else fsel_input(pname, fname, &but); p = strrchr(pname, '\\'); if(p) *p = '\0'; strcpy(pfname, pname); strcat(pfname, "\\"); strcat(pfname, fname); return(but); } /* ------------------------------------------------------------------------- */ /* ----- slct_extpath ------------------------------------------------------ */ /* ------------------------------------------------------------------------- */ /* ** int slct_extpath(int ext_num, char *ext[], int path_num, char *paths[]) ** ** Funktion: Setzt benutzerdefinierte Extensions und Pfade, ** welche dann von Selectric benutzt werden. Die ** Extensions und Pfade mssen vor jedem Selectric- ** Aufruf gesetzt werden! ** ** Parameter: ext_num Anzahl der Extensions ** *ext[] Die Extensions ** path_num Anzahl Pfade ** *paths[] Die Pfade ** ** Return: TRUE Selectric ist installiert ** FALSE Selectric ist nicht installiert ** ** ------------------------------------------------------------------------- */ int slct_extpath(int ext_num, char *(*ext)[], int path_num, char *(*paths)[]) { if(slct_check(0x0100)) { slct->num_ext = ext_num; slct->ext = ext; slct->num_paths = path_num; slct->paths = paths; return(TRUE); } else return(FALSE); } /* ------------------------------------------------------------------------- */ /* ----- slct_morenames ---------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int slct_morenames(int mode, int num, void *ptr) ** ** Funktion: Initialisiert Selectric so, da es wei, da mehr ** als ein Name zurckgegeben werden kann. ** ** Parameter: mode Gibt den Modus an. Z.Zt sind folgende Modi ** vorhanden: ** 0 Files in Pointerlist zurckgeben. ** 1 Files in einem einzigen String -"-. ** num Anzahl der Namen die maximal zu- ** rckgegeben werden sollen. ** *ptr Der Zeiger auf die entsprechende ** Struktur. ** ** Return: TRUE Selectric ist installiert ** FALSE Selectric ist nicht installiert ** ** ------------------------------------------------------------------------- */ int slct_morenames(int mode, int num, void *ptr) { if(slct_check(0x0100)) { slct->comm |= CMD_FILES_OUT; if(mode) slct->comm |= CFG_ONESTRING; slct->out_count = num; slct->out_ptr = ptr; return(TRUE); } else return(FALSE); } /* ------------------------------------------------------------------------- */ /* ----- slct_first -------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int slct_first(DTA *mydta, int attr) ** ** Funktion: Wurde das Communication-Byte auf CFG_FIRSTNEXT ** gesetzt, so kann man ber diese Funktion den ** ersten selektierten Namen mit dem entsprechenden ** Attribut bekommen. ** ** Parameter: mydta Die DTA in der die Informationen ** gespeichert werden sollen. ** attr Die Attribute (s.a. Fsfirst). Selectric ** verknpft beide Attribute mit UND und ** prft auf != 0. ** ** Return: 0 OK ** -49 keine weiteren Dateien ** -32 Funktion nicht vorhanden (Version < 1.02) ** ** ------------------------------------------------------------------------- */ int slct_first(DTA *mydta, int attr) { if(slct_check(0x0102)) return(slct->get_first(mydta, attr)); else return(-32); } /* ------------------------------------------------------------------------- */ /* ----- slct_next --------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int slct_next(DTA *mydta) ** ** Funktion: Nachdem man mit slct_first() den ersten Namen ** zurckbekommt, kann man ber diese Funktion weitere ** Namen erhalten. ** ** Parameter: mydta s.o. ** ** Return: s.o. ** ** ------------------------------------------------------------------------- */ int slct_next(DTA *mydta) { if(slct_check(0x0102)) return(slct->get_next(mydta)); else return(-32); } /* ------------------------------------------------------------------------- */ /* ----- release_dir ------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int release_dir(void) ** ** Funktion: Gibt das Verzeichnis wieder frei (Wichtig!). ** ** Parameter: keine ** ** Return: TRUE Verzeichnis konnte freigegeben werden. ** FALSE Fehler ** ** ------------------------------------------------------------------------- */ int slct_release(void) { if(slct_check(0x0102)) return(slct->release_dir()); else return(-32); }   >P6F$\D. B 4` ~\  ,$   /* ------------------------------------------------------------------------- */ /* ----- fsel_inp.h ------------------------ (c) 1992 by Oliver Scheel ----- */ /* ------------------------------------------------------------------------- */ #ifndef __FSELLIB__ #define __FSELLIB__ #include #include #define CMD_FILES_OUT 0x01 /* return filelist */ #define CFG_ONESTRING 0x02 /* return list in one string */ #define CFG_FIRSTNEXT 0x08 /* ------------------------------------------------------------------------- */ /* ----- Selectric Structure ----------------------------------------------- */ /* ------------------------------------------------------------------------- */ typedef struct { unsigned long id; /* Selectric ID (SLCT) */ unsigned int version; /* version (BCD-Format) */ struct { unsigned : 8; /* reserved */ unsigned pthsav : 1; /* save GEMDOS paths */ unsigned stdest : 1; /* stay in destination path */ unsigned autloc : 1; /* auto-locator **************************************************************** * * * Wrap-Mouse, der ultimative Maustreiber fr Atari-Muse, * * Serielle Muse und den Joystick! * * * * (c) 1992 by Richard Kurz * * Vogelherdbogen 62 * * 7992 Tettnang * * Fido 2:241/7232.5 * * * * Fr's TOS-Magazin * * * **************************************************************** Leistungsumfang Treiber fr serielle MS-DOS Muse sowohl Mousesystems- wie auch Microsoft-Varianten an einem beliebigen RS232 Port von ST, TT, Falcon und Mega STE, Treiber fr den Joystick als Mausemulation, Belegung der rechten bzw. mittleren Maustaste mit diversen Funktionen und Vertauschen der Maustasten (Linkshnder), natrlich fr jedes Programm eigens einstellbar. Garniert wird das Ganze durch einen frei programmierbaren Beschleuniger mit integriertem "Bildschirm-Durchlauf" fr alle Muse. Kommt der Mauszeiger an den Bildschirmrand, gengt ein leichter >>Druck<< und schon kommt die Maus auf der gegenberliegenden Seite des Screens wieder heraus! Vor allem Grobildschirm-Besitzer ersparen sich damit manche Schiebeorgie. Installation Wrap-Mouse besteht aus zwei Teilen, >>WM.PRG<< fr den Auto- Ordner und >>WRAP_CPX.CPX<< fr XCONTROL. Zuerst sollten Sie ALLE Mausbeschleuniger oder Maustreiber aus Ihrem System entfernen bzw. deaktivieren. ACHTUNG! Oft sind in diversen Tools wie z.B. NVDI auch noch welche versteckt. Erst jetzt darf >>WM.PRG<< in den Auto-Ordner. >>WRAP_CPX.CPX<< kopieren Sie zu Ihren anderen CPX-Modulen und starten den Rechner mit einem Kaltstart neu. WICHTIG! Ohne XCONTROL und >>WRAP_CPX.CPX<< geht gar nichts, also immer XCONTROL.ACC laden! Versuchen Sie nun Ihren Mauszeiger aus dem Bildschirm herauszu- schieben. Kommt er auf der anderen Seite wieder zum Vorschein, ist die Installation fr's erste geglckt! Wer eine MS-DOS Maus anschlieen oder Wrap-Mouse mehr an seine persnlichen Bedrfnisse anpassen mchte, greift zu XCONTROL. Das Steuer-Modul findet sich unter >>WRAP Mouse<<. Der Hautpdialog >>Vertauschen [An/Aus]<<: Die Maustasten werden vertauscht, interessant fr Linkshnder. >>Joystick [An/Aus]<<: Der Joystick als Mausersatz, gut fr gerade Linien in Zeichenprogrammen. Leider ist der Feuerknopf auf dem Atari gleich der rechten Maustaste, warum wissen nur die Gtter, aber dank >>Vertauschen<< sollte das kein Problem darstellen. >>Serielle Maus [An/Aus]<<: Wer eine serielle Maus anschlieen will, sollte diesen Punkt auf >>An<< stellen. ACHTUNG! nderungen von >>Aus<< nach >>An<< werden erst nach einem erneuten Booten von Wrap-Mouse erkannt. Aufgrund seiner Beharrlichkeit kann das RS232-Modul (Seriell) von XCONTROL u.U. Probleme verursachen, wird es benutzt, sollte man sich vergewissern, da der Port, an dem die serielle Maus eingesteckt ist auf 1200 Baud, keine Paritt, 8 Bits, ein Stop-Bit und keine Kom. Parameter eingestellt ist, ferner sollte er auf dem TT/Falcon/MSTE nicht der aktive Port sein, da sonst andere Programme die Baud-Rate wieder verstellen knnten. Wer keine Df betreibt, kann das >>Seriell<<-Modul auch komplett entfernen. >>Rechte Maustaste<<: Wen hat es nicht schon gergert, da die rechte Maus praktisch nutzlos ist? Hier knnen Sie Abhilfe schaffen, ab sofort kann sie als Shift-, Alternate- oder Control- Taste fungieren. Um mehrere Dateien auf dem Desktop zu selektieren mssen die Finger nicht mehr zur Tastatur, es gengen die Maustasten. Als extra Bonbon kann auch ein Doppelklick der linken Maustaste simuliert werden. Da ein Doppelklick erst beim Loslassen der Taste ausgelst wird, kann Tasten- und Doppelklick- Emulation (z.B. Shift+Doppelklick) zur gleichen Zeit aktiv sein. >>Programm<<: Einige Programme verwenden die rechte Maustaste fr eigene Zwecke. Damit die Emulationen bei Strungen nicht jedesmal von Hand abgeschaltet werden mu, gibt es hier Platz fr 20 individuelle Konfigurationen von >>Rechte Maustaste<< und >>Vertauschen<<. Ein Klick auf den Button ffnet ein PopUp-Men in das mit >>Neu<< Programme aufgenommen werden knnen. Die Einstellungen von >>Allgemein<< gelten immer dann, wenn ein Programm aktiv ist, das nicht in der Liste steht. Um ein Programm wieder zu entfernen, wird es mit gedrckter Shift-Taste angewhlt. >>Sichern<<, >>OK<< und >>Abbruch<< folgen den blichen CPX- Regeln. Der RS232-Dialog Je nach verwendetem Rechner steht unter >>Port<< die gewnschte Schnittstelle fr den Mausanschlu zur Wahl. Via >>Mouse<< whlt der frischgebackene Musedompteur die Art seines Raubtiers, es drfen Microsoft oder Mousesystems kompatible Tierchen sein. Als kleine Faustregel kann gelten: Zwei Tasten = Microsoft, drei Tasten = Mousesystems. Stolze Besitzer einer Drei-Tasten-Maus drfen sich freuen, die Einstellungen unter >>Rechte Maustaste<< gelten dann fr die mittlere Taste, die ganz Rechte funktioniert wie gewohnt. ACHTUNG! Einstellungen von >>Port<< und >>Mouse<< werden erst nach einem erneuten Booten von Wrap-Mouse erkannt. Systembedingt neigen manche MS-DOS Muse ein wenig zum holpern, der Mauszeiger bewegt sich nicht schn flssig ber den Bildschirm, sondern hpft so vor sich hin. Um das atari-verwhnte Auge zu befriedigen sollte >>Gltten<< bei einem solchen Stolperer auf >>An<< gestellt sein. Das Ruckeln vermindert sich circa um die Hlfte. Die Speeder-Dialoge Wie schon erwhnt, ist in Wrap-Mouse auch ein Beschleuniger fr unser Lieblingstier enthalten. Aufgrund der unterschiedlichen Charakteristiken kann die Art und Weise der dynamischen Beschleunigung separat fr Atari-, Serielle- und Joystick-Maus eingestellt werden. Sie finden die jeweiligen Dialoge im Hauptteil unter >>Speeder<<. Im rechten Teil des Dialogs sind zwei Reihen von Slidern zu sehen, ber die Mann/Frau die Beschleunigung individuell programmieren kann. In der oberen Reihe stehen die Schwellenwerte, ab denen die in der unteren Reihe eingestellten Verstrkungsfaktoren (20 entspricht einer Verdoppelung) zum Zuge kommen, damit lt sich praktisch jede gewnschte Dynamik erzeugen. Bei der Joystick-Maus hat der erste, obere Slider eine besondere Bedeutung, er gibt an, nach welcher Zeit sich der Maus- Zeiger um mehrere Pixel bewegen darf. Bei einem Wert von 0 ist die Bewegung um nur ein Pixel nur noch fr Joystickakrobaten mglich. Der linke Teil ist dem namensgebenden Feature, dem >>Wrapen<<, vorbehalten. Um die Maus nicht dauernd auf ungewollte Bildschirm- Rundreisen zu schicken, wird mit den vier Slidern fr jeden Bildschirmrand die Strke des ntigen >>Drucks<< zum durchtunneln (Quantenphysiker mgen mir die Verwendung dieses Wortes verzeihen) eingestellt. Wer das Wrapen oder den Beschleuniger nicht braucht (was mir vllig unverstndlich wre) kann diese Funktionen mit >>Wrap [An/Aus]<< bzw. >>Speeder [An/Aus]<< deaktivieren. dSLCTSelectricP p   P P P P P P >P P  {0Selectricr7` fNH0E$ R0(gp`.GR R0(fBC`?HS R hN\ORC|!mA L NuH0&H6$IHj/ /?p,NO2H ЀЁ5s5sL Nu?/ QO&H6CN/ ?/ ?/ ?/ ?/ p??p*NhOPO&_6NuH0O$H&IvBD/?+?+?+?p??p*N0OHWBg/ y h4NO 2RAg |g`BC`0|g|g`BC8JCfjB0OL NuH>OL*oEA "JBCx&y j(y n7U7mHo/ & d   $    !  @>D *lT0D0D0@8@?~|8@>>|À?  @ @g`g!N@pcAÀx#nC~|  A  D          $  (  @ D    `   )   0% 3  A |     $ @  \x   ' 0R L ; c kIt's not a trick, it's ...Der einzig wahre Fileselector(es kann nur einen geben ...) Selectric aktivEinInfoInformationSelectric ist Shareware.Bei regelmiger Benutzung mssen Sieeinen Betrag von DM 30,- an dieAutoren entrichten. Kontaktadresse:Stefan RadermacherUnter Krahnenbumen 52-54W-5000 Kln 1Postgiroamt Kln, BLZ 370 100 50Kontonummer 3140 62-503VersionX.XXAufrufOKAbbruch@(#) Selectric CPX-Modul (Apr 17 1992) Ein Aus [3][Selectric nicht installiert!][ Abbruch ]   \hT HRb0000000 (. D!.. =!CPX H ϊ*CPXSTARTS ܊*gICON ICN y["MAKE_CPXC *I MAKE_CPXPRJ *!MAKE_CPXTOS fE+"OP_FILE C *'0WMRS_CPXC *)WMSP_CPXC *13WRAPAUTOH *>WRAPCPX DFN sF>?fWRAPCPX H sF>@V WRAPCPX RSC z<C>WRAPCPX RSH pF>JDWRAP_CPXC %*\BWRAP_CPXPRJ +*mW/* CPX.H * Headerdatei zur Erzeugung von CPX-Modulen * * aus: GEM Sound * TOS Magazin * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * Erstellt mit Pure C */ /* So sieht der Kopf eines CPX-Moduls aus */ typedef struct { UWORD magic; struct { unsigned reserved : 13; unsigned ram_resident : 1; unsigned boot_init : 1; unsigned set_only : 1; } flags; LONG cpx_id; UWORD cpx_version; char i_text[14]; UWORD icon[48]; struct { unsigned i_color :4; unsigned reserved : 4; unsigned i_char : 8; } i_info; char text[18]; struct { unsigned c_board : 4; unsigned c_text : 4; unsigned pattern : 4; unsigned c_back : 4; } t_info; char buffer[64]; char reserved[306]; } CPXHEAD; /* Mausparameter */ typedef struct { WORD x; WORD y; WORD buttons; WORD kstate; } MRETS; /* Struktur zur Verwaltung von CPX-Modulen */ typedef struct cpxlist { char f_name[14]; WORD head_ok; WORD segm_ok; struct { void *text_seg; long len_text; void *data_seg; long len_data; void *bss_seg; long len_bss; } *segm; struct cpxlist *next; CPXHEAD header; } CPX_LIST; /* Funktionen und Flags die von XControl zur Verfgung */ /* gestellt werden. */ typedef struct { WORD handle; WORD booting; WORD reserved; WORD SkipRshFix; CPX_LIST * cdecl (*get_cpx_list)(void); WORD cdecl (*save_header)(CPX_LIST *header); void cdecl (*rsh_fix)(WORD num_objs,WORD num_frstr, WORD num_frimg, WORD num_tree, OBJECT *rs_object, TEDINFO *rs_tedinfo, char *rs_strings[], ICONBLK *rs_iconblk, BITBLK *rs_bitblk, long *rs_frstr, long *rs_frimg, long *rs_trindex, struct foobar *rs_imdope); void cdecl (*rsh_obfix)(OBJECT *tree, WORD ob); WORD cdecl (*Popup)(char *items[],WORD num, WORD def_item,WORD font, GRECT *up, GRECT *world); void cdecl (*Sl_size)(OBJECT *tree, WORD base, WORD slider, WORD entrys, WORD vis_ent, WORD hvflag, WORD min_pix); void cdecl (*Sl_x)(OBJECT *tree, WORD base, WORD slider, WORD value, WORD min, WORD max, void (*foo)(void)); void cdecl (*Sl_y)(OBJECT *tree, WORD base, WORD slider, WORD value, WORD min, WORD max, void (*foo)(void)); void cdecl (*Sl_arrow)(OBJECT *tree, WORD base, WORD slider, WORD obj, WORD inc, WORD min, WORD max, WORD *value, WORD hvflag, void (*foo)(void)); void cdecl (*Sl_dragx)(OBJECT *tree, WORD base, WORD slider, WORD min, WORD max, WORD *value, void (*foo)(void)); void cdecl (*Sl_dragy)(OBJECT *tree, WORD base, WORD slider, WORD min, WORD max, WORD *value, void (*foo)(void)); WORD cdecl (*Xform_do)(OBJECT *tree,WORD eobj, WORD *msg); GRECT * cdecl (*GetFirstRect)(GRECT *prect); GRECT * cdecl (*GetNextRect)(void); void cdecl (*Set_Evnt_Mask)(WORD mask, MOBLK *m1, MOBLK *m2, long time); WORD cdecl (*XGen_Alert)(WORD al); WORD cdecl (*CPX_Save)(void *ptr, long bytes); void * cdecl (*Get_Buffer)(void); WORD cdecl (*getcookie)(long cookie, long *p_value); WORD Country_Code; void cdecl (*MFsave)(WORD flag, MFORM *mf); } XCPB; /* Funktionen die vom CPX-Modul zur Verfgung */ /* gestellt werden. */ typedef struct { WORD cdecl (*cpx_call)(GRECT *rect); void cdecl (*cpx_draw)(GRECT *clip); void cdecl (*cpx_wmove)(GRECT *work); void cdecl (*cpx_timer)(WORD *quit); void cdecl (*cpx_key)(WORD kstate, WORD key, WORD *quit); void cdecl (*cpx_button)(MRETS *mrets, WORD nclicks, WORD *quit); void cdecl (*cpx_m1)(MRETS *mrets, WORD *quit); void cdecl (*cpx_m2)(MRETS *mrets, WORD *quit); WORD cdecl (*cpx_hook)(WORD event, WORD *msg, MRETS *mrets, WORD *key, WORD *nclicks); void cdecl (*cpx_close)(WORD flag); } CPXINFO; /* Ntzliche Definitionen */ #define SAVE_DEFAULTS 0 #define MEM_ERR 1 #define FILE_ERR 2 #define FILE_NOT_FOUND 3 #define MFSAVE 1 #define MFRESTORE 0 #define CT_KEY 53 len in der Hauptseite werden jetzt abgeschnitten. Vorher wurde die Ausgabe erst am Rand der Dialogbox geb; cpxstart.s ; Bei der Erzeugung von CPX-Modulen mu dieser Code anstelle ; von PCSTART.O verwendet werden. ; ; (c)1992 by Richard Kurz ; Vogelherdbogen 62 ; 7992 Tettnang ; Fido 2:241/7232 ; ; Erstellt mit Pure Assembler ; ; Wir geben bekannt..... .globl cpxstart,cpx_init .globl errno,ainf .text cpxstart: jmp cpx_init ; Dieser Sprung ist lebenswichtig! ; Er mu am Anfang des Textsegments ; stehen, da XControl dort den Anfang ; des CPX-Moduls vermutet. .data ; Die Funktion CPX_Save speichert die Werte am Anfang des ; Datensegments. ACHTUNG, es mu gengend Platz sein!!!! ainf: dcb.w 2048,0 ; Puffer fr die Voreinstellungen errno: dc.w 0 ; Diese Variable wird von Pure-C-Funktionen ; bentigt. .end das (aktuelle) Laufwerk erweitert. - Das Testen nicht vorhandener Pfade wurde jetzt TOS-fest gemacht. Vorher klappte es nicht immer (s.a. alte Anlei/* GEM Icon Definition: */ #define ICON_W 0x0020 #define ICON_H 0x0018 #define DATASIZE 0x0030 UWORD icon[DATASIZE] = { 0x0, 0x0, 0x2AAA, 0xAAAA, 0x8000, 0x0, 0x0, 0x1, 0x8100, 0x0, 0x180, 0x1, 0x81C8, 0x0, 0x1E4, 0x801, 0x81F2, 0x4000, 0x1F9, 0x2001, 0x81FC, 0x9300, 0x1FE, 0x4801, 0x81FF, 0x2400, 0x1FF, 0x9271, 0x81F8, 0x0, 0x198, 0x1, 0x810C, 0x9000, 0xC, 0x9301, 0x8006, 0x4800, 0x6, 0x4001, 0x8000, 0x0, 0x0, 0x1, 0x5555, 0x5554, 0x0, 0x0 }; /* MAKE_CPX.C * Erzeugt einen Header und linkt ihn mit WRAP_CPX.CP * zum fertigen WRAP_CPX.CPX. * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Erstellt mit Pure C * * ACHTUNG!!!! Alle Dateien mssen im gleichen Ordner sein!!!!! */ #include #include #include #include #include #include #include "cpx.h" #include "icon.icn" /* Das Icon. */ /* Nur zur Beruhigung von Pure C. */ struct foobar { WORD dummy; WORD *image; }; /* Der Kopf des Ganzen. */ CPXHEAD header; void main(void) /* Macht aus WRAP_CPX.CP ein CPX-Modul. */ { WORD i; /* Hilfsvariable. */ FILE *fp, /* Datei-Zeiger. */ *fp2; header.magic=100; /* Dieser Wert mu immer 100 sein. */ header.flags.ram_resident=0;/* Resident oder nicht? */ header.flags.boot_init=1; /* Soll das Modul bei der XControl- */ /* Initialisierung aufgerufen */ /* werden? (cpx_init). */ header.flags.set_only =0; /* Wenn set_only 1 ist, wird das */ /* Modul nicht in die CPX-Liste */ /* eingetragen. */ header.cpx_id=(long)'WrAp'; /* ID-String des CPX-Moduls. Sollte */ /* fr jedes Modul einzigartig sein!*/ header.cpx_version=0x0100; /* Versions-Nr. des CPX-Moduls. */ strcpy(header.i_text,"by R. Kurz"); /* Text unter dem Icon. */ /* Das Icon wird in den Header kopiert. */ for(i=0;i>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#|3 k # Ј<.@#Jyg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON0 J"LN? 9g @N 9g @NNp?<LNAH8I8dllll)|WrAp9|E"JA N BC`0@A2A9RC|0mlxlxlxlxC AzN lllllllANC?A2N&H fABNpN"Kr < LN\CwAkNp(H f$AzNpN` LN6R@g K0NR LNnJ@gANnpN KN@ LN:B@NLNuA(p"@ "ByA1B33O"Nu/ Hz?<&NN\O$_Nu(VHNuCaAp `/ / B@JgB)g@)fJ&Q(i ge"// Ia`"_ _J@f&Q`B@"(_&_Nu3 p`#H#H&HJfS#K " I(Ia"LJ@f`H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 p`"`&x,A'J'JE8'J & KaRJ@kfRf"`"PdB@ Nu(g*gg/a _J@f/a _J@kf"P`3 pNup/alXONu(g4(f>"P | dNu?/a _2J@f 0Nu3 pNuC!I!IR!I `H&H(o Ia6kl g La` a(Jf\(H <a)HgN0@0;\ Ka|gB9@{0`Q l)H()H C# LLNup`p`p 3 la`a)b*a)b* YOCBgg Ar`THWf0XONup`rwar+w+a+rbwbabr+b rb+ w+b wb+ a+b ab+ Ap`Ar(WVNu?/ Aa4A,a*G6<`Gp+g Ka Q&_6Nu/ &H+g+g8aJ@f80+aJ@k,+g kaB@7@? Ka0&_Nu3 p`H&H(k L0+"+ aJkRgF+f, L"St gSj`"HSISSk ögSjJg&"'LBLNup`p`H&H(k6+"+g0Dta$Jk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" La|Jkg&'LB@LNup`p`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONuaj3p`ް|c/ ??<>NAXO$_JkpNua@3pNu/ /?<ANA\OJkp$_Nua3p$_Nu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a3pNuH&Hx&SgkJ9nkvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp anp a`bJg^n`TxB9n`Jx B9n`np a2 L$_NuBx`xB9n`x B9n`?<NATONu??<NAXONuH@??<@NAO $_JkfNua3pNu3Nu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua3p$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuHR Cp$Q`"J$R" gf"Aa Ja|$_NuD@| |"b;NupNu   g<g8g4g0g,g(g$g ggggg ggf @NuH &/?<HNA\OJf 9bg @ NJ@fp @LNuH0&gPR<e a g!CCt "A`rGx&S f. < a gj&@Ap !| 'H&x#xA"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 `/ oLQ d nf@axJg*`6Ct g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &yt g/ &S?<INA\O`&yx g/ &S?<INA\O`&_NuH8$< CGx g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`/ ??<NAXO$_Nu*@ H$q H@UUUTby R. KurzWRAP MouseWRAP_CPX.CPX ist in Arbeit!wrap_cpx.cpxwbwrap_cpx.cpx kann nicht erzeugt werden!!wrap_cpx.cprbwrap_cpx.cp kann nicht geffnet werden!!Fertig!r  0* `Z v*$Db 2> bD.R,<*if(slct_check(0x0102)) return(slct->get_first(mydta, attr)); else return(-32); } /* ------------------------------------------------------------------------- */ /* ----- slct_next --------------------------------------------------------- */ /* ------------------------------------------------------------------------- */ /* ** int slct_next(DTA *mydta) ** ** Funktion: Nachdem man mit slct_first() den ersten Namen ** zurckbekommt, kann man ber diese Funktion weitere ** Namen erhalten. ** ** Parameter: mydta s.o. ** /* OP_FILE.C * Das CPX-Modul zur Steuerung von WRAPMOUSE * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include "wrapauto.h" int fselect(char *fname, char *text) /* Komfortionse Datei-Auswahl. */ { static char pfad[128]="!:\\"; static char tp[128]; int ok,knopf; char *s; if(pfad[0]=='!') { Dgetpath(tp,0); if(tp[strlen(tp)-1]!='\\') strcat(tp,"\\"); strcpy(&pfad[2],tp); pfad[0]='A'+Dgetdrv(); pfad[1]=':'; } s=strrchr(pfad,'\\'); if(s!=NULL) strcpy(++s,"*.*"); else strcpy(pfad,"*.*"); if((Sversion()>>8)<=20) ok=fsel_input(pfad,fname,&knopf); else ok=fsel_exinput(pfad,fname,&knopf,text); if(!ok || !knopf) { s=strrchr(pfad,'\\'); if(s != NULL) pfad[s+1]=0; else pfad[0]=0; return(FALSE); } s=strrchr(pfad,'\\'); if(s != NULL) strcpy(++s,fname); else strcpy(pfad,fname); return(TRUE); }/* fselect */ > #include #define CMD_FILES_OUT 0x01 /* return filelist */ #define CFG_ONESTRING 0x02 /* return list in one string */ #define CFG_FIRSTNEXT 0x08 /* ------------------------------------------------------------------------- */ /* ----- Selectric Structure ----------------------------------------------- */ /* ------------------------------------------------------------------------- */ typedef struct { unsigned long id; /* Selectric ID (SLCT) */ unsigned int version; /* version (BCD-Format) */ struct { unsigned : 8; /* reserved */ unsigned pthsav : 1; /* save GEMDOS paths */ unsigned stdest : 1; /* stay in destination path */ unsigned autloc : 1; /* auto-locator /* WMRS_CPX.C * Das CPX-Modul zur Steuerung von WRAPMOUSE * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include #include #include "cpx.h" #include "wrapauto.h" #include "wrapcpx.h" #define MAX_MWERT 99 #define MAX_FWERT 20 #define MAX_WRAP 99 struct foobar { WORD dummy; WORD *image; }; void do_ok(void); /* Eine handvoll Prototypen */ static void init_setrs(void); static int handle_setrs(WORD button, WORD *msg); /* Externe Variablen */ extern GRECT *w_rect; /* Die Koordinaten des Fensters. */ extern XCPB *xcpb; /* Zeiger auf die XControl-Funktionen. */ extern CPXINFO cpxinfo; /* Zeiger auf unsere Funktionen fr */ /* XControl. */ extern MFORM mzeiger; /* Parkplatz fr den Mauszeiger. */ extern char *items[20]; /* Zeiger-Feld fr die PopUp-Mens. */ extern INF *inf, /* Zeiger auf die COOKIE-Struktur. */ inf_back; extern OBJECT *setrs; /* Zeiger auf unsere Dialoge. */ /* Globale Variablen */ WORD do_setrs(GRECT *rect) { WORD msg[8]; /* Puffer fr Xform_do. */ WORD button, /* Welches Schweinderl hh button. */ ende; /* Flag fr's ENDE. */ /* Unser Dialog mu angepat werden. */ w_rect=rect; setrs[ROOT].ob_x=w_rect->g_x; setrs[ROOT].ob_y=w_rect->g_y; /* Initialisieren und zeichnen. */ init_setrs(); objc_draw(setrs,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); do { /* Wir berlassen XControl die Verwaltung des Dialogs. */ button=(*xcpb->Xform_do)(setrs,0,msg); /* Nun mssen wir arbeiten. */ ende=handle_setrs(button,msg); } while(!ende); if(ende==99) return(TRUE); return(FALSE); } /* do_setrs */ static WORD handle_setrs(WORD button, WORD *msg) /* Hier behandeln wir die Objekte, die angeklickt wurden. */ /* In button steht die Objekt-Nr. und in msg ein Zeiger auf */ /* einen Messag-Buffer (hnlich wie evnt_mesag). */ { GRECT r1; /* Koordinaten-Feld. */ WORD p; /* Hilfsvariablen. */ if((button!=-1)&&(button & 0x8000)) button &= 0x7fff; switch(button) { case GLAETTEN: items[0]=" Aus "; items[1]=" An "; objc_offset(setrs,button,&r1.g_x,&r1.g_y); r1.g_w=setrs[button].ob_width; r1.g_h=setrs[button].ob_height; p=(*xcpb->Popup)(items,2,inf->rsm_flag,3,&r1,w_rect); if(p==1) setrs[button].ob_spec.free_string="An"; else if(p==0) setrs[button].ob_spec.free_string="Aus"; if(p!=-1) { inf->rsm_flag=p; objc_draw(setrs,button,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } break; case MICROSOF: inf->ms_flag=TRUE; break; case MSYSTEM: inf->ms_flag=FALSE; break; case MODEM1: inf->rp_flag=1; break; case MODEM2: inf->rp_flag=2; break; case SERIELL1: inf->rp_flag=3; break; case SERIELL2: inf->rp_flag=4; break; case ZURUECK3: /* Bei OKAY werden noch die Betriebsparameter */ /* gesichert */ do_ok(); setrs[button].ob_state &= ~SELECTED; return(TRUE); case ABBRUCH3: memcpy(inf,&inf_back,sizeof(inf_back)); setrs[button].ob_state &= ~SELECTED; return(TRUE); default: if(button==-1) { switch(msg[0]) { case WM_CLOSED: /* Wurde das Fenster geschlossen, wird das */ /* wie OKAY behandelt. */ do_ok(); case AC_CLOSE: /* Bei AC_CLOSE nichts wie raus! Wurde vom */ /* Modul Speicher angefordert oder sind */ /* Dateien geffnet, unbedingt aufrumen!! */ return(99); case CT_KEY: /* Jemand hat eine Sondertaste gedrckt. */ /* Help, Undo, Funktions-Tasten usw. */ if(msg[3]==0x6200) /* Help */ { form_alert(1,"[0][Hiiiiilfe !!!! ][ Ah ja ]"); } else if(msg[3]==0x6100) /* Undo */ { p=form_alert(2,"[2][Undo oder nicht Undo|ist hier die Frage][ Ja | Nein ]"); if(p==1) { memcpy(inf,&inf_back,sizeof(inf_back)); init_setrs(); objc_draw(setrs,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } } default: break; } } break; } return(FALSE); } /* handle_setrs */ static void init_setrs(void) /* Der Dialog wird aufgebaut */ { long ma=0; setrs[MODEM1].ob_state &=~SELECTED; setrs[MODEM2].ob_state &=~SELECTED; setrs[SERIELL1].ob_state &=~SELECTED; setrs[SERIELL2].ob_state &=~SELECTED; (*xcpb->getcookie)('_MCH',&ma); if(ma<=0x00010000L) { setrs[MODEM2].ob_state |= DISABLED; setrs[SERIELL1].ob_state |= DISABLED; setrs[SERIELL2].ob_state |= DISABLED; setrs[MODEM1].ob_state|=SELECTED; } else { if(ma<0x00020000L) setrs[SERIELL1].ob_state |= DISABLED; switch(inf->rp_flag) { case 1: setrs[MODEM1].ob_state|=SELECTED; break; case 2: setrs[MODEM2].ob_state|=SELECTED; break; case 3: setrs[SERIELL1].ob_state|=SELECTED; break; case 4: setrs[SERIELL2].ob_state|=SELECTED; break; default: break; } } if(inf->rsm_flag) setrs[GLAETTEN].ob_spec.free_string="An"; else setrs[GLAETTEN].ob_spec.free_string="Aus"; if(inf->ms_flag) { setrs[MICROSOF].ob_state|=SELECTED; setrs[MSYSTEM].ob_state&=~SELECTED; } else { setrs[MSYSTEM].ob_state|=SELECTED; setrs[MICROSOF].ob_state&=~SELECTED; } } /* init_setrs */ */ void *out_ptr; /* output pointer */ int cdecl (*get_first)(DTA *dta, int attrib); int cdecl (*get_next)(DTA *dta); int cdecl (*release_dir)(void); } SLCT_STR; Fangen wir mal an: id Das ist die ID von Selectric, also `SLCT'. Es reicht also nicht nur den `FSEL'-Cookie abzfragen, sondern mu zustzlich nich die ID checken. version Hier steht die Versionsnummer im BCD-Format, also 0x0100 fr 1.00. config. onoff ber dieses Bit wird Selectric ein (logisch 1) bzw. ausgeschaltet. hidden Zeigt an, ob versteckte Dateien angezeigt werden sol- len. dclick Ordner erst auf Doppelklick ffnen. lower Pfadangaben etc. in der Hauptseite in K/* WMSP_CPX.C * Das CPX-Modul zur Steuerung von WRAPMOUSE * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include #include #include "cpx.h" #include "wrapauto.h" #include "wrapcpx.h" #define MAX_MWERT 99 #define MAX_FWERT 40 #define MAX_WRAP 99 struct foobar { WORD dummy; WORD *image; }; /* Eine handvoll Prototypen */ void save_par(void); void do_ok(void); int do_cpx_alert(OBJECT *o,int e); static void ch_mtext(void); static void ch_ftext(void); static void ch_ltext(void); static void ch_rtext(void); static void ch_utext(void); static void ch_otext(void); static void init_dialog(void); static int handle_dialog(WORD button, WORD *msg); /* Externe Variablen */ extern GRECT *w_rect; /* Die Koordinaten des Fensters. */ extern XCPB *xcpb; /* Zeiger auf die XControl-Funktionen. */ extern CPXINFO cpxinfo; /* Zeiger auf unsere Funktionen fr */ /* XControl. */ extern MFORM mzeiger; /* Parkplatz fr den Mauszeiger. */ extern char *items[20]; /* Zeiger-Feld fr die PopUp-Mens. */ extern INF *inf, /* Zeiger auf die COOKIE-Struktur. */ inf_back; extern OBJECT *speeder; /* Zeiger auf unsere Dialoge. */ /* Globale Variablen */ static int akt_slide; /* aktueller Slider. */ static int vslide; /* Wert fr den vertikalen Slider. */ static int dev; /* Welche Maus httens gern */ WORD do_speeder(GRECT *rect,int d) { WORD msg[8]; /* Puffer fr Xform_do. */ WORD button, /* Welches Schweinderl hh button. */ ende; /* Flag fr's ENDE. */ dev=d; /* Unser Dialog mu angepat werden. */ w_rect=rect; speeder[ROOT].ob_x=w_rect->g_x; speeder[ROOT].ob_y=w_rect->g_y; /* Initialisieren und zeichnen. */ init_dialog(); objc_draw(speeder,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); do { /* Wir berlassen XControl die Verwaltung des Dialogs. */ button=(*xcpb->Xform_do)(speeder,0,msg); /* Nun mssen wir arbeiten. */ ende=handle_dialog(button,msg); } while(!ende); if(ende==99) return(TRUE); return(FALSE); } /* do_speeder */ static WORD handle_dialog(WORD button, WORD *msg) /* Hier behandeln wir die Objekte, die angeklickt wurden. */ /* In button steht die Objekt-Nr. und in msg ein Zeiger auf */ /* einen Messag-Buffer (hnlich wie evnt_mesag). */ { GRECT r1; /* Koordinaten-Feld. */ WORD p; /* Hilfsvariablen. */ if((button!=-1)&&(button & 0x8000)) button &= 0x7fff; switch(button) { case ZURUECK: /* Bei OKAY werden noch die Betriebsparameter */ /* gesichert */ do_ok(); speeder[button].ob_state &= ~SELECTED; return(TRUE); case ABBRUCH2: speeder[button].ob_state &= ~SELECTED; memcpy(inf,&inf_back,sizeof(inf_back)); return(TRUE); case LP: (*xcpb->Sl_arrow)(speeder,LV,LT,button,1,0,MAX_WRAP,&inf->d[dev].rand[0],0,ch_ltext); break; case LM: (*xcpb->Sl_arrow)(speeder,LV,LT,button,-1,0,MAX_WRAP,&inf->d[dev].rand[0],0,ch_ltext); break; case RP: (*xcpb->Sl_arrow)(speeder,RV,RT,button,1,0,MAX_WRAP,&inf->d[dev].rand[1],0,ch_rtext); break; case RM: (*xcpb->Sl_arrow)(speeder,RV,RT,button,-1,0,MAX_WRAP,&inf->d[dev].rand[1],0,ch_rtext); break; case UP: (*xcpb->Sl_arrow)(speeder,UV,UT,button,1,0,MAX_WRAP,&inf->d[dev].rand[2],1,ch_utext); break; case UM: (*xcpb->Sl_arrow)(speeder,UV,UT,button,-1,0,MAX_WRAP,&inf->d[dev].rand[2],1,ch_utext); break; case OP: (*xcpb->Sl_arrow)(speeder,OV,OT,button,1,0,MAX_WRAP,&inf->d[dev].rand[3],1,ch_otext); break; case OM: (*xcpb->Sl_arrow)(speeder,OV,OT,button,-1,0,MAX_WRAP,&inf->d[dev].rand[3],1,ch_otext); break; case SFLAG: items[0]=" Aus "; items[1]=" An "; objc_offset(speeder,SFLAG,&r1.g_x,&r1.g_y); r1.g_w=speeder[SFLAG].ob_width; r1.g_h=speeder[SFLAG].ob_height; p=(*xcpb->Popup)(items,2,inf->d[dev].s_flag,3,&r1,w_rect); if(p==1) speeder[SFLAG].ob_spec.free_string="An"; else if(p==0) speeder[SFLAG].ob_spec.free_string="Aus"; if(p!=-1) { inf->d[dev].s_flag=p; objc_draw(speeder,SFLAG,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } break; case WFLAG: items[0]=" Aus "; items[1]=" An "; objc_offset(speeder,WFLAG,&r1.g_x,&r1.g_y); r1.g_w=speeder[WFLAG].ob_width; r1.g_h=speeder[WFLAG].ob_height; p=(*xcpb->Popup)(items,2,inf->d[dev].w_flag,3,&r1,w_rect); if(p==1) speeder[WFLAG].ob_spec.free_string="An"; else if(p==0) speeder[WFLAG].ob_spec.free_string="Aus"; if(p!=-1) { inf->d[dev].w_flag=p; objc_draw(speeder,WFLAG,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } break; default: if(button>=VM1 && buttond[dev].mw[akt_slide]; (*xcpb->Sl_arrow)(speeder,VV1+akt_slide*2,VT1+akt_slide*2,button,-1,1,MAX_MWERT,&vslide,0,ch_mtext); inf->d[dev].mw[akt_slide]=vslide; } else if(button>=VP1 && buttond[dev].mw[akt_slide]; (*xcpb->Sl_arrow)(speeder,VV1+akt_slide*2,VT1+akt_slide*2,button,1,1,MAX_MWERT,&vslide,0,ch_mtext); inf->d[dev].mw[akt_slide]=vslide; } else if(button>=FM1 && buttond[dev].mf[akt_slide]; (*xcpb->Sl_arrow)(speeder,FV1+akt_slide*2,FT1+akt_slide*2,button,-1,1,MAX_FWERT,&vslide,0,ch_ftext); inf->d[dev].mf[akt_slide]=vslide; } else if(button>=FP1 && buttond[dev].mf[akt_slide]; (*xcpb->Sl_arrow)(speeder,FV1+akt_slide*2,FT1+akt_slide*2,button,1,1,MAX_FWERT,&vslide,0,ch_ftext); inf->d[dev].mf[akt_slide]=vslide; } if(button==-1) { switch(msg[0]) { case WM_CLOSED: /* Wurde das Fenster geschlossen, wird das */ /* wie OKAY behandelt. */ do_ok(); case AC_CLOSE: /* Bei AC_CLOSE nichts wie raus! Wurde vom */ /* Modul Speicher angefordert oder sind */ /* Dateien geffnet, unbedingt aufrumen!! */ return(99); case CT_KEY: /* Jemand hat eine Sondertaste gedrckt. */ /* Help, Undo, Funktions-Tasten usw. */ if(msg[3]==0x6200) /* Help */ { form_alert(1,"[0][Hiiiiilfe !!!! ][ Ah ja ]"); } else if(msg[3]==0x6100) /* Undo */ { p=form_alert(2,"[2][Undo oder nicht Undo|ist hier die Frage][ Ja | Nein ]"); if(p==1) { memcpy(inf,&inf_back,sizeof(inf_back)); init_dialog(); objc_draw(speeder,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } } default: break; } } break; } return(FALSE); } /* handle_dialog */ static void init_dialog(void) /* Der Dialog wird aufgebaut */ { static char id[3][20]={"Atari Mouse","RS232 Mouse"," Joystick"}; int i; if(dev==2) { speeder[FV1].ob_state |=DISABLED; speeder[FT1].ob_state |=DISABLED; speeder[FP1].ob_state |=DISABLED; speeder[FM1].ob_state |=DISABLED; speeder[FV1].ob_flags &=~TOUCHEXIT; speeder[FT1].ob_flags &=~TOUCHEXIT; speeder[FP1].ob_flags &=~TOUCHEXIT; speeder[FM1].ob_flags &=~TOUCHEXIT; } else { speeder[FV1].ob_state &=~DISABLED; speeder[FT1].ob_state &=~DISABLED; speeder[FP1].ob_state &=~DISABLED; speeder[FM1].ob_state &=~DISABLED; speeder[FV1].ob_flags |=TOUCHEXIT; speeder[FT1].ob_flags |=TOUCHEXIT; speeder[FP1].ob_flags |=TOUCHEXIT; speeder[FM1].ob_flags |=TOUCHEXIT; } for(i=0;i<6;i++) { akt_slide=i; vslide=inf->d[dev].mw[i]; (*xcpb->Sl_size)(speeder,VV1+i*2,VT1+i*2,MAX_MWERT,4,0,16); (*xcpb->Sl_y)(speeder,VV1+i*2,VT1+i*2,vslide,1,MAX_MWERT,ch_mtext); } for(i=0;i<6;i++) { akt_slide=i; vslide=inf->d[dev].mf[i]; (*xcpb->Sl_size)(speeder,FV1+i*2,FT1+i*2,MAX_FWERT,4,0,16); (*xcpb->Sl_y)(speeder,FV1+i*2,FT1+i*2,vslide,1,MAX_FWERT,ch_ftext); } (*xcpb->Sl_size)(speeder,LV,LT,MAX_WRAP,4,0,16); (*xcpb->Sl_y)(speeder,LV,LT,inf->d[dev].rand[0],1,MAX_WRAP,ch_ltext); (*xcpb->Sl_size)(speeder,RV,RT,MAX_WRAP,4,0,16); (*xcpb->Sl_y)(speeder,RV,RT,inf->d[dev].rand[1],1,MAX_WRAP,ch_rtext); (*xcpb->Sl_size)(speeder,UV,UT,MAX_WRAP,4,1,16); (*xcpb->Sl_x)(speeder,UV,UT,inf->d[dev].rand[2],1,MAX_WRAP,ch_utext); (*xcpb->Sl_size)(speeder,OV,UT,MAX_WRAP,4,1,16); (*xcpb->Sl_x)(speeder,OV,OT,inf->d[dev].rand[3],1,MAX_WRAP,ch_otext); if(inf->d[dev].s_flag) speeder[SFLAG].ob_spec.free_string="An"; else speeder[SFLAG].ob_spec.free_string="Aus"; if(inf->d[dev].w_flag) speeder[WFLAG].ob_spec.free_string="An"; else speeder[WFLAG].ob_spec.free_string="Aus"; speeder[KENNUNG].ob_spec.free_string=id[dev]; } /* init_dialog */ static void ch_mtext(void) /* ONLINE Slider */ { sprintf(speeder[VT1+akt_slide*2].ob_spec.free_string,"%i",vslide); objc_draw(speeder,VT1+akt_slide*2,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_mtext */ static void ch_ftext(void) /* ONLINE Slider */ { sprintf(speeder[FT1+akt_slide*2].ob_spec.free_string,"%i",vslide); objc_draw(speeder,FT1+akt_slide*2,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_ftext */ static void ch_ltext(void) /* ONLINE Slider */ { sprintf(speeder[LT].ob_spec.free_string,"%i",inf->d[dev].rand[0]); objc_draw(speeder,LT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_ltext */ static void ch_rtext(void) /* ONLINE Slider */ { sprintf(speeder[RT].ob_spec.free_string,"%i",inf->d[dev].rand[1]); objc_draw(speeder,RT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_rtext */ static void ch_utext(void) /* ONLINE Slider */ { sprintf(speeder[UT].ob_spec.free_string,"%i",inf->d[dev].rand[2]); objc_draw(speeder,UT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_utext */ static void ch_otext(void) /* ONLINE Slider */ { sprintf(speeder[OT].ob_spec.free_string,"%i",inf->d[dev].rand[3]); objc_draw(speeder,OT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } /* ch_ltext */  ? 3? ? qaa``&# #define TRUE 1 #define FALSE 0 #define MAX_PROG 20 typedef struct { int fix; long (*set_vec)(void); struct { char name[15]; int c_flag; int t_flag; int d_flag; }pf[MAX_PROG]; struct { int tiefe; int nr; int nap[MAX_PROG]; }sa; struct { int s_flag; int w_flag; int mw[6]; int mf[6]; int rand[4]; }d[3]; int j_flag; int r_flag; int rp_flag; int rsm_flag; int ms_flag; }INF; typedef struct { unsigned char head; char dx,dy; } RELMOUSE; int get_cookie(unsigned long cookie,unsigned long *value); int make_cookie(unsigned long cookie,unsigned long value); void do_speed(RELMOUSE *m,int dev); void do_wrap(RELMOUSE *m,int dev); void do_changes(RELMOUSE *m); void set_mouse(RELMOUSE *nm); ` &p330aaa &330`aa>DIALOGM_INFOM_SPEEDRSSETSHIFTL SHIFTR CONTROL ALTERNAT DOPPELKTAUSCHENJOYSTICKIBMMOUSESFILEOKAYABBRUCHSICHERNSPEEDERTESTKENNUNGVP1VP2 VV1 VT1VV2VT2VM1VM2FP1%FV1&FT11FM17OM8OV9OT:OP;LP=RP>SFLAG?LV@LTARVBRTDWFLAGELMFRMGUMHUVIUTJUPLZURUECKMABBRUCH2SETRS232MSYSTEMMICROSOFMODEM1 MODEM2 SERIELL1 SERIELL2GLAETTENZURUECK3ABBRUCH3PINFO0`301 &c330`0`301 &c30`03 #define DIALOG 0 /* TREE */ #define SPEEDER 1 /* TREE */ #define SETRS232 2 /* TREE */ #define PINFO 3 /* TREE */ #define M_INFO 2 /* OBJECT in TREE #0 */ #define M_SPEED 3 /* OBJECT in TREE #0 */ #define RSSET 4 /* OBJECT in TREE #0 */ #define SHIFTL 8 /* OBJECT in TREE #0 */ #define SHIFTR 9 /* OBJECT in TREE #0 */ #define CONTROL 10 /* OBJECT in TREE #0 */ #define ALTERNAT 11 /* OBJECT in TREE #0 */ #define DOPPELK 12 /* OBJECT in TREE #0 */ #define TAUSCHEN 14 /* OBJECT in TREE #0 */ #define JOYSTICK 17 /* OBJECT in TREE #0 */ #define IBMMOUSE 21 /* OBJECT in TREE #0 */ #define SFILE 22 /* OBJECT in TREE #0 */ #define OKAY 24 /* OBJECT in TREE #0 */ #define ABBRUCH 25 /* OBJECT in TREE #0 */ #define SICHERN 27 /* OBJECT in TREE #0 */ #define TEST 0 /* OBJECT in TREE #1 */ #define KENNUNG 2 /* OBJECT in TREE #1 */ #define VP1 6 /* OBJECT in TREE #1 */ #define VP2 7 /* OBJECT in TREE #1 */ #define VV1 12 /* OBJECT in TREE #1 */ #define VT1 13 /* OBJECT in TREE #1 */ #define VV2 14 /* OBJECT in TREE #1 */ #define VT2 15 /* OBJECT in TREE #1 */ #define VM1 24 /* OBJECT in TREE #1 */ #define VM2 25 /* OBJECT in TREE #1 */ #define FP1 31 /* OBJECT in TREE #1 */ #define FV1 37 /* OBJECT in TREE #1 */ #define FT1 38 /* OBJECT in TREE #1 */ #define FM1 49 /* OBJECT in TREE #1 */ #define OM 55 /* OBJECT in TREE #1 */ #define OV 56 /* OBJECT in TREE #1 */ #define OT 57 /* OBJECT in TREE #1 */ #define OP 58 /* OBJECT in TREE #1 */ #define LP 59 /* OBJECT in TREE #1 */ #define RP 61 /* OBJECT in TREE #1 */ #define SFLAG 62 /* OBJECT in TREE #1 */ #define LV 63 /* OBJECT in TREE #1 */ #define LT 64 /* OBJECT in TREE #1 */ #define RV 65 /* OBJECT in TREE #1 */ #define RT 66 /* OBJECT in TREE #1 */ #define WFLAG 68 /* OBJECT in TREE #1 */ #define LM 69 /* OBJECT in TREE #1 */ #define RM 70 /* OBJECT in TREE #1 */ #define UM 71 /* OBJECT in TREE #1 */ #define UV 72 /* OBJECT in TREE #1 */ #define UT 73 /* OBJECT in TREE #1 */ #define UP 74 /* OBJECT in TREE #1 */ #define ZURUECK 76 /* OBJECT in TREE #1 */ #define ABBRUCH2 77 /* OBJECT in TREE #1 */ #define MSYSTEM 5 /* OBJECT in TREE #2 */ #define MICROSOF 6 /* OBJECT in TREE #2 */ #define MODEM1 8 /* OBJECT in TREE #2 */ #define MODEM2 9 /* OBJECT in TREE #2 */ #define SERIELL1 10 /* OBJECT in TREE #2 */ #define SERIELL2 11 /* OBJECT in TREE #2 */ #define GLAETTEN 14 /* OBJECT in TREE #2 */ #define ZURUECK3 16 /* OBJECT in TREE #2 */ #define ABBRUCH3 17 /* OBJECT in TREE #2 */ &333&#&# "$&#&#&#&3330c "$&3330c &p03033001 &pðñ33001 &sðñc0` "$ &scp` &3`000 x$\".>  Speeder RS232 Rechte MaustasteVertauschenShift linksShift rechtsControlAlternateDoppelklickAnJoystickAnSerielle MausProgrammAnAllgemeinOKAbbruchSichernAtari MouseAnsprechschwelle121212121212Verstrkungsfaktor12121212121212SpeederAus1212WrapAus12ZurckAbbruchRS232 MousePortMouseMouse SystemsMicrosoftModem 1Modem 2Seriell 1Seriell 2GlttenAnZurckAbbruchWrap Mouse V1.01992 by Richard KurzVogelherdbogen 627992 TettnangFido 2:241/7232OK:j$)D@UJ$@UJ*$ RI@ ?@?)@?$$GG$A@? @   @ D?( ?? ?? @? @? ? ???HA ? $H#$T@?*?U@?? UAU* U@%@$c1{d9jg=dyxw3{t}jg<t}yw{o| mj1l|/..@  -@A100@ /@D2@ 3@ 4@ 5@ 6@ @ 8@:99@8@G;@ <@= *>@ ?@ TA@@@?@XCBB@ A@[D FE@ eF@G@ H@JII@H@iK@ LM MlK%s 1  b ~ A      A        &  B   ^A @  %   x  z     'X  nnsophie --------------- Selectric wurde sowohl fr eingefleischte Programmierer und MauFaUs (mausfaule User), als auch fr Einsteiger und Aufsteiger entwickelt. Dem Einsteiger wird beispielsweise durch die BeamUps (bzw. PopUps) unter die Arme gegriffen, der Programmierer wird dagegen mit der Tastaturbedienung und dem Auto-Locator belohnt. Weiterhin ging es uns darum die wichtigsten Informationen stndig im Blickfeld zu haben, weniger wichtige Informationen wurden in die BeamUps gepackt. Wir (die Programmierer) knnen es jedoch nicht beurteilen, ob dieses Ziel erreicht wurde oder nicht. Trotzdem knnen wir nur viel Spa mit Selectric wnschen (in der Ho#define T0OBJ 0 #define T1OBJ 28 #define T2OBJ 106 #define T3OBJ 124 #define FREEBB 1 #define FREEIMG 1 #define FREESTR 124 BYTE *rs_strings[] = { "  ", "", "", " Speeder ", "", "", " RS232 ", "", "", "Rechte Maustaste", "", "", "Vertauschen", "", "", "Shift links", "", "", "Shift rechts", "", "", "Control", "", "", "Alternate", "", "", "Doppelklick", "", "", "An", "Joystick", "", "", "An", "Serielle Maus", "", "", "Programm", "", "", "An", "Allgemein", "OK", "Abbruch", "Sichern", "Atari Mouse", "Ansprechschwelle", "", "", "12", "12", "12", "12", "12", "12", "Verstrkungsfaktor", "", "", "12", "12", "12", "12", "12", "12", "12", "Speeder", "", "", "Aus", "12", "12", "Wrap", "", "", "Aus", "12", "Zurck", "Abbruch", "RS232 Mouse", "", "", "Port", "", "", "Mouse", "", "", "Mouse Systems", "", "", "Microsoft", "", "", "Modem 1", "", "", "Modem 2", "", "", "Seriell 1", "", "", "Seriell 2", "", "", "Gltten", "", "", "An", "Zurck", "Abbruch", "Wrap Mouse V1.0", "1992 by Richard Kurz", "Vogelherdbogen 62", "", "", "7992 Tettnang", "", "", "Fido 2:241/7232", "", "", "OK"}; WORD IMAG0[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3A6A, 0x8B80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2429, 0x4440, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1455, 0x4A80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1224, 0x8240, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1455, 0x4A80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2A24, 0x8200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2052, 0x4940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x160A, 0x8500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFC0, 0x0, 0xFFFF, 0xFFC0, 0x0, 0x0, 0x3FFF, 0xFFE0, 0x40, 0x1FF, 0x0, 0xFFFF, 0x0, 0x7FC0, 0x3F, 0xFFC0, 0x1FFF, 0x0, 0x3, 0xF800, 0x1F, 0x83C0, 0x1F8, 0x0, 0xFFFF, 0x0, 0xFC0, 0x3FF, 0xF012, 0x83FF, 0xF000, 0x1F, 0xE000, 0x1, 0xFFC0, 0x1E0, 0x0, 0xFFFF, 0x0, 0x3C0, 0x1FFF, 0x8A29, 0x407F, 0xFF00, 0x7F, 0x8000, 0x0, 0x3FC0, 0x1C0, 0x0, 0xFFFF, 0x0, 0x1C0, 0xFFFE, 0x2424, 0x810F, 0xFFE0, 0xFF, 0x0, 0x0, 0xFC0, 0x180, 0x0, 0xFFFF, 0x0, 0xC3, 0xFFFC, 0x1212, 0x247, 0xFFF8, 0x1FF, 0x0, 0x0, 0x3C0, 0x100, 0x0, 0xFFFF, 0x0, 0x47, 0xFFF8, 0x2408, 0x8483, 0xFFFE, 0x3FF, 0x0, 0x0, 0xC0, 0x0, 0x0, 0xFFFF, 0x0, 0x1F, 0xFFF0, 0x812, 0x4101, 0xFFFF, 0x3FF, 0x8000, 0x0, 0x40, 0x0, 0x0, 0xFFFF, 0x0, 0x3F, 0xFFE0, 0x2020, 0x8040, 0xFFFF, 0x83FF, 0xE000, 0x0, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0x7F, 0xFFC0, 0xA0A, 0x280, 0x7FFF, 0xE3FF, 0xFC00, 0x0, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0xFF, 0xFFC0, 0x2020, 0x8400, 0x7FFF, 0xE3FF, 0xFFE0, 0x0, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0xFF, 0xFFC0, 0x809, 0x140, 0x7FFF, 0xF1FF, 0xFFFF, 0x8000, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x220, 0x4400, 0x3FFF, 0xF0FF, 0xFFFF, 0xFE00, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x280A, 0x80, 0x3FFF, 0xF83F, 0xFFFF, 0xFFF8, 0x0, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x20, 0x8400, 0x3FFF, 0xF80F, 0xFFFF, 0xFFFF, 0x8000, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x1002, 0x100, 0x3FFF, 0xF801, 0xFFFF, 0xFFFF, 0xF800, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x420, 0x440, 0x3FFF, 0xF800, 0xFFF, 0xFFFF, 0xFF00, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x2009, 0x4000, 0x3FFF, 0xF800, 0x7F, 0xFFFF, 0xFFC0, 0x0, 0x0, 0xFFFF, 0x0, 0x1FF, 0xFF80, 0x20, 0x100, 0x3FFF, 0xF000, 0x3, 0xFFFF, 0xFFF0, 0x0, 0x0, 0xFFFF, 0x0, 0xFF, 0xFF80, 0x1200, 0x420, 0x3FFF, 0xF000, 0x0, 0x3FF, 0xFFF8, 0x0, 0x0, 0xFFFF, 0x0, 0xFF, 0xFFC0, 0x4, 0x0, 0x7FFF, 0xE000, 0x0, 0x3F, 0xFFFC, 0x0, 0x0, 0xFFFF, 0x0, 0x7F, 0xFFC0, 0x10, 0x8000, 0x7FFF, 0xE000, 0x0, 0x3, 0xFFFC, 0x0, 0x0, 0xFFFF, 0x0, 0x3F, 0xFFE0, 0x4800, 0x4120, 0x7FFF, 0xC200, 0x0, 0x0, 0x7FFE, 0x0, 0x0, 0xFFFF, 0x0, 0x1F, 0xFFE0, 0x0, 0x0, 0xFFFF, 0x8300, 0x0, 0x0, 0x3FFC, 0x0, 0x0, 0xFFFF, 0x0, 0xF, 0xFFF0, 0x2024, 0x8081, 0xFFFE, 0x380, 0x0, 0x0, 0x1FFC, 0x0, 0x0, 0xFFFF, 0x0, 0x3, 0xFFF8, 0x4801, 0x523, 0xFFFC, 0x3E0, 0x0, 0x0, 0x1FF8, 0x0, 0x0, 0xFFFF, 0x0, 0x0, 0xFFFE, 0x2454, 0x408F, 0xFFF0, 0x3F0, 0x0, 0x0, 0x1FF8, 0x0, 0x0, 0xFFFF, 0x0, 0x0, 0x3FFF, 0x882A, 0x820F, 0xFFC0, 0x3FC, 0x0, 0x0, 0x3FE0, 0x0, 0x0, 0xFFFF, 0x0, 0x0, 0xFFF, 0xE055, 0x40FF, 0xFE00, 0x3FF, 0x8000, 0x0, 0x7FC0, 0x0, 0x1, 0xFFFF, 0x8000, 0x0, 0xFF, 0xF800, 0x3FF, 0xE000, 0x3FF, 0xF000, 0x3, 0xFF00, 0x0, 0x7, 0xFFFF, 0xE000, 0x0, 0x1F, 0xFFFF, 0xFFFE, 0x0, 0x0, 0x1FC0, 0x3F, 0xE000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFFFF, 0xFFE0, 0x0, 0x0, 0x3F, 0xFFF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15, 0xC055, 0x4155, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2A, 0x2055, 0x40AA, 0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0x4024, 0x8011, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6331, 0xC67B, 0x641E, 0xC6CC, 0x639, 0xEF6A, 0x679E, 0x3DB7, 0x83CF, 0x6419, 0xE679, 0x8678, 0xC3DE, 0x7733, 0xE67B, 0x741E, 0xC6DE, 0xF7D, 0xEF6A, 0x67DE, 0x3C07, 0xC3EF, 0x7419, 0xE67D, 0x8F79, 0xE3DE, 0x777B, 0x6F1B, 0x7C1A, 0xC6DA, 0xD6D, 0x866A, 0xF6D8, 0x31B6, 0xC36C, 0x7C3C, 0xCF6D, 0x8D31, 0xA18C, 0x777B, 0xF33, 0x7C1E, 0xC6DC, 0xE6D, 0xC66A, 0xF79E, 0x3DB7, 0xC36F, 0x7C3C, 0xCF7D, 0x8E30, 0xC18C, 0x7F6B, 0x6D33, 0x7C1E, 0xC6CE, 0x66D, 0xC66A, 0xD79E, 0x3DB7, 0x836F, 0x7C34, 0xCD79, 0x8631, 0xE18C, 0x7F7B, 0x6F63, 0x7C18, 0xC6D6, 0xB6D, 0x867E, 0xF6D8, 0x31B7, 0xC36C, 0x7C3C, 0xCF7D, 0x8B31, 0xA18C, 0x7B7B, 0xEF7B, 0x6C18, 0xF7DE, 0xF7D, 0x867E, 0xF6DE, 0x31F6, 0xC3EF, 0x6C3C, 0xCF6D, 0x8F31, 0xF18C, 0x5B49, 0xC97B, 0x6418, 0xF38C, 0x639, 0x866E, 0x96DE, 0x30E6, 0xC3CF, 0x6424, 0xC96D, 0x8630, 0xE18C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x529, 0x4440, 0x22, 0x4000, 0x1052, 0xA400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1294, 0xAA80, 0x55, 0x0, 0x4A89, 0x5280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2945, 0x1100, 0x10, 0x8000, 0x1254, 0x8900, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x452, 0x4A00, 0x4A, 0x8000, 0x522, 0x5480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3294, 0xA000, 0x2A, 0x4000, 0x95, 0x2200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA52, 0x8000, 0x52, 0x8000, 0x52, 0x9500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2AAA, 0x0, 0x2A, 0x4000, 0x14, 0xAA80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2948, 0x0, 0x55, 0x4000, 0x2, 0xAA00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2AA0, 0x0, 0x55, 0x4000, 0x0, 0x5580, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2800, 0x0, 0x55, 0x4000, 0x0, 0x500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}; LONG rs_frstr[] = { 0}; BITBLK rs_bitblk[] = { 0L, 26, 70, 0, 0, 1}; LONG rs_frimg[] = { 0}; ICONBLK rs_iconblk[] = { 0}; TEDINFO rs_tedinfo[] = { 0L, 1L, 2L, 3, 0, 0, 0x1180, 0x0, 0, 5,1, 3L, 4L, 5L, 3, 0, 0, 0x1180, 0x0, 0, 10,1, 6L, 7L, 8L, 3, 0, 0, 0x1180, 0x0, 0, 8,1, 9L, 10L, 11L, 5, 6, 2, 0x1180, 0x0, -1, 17,1, 12L, 13L, 14L, 5, 0, 2, 0x1180, 0x0, -1, 12,1, 15L, 16L, 17L, 5, 6, 2, 0x1180, 0x0, -1, 12,1, 18L, 19L, 20L, 5, 6, 2, 0x1180, 0x0, -1, 13,1, 21L, 22L, 23L, 5, 6, 2, 0x1180, 0x0, -1, 8,1, 24L, 25L, 26L, 5, 6, 2, 0x1180, 0x0, -1, 10,1, 27L, 28L, 29L, 5, 6, 2, 0x1180, 0x0, -4, 12,1, 31L, 32L, 33L, 5, 0, 2, 0x1180, 0x0, -1, 9,1, 35L, 36L, 37L, 5, 6, 2, 0x1180, 0x0, -1, 14,1, 38L, 39L, 40L, 5, 6, 2, 0x1180, 0x0, -1, 9,1, 47L, 48L, 49L, 5, 6, 2, 0x1180, 0x0, -1, 17,1, 56L, 57L, 58L, 5, 6, 2, 0x1180, 0x0, -1, 19,1, 66L, 67L, 68L, 5, 6, 0, 0x1180, 0x0, -1, 8,1, 72L, 73L, 74L, 5, 6, 0, 0x1180, 0x0, -1, 5,1, 79L, 80L, 81L, 3, 0, 2, 0x1180, 0x0, 2, 12,1, 82L, 83L, 84L, 3, 0, 2, 0x1180, 0x0, -1, 5,1, 85L, 86L, 87L, 5, 0, 2, 0x1180, 0x0, -1, 6,1, 88L, 89L, 90L, 5, 0, 2, 0x1180, 0x0, -1, 14,1, 91L, 92L, 93L, 5, 0, 2, 0x1180, 0x0, -1, 10,1, 94L, 95L, 96L, 5, 0, 2, 0x1180, 0x0, -1, 8,1, 97L, 98L, 99L, 5, 0, 2, 0x1180, 0x0, -1, 8,1, 100L, 101L, 102L, 5, 0, 2, 0x1180, 0x0, -1, 10,1, 103L, 104L, 105L, 5, 0, 2, 0x1180, 0x0, -1, 10,1, 106L, 107L, 108L, 5, 0, 2, 0x1180, 0x0, -1, 8,1, 114L, 115L, 116L, 5, 6, 0, 0x1180, 0x0, -1, 18,1, 117L, 118L, 119L, 5, 6, 0, 0x1180, 0x0, -1, 14,1, 120L, 121L, 122L, 5, 6, 0, 0x1180, 0x0, -1, 16,1}; OBJECT rs_object[] = { -1, 1, 23, G_BOX, NONE, NORMAL, 0xFF1101L, 0,0, 32,11, 5, 2, 4, G_BOX, NONE, NORMAL, 0xFF1101L, 0,0, 32,1, 3, -1, -1, G_TEXT, 0x41, NORMAL, 0x0L, 0,0, 4,1, 4, -1, -1, G_TEXT, 0x41, NORMAL, 0x1L, 4,0, 9,1, 1, -1, -1, G_TEXT, 0x41, NORMAL, 0x2L, 13,0, 7,1, 6, -1, -1, G_BOXTEXT, NONE, NORMAL, 0x3L, 1,2049, 14,2048, 7, -1, -1, G_BOXTEXT, NONE, NORMAL, 0x4L, 17,2049, 14,2048, 13, 8, 12, G_BOX, NONE, NORMAL, 0xFF1141L, 1,2, 14,1028, 9, -1, -1, G_BOXTEXT, 0x41, NORMAL, 0x5L, 1,768, 12,2048, 10, -1, -1, G_BOXTEXT, 0x41, NORMAL, 0x6L, 1,3840, 12,2048, 11, -1, -1, G_BOXTEXT, 0x41, NORMAL, 0x7L, 1,2817, 12,2048, 12, -1, -1, G_BOXTEXT, 0x41, NORMAL, 0x8L, 1,1794, 12,2048, 7, -1, -1, G_BOXTEXT, 0x41, NORMAL, 0x9L, 1,1539, 12,2048, 15, 14, 14, G_BOX, NONE, NORMAL, 0xFF1141L, 17,2, 14,2049, 13, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x1EL, 4,768, 6,1, 16, -1, -1, G_BOXTEXT, NONE, NORMAL, 0xAL, 17,4, 14,2048, 18, 17, 17, G_BOX, NONE, NORMAL, 0xFF1141L, 17,2052, 14,2049, 16, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x22L, 4,768, 6,1, 19, -1, -1, G_BOXTEXT, NONE, NORMAL, 0xBL, 17,2054, 14,2048, 20, -1, -1, G_BOXTEXT, NONE, SHADOWED, 0xCL, 1,7, 526,2048, 22, 21, 21, G_BOX, NONE, NORMAL, 0xFF1141L, 17,7, 14,2049, 20, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x29L, 4,768, 6,1, 23, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x2AL, 1,2055, 526,1, 0, 24, 26, G_BOX, NONE, NORMAL, 0xFF1100L, 0,9, 32,2, 25, -1, -1, G_BUTTON, 0x7, NORMAL, 0x2BL, 1036,2048, 8,1, 26, -1, -1, G_BUTTON, 0x5, NORMAL, 0x2CL, 22,2048, 9,1, 23, 27, 27, G_BOX, NONE, NORMAL, 0xFF1100L, 0,0, 11,2, 26, -1, -1, G_BUTTON, 0x25, NORMAL, 0x2DL, 1,2048, 9,1, -1, 1, 75, G_BOX, NONE, NORMAL, 0xFF1101L, 0,0, 32,11, 3, 2, 2, G_BOX, NONE, NORMAL, 0xFF1101L, 0,0, 13,1, 1, -1, -1, G_STRING, NONE, NORMAL, 0x2EL, 1,0, 11,1, 55, 4, 54, G_BOX, NONE, NORMAL, 0xFF1131L, 13,0, 19,9, 30, 5, 29, G_BOX, NONE, NORMAL, 0xFF1141L, 0,0, 19,1796, 6, -1, -1, G_BOXTEXT, NONE, NORMAL, 0xDL, 0,0, 19,2048, 7, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 1,2816, 2,1, 8, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 4,2816, 2,1, 9, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 7,2816, 2,1, 10, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 10,2816, 2,1, 11, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 13,2816, 2,1, 12, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 16,2816, 2,1, 14, 13, 13, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 1,3073, 2,2305, 12, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x32L, 0,0, 2,1, 16, 15, 15, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 4,3073, 2,2305, 14, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x33L, 0,0, 2,1, 18, 17, 17, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 7,3073, 2,2305, 16, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x34L, 0,0, 2,1, 20, 19, 19, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 10,3073, 2,2305, 18, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x35L, 0,0, 2,1, 22, 21, 21, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 13,3073, 2,2305, 20, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x36L, 0,0, 2,1, 24, 23, 23, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 16,3073, 2,2305, 22, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x37L, 0,0, 2,1, 25, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 1,1283, 2,1, 26, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 4,1283, 2,1, 27, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 7,1283, 2,1, 28, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 10,1283, 2,1, 29, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 13,1283, 2,1, 4, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 16,1283, 2,1, 31, -1, -1, G_BOXTEXT, NONE, NORMAL, 0xEL, 0,2052, 19,2048, 32, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 1,773, 2,1, 33, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 4,773, 2,1, 34, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 7,773, 2,1, 35, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 10,773, 2,1, 36, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 13,773, 2,1, 37, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 16,773, 2,1, 39, 38, 38, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 1,1030, 2,2305, 37, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x3BL, 0,0, 2,1, 41, 40, 40, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 4,1030, 2,2305, 39, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x3CL, 0,0, 2,1, 43, 42, 42, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 7,1030, 2,2305, 41, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x3DL, 0,0, 2,1, 45, 44, 44, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 10,1030, 2,2305, 43, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x3EL, 0,0, 2,1, 47, 46, 46, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 13,1030, 2,2305, 45, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x3FL, 0,0, 2,1, 49, 48, 48, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 16,1030, 2,2305, 47, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x40L, 0,0, 2,1, 50, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 1,3335, 2,1, 51, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 4,3335, 2,1, 52, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 7,3335, 2,1, 53, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 10,3335, 2,1, 54, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 13,3335, 2,1, 3, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 16,3335, 2,1, 56, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x4FF1100L, 1,2049, 2,1, 58, 57, 57, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 3,2049, 7,1, 56, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x41L, 2,0, 2,1, 59, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x3FF1100L, 10,2049, 2,1, 60, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 1,3, 2,1, 61, -1, -1, G_TEXT, NONE, NORMAL, 0xFL, 4,3, 517,2048, 62, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x1FF1100L, 10,3, 2,1, 63, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x45L, 4,2051, 5,1, 65, 64, 64, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 1,4, 2,2, 63, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x46L, 0,2048, 2,1, 67, 66, 66, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 10,4, 2,2, 65, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x47L, 0,2048, 2,1, 68, -1, -1, G_TEXT, NONE, NORMAL, 0x10L, 5,5, 3,2048, 69, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x4BL, 4,2053, 5,1, 70, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 1,6, 2,1, 71, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x2FF1100L, 10,6, 2,1, 72, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x4FF1100L, 1,2055, 2,1, 74, 73, 73, G_BOX, TOUCHEXIT, NORMAL, 0xFF1111L, 3,2055, 7,1, 72, -1, -1, G_BUTTON, TOUCHEXIT, NORMAL, 0x4CL, 3,0, 2,1, 75, -1, -1, G_BOXCHAR, TOUCHEXIT, NORMAL, 0x3FF1100L, 10,2055, 2,1, 0, 76, 77, G_BOX, NONE, NORMAL, 0xFF1100L, 0,9, 32,2, 77, -1, -1, G_BUTTON, 0x7, NORMAL, 0x4DL, 1,2048, 17,1, 75, -1, -1, G_BUTTON, 0x25, NORMAL, 0x4EL, 22,2048, 9,1, -1, 1, 15, G_BOX, NONE, NORMAL, 0xFF1131L, 0,0, 32,11, 2, -1, -1, G_BOXTEXT, NONE, OUTLINED, 0x11L, 1,2048, 30,2, 3, -1, -1, G_BOXTEXT, NONE, NORMAL, 0x12L, 1,3, 14,1, 4, -1, -1, G_BOXTEXT, NONE, NORMAL, 0x13L, 17,3, 14,2048, 7, 5, 6, G_BOX, NONE, NORMAL, 0xFF1141L, 17,2051, 14,2050, 6, -1, -1, G_BOXTEXT, 0x15, SELECTED, 0x14L, 1,2048, 12,2048, 4, -1, -1, G_BOXTEXT, 0x15, NORMAL, 0x15L, 1,2049, 12,2048, 12, 8, 11, G_BOX, NONE, NORMAL, 0xFF1141L, 1,4, 14,2052, 9, -1, -1, G_BOXTEXT, 0x15, SELECTED, 0x16L, 1,2048, 12,2048, 10, -1, -1, G_BOXTEXT, 0x15, NORMAL, 0x17L, 1,2049, 12,2048, 11, -1, -1, G_BOXTEXT, 0x15, NORMAL, 0x18L, 1,2050, 12,2048, 7, -1, -1, G_BOXTEXT, 0x15, NORMAL, 0x19L, 1,2051, 12,2048, 13, -1, -1, G_BOXTEXT, NONE, NORMAL, 0x1AL, 17,2054, 14,2048, 15, 14, 14, G_BOX, NONE, NORMAL, 0xFF1141L, 17,7, 14,2049, 13, -1, -1, G_BUTTON, TOUCHEXIT, SHADOWED, 0x6DL, 4,768, 6,1, 0, 16, 17, G_BOX, NONE, NORMAL, 0xFF1100L, 0,9, 32,2, 17, -1, -1, G_BUTTON, 0x7, NORMAL, 0x6EL, 1,2048, 17,1, 15, -1, -1, G_BUTTON, 0x25, NORMAL, 0x6FL, 22,2048, 9,1, -1, 1, 7, G_BOX, NONE, OUTLINED, 0x21181L, 0,0, 28,9, 2, -1, -1, G_IMAGE, NONE, NORMAL, 0x0L, 1,0, 26,1540, 3, -1, -1, G_STRING, NONE, NORMAL, 0x70L, 6,2052, 16,1, 4, -1, -1, G_STRING, NONE, NORMAL, 0x71L, 3,2053, 21,1, 5, -1, -1, G_TEXT, NONE, NORMAL, 0x1BL, 1,7, 13,2048, 6, -1, -1, G_TEXT, NONE, NORMAL, 0x1CL, 1,2055, 1545,2048, 7, -1, -1, G_TEXT, NONE, NORMAL, 0x1DL, 1,8, 523,2048, 0, -1, -1, G_BUTTON, 0x27, NORMAL, 0x7BL, 17,7, 9,2049}; LONG rs_trindex[] = { 0L, 28L, 106L, 124L}; struct foobar { WORD dummy; WORD *image; } rs_imdope[] = { 0, &IMAG0[0]}; #define NUM_STRINGS 124 #define NUM_FRSTR 0 #define NUM_IMAGES 1 #define NUM_BB 1 #define NUM_FRIMG 0 #define NUM_IB 0 #define NUM_TI 30 #define NUM_OBS 132 #define NUM_TREE 4 BYTE pname[] = "WRAPCPX.RSC"; auf einen Blick haben will kann man, whlt man erst `*.TXT' aus und hlt bei der darauffolgenden Auswahl von `*.DOC' die [SHIFT]-Taste (oder die rechte Maustaste ... s.o.) fest. In der Pfadanzeige sind die beiden Masken dann durch ein Komma getrennt. Wichtig ist, da diese Masken nur maximal 16 Zeichen lang sein knnen, der Rest wird abgeschnitten. Rainer Juhser: "Wie kann denn jetzt so eine Maske aussehen?" Die Anleitung: "Die ganze Geschichte ist an das von *nix bekannte `Globbing' angelehnt. Leider wird diese Mglichkeit vom TOS (und vielen anderen Programmen) nicht unter- sttzt. Die genaue Syntax jetzt aber fr alle ..." ? steht fr EIN beliebiges Zeichen (sollte vom TOS her bekannt sein). * st/* WRAP_CPX.C * Das CPX-Modul zur Steuerung von WRAPMOUSE * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include #include #include "cpx.h" #include "wrapauto.h" #include "wrapcpx.h" #pragma warn -rpt #include "wrapcpx.rsh" #pragma warn +rpt #define MAX_MWERT 99 #define MAX_FWERT 20 #define MAX_WRAP 99 /* Eine handvoll Prototypen */ CPXINFO * cdecl cpx_init(XCPB *Xcpb); WORD cdecl cpx_call(GRECT *re); void save_par(void); void do_ok(void); int do_cpx_alert(OBJECT *o,int e); int do_speeder(GRECT *rect,int d); int do_setrs(GRECT *rect); int fselect(char *fname, char *text); static void init_dialog(void); static int handle_dialog(WORD button, WORD *msg); static int ap=0; /* Globale Variablen */ GRECT *w_rect; /* Die Koordinaten des Fensters. */ XCPB *xcpb; /* Zeiger auf die XControl-Funktionen. */ CPXINFO cpxinfo; /* Zeiger auf unsere Funktionen fr */ /* XControl. */ MFORM mzeiger; /* Parkplatz fr den Mauszeiger. */ char *items[20]; /* Zeiger-Feld fr die PopUp-Mens. */ int akt_slide; /* aktueller Slider. */ int vslide; /* Wert fr den vertikalen Slider. */ INF *inf, /* Zeiger auf die COOKIE-Struktur. */ inf_back; OBJECT *dialog, /* Zeiger auf unsere Dialoge. */ *speeder, *setrs, *info; /* Externe Variablen aus dem Assemblerteil */ extern INF ainf; long (*bsetv)(void); CPXINFO * cdecl cpx_init(XCPB *Xcpb) /* Diese Funktion wird whrend der XControl-Initialisierung und */ /* bei jeder Aktivierung unseres CPX-Moduls als erstes */ /* gestartet. Sie erhlt einen Zeiger auf die CPX-Funktionen */ /* und mu einen Zeiger auf die eigenen Funktionen oder NULL */ /* bzw. 1 zurckgeben. */ { xcpb=Xcpb; if(xcpb->booting) /* Dieses Flag zeigt an, ob es der erste Aufruf (whrend der*/ /* XControl-Initialisierung) ist. */ { if((*xcpb->getcookie)('WrAp',(long *)(&inf))) { if(!inf->fix) { bsetv=inf->set_vec; if(ainf.set_vec)memcpy(inf,&ainf,sizeof(inf_back)); inf->fix=TRUE; bsetv(); } } /* Whrend der Initialisierung mu eine 1 zurckgegeben */ /* werden, wenn das CPX-Modul nicht set_only sein soll. */ return ((CPXINFO *)1); } if(!xcpb->SkipRshFix) /* In diesem Flag wird festgehalten, ob der OBJECT-Baum */ /* schon angepat wurde. */ { /* Wir passen den OBJECT-Baum an. */ (*xcpb->rsh_fix)(NUM_OBS,NUM_FRSTR,NUM_FRIMG,NUM_TREE, rs_object,rs_tedinfo,rs_strings,rs_iconblk, rs_bitblk,rs_frstr,rs_frimg,rs_trindex, rs_imdope); } dialog=(OBJECT *)rs_trindex[DIALOG]; speeder=(OBJECT *)rs_trindex[SPEEDER]; setrs=(OBJECT *)rs_trindex[SETRS232]; info=(OBJECT *)rs_trindex[PINFO]; /* In die CPXINFO-Struktur mssen unsere Funktionen ein- */ /* getragen werden. */ cpxinfo.cpx_call =cpx_call; cpxinfo.cpx_draw =NULL; cpxinfo.cpx_wmove =NULL; cpxinfo.cpx_timer =NULL; cpxinfo.cpx_key =NULL; cpxinfo.cpx_button =NULL; cpxinfo.cpx_m1 =NULL; cpxinfo.cpx_m2 =NULL; cpxinfo.cpx_hook =NULL; cpxinfo.cpx_close =NULL; /* Mit der Rckgabe unserer Funktionen melden wir uns beim */ /* XControl an. */ return(&cpxinfo); } /* cpx_init */ WORD cdecl cpx_call(GRECT *rect) { WORD msg[8]; /* Puffer fr Xform_do. */ WORD button, /* Welches Schweinderl hh button. */ ende; /* Flag fr's ENDE. */ if(!(*xcpb->getcookie)('WrAp',(long *)(&inf))) { form_alert(1,"[3][ |Sorry,|WRAPMOUS.PRG fehlt][ Okay ]"); return(FALSE); } memcpy(&inf_back,inf,sizeof(inf_back)); ap=inf->sa.tiefe; /* Unser Dialog mu angepat werden. */ w_rect=rect; dialog[ROOT].ob_x=w_rect->g_x; dialog[ROOT].ob_y=w_rect->g_y; /* Initialisieren und zeichnen. */ init_dialog(); objc_draw(dialog,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); do { /* Wir berlassen XControl die Verwaltung des Dialogs. */ button=(*xcpb->Xform_do)(dialog,0,msg); /* Nun mssen wir arbeiten. */ ende=handle_dialog(button,msg); } while(!ende); /* Ende unseres Moduls, XControl ist wieder an der Reihe. */ memcpy(inf,&inf_back,sizeof(inf_back)); return(FALSE); } /* cpx_call */ static WORD handle_dialog(WORD button, WORD *msg) /* Hier behandeln wir die Objekte, die angeklickt wurden. */ /* In button steht die Objekt-Nr. und in msg ein Zeiger auf */ /* einen Messag-Buffer (hnlich wie evnt_mesag). */ { static char sf[MAX_PROG][17]; static char fn[20]; GRECT r1; /* Koordinaten-Feld. */ WORD p; /* Hilfsvariablen. */ int i; if((button!=-1)&&(button & 0x8000)) button &= 0x7fff; switch(button) { case SFILE: strcpy(sf[0]," Neu "); items[0]=sf[0]; for(i=1;i<=MAX_PROG;i++) { if(inf->pf[i-1].name[0]) { items[i]=sf[i]; sf[i][0]=sf[i][1]=' '; strcpy(&sf[i][2],inf->pf[i-1].name); while(strlen(sf[i])<16) strcat(sf[i]," "); } else break; } objc_offset(dialog,button,&r1.g_x,&r1.g_y); r1.g_w=dialog[button].ob_width; r1.g_h=dialog[button].ob_height; p=(*xcpb->Popup)(items,i,-1,3,&r1,w_rect); if(p>=0) { if(Kbshift(-1)&3) { if(p>1) { ap=0; if(form_alert(1,"[1][ |Wirklich lschen][ Ja | Nein ]")==1) { for(i=p-1;ipf[i].name,inf->pf[i+1].name); inf->pf[i].c_flag=inf->pf[i+1].c_flag; inf->pf[i].d_flag=inf->pf[i+1].d_flag; inf->pf[i].t_flag=inf->pf[i+1].t_flag; } } } } else { if(p) ap=p-1; else { if(i>=MAX_PROG-1) form_alert(1,"[3][ |Es knnen keine Programme|mehr aufgenommen werden!][ OK ]"); else if(fselect(fn,"Programm whlen")) { strcpy(inf->pf[i-1].name,fn); ap=i-1; } } } init_dialog(); objc_draw(dialog,ROOT,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } break; case M_INFO: items[0]=" Info... "; objc_offset(dialog,M_INFO,&r1.g_x,&r1.g_y); r1.g_y+=17; r1.g_w=dialog[M_INFO].ob_width; r1.g_h=dialog[M_INFO].ob_height; p=(*xcpb->Popup)(items,1,-1,3,&r1,w_rect); if(p==0) do_cpx_alert(info,0); dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,button,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); break; case M_SPEED: items[0]=" Atari Mouse "; items[1]=" RS232 Mouse "; items[2]=" Joystick "; objc_offset(dialog,button,&r1.g_x,&r1.g_y); r1.g_y+=17; r1.g_w=dialog[button].ob_width; r1.g_h=dialog[button].ob_height; p=(*xcpb->Popup)(items,3,-1,3,&r1,w_rect); if(p>=0) { do_ok(); if(do_speeder(w_rect,p)) return(TRUE); dialog[ROOT].ob_x=w_rect->g_x; dialog[ROOT].ob_y=w_rect->g_y; dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,ROOT,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,button,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); break; case RSSET: items[0]=" Einstellungen "; objc_offset(dialog,button,&r1.g_x,&r1.g_y); r1.g_y+=17; r1.g_w=dialog[button].ob_width; r1.g_h=dialog[button].ob_height; p=(*xcpb->Popup)(items,1,-1,3,&r1,w_rect); if(p>=0) { do_ok(); if(do_setrs(w_rect)) return(TRUE); dialog[ROOT].ob_x=w_rect->g_x; dialog[ROOT].ob_y=w_rect->g_y; dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,ROOT,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,button,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); break; case TAUSCHEN: case JOYSTICK: case IBMMOUSE: items[0]=" Aus "; items[1]=" An "; objc_offset(dialog,button,&r1.g_x,&r1.g_y); r1.g_w=dialog[button].ob_width; r1.g_h=dialog[button].ob_height; p=(*xcpb->Popup)(items,2,-1,3,&r1,w_rect); if(p==1) dialog[button].ob_spec.free_string="An"; else if(p==0) dialog[button].ob_spec.free_string="Aus"; if(p!=-1) { if(button==TAUSCHEN) inf->pf[ap].c_flag=p; else if(button==JOYSTICK) inf->j_flag=p; else if(button==IBMMOUSE) inf->r_flag=p; objc_draw(dialog,button,MAX_DEPTH,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } break; case DOPPELK: if(dialog[button].ob_state & SELECTED) inf->pf[ap].d_flag=TRUE; else inf->pf[ap].d_flag=FALSE; break; case SHIFTL: if(dialog[button].ob_state & SELECTED) inf->pf[ap].t_flag|=1; else inf->pf[ap].t_flag&=~1; break; case SHIFTR: if(dialog[button].ob_state & SELECTED) inf->pf[ap].t_flag|=2; else inf->pf[ap].t_flag&=~2; break; case CONTROL: if(dialog[button].ob_state & SELECTED) inf->pf[ap].t_flag|=4; else inf->pf[ap].t_flag&=~4; break; case ALTERNAT: if(dialog[button].ob_state & SELECTED) inf->pf[ap].t_flag|=8; else inf->pf[ap].t_flag&=~8; break; case SICHERN: /* Wer sich fr's SICHERN interessiert, dem sei */ /* save_par() empfohlen. */ save_par(); dialog[button].ob_state &= ~SELECTED; objc_draw(dialog,button,1,w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); break; case OKAY: /* Bei OKAY werden noch die Betriebsparameter */ /* gesichert */ do_ok(); dialog[button].ob_state &= ~SELECTED; return(TRUE); case ABBRUCH: memcpy(inf,&inf_back,sizeof(inf_back)); dialog[button].ob_state &= ~SELECTED; return(TRUE); default: if(button==-1) { switch(msg[0]) { case WM_CLOSED: /* Wurde das Fenster geschlossen, wird das */ /* wie OKAY behandelt. */ do_ok(); case AC_CLOSE: /* Bei AC_CLOSE nichts wie raus! Wurde vom */ /* Modul Speicher angefordert oder sind */ /* Dateien geffnet, unbedingt aufrumen!! */ return(TRUE); case CT_KEY: /* Jemand hat eine Sondertaste gedrckt. */ /* Help, Undo, Funktions-Tasten usw. */ if(msg[3]==0x6200) /* Help */ { form_alert(1,"[0][Hiiiiilfe !!!! ][ Ah ja ]"); } else if(msg[3]==0x6100) /* Undo */ { p=form_alert(2,"[2][Undo oder nicht Undo|ist hier die Frage][ Ja | Nein ]"); if(p==1) { memcpy(inf,&inf_back,sizeof(inf_back)); init_dialog(); objc_draw(dialog,ROOT,MAX_DEPTH, w_rect->g_x,w_rect->g_y,w_rect->g_w,w_rect->g_h); } } default: break; } } break; } return(FALSE); } /* handle_dialog */ static void init_dialog(void) /* Der Dialog wird aufgebaut */ { static char aa[2][6]={"Aus","An"}; dialog[TAUSCHEN].ob_spec.free_string=aa[inf->pf[ap].c_flag]; dialog[JOYSTICK].ob_spec.free_string=aa[inf->j_flag]; dialog[IBMMOUSE].ob_spec.free_string=aa[inf->r_flag]; if(inf->pf[ap].d_flag) dialog[DOPPELK].ob_state |= SELECTED; else dialog[DOPPELK].ob_state &= ~SELECTED; if(inf->pf[ap].t_flag&1) dialog[SHIFTL].ob_state |= SELECTED; else dialog[SHIFTL].ob_state &= ~SELECTED; if(inf->pf[ap].t_flag&2) dialog[SHIFTR].ob_state |= SELECTED; else dialog[SHIFTR].ob_state &= ~SELECTED; if(inf->pf[ap].t_flag&4) dialog[CONTROL].ob_state |= SELECTED; else dialog[CONTROL].ob_state &= ~SELECTED; if(inf->pf[ap].t_flag&8) dialog[ALTERNAT].ob_state |= SELECTED; else dialog[ALTERNAT].ob_state &= ~SELECTED; dialog[SFILE].ob_spec.free_string=inf->pf[ap].name; } /* init_dialog */ void save_par(void) /* Die Parameter werden von XControl an den Anfang des Daten- */ /* segments gesichert. Bitte den Assemblerteil anschauen! */ { if((*xcpb->XGen_Alert)(SAVE_DEFAULTS)) { if(!(*xcpb->CPX_Save)(inf,sizeof(ainf))) (*xcpb->XGen_Alert)(FILE_ERR); } } /* save_par */ void do_ok(void) { memcpy(&inf_back,inf,sizeof(inf_back)); } /* do_ok */ int do_cpx_alert(OBJECT *o,int e) /* ALARM! ALARM! */ /* Diese Funktion zeichnet und verwaltet eine Dialogbox im */ /* XControl-Fenster */ { int i,ox,oy, x,y,w,h; static MFORM mf; wind_update(BEG_MCTRL); wind_update(BEG_UPDATE); (*xcpb->MFsave)(MFSAVE, &mf); graf_mouse(ARROW,NULL); form_center(o,&x,&y,&w,&h); ox=o[ROOT].ob_x-x; oy=o[ROOT].ob_y-y; x=w_rect->g_x+((w_rect->g_w-w)/2); y=w_rect->g_y+((w_rect->g_h-h)/2); o[ROOT].ob_x=x+ox; o[ROOT].ob_y=y+oy; form_dial(FMD_START,0,0,0,0,x,y,w,h); form_dial(FMD_GROW,0,0,0,0,x,y,w,h); objc_draw(o,ROOT,MAX_DEPTH,x,y,w,h); i=form_do(o,e) & 0x7fff; o[i].ob_state &= ~SELECTED; form_dial(FMD_SHRINK,0,0,0,0,x,y,w,h); form_dial(FMD_FINISH,0,0,0,0,x,y,w,h); (*xcpb->MFsave)(MFRESTORE, &mf); wind_update(END_UPDATE); wind_update(END_MCTRL); return(i); } /* do_cpx_alert */ nicht so einfach mehrere Konfigurationen erstellen. Im zweiten Fall hat man die eben genannten Nachteile nicht mehr, jedoch fliegt wieder eine Datei mehr auf der Platte herum. Die Qual der Wahl ... Eine existierende INF-Datei hat beim Laden von Selectric immer die hhere Prioritt, d.h. sie bestimmt dann die Einstellungen. Es ; Projektdatei fr WRAP_CPX.CP wrap_cpx.cp ; CPX-Modul noch ohne Header = cpxstart.s ; Der CPX-Startupcode wrap_cpx.c (wrapcpx.h,cpx.h,wrapauto.h) ; Das CPX-Modul wmsp_cpx.c (wrapcpx.h,cpx.h,wrapauto.h) wmrs_cpx.c (wrapcpx.h,cpx.h,wrapauto.h) op_file.c (wrapauto.h) pcstdlib.lib pctoslib.lib pcgemlib.lib == Nun kommt das Kapitel fr unsere MauFaUs ... Selectric ist fast komplett ber die gute alte Tastatur bedienbar. Im Anschlu ist auch nochmal eine Gesamttabelle zu finden. Dort sind die Tastenkombi- nationen Maus-Aktionen zugeordnet. Basics ------ [RETURN] Beendet den Dialog und bergibt der Applikation als Ergebnis den aktuellen Pfad und den selektier- ten Dateinamen. Ist kein Dateiname selektiert, so wird die Eingabe im Edit-Feld als Ergebnis an- gesehen. Ist das selektierte Element ein Ordner, so wird dieser geffnetwm.prg ; Das Programm fr den Auto-Ordner = PCSTART.O ; PC Startup-Code wmmain.c (wrapauto.h) wmmouse.c (wrapauto.h) wmjoy.c (wrapauto.h) wmrs232.c (wrapauto.h) wmass.s ; Assembler-Routinen wmjoysti.s wmrs232a.s cookie.c cookiass.s PCSTDLIB.LIB ; Standard library PCEXTLIB.LIB ; Extended library PCGEMLIB.LIB ; Standard library PCTOSLIB.LIB ; TOS library PCLNALIB.LIB ; TOS library mit [SHIFT] mglich) [ALT]+[Esc] Whlt den geklemmten Pfad aus. [CTRL]+[Zb1-0] Whlt eine der Preset-Extensions (1-10) aus. (anhngen mit [SHIFT] mglich) [CTRL]+[Zb.] Whlt die geklemmte Extension aus. [CTRL]+[Zb*] Whlt `*.*' als Extension aus. [CTRL]+[1-10] Geht ein bis zehn Directoryebenen hoch (vergleichbar mir dem `Mac-Path'). [CTRL]+[A] Selektiert bzw. deselektiert alle(!) Eintrge. [CTRL]+[S] Selektiert ; Wrap Mouse ; Mouse-Routinen ; ; (c)1992 by Richard Kurz ; Vogelherdbogen 62 ; 7992 Tettnang ; Fido 2:241/7232 ; ; Fr's TOS-Magazin ; ; Erstellt mit Pure Assembler ; ; Wir geben bekannt export new_mouse,old_mouse,new_dos,old_dos export set_mouse import stackcorr,chk_mouse,do_switch,end_switch ;******************************************************************** ; die neue Mausroutine! dc.b 'XBRA' dc.b 'WrAp' old_mouse: dc.l 1 new_mouse: movem.l d0-A6,-(SP) bsr chk_mouse; movem.l (SP)+,d0-A6 move.l old_mouse(PC),-(sp) rts set_mouse: move.l a0,-(sp) move.l old_mouse(PC),a1 jsr (a1) move.l (sp)+,a0 rts ;******************************************************************** ; Neuer GEMDOS-Trap fr switch! dc.b 'XBRA' dc.b 'WrAp' old_dos: dc.l 0 new_dos: move.l sp,a0 add.l stackcorr(PC),a0 btst.b #5,(sp) bne.s dos_do move.l usp,a0 dos_do: cmpi.w #75,(a0) bne.s end_dos movem.l d0-a6,-(sp) movea.l 4(a0),a0 bsr do_switch tst.w d0 beq.s not_found movem.l (sp)+,d0-a6 move.l 2(sp),dos_return move.l #ende_pexec,2(sp) bra.s end_dos not_found: movem.l (sp)+,d0-a6 end_dos: move.l old_dos(pc),-(sp) rts ende_pexec: movem.l d0-a6,-(sp) bsr end_switch movem.l (sp)+,d0-a6 move.l dos_return(pc),-(sp) rts dos_return: dc.l 1 n bewegen. bei nicht vorhandenem Cursor erscheint dieser am oberen Rand. [SHIFT]+[CsrUp] Der Cursor wird um 7 Eintrge nach oben bewegt. War kein Cursor vorhanden, so wird einfach nur `seitenweise' geblttert (entspricht einem Klick auf den grauen Bal- ken). [SHIFT]+[CsrDown] Bewegt den Cursor um 7 E/* WRAP Mouse * Joystick-Teil * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include /* externe Variablen */ extern INF inf; extern SYSHDR *sh; extern int last_mouse; int ok_vbl; static int bew1,bew2,bew3,bew4; static int pause,step; typedef struct { unsigned char head; unsigned char h2; unsigned char val; } JOYREP; void do_vbljoy(void) { static RELMOUSE nm; static int i,st; if((bew1||bew2||bew3||bew4) && inf.j_flag) { if(++pause=1;i--) { if(step>=inf.d[2].mw[i]) { st=inf.d[2].mf[i]; break; } } if(++step>99) step=99; } nm.head=last_mouse; nm.dx=0; nm.dy=0; if(bew4) nm.dx=st; else if(bew3) nm.dx=-st; if(bew2)nm.dy=st; else if(bew1)nm.dy=-st; if(inf.d[2].w_flag) do_wrap(&nm,2); set_mouse(&nm); } } /* do_vbljoy */ void chk_joy(JOYREP *m) { static int begin; if(!inf.j_flag) return; if(m->head!=0xff) return; if(bew1||bew2||bew3||bew4) begin=FALSE; else begin=TRUE; if(m->val&1)bew1=TRUE; else bew1=FALSE; if(m->val&2) bew2=TRUE; else bew2=FALSE; if(m->val&4) bew3=TRUE; else bew3=FALSE; if(m->val&8) bew4=TRUE; else bew4=FALSE; if((bew1||bew2||bew3||bew4)&& begin) { pause=100; step=1; do_vbljoy(); step=0; pause=0; } } /* chk_mouse */ Fhrende Sonderzei- chen werden dabei ignoriert. ; WRAP Mouse ; Joystick-Teil ; ; (c)1992 by Richard Kurz ; Vogelherdbogen 62 ; 7992 Tettnang ; Fido 2:241/7232 ; ; Fr's TOS-Magazin ; export old_joy,new_joy,init_vbl import chk_joy,do_vbljoy,rs_vbl ********************************************************************** ; die neue Joystickroutine! dc.b 'XBRA' ;XBRA dc.b 'WrAp' ;Angelegenheiten. old_joy: dc.l 1 new_joy: movem.l d0-A6,-(SP) bsr chk_joy; movem.l (SP)+,d0-A6 rts ********************************************************************** ; Routine fr den VBL-Slot dc.b 'XBRA' ;XBRA dc.b 'WrAp' ;Angelegenheiten. dc.l 0 ;Nur Show. new_vbl: ;VBL Routine. movem.l d0-A6,-(SP) move.w sr,-(sp) move.w #$2700,sr bsr do_vbljoy bsr rs_vbl end_vbl: move.w (sp)+,sr movem.l (SP)+,d0-A6 rts ;VBL EnTe. ********************************************************************** ; sucht einen leeren VBL-Slot und richtet ihn ein nvbls equ $454 ;Wieviel Slots. vblslots equ $456 ;VBL Slots. init_vbl: ;VBL-Routine move.w nvbls,d0 ;in einem leeren lsl.w #2,d0 ;Slot installieren. move.l vblslots,a0 moveq #4,d1 s_slot: tst.l (a0,d1) ;Slot leer? beq slot_gef ;Juchu. addq #4,d1 ;Nein, der Nchste. cmp.w d0,d1 ;Alle Slots voll? bne s_slot ;No. moveq #0,d0 rts ;Kein freier Slot! slot_gef: ;Einhngen. move.l #new_vbl,0(a0,d1) moveq #1,d0 rts ;Bye Bye. Sortierrichtung umkehren [CTRL]+[S] Fuller selektiere nach Maske [CTRL]+[T] Funkt./Touch selektiere Objekte `touchen' [CTRL]+[X] Sort./unsortiert Unsortierte Anzeige [CTRL]+[Y] Funkt./Disk-Info La/* WRAP Mouse * Main-Teil * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * Fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include #include /* globale Variablen */ SYSHDR *sh; INF inf; long stackcorr; int ap=0; /* externe Variablen aus dem Assemblerteil */ extern void new_mouse(void); extern long old_mouse; extern void new_dos(void); extern long old_dos; extern void new_joy(void); extern long old_joy; extern long init_vbl(void); /* externe Variablen aus dem RS232-Teil */ void init_rs(void); extern unsigned char rs[50]; extern int rsf; long init_mouse(void) { KBDVBASE *kb; long ssp; linea_init(); ssp=Super(0L); sh=(SYSHDR*)(*(long*)0x4f2L); stackcorr=(*(int *)0x59eL)? 8:6; Super((void *)ssp); kb=Kbdvbase(); old_mouse=(long)kb->kb_mousevec; kb->kb_mousevec=new_mouse; old_joy=(long)kb->kb_joyvec; kb->kb_joyvec=new_joy; old_dos=(long)Setexc(33,new_dos); Supexec(init_vbl); if(inf.r_flag) init_rs(); return(TRUE); }/* init_mouse */ int get_aes(void) { appl_init(); if(_GemParBlk.global[0]) return(TRUE); else return(FALSE); }/* get_aes */ int main(void) { unsigned long d; int ae; inf.d[0].mw[0]=inf.d[1].mw[0]=inf.d[2].mw[0]=2; inf.d[0].mw[1]=inf.d[1].mw[1]=inf.d[2].mw[1]=3; inf.d[0].mw[2]=inf.d[1].mw[2]=inf.d[2].mw[2]=4; inf.d[0].mw[3]=inf.d[1].mw[3]=inf.d[2].mw[3]=5; inf.d[0].mw[4]=inf.d[1].mw[4]=inf.d[2].mw[4]=6; inf.d[0].mw[5]=inf.d[1].mw[5]=inf.d[2].mw[5]=8; inf.d[0].mf[0]=inf.d[1].mf[0]=inf.d[2].mf[0]=20; inf.d[0].mf[1]=inf.d[1].mf[1]=inf.d[2].mf[1]=20; inf.d[0].mf[2]=inf.d[1].mf[2]=inf.d[2].mf[2]=20; inf.d[0].mf[3]=inf.d[1].mf[3]=inf.d[2].mf[3]=20; inf.d[0].mf[4]=inf.d[1].mf[4]=inf.d[2].mf[4]=20; inf.d[0].mf[5]=inf.d[1].mf[5]=inf.d[2].mf[5]=20; inf.d[0].rand[0]=inf.d[1].rand[0]=inf.d[2].rand[0]=60; inf.d[0].rand[1]=inf.d[1].rand[1]=inf.d[2].rand[1]=60; inf.d[0].rand[2]=inf.d[1].rand[2]=inf.d[2].rand[2]=60; inf.d[0].rand[3]=inf.d[1].rand[3]=inf.d[2].rand[3]=60; inf.d[0].s_flag=inf.d[1].s_flag=inf.d[2].s_flag=TRUE; inf.d[0].w_flag=inf.d[1].w_flag=inf.d[2].w_flag=TRUE; inf.rp_flag=1; inf.r_flag=TRUE; inf.j_flag=TRUE; strcpy(inf.pf[0].name,"Allgemein"); ae=get_aes(); if(ae) form_alert(1,"[1][Wrap Mouse V1.0|(c)1992 by Richard Kurz|Vogelherdbogen 62|7992 Tettnang][ OK ]"); else { puts(""); Rev_on(); puts(" Wrap Mouse V1.0 "); Rev_off(); puts("(c)1992 by Richard Kurz"); puts("Vogelherdbogen 62"); puts("7992 Tettnang"); puts("Fido 2:241/7232.5"); puts(""); puts("Fr's TOS-Magazin"); puts(""); } if(get_cookie('WrAp',&d)) { if(ae) form_alert(1,"[3][ |Fehler:|Wrap Mouse ist bereits|installiert!][ OK ]"); else { puts("FEHLER:"); puts("Bin schon da"); puts("\n"); getchar(); } if(ae) appl_exit(); return(1); } inf.set_vec=init_mouse; if(make_cookie('WrAp',(unsigned long)&inf)) { if(ae) { init_mouse(); inf.fix=TRUE; appl_exit(); } else inf.fix=FALSE; Ptermres(_PgmSize,0); } if(ae) form_alert(1,"[3][ |Fehler:|Das Cookie WrAp konnte|nicht angelegt werden!][ OK ]"); else { puts("FEHLER:"); puts("Das Cookie WrAp konnte nicht angelegt werden"); puts("\n"); getchar(); } if(ae) appl_exit(); return(1); } /* main */ 0.93 funktioniert es auf jeden Fall. Was man an dies/* WRAP Mouse * Mouse-Teil * * (c)1992 by Richard Kurz * Vogelherdbogen 62 * 7992 Tettnang * Fido 2:241/7232 * * fr's TOS-Magazin * * Erstellt mit Pure C */ #include #include #include #include #include #include /* externe Variablen */ extern INF inf; extern long old_mouse; extern SYSHDR *sh; extern int ap; /* globale Variablen */ int last_mouse=0xf8; void do_speed(RELMOUSE *m, int dev) { long x,y,xm,ym; int i; if(m->dx<0) {xm=TRUE;x=-1*m->dx;} else {xm=FALSE;x=m->dx;} if(m->dy<0) {ym=TRUE;y=-1*m->dy;} else {ym=FALSE;y=m->dy;} for(i=5;i>=0;i--) { if(x>=inf.d[dev].mw[i]) { x=(x*400L)/((long)(41-inf.d[dev].mf[i])*10L); break; } } for(i=5;i>=0;i--) { if(y>=inf.d[dev].mw[i]) { y=(y*400L)/((long)(41-inf.d[dev].mf[i])*10L); break; } } if(x>127) x=127; if(y>127) y=127; if(xm) x=0-x; if(ym) y=0-y; m->dx=(char)x; m->dy=(char)y; }/* do_speed */ void do_wrap(RELMOUSE *m, int dev) { static int rl,rr,ro,ru; RELMOUSE nm; int i; nm.head=m->head; if(Vdiesc->cur_y==0) { if(m->dy<0) { if(++ro>inf.d[dev].rand[3]) { ro=0;nm.dy=100;nm.dx=0; i=Vdiesc->v_rez_vt/100; for(;i>0;i--) set_mouse(&nm); nm.dy=Vdiesc->v_rez_vt%100; if(nm.dy) set_mouse(&nm); return; } } } else ro=0; if(Vdiesc->cur_y==Vdiesc->v_rez_vt-1) { if(m->dy>0) { if(++ru>inf.d[dev].rand[2]) { ru=0;nm.dy=-100;nm.dx=0; i=Vdiesc->v_rez_vt/100; for(;i>0;i--) set_mouse(&nm); nm.dy=-(Vdiesc->v_rez_vt%100); if(nm.dy) set_mouse(&nm); return; } } } else ru=0; if(Vdiesc->cur_x==0) { if(m->dx<0) { if(++rl>inf.d[dev].rand[0]) { rl=0;nm.dy=0;nm.dx=100; i=Vdiesc->v_rez_hz/100; for(;i>0;i--) set_mouse(&nm); nm.dx=Vdiesc->v_rez_hz%100; if(nm.dx) set_mouse(&nm); return; } } } else rl=0; if(Vdiesc->cur_x==Vdiesc->v_rez_hz-1) { if( m->dx>0) { if(++rr>inf.d[dev].rand[1]) { rr=0;nm.dy=0;nm.dx=-100; i=Vdiesc->v_rez_hz/100; for(;i>0;i--)set_mouse(&nm); nm.dx=-(Vdiesc->v_rez_hz%100); if(nm.dx) set_mouse(&nm); return; } } } else rr=0; }/* do_wrap */ void do_changes(RELMOUSE *m) { static int tf,df; static RELMOUSE nm; if(inf.pf[ap].c_flag) { if(m->head==0xf9) m->head=0xfa; else if(m->head==0xfa) m->head=0xf9; } if(inf.pf[ap].t_flag && !inf.pf[ap].d_flag) { if(m->head&1) { (*(char *)sh->kbshift)|=(char)inf.pf[ap].t_flag; tf=TRUE; m->head&=~1; } else if(tf) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } } else if(inf.pf[ap].d_flag) { if(inf.pf[ap].t_flag) { if(df && m->head==0xfb) { (*(char *)sh->kbshift)|=(char)inf.pf[ap].t_flag; tf=TRUE; m->head&=~1; return; } else if(tf && !df) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } } if(m->head==0xf9) { df=TRUE; m->head=0xf8; } else if(!tf && df && m->head==0xf8) { df=FALSE; nm.head=0xfa; set_mouse(&nm); nm.head=0xf8; set_mouse(&nm); nm.head=0xfa; set_mouse(&nm); m->head&=0xf8; } else { if(tf) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } df=FALSE; } } }/* do_changes */ void chk_mouse(RELMOUSE *m) { do_changes(m); last_mouse=m->head; if(inf.d[0].s_flag) do_speed(m,0); if(inf.d[0].w_flag) do_wrap(m,0); } /* chk_mouse */ int do_switch(char *t) { static char fn[80]; int i; char *n; if(inf.sa.tiefe>=MAX_PROG) return(FALSE); n=strrchr(t,'\\'); if(n)strcpy(fn,++n); else strcpy(fn,t); for(i=0;i #include #include #include #include #include /* Prototypen aus dem Assemblerteil */ long ini_m1(void); long ini_m2(void); long ini_s1(void); long ini_s2(void); /* externe Variablen */ extern INF inf; extern SYSHDR *sh; extern int last_mouse; extern int ap; void init_rs(void) { long old_dev; unsigned long ma=0; get_cookie('_MCH',&ma); if(ma<=0x00010000L) { Rsconf(7,0,136,-1,-1,-1); Supexec(ini_m1); return; } switch(inf.rp_flag) { case 1: old_dev=Bconmap(6); Supexec(ini_m1); break; case 2: old_dev=Bconmap(7); Supexec(ini_m2); break; case 3: old_dev=Bconmap(8); Supexec(ini_s1); break; case 4: old_dev=Bconmap(9); Supexec(ini_s2); break; default: return; } Rsconf(7,0,136,-1,-1,-1); Bconmap((int)old_dev); } /* init_rs */ static void do_rschanges(RELMOUSE *m,int mt) { static int tf,df; static RELMOUSE nm; if(inf.pf[ap].c_flag) { if(m->head==0xf9) m->head=0xfa; else if(m->head==0xfa) m->head=0xf9; } if(inf.pf[ap].t_flag && !inf.pf[ap].d_flag) { if(mt) { (*(char *)sh->kbshift)|=(char)inf.pf[ap].t_flag; tf=TRUE; } else if(tf) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } } else if(inf.pf[ap].d_flag) { if(inf.pf[ap].t_flag) { if(df && m->head==0xfa && mt) { (*(char *)sh->kbshift)|=(char)inf.pf[ap].t_flag; tf=TRUE; return; } else if(tf && !df) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } } if(mt) { df=TRUE; } else if(!tf && df && !mt) { df=FALSE; nm.head=0xfa; set_mouse(&nm); nm.head=0xf8; set_mouse(&nm); nm.head=0xfa; set_mouse(&nm); nm.head&=0xf8; set_mouse(&nm); } else { if(tf) { (*(char *)sh->kbshift)&=~((char)inf.pf[ap].t_flag); tf=FALSE; } df=FALSE; } } }/* do_rschanges */ static unsigned char rs[50]; static int rsf; static RELMOUSE vbm; void rs_vbl(void) { static RELMOUSE nmx,nmy; static int wx,wy; if(!inf.r_flag) return; if(rsf) { rsf=FALSE; if(inf.d[1].s_flag) do_speed(&vbm,1); if(inf.d[1].w_flag) do_wrap(&vbm,1); nmy.head=nmx.head=vbm.head; nmx.dx=nmx.dy=nmy.dx=nmy.dy=0; if(vbm.dx>1 || vbm.dx<-1) { wx=2; nmx.dx=vbm.dx/2; } else if(vbm.dx) { wx=1; nmx.dx=vbm.dx; } if(vbm.dy>1 || vbm.dy<-1) { wy=2; nmy.dy=vbm.dy/2; } else if(vbm.dy) { wy=1; nmy.dy=vbm.dy; } } if(--wy>=0) set_mouse(&nmy); if(--wx>=0) set_mouse(&nmx); }/* rs_vbl */ void chk_rs(unsigned char d) { static int rc; if(!inf.r_flag) return; if(inf.ms_flag) { if((d&128)&&(d&64)) rc=0; else rc++; rs[rc]=d; if(rc>1) { rc=0; vbm.head=0xf8; if(rs[0]&16) vbm.head|=1; else vbm.head&=~1; if(rs[0]&32) vbm.head|=2; else vbm.head&=~2; if(rs[0]&3) vbm.dx=-(192-rs[1]); else vbm.dx=rs[1]-128; if(rs[0]&12)vbm.dy=-(192-rs[2]); else vbm.dy=rs[2]-128; do_changes(&vbm); if(inf.rsm_flag && (last_mouse==vbm.head)) rsf=TRUE; else { last_mouse=vbm.head; if(inf.d[1].s_flag) do_speed(&vbm,1); if(inf.d[1].w_flag) do_wrap(&vbm,1); set_mouse(&vbm); } } } else { rs[rc]=d; if(!(rs[0]>=0x80 && rs[0]<=0x87)) rc=0; else rc++; if(rc>3) { rc=0; vbm.head=0xf8; if(!(rs[0]&1)) vbm.head|=1; else vbm.head&=~1; if(!(rs[0]&4)) vbm.head|=2; else vbm.head&=~2; vbm.dx=rs[1]; if(rs[2]>128) rs[2]=256-rs[2]; else rs[2]=-rs[2]; vbm.dy=rs[2]; vbm.dx+=rs[3]; if(rs[4]>128) rs[4]=256-rs[4]; else rs[4]=-rs[4]; vbm.dy+=rs[4]; do_rschanges(&vbm,!(rs[0]&2)); if(inf.rsm_flag && (last_mouse==vbm.head)) rsf=TRUE; else { last_mouse=vbm.head; if(inf.d[1].s_flag) do_speed(&vbm,1); if(inf.d[1].w_flag) do_wrap(&vbm,1); set_mouse(&vbm); } } } } /* chk_rs */ XINFO; /* Ntzliche Definitionen */ #define SAVE_DEFAULTS 0 #define MEM_ERR 1 #define FILE_ERR 2 #define FILE_NOT_FOUND 3 #define MFSAVE 1 #define MFRESTORE 0 #define CT_KEY 53 ; WRAP Mouse ; RS232-Teil ; ; (c)1992 by Richard Kurz ; Vogelherdbogen 62 ; 7992 Tettnang ; Fido 2:241/7232 ; ; Fr's TOS-Magazin ; export ini_m1,ini_m2,ini_s1,ini_s2 import chk_rs ; Vektor Verbiegereien ini_m1: move.l $130,old_rx1bfull move.l #new_rx1bfull,$130 rts ini_m2: move.l $190,old_rx2bfull move.l #new_rx2bfull,$190 rts ini_s1: move.l #new_rx3bfull,$170 move.l $170,old_rx3bfull rts ini_s2: move.l $1b0,old_rx4bfull move.l #new_rx4bfull,$1b0 rts ********************************************************************* ; Die Empfangsroutinen ; Modem 1 dc.b 'XBRA' ; XBRA dc.b 'WrAp' ; Angelegenheiten old_rx1bfull: dc.l 1 new_rx1bfull: ; Wenn ein Byte empfangen wurde movem.l d0-a6,-(sp) ; Register retten move.w sr,-(sp) ; Alten Status retten move.w #$2700,sr ; Status neu setzen moveq #0,d0 /* GEM Icon Definition: */ #define ICON_W 0x0020 #define ICON_H 0x0018 #define DATASIZE 0x0030 UWORD icon[DATASIZE] = { 0x0, 0x0, 0x2AAA, 0xAAAA, 0x8000, 0x0, 0x0, 0x1, 0x8100, 0x0, 0x180, 0x1, 0x81C8, 0x0, 0x1E4, 0x801, 0x81F2, 0x4000, 0x1F9, 0x2001, 0x81FC, 0x9300, 0x1FE, 0x4801, 0x81FF, 0x2400, 0x1FF, 0x9271, 0x81F8, 0x0, 0x198, 0x1, 0x810C, 0x9000, 0xC, 0x9301, 0x8006, 0x4800, 0x6, 0x4001, 0x8000, 0x0, 0x0, 0x1, 0x5555, 0x5554, 0x0, 0x0 }; move.b $fffffa2f,d0 ; Byte abholen bsr chk_rs ; Zur Auswertung bclr #4,$fffffa0f ; ISR-Bit lschen move.w (sp)+,sr ; Alten Status restaurieren movem.l (sp)+,d0-a6 ; Register holen rte ; Und Tsch ; Modem 2 dc.b 'XBRA' dc.b 'WrAp' old_rx2bfull: dc.l 1 new_rx2bfull: movem.l d0-a6,-(sp) move.w sr,-(sp) move.w #$2700,sr moveq #0,d0 move.b $ffff8c87,d0 bsr chk_rs move.b #$00,$ffff8c85; Der SCC wird wieder scharf geschaltet move.b #$38,$ffff8c85; move.w (sp)+,sr movem.l (sp)+,d0-a6 rte ; Serial 1 dc.b 'XBRA' dc.b 'WrAp' old_rx3bfull: dc.l 1 new_rx3bfull: movem.l d0-a6,-(sp) move.w sr,-(sp) move.w #$2700,sr moveq #0,d0 move.b $fffffaaf,d0 bsr chk_rs bclr #4,$fffffa8f move.w (sp)+,sr movem.l (sp)+,d0-a6 rte ; Serial 2 dc.b 'XBRA' dc.b 'WrAp' old_rx4bfull: dc.l 1 new_rx4bfull: movem.l d0-a6,-(sp) move.w sr,-(sp) move.w #$2700,sr moveq #0,d0 move.b $ffff8c83,d0 bsr chk_rs move.b #$00,$ffff8c81; move.b #$38,$ffff8c81; move.w (sp)+,sr movem.l (sp)+,d0-a6 rte /* eingetragen. */ header.cpx_id=(long)'WrAp'; /* ID-String des CPX-Moduls. Sollte */ /* fr jedes Modul einzigartig sein!*/ header.cpx_version=0x0100; /* Versions-Nr. des CPX-Moduls. */ strcpy(header.i_text,"by R. Kurz"); /* Text unter dem Icon. */ /* Das Icon wird in den Header kopiert. */ for(i=0;i"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu/ ??<>NAXO$_Nu/ /?<HNA\O @$_NuH>@NAO $_Nu/ /?< NA\O$_Nu/ ?/?<E@KAPP LJ B0 m qdBE7 BAhXװ{  e  l3 8{A੟@8 / ,A HT 00}Ob4co SyOx/EADlrR,{?ȱ!#"pPOA0NSO$_6NurpN NuHO&yaCp KN TWRoA?h?hNv69h0NRxr0NRr0NR0G67o89WWH0/H"9hNO"NP,WU@7@2/oUA7A K0NQr0NS(NOLNu?pNQ6J@gpNQ06Nu 9h29WHNPJfNNNuH8O(H&I<EHWHRHo,"K LNbO "K LNvBD:IhRJDfN|8` 2HNPJg0,|bt@0;Nj^PjBjjj2jjjjjjj"0C TN,` 0 TN%:<`(0 TN"z`0 TN$z` 0 TN%zNQfC J0/$NNQfNQf`: J0/$Nfff0fffffff""k KN ~`6"k KN`("k KN`"k KN6` "k KNbB@NTL NuH>YO$H.&j(SKWpg. MN68,H g/CX0+H LN6BXO`*pf C LNK""Wrp JN XOL|Nu/ /QO*o,oCp N ?yW?yW0<NTNv o0hBUBmpo;@ro;A;W;o 0oS@;@ 2/oSA;A,h=o=o=|Bn =yh PO,_*_NuOBHWrNQXOONuN0<NTNuH QO6$HrNRJ8*:* <* DSF>*ESG>0HE?@2F?A?oA0rNS0HD>?E?W2G?AA0rNSPOLNuH8O(H&IEHWHRHo,"K LNO C J0/$N" J0/$NDN,O&LNu/ / &H$IN"J KN&_$_NuHpTOrp JN rp JN rp JN 09WJ@g S@gS@g`(rp JN `rp JN ` rp JN rp JN HW/<_FPU yh hPNPOJ@g g r Jp N NJ@frp JN ` rp JN "LrB@ JN "L JNKvBU`|g"LrB@ JN "L JNvHUC B@ JN lXO82fp Jp rN J@gByW`2rp JN J@g 3W`rp JN J@g3W0Y@|b@0;N>>>>> 6Cp LN *BC`:`BoHoCX KNCXOJ@gf on^0/oX2| gSAgSAgSAg`zA`zB` zC`zD`zEp JN B3W0"L JNr"L JNp JN j`*CX.B@AXN`p"L JN&` p"L JN|f 0 JN j` r0 JN 0g\0OL<8Nu |F0Nu/ $HANQ.<AB@$_Nu?/ &HrB@N BB@ KN lXO6 KN j0&_6Nu#h0(fNAVxNuH8O&o^Eh JBP"KI((Hx"| |NQLXO%HC& X rNP%C$HWp? j hVN\OAVN*CfB@ KN *HWBg j hVN\OB@OJLNu?/ QO"HE$$BCE^z` 2H ЀЁ rf 55RC|!mPO$_6NuH<(H*I2HCa$qGB@NT LN"K JN6 KN0L<NuH8O(H6$I&o*" fE fGBS`Z/ ?/ yh h4NO 8R@f62|g|g| g`(6`"6`0* LN 8J@k ` JDjDD`0g0OLNu?/ $H6@"yh QBA00NL4*H"ҁ҂Hr"J JN @XO$_6NuH8&H(I$o`T"J KN 8J@j, jg(4*H"ҁ҂Hs"J KNXO8J@k0`2H ЀЁA$HfpLNuH8(H$I0*2A|f4||| b:B4; N 00000&&j ` j &P` j &h` g6 Kp[NK&H g&BA?B@+NL2@f rNP,`pLNuhhNuPhNuH086$I"H&J&& JA@N J20NL Nu/ $HH$ԂԀ02( A$_NuHQO&H6:8CN ???/ ?/ ?/ 4/ BA0 KNSO POL8NuH $H86BB2H ЀЁ22 C0NLNuH $H8BBFA:H ЀЅr 0NtL0NuH $H6tr8H ЀЄ爂r 0NLLNuH $H6tr8H ЀЄr 0N$LNuH 86$Itj?rj?pj?tQ02NS`\OLNuH0&H6$IHjNSXO2H ЀЁ%sL NuH8$H8(IH"ҁҀG6+ :+0N0+|| bT@0;N0JJ0J0J0|g"k Q` k 8(`0|g k `A 8LD`BDJDkBE`:DDpCg|ozJEg "L20 LNp CgJDg 2AllL8Nu?/ BCEX`2H ЀЁA^z ( 4(||| bdB4; N $$ZZZZ$ZJ"!r `6"h " )#r )#r`"h )#rRC|!mj$_6Nu/ / OvAWCrpQEhNQ>T@?@rGHjHjC ANSPO6HW"KAvNRXO5S 5W5o5oAr0NQt5o0O&_$_Nu09hNRdNuHBh̰<Eg<Dg<Cg<Bg<Af?3.:,:za,:a,:ja/.:l,:da,:a|,:Ta" 4<Ag6<Bg"<Cg##`X##`J##`<##`.3##B##AaLNuH>,H.:,:aL/.:,:a>,.a#.:,:a$/.:,:a,.a#B ByBBy.:,:Za,:Ba#.:z,:Da,:0a##2#.By,:$.a#,:.ap#,:.:a^,a,:al#.:,:aZ,:aR#Ry0:̰zg,:.:aB,:an`~p2:4:Bm2<Bm0@.:,:a #RyRhNJ@f60:|fB.:n,:^a# Ry0:b|fL|NuBAHHABJ.<,<ag.e<-WHFag<.fagr<NuafVahdFa~g<.fatg<Ef0ajgeឺ<-WaZf8aTf |bE`JjDDD`f<.fa*faeF`&eeeևe ևeօe.Nuz<+g<-g<0e<9bDNuDNuDNu*< Jgk *<އ[|n|mz8DD/AZp@<&0@ W.:BEHE(<HCڃHG6ڃd:HEOޅkއFdFv 8fi FgNu~NuJDk~HFJ<NuJfJ<NuHFHG`k~Nug(gvEDiBHGHFFkTiHGDL&:ƞHGHF6BŞdSEކd&HCBGHEk :څ>:.gNugR kjklf`>k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`gTglEDvibE]HE:BB8HD&HC؃HF&؃BDHDHGHFHEބjgNuSiex@ބއdgNu~NujJ<NuJj Jjf NufNu@#< k:9/6ɿ2_2/ ,*(ԥ%C@"k( $P@  =nѷYŬG7ֿwp_Aܯ ٌ .BҴ$5ϐ|敔ȸw2œJ~ePm%tѸHBh̰<Eg<Dg<Cg<Bg<Af?3 :":|a":a":la/ :n":fa":a":Va" 4<Ag6<Bg"<Cg##`X##`J##`<##`.3 ##@##?aLNuH>,H :":a / :":a" a&# :":a/ :":a" a#BByBBy :":\a":Da# :|":Fa":2a##4#0By":& a~#": an#": :a\"a:":a@# :":a.":a&#Ry0:ΰzg": :a":a`|p2:4:Bm2<Bm0@ :":a#RyRhNJ@f60:|fB :n":^a#Ry0:b|fL|Nu@?CC?@CDDapNupNu/p OraXONuprB"Oa NuaJ@fj a aag~`:a yRRhNJ@g Jhg` @hm~at Nu~`pNu30<a|gNu3`0<gah|ggNupNu/ // //py?NNO$_Nu/ py?NNTO$_Nu/ p y?NNTO$_Nu/ py?NNTO$_Nu/ ?NNTO$_Nu/ / ?/p y?NNO $_NuHprt D E F GQHPIQQLNuHprt D EQH0XIQQL8NuHprtLCQ2QQLNuHpr3|03| 3|2QC0r3|03| 3|2QC0QLNuHYO?|>@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFG@ABCDEFGHCBYSWjSojXOLNuHprt D E F GQHPIQQLNuHprtLCQ2QQLNu/ E 0AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHL:<>AF@AEBBFCHPHCGL8:<@@DAAEBBFCHPHSWjTOLNu?<L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0L:<>F@0A0EAB0„FBC0ÆGGL8:<@0D@A0EAB0„FBC0SWjTOLNuHJ@k~L:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHL:<AF@AEBBFCHPHQLNu~L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0L:<F@0A0EAB0„FBC0QLNuHpFFFFQLNuHE J@k2,FHǏRG?C JN8TO`npЃdBE`zJEgZ?, C JNTO`FpЃdBE`zJEg2<,l HƍHFpFHH@<JFklo|BG`pЃdBE`zJEg?, pl??,C* JN\O`pЃdBE`zJEg??,?,C JNj\O`pЃdBE`zJEg?, C JNBTO`xpЃdBE`zJEgd0, |l?C9 JNTO`LpЃdBE`zJEg:C= JN`.pЃdBE`zJEg%`pЃdBE`zJEg?JEfBp`0HրR`XOLNu/ O&HANL o o?|P BWBoBo?|BoAN29bgb" g&O&_NuH",H?<,NA>?<*NATH@0|A<|?=A|=A|=AH|SA=AH||P=A LDNuH $Hpj 2*`S@| JAk`R@| | lJ@jp`nt@B6mB8H؄AcpHjSCt@|f|mRC2H ЀЁ4*HЂ&"鉒8*H҄&$銔0HԀ LNuH &:JjvEh r5@ rBA< <b;k`|<*f<`&<0< b ACp a F$Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`jH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN`0 JN0 Kax0DL Nu6x0/gf@ JaV0/g@AN0/g@ Ja00/g@A N0/gg@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 /YOM, IC Hz"HzaPOXO,_Nu VB@g,Nup`SNuH<&$H&I(oNK BCBGx%BEggd5PgB5PfSJN:kzRG5PgNRG5Pf oRNSG` oRNSG`LNJ@kDRGg oRNSG`&BEg*<*f g|<0< b ACp a$Wb<g<hg<lg<Lf gаgr@d|?@0;NvvHJk [0`NRGJ@kgt oRNSG` LJk"[02aJfAJkHRC`B L"oRpJk /02aXOJfAJkRC`A"Hpr QB/$g<^f P$grAagz<]gT<-fgh<]f<-rAa\`2BA*RAaFg8<]g<-frAa*`J/$grFQ< BA FA02 L"oRHotJk$/aPOJfAJk2RC`, L"oR0aJ@kfAJk [RCJEk0` ` L"oR0aJ@kfxAJk [RCJEk0` ` L"oR0aJ@kXfJAJk [RCJEk0` ` L"oR0aJ@k*fAJk [RCJEk0`t `n0&LRG4`kIz4`b,ֆSDgNRG4`b`NSGB@$2LNup`NSGp`H8vBG8gvzB$H&II&NJ@kpRG4`k<0f,SDgPNRG<߰<XgI4`b0`SDg.NRGI4`b,ֆSDgNRG4`b`NSGB@$2LNuP`NSGp`H8vBE8gjB$H&IINJ@kdRE4`k<-Wg<+fNREIf4`< b<ֆSDg NRE4`< b փ"փփց`NSE$JgD2B@LNup`NSEp`H<8z$H&IINJ@knREJ4k| gNSEJj$JDgJNREJ@kB| gJ4jNSE`0SDf`**o JDg NREJ@k| gJ4jNSE`SDfB2QL<8NuP`H06g(8$H&IJCjvJj NJ@kSCf` NJ@kSCfQC2L NuP`H<6g^8BE$H&I(o$Jj$NJ@j P`FNJ@k> F4Pg>SCf`**o NJ@j P`NJ@k F4PgSCfBQC2L<8NuBN`gfSHNuJgNu g<g8g4g0g,g(g$g ggggg ggf @NuH0$H|g|$bGbrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"dp` 3!dp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!d`0123456789abcdefghijklmnopqrstuvwxyzBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu/ ??<NMXO$_Nu/ ??<NMXO$_Nu/ /?<&NN\O$_Nu/ ?<NNTO$_Nu/ /// /?<NNO @$_Nu/ ?<%NNTO$_Nu/AhBh1|1A2<fa"_2r+2QAkr 2QNu/Ah1|1|!I!o1A"_A000000000Ahrm`RCn2222Ah1|Bhrr`.Ah1ABh1|r`AhBh1|1Ar`AhBh1|1Ar `AhBhBhre`AhBhBhr{`3h/ Ch2dBi3| Cp 2Q"<Rps/ NB$_ _0hAj"op,2QAkp 2QNuhinjkCh3ABi#d Ira(#ndNuAhBh1|1Arz`/ 1@ 0"<dpsNBAj0$_Nu#lAi000000p*`/ #l3ip,a"_2"o2Nu#lAi0000000 0 p/`#l3ip4`p/ /pMaf"_2"_2"o2"o2Nu#l3ipN`>#l#lpZa,"o2Nu#l#l#l p[a "o2Nu/ 3h@@A"ChB@22220<"<TNBAj0$_Nuhi ijln  H Frac!C:AUTODSPEXEC.PRGNo clock DSPEXEC.PRG[1][|%s][Annule]\*.[1][%s][%s]%M mn %S sec%d%dWrong iteration number[OK*[2][| DSPEXEC.PRG not found. |][Point|Cancel]Point DSPEXEC.PRG%d%dWrong iteration number[OKaaaaaaaaaaaaaaaaaabbbb b bbbbbbb.b/b0bAbBbCbMbNbOb^b_b`bsbtkTTh_T/'WT*@ T T zT h5TPU 5@@CT5@TYB[,p#8#    !"#$ %&'()*   ~]F+(]b`@%K]~>x jS j}  S\  h\}\  @@@@@@@@@@@ @@@@@~ gc ]   8P]$p#]L2(]| <](Hp^ ] ^&:rL ^BdT ^^L"l^z`Frac!BrainStorm 1992Start032Iterations: ___XXXDSP 56001FPUSoftwareAboutOK00 mn 00 secOKFrac!BrainStormDSP 56001 demousing Mandelbrotalgorithm56 rue Sedaine75011 Paris FRANCEfractal.lod%02d/%02d/%02d %02d:%02d:%02d%003dPMAM%02d/%02d/%02d%4dMEZcccccccccccccc ddd dddddd#d'd+d/d3d;dDdJddPdUdZdadkdsd| ;Zx0NSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberhinjk0B     2J "^   D B(  (   < F,*  $ 2DL>0$v  " *X 8( T*X 8( V8f &&\0np ~(6  RAPCPX DFN sF>fRAPCPX H sF>V RAPCPX RSC z<>RAPCPX RSH pF>DRAP_CPXC %*BRAP_CPXPRJ +*W"  &,  "0` 8-=' *D(đ if9\C{{F eYgyUhlDZ`%A4ndQ)ZHYMƉdRiFt&Uhdv'P,,-Cq H `@2l 8iw&(&7 zᆘG|  H o]]iݚR P&x@` L y`f :@݂ Vݙ__ݞ 88Z @4? DI$GXrp7A4T>I&RxR3`z0GqO-A\n5Ȣ(J ""?QH":a8N$!!]Z)8 fh.[Xng /^M!81)Q|oR͢;?֊7TY[ bBTlTǓsh,69Z`kN#hAESM?; _?KjV?p`°#G}2%Hh1 bx%-(y)I#ctL1b9G#$O]*a"d'p6!F `?II %m!u9XgdHUSHHuSHISYS UUP  UUP P UWP UPUP Schreibschutze` \NH>UO(H<BCG#M HWHoC" KNPO=@$E2H ЀЁ44||fxn"tto4tBt9BDp[4H"ҁ҂ t N~*H gB2I-2I=-HNn2I=C MN8 2H ЀЁ爘t2H ЀЁ:4|gtf 2H$Ԃԁ9(9(pS9(r4H ЀЂt44n"BB4H ЀЂ90H"ҁҀ t N4H"ҁ҂24@A0@0H$ԂԀ9(4H"ҁ҂04||f20H$ԂԀ9(2H ЀЁt $Ԃԁt(t(xt|tttpJFf9RR RdoB@`p RC4H"ҁ҂tgpTOL|xNu// $H6Hx"| |NXO0@|6|xm|G|:fv0` "P10H60Nn6B@A C`2If pf00`R@Qmp$_&NuH8QO&H(I$o$6:H$ԂԀ82( / k8NXO(@`F LC""2H ЀЁ5 t???/ ?/ ?/ J0BA4/ NpO kHoCAxNXO0fB@`0N omp`B@ONuH8$H(IBj6BCGz`$p4B43 H"ҁ҂t gphj6RC|mLNuH>*H,I&o((o,<BCEz`v0@8242H"ҁ҂03 BE" g<40g|rEftjm6g|JFg@g/ 20"N y#NXO`2H ЀЁ7 RC|mL|xNuHB@,%?BA,$?C kl PN 6XO7U7m?-?-?-4rB@ KNL\O`n"K LNjHo Bg/ y# h4NO ?@Ho / "M y#N:PO?@R@f>2/ |g*|g| g`&>/G|0|;|&b@0;NNNNNNNNNNN0@62r0H$ԂԀs( f?CC K0rN`0@A6(lr>H$Ԃԇs( f^?CC K0rN`HJDg >69F6`9W6/// p"M LNXPOJDfp`B@8`?|`?|`o0/|g]@grQ@gU@g`BE`@p4B62 H"ҁ҃s f$/ r.އރ珂sx 02 "M y#NXORE|m/ BAp"M y#NXO`fBE`:p4B62 H"ҁ҃s f/ 23 |02 "M y#NXORE|m/ BAp"M y#NXO` 9F6?|0/gB@OLBA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp a$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`jH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN`0 JN0 Kax0DL Nu6x0/gf@ JaV0/g@AN0/g@ Ja00/g@A N0/gg@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 gfSHNuJgNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGbrtgJ3kSJgtJ@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!#`0123456789abcdefghijklmnopqrstuvwxyzBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#/ /?< NA\O$_Nu/ /// /?<NNO @$_NuA#BhBhre`v3#/ C#2dBi3| Cp 2Q"<ps/ NB$_ _0#A%"op,2QA%p 2QNu#$)%%/ 1@ 0"< psNBA%0$_Nu#&A$000000p*`~#&A$0000000 0 p/`R#&3$p4`@/ C$22#&p8a("_2Nu/ /pMa"_2"_2"o2"o2Nu/ 3#@@A"C#B@22220<"<,NBA%0$_Nu#$$%&(   UUP  UUP P UWP UPUP          j * J`    j@  @  *   A A  A  A  A  A  A  A    A A "A %A ( +A 2A 5  2 N  8 < !!L ""n!##" [3][|HuSHI ist nicht installiert!][Abbruch]   HuSHI-Version: 00.00HARD&SOFT `92COPYRIGHT HuSHISchreibschutzC:I:O:D:J:P:E:K:A[lleF:L:G:M:[KeineH:N:[OK[Abbruch@(#)HuSHI-Control 3.00, Copyright (c) Julian F. Reschke, Jul 7 1992HuSHI-Version: %d.%02d#$)%% X"2 ""<,(L\>&2 &888 . ~j  & 4 >00000000 b%H <6Kc-p?͢1˃2c,7L*LYK?Γd8K5.4X0viA76E!< BBA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp aX$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a^A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`jH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN`0 JN0 Kax0DL Nu6x0/gf@ JaV0/g@AN0/g@ Ja00/g@A N0/gg@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H0$H|g|$bGTrtgJ3kSJgtJ@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@  !"#  !"##3p4`/ 3@@A"CB@22220<"< 2NBA0$_Nu   0>Tj ?Uj.Xk !"#$%&&'F(f)*,012=*@KAVBjCDEFGH I"S2St@(#)HuSHIErr.Cpx 3.00, Copyright (c) Julian F. Reschke, Jul 7 1992Gert antwortet nichtKeine weiteren Sense-|InformationenKein Index/Sektor-|SignalSeek noch nicht beendetSchreibfehlerLaufwerk nicht bereitSpur 0 nicht gefundenMehrere Laufwerke|selektiertSpindle speed errorECC-Fehler im ID-FeldNicht korrigierbarer Fehler|im Datenfeld eines SektorsAdremarke des Sektor-|vorspanns nicht gefundenAdremarke im Datenfeld|nicht gefundenSektor nicht gefundenTrack nicht gefundenRecovered data address|markFehler korrigiert durch|WiederholungFehlerkorrektur durch|ControllerFehlerhafte Parameter|beim FormatierenUngltige Interleave-|RateSynchronous Data Transfer|ErrorLaufwerk ist nicht oder|falsch formatiertFehler beim VerifyID durch Korrektur|wiedergefundenFalsche FunktionsnummerUngltige BlockadresseUngltige FunktionUngltige Block-|endadresseFalscher Parameter|in BefehlFalsche Laufwerksnummer|(LUN)Falscher Wert in|ParameterlisteDas Medium ist|schreibgeschtztMedium ist gewechselt|wordenReset ist aufgetretenFormat durch Mode Select|verstelltFehlerzhler ist|bergelaufenInkompatibles MediumFalsches FormatKeine weiteren Reserve-|sektoren vorhandenInvalid bits in identify|messageRAM-FehlerECC-Diagnose-FehlerFehler beim SelbsttestMessage nicht entgegen-|genommenInterner Fehler im|ControllerSelect/Reselect fehl-|geschlagenSoft-Reset fehlgeschlagenParity-FehlerFehler bei BefehlssenderFalscher BefehlEntfernen des Mediums|verhindertFehler bei der Kopf-|ausrichtungLaufwerk wartet auf|START-Kommando[1][ |Keine weiteren Infor-|mationen zu Fehlercode|%d.][Weiter][1][ |SCSI-Fehlercode %d:|%s.][Weiter][3][ |HuSHI ist nicht installiert!][Abbruch][3][ |HuSHI hat keinen|Fehler gemeldet!][Weiter]"&"  ~0 ҩtm:A40U)D2 ,L%(PLA+i(J\W00fN8dNDIC(c)1991 SDS $&fDL<4d@Newdesk Icon CPXMCA / ELITE`Tz0NNV#vNG yv0(g <` yv0(fFHynHynBBBHyhNHyXHyfrHyhp?BgBgp?? yv hN,#RBVBZB^BbBfBjBnBrBv <RN^NuNVBn#n]#n\#n]HyrHywNLPOHyrHy\,NLPOHnHnHnHnNI<3vBn n l0.RnHAVp0`p3jp?NNTOT@3VHyHyvHyVNJ p??9vNKXOp??9vNL2XOp??9vNLlXOBn nl yn ynRnHRn`#]0 ynHhHyr y0 h/NL #]0 y0 h r"n y01Q"n y01iBgHywN\O=@ nfjByo y0 h r y0hZ y0h y0h y0h y0h y0h y0h3oo09oyo3o09ooN(np?Bgp??9op ?p ?/90 yv hNHyJ?9op??9op ?p ?/90 yv h$N n?( n?( n?( n?p?Bg/90NIN0.fHnBg/90 yv h4N =@ ng0.@gn0.U@ @bH0@UL PN`Hyttp? yv hVN\OBp?NI\O=yoHyJHyo?9op?p ?p ?/90 yv h0NHyttBg yv hVN\O09oyo3o0.ްyog N(n`HnHnHnHnNI~HnHnp ?/90NJ*0.nlp`p=@HyJBgHyo?9op??.p?p ?p ?/90 yv h(N09oyo3o`ZHyJBgHyo?9op?p?p`HyJBgHyo?9op?p?p` y0h*#]0"n y01Q"n y01i n?( n?( n?( n?p?Bg/90NIHnBg/90 yv h4N =@ nft0. @0h #]0"n y01Q"n y01i n?( n?( n?( n?p?Bg/90NI`F nf>0. @g @)f.#]0"n y01Q"n y01ip=@ nf ng ng`"y0C N!!!!HnHnp ?/90NJ*"y0CA!!!!HnHnBg/90NJ*HnHnp??9]p?HyoH yv hN=@ ng,=y]3] y0 h0.HCo@ y0h?.?.?.?.p?p ?/90NI0.ްn`"y0Ch N!!!!HnHnp?/90NJ*"y0CA!!!!HnHnBg/90NJ*HnHnp?p?p?Hyo yv hN=@ ng ?.N# TO y0hZ?.?.?.?.p?p?/90NI` y0h09og y0hP y0h y0hh"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NIByoN y0h` y0hp3o y0hP y0h y0hh"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p`p"y0C N!!!!HnHnp?/90NJ*"y0CA!!!!HnHnBg/90NJ*HnHnp?p?p ?HyoP yv hN=@ ng0. @bH0@T PN`N?"`N@`NCb`|BgN2TO`pp?`Hyttp? yv hVN\OBp?NI\Op?N9RTOHyttBg yv hVN\O` N*f`N-l`/.NXO=@ y0hr"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p` y0 h/09o w/NLPONJ`09oo09og0. @0h y0h y0hP y0h y0hh"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NIByoNBn`RBnHnHnHnHnNI~"y0CH N!!!!HnHnp?/90NJ* nf2.RA0.AH=@2.RA0.AH=@ n l> n l60.m00.m*?.?.N!XO=@ nfBn` p=@`Bn nf~ n l, n l$0.m0.mp??.?.?.N"fPOHnHnHnHnNI~2.RA0.AH=@2.RA0.AH=@`| nf809of.HnHn?.?.?.?.?.?.p?p?NH=@p??9vNL2XOp??9vNKXOp??9vNKXOp??9vNLlXO0.nR@HHn=@0.nR@HHn=@0.R@30.R@30.@30.@30.gB?<NI\OBn nlJHy?9vNK8\OBgp2?NHvXOHy?9vNK8\OBgp2?NHvXORn`B?<NI\O09o"A0.nR@H009o"A0.nR@H0p??9vNLlXO`pN1|`f0. @0h y0hP y0h y0hh"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NIByo y0h"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p?`hBg yv hDNTO=@0.gLHyttp? yv hVN\OBp?NI\OBgN9RTOHyttBg yv hVN\Op=@ y0h"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p`p=@ y0h` nf0. |U.2<`XHXW`0. |T2<`XHXW`N)\NJ`XBgN2TO`Pp?`Hyttp? yv hVN\OBp?NI\Op?N9RTOHyttBg yv hVN\O` y0h09ofp3o y0hP y0h y0hh"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p`vN*f`lN-l`b/.NXO=@`NBgN# `p?`p`p`p`p`p`p`p `p`?9vNJtTOB@N^NuNV=n Bg/.p=?NAPO-@ lp? yv hDNTOp`hHy\p$/0.?p??NA -@=y\ $f y\b0.f"p? yv hDNTO0.?p>?NAXO`p?0.?BpB?NA -@/.pH?NA\O#w 9wfp`PBg0.?BpB?NA /9w/.0.?p??NA -@ .g$p? yv hDNTO/9wpI?NA\O`X 9w?9\BgП-@Bn0.nl n h f n h f n l0. "A"n0 0. "A"n00. "A"n00. "Ap00. "ABP0. "Ap 00. "Ap 00. "ABP0. "Ap 00. "ApH00. "Ap0?< n 9wА/0. HH,/NT ?< n 9wШ/0. HR@H,/NT 0. "A0. HH, 0. "A0. HR@H, n 9wШ/0. w/NLPO0. "A0. w Rn n"Rn`3 o/9wpI?NA\OBw0.?p>?NAXO09ogB@N^NuNV09ogT09oyo3o09oR@?HyrHy(NL y0 h (29o"A0Hg y0h` y0h"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI"y0C N!!!!HnHnp ?/90NJ*?.?.?.?.p?p ?/90NI y0 h09o w "y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI09o"H y0!@T09o"H y0!@#\009o"H y0!@ #]009ogT"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NIN^NuNV yolB@`^#\0"n y01Q"n y01i09o"A=P09o"A0@@@=@09o"A0@@=@09nf0.`0.V@ @0h y0 h09o w n?( n?( n?( n?p?Bg/90NIHnBg/90 yv h4N =@ ng0.@gn0.W@ @bH0@U PN`"y0CA!!!!HnHnp?/90NJ*"y0CA!!!!HnHnBg/90NJ*HnHnp??9np?Hyo| yv hN=@ ng0.yngT0.f0.V@ @0h 0.`0.V@ @0h 0.V@ @0h 3n y0 h|0.HCo| y0hz?.?.?.?.p?p?/90NI"y0CHA!!!!HnHnp?/90NJ*?.?.?.?.p?p?` y0hb09nf0.`0.V@ @0h 09o"A0#]0"n y01Q"n y01iHnHnBg/90NJ* n?( n?( n?( n?p?Bg/90NIN`V y0h09nf0.`0.V@ @0h `L0. @0h 09nf(0.V@ @0h 0.W@=@0.`&0.V@ @0h 0.W@=@0.V@ @0h 09o"A0@=@09o"A2.I0.HHnA0"y0CHA!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI"y0CA!!!!HnHnp?/90NJ*?.?.?.?.p?p` nf0. @g @)fpN^NuNVB?<NI\O"y0CH N!!!!HnHnp?/90NJ*?. ?9vNKXO0.HnR@30. HnR@309V@309V@3Hy?9vNK8\OB?<NI\ON^NuNV09ogZ"y0CHA!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI`09ogB?<NI\O"y0CHA!!!!HnHnp?/90NJ*Hn yv h8NXO-@ .g n3 n3"n n0iS@3"n n0(iS@3Hyp??9vNKvPOBn n lBn n l?.?.N!XO=@?.?9vNKXO0.HnR@30.HnR@309V@309V@3Hy?9vNK8\ORn`vRn`` yv hBn nl.Bg?.0.R@?N!XO??.?.N"fPORn`BgBg?.p?N"fPORn`Bn n lp=@0.o.Bg?.0.S@?N!XO??.?.N"fPOSn`BgBg?.BgN"fPORn`Bn nl@Bn n l.Bg0.R@??.N!XO??.?.N"fPORn`Rn`Bn n l0BgBgp??.N"fPORn`p=@0.o@Bn n l.Bg0.S@??.N!XO??.?.N"fPORn`Sn`Bn n lBgBgBg?.N"fPORn`Bn n lBBn n l02.H0.H&@?.?.N!XO7@Rn`Rn`Bn n lHp =@0.m6Bg2.H0.H @?(pn??.N"fPOSn`Rn`HyttBg yv hVN\ON&_N^NuNV09o"A-P09o"A-PBn n@lF0.HAvz0.H"@00.HAl0.H"@0Rn`09o w/Hy]NLPO09o"A3v09o"A3,09o"A3.N^NuNV09o"A-P09o"A-PBn n@lF0.H @0.HCvz00.H @0.HCl0Rn`Hy]09o w/NLPO y0 h09o w 09o"A0v09o"A0,09o"A0.N^NuNV09of y0hZ y0h y0h y0h y0h y0h y0h"y0C N!!!!HnHnBg/90NJ*?.?.?.?.p?Bg/90NI yolFRyoRyo yofp3oHyr09oS@ w/NLPO?<Bg09oS@HH,/NT0PO09oS@"A09oS@HH, 09oS@"A09oS@HR@H, 09oS@"A09oS@ w 09oS@"A009oS@"ABP09oS@"ABP09oS@"Ap009oS@"ABP09oS@"Ap 009oS@"Ap 009oS@"ABP09oS@"Ap 009oS@"ApH009oS@"Ap0p?Bgp??9op ?p ?/90 yv hNHyJ?9op??9op ?p ?/90 yv h$NN^NuNV yofN?"09oo09oR@yol=yo0.yol0.R@ w/0. w/NLPO?<0.HT@H,/0.HH,/NT 0."A0.R@"C 0."A0.R@"C 0."A0.R@"C 0."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A0.R@"C00."A"P 0."A"P Rn`f yogSyoSyo09oolp?Bgp??9op ?p ?/90 yv hNHyJ?9op??9op ?p ?/90 yv h$NN` y0 h r y0hZ y0h y0h y0h y0h y0h y0h"y0CA!!!!HnHnBg/90NJ*HnHnp?Bg/90NIN^NuNV09oo(29o"A0Hf: y0h09o"AP09o"APA`"09o"AP y0h"y0C N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NI09ogT"y0CH N!!!!HnHnp?/90NJ*?.?.?.?.p?p?/90NIN^NuNVHy\,HywNLPOHyrHy]NLPOHnHy]HywNH 0.g0.fHywHy\,NLPOp\?HywNL\O-@ .g nRHHy]/.NLPO0.fBgHywN`?9oHywN5\O=@ nf(0.f Byo y0 h r y0hZ y0h y0h y0h y0h y0h y0hByop?Bgp?p?p ?p ?/90 yv hNBp?p?p?p ?p ?/90 yv h$N"y0CA!!!!HnHnBg/90NJ*?.?.?.?.p?Bg/90NI` y0hZ y0h y0h y0h y0h y0h y0h"y0CA!!!!HnHnBg/90NJ*?.?.?.?.p?Bg/90NI3ooByop?Bgp??9op ?p ?/90 yv hNHyJ?9op??9op ?p ?/90 yv h$NNN^NuNVBg/.p=?NAPO-@ .lp? yv hDNTOp`DHy\p$/0.?p??NA -@=y\ $f y\b0.g09on @o"p? yv hDNTO0.?p>?NAXO`p?0.?BpB?NA -@/.pH?NA\O#w 9wfp`@Bg0.?BpB?NA /9w/.0.?p??NA -@ .g$p? yv hDNTO/9wpI?NA\O`XBg0.?p09\/pB?NA 09o"/0."H/0.?p??NA -@0."Hf~Bg0.?p09\/pB?NA 09oHH,/0.HH/0.?p??NA -@0.HHf Bn0.nl<0.yo"Ar29\0.yo"C09oHБ, 0.yo"Ar29\0.yo"C09oHБ, 0.yo"A йw-@0.yo"A 0.yo"A/0.yo w/NLPO0.yo"A0.yo w Rn`/9wpI?NA\OBw0.?p>?NAXO0.yoB@N^NuNV09og nfHyrHy]NLPOHy\,HywNLPOHnHy]HywNH p\?HywNL\O-@ .gV0.gNHywHy\,NLPO nRHHy]`RHy\,HywNLPOp\?HywNL\O-@ .fp?N9RTO` nRHHyr/.NLPOHywpA?NA\OBgHywp?NAXON^NuNVByo y0 h r y0 h r y0hZ y0h y0h y0h y0h y0h y0h y0hP y0h y0hhByo y0hByop?Bgp?p?p ?p ?/90 yv hNBp?p?p?p ?p ?/90 yv h$N"y0C N!!!!HnHnBg/90NJ*?.?.?.?.p?Bg/90NIN^NuNVj09og09oR@ @fp? yv hDNTO`HyrHy]NLPOHy\,HywNLPOHnHy]HywNH p\?HywNL\O-@ .fp`0.g< nRHHy]/.NLPOBgHywp=?NAPO-@ .m0.?NFTOHyrHy^NLPO0g$p? yv hDNTO0.?p>?NAXO`0.?NFTOHnrHy^NLXOHZ/NGPO0.?NFTOHnpHy^NLXOHZ/NGPO n rfp n pffBnn0.?NFTO0.?NFTOBn nl0.?NFTO0.nH @HhtHybNGPORnn0.nH @HhtHyjNGPORnn0.nH @HhtHyrNGPORnn0.nH @HhtHyzNGPORnnRn`Z0.?p>?NAXO09]f09o"A`09o"A-PjBn n@l$0.H @j0.H"@0tRn`NN^NuNV09og"HyrHy]NLPOHy\,HywNLPOHnHy]HywNH p\?HywNL\O-@ .g0.fp? yv hDNTO` nRHHywHy\,NLPOHy]/.NLPOBgHywp?NAXON^NuNV-|^/.p/?.p??NA =@ ngB9^`B n  f* nB nRH/.p/?.p??NA ` nRH`N^NuNV n BPBn nl^0n 0m(0n 9nrnI0nH@0`rnI0nH@74h n PRn`N^NuNV30.@ HV<-@p=@ nl$0.HC nRB@2Rn`/9t\NJhXO09N^NuNV#tD#4tH#tL#tP#\tT#\tX#tDt\p ?NGTO3\09\N^NuNVp?NGTOpN^NuNV33 p?NGTON^NuNV#\# \pZ?NGTO n009N^NuNV33 3 33333pG?NGTO n0 n009N^NuNVpM?NGTO n0 n 0 n0 n0"09N^NuNVpO?NGTO n0 n 0 n0 n0"N^NuNV3# \pN?NGTON^NuNV#\3 33333p*?NGTON^NuNV#\3 p,?NGTO n0 n009N^Nu"/0<NBNuNVpe3\By\By\3\NJN^Nu#\t`"<t` <sNBNuNV#td#tl .Z#tppd3\By\p 3\ n 3\NJ n 0\#txtd#uxtl#.tp#,thN^NuNV# thpr3\p3\By\3\NJ#,thN^NuNV# th3 tx3\p3\p3\3\NJ#,thN^NuNV3 txp3\By\p3\3\NJ09uxN^NuNV3 txp3\By\p3\3\NJ09uxN^NuNV3 txp3\By\p3\3\NJ09uxN^NuNV3 txp 3\By\p3\3\NJ09uxN^Nu o"H0/Jf gfBNu Nu"o ofJfHHNu"o o fNu o"Jf S@NuNVHn?</.NQ Hn HnNM:POHnBg nN\ON^NuNVH0-n n(PXH> @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |W2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NPPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ NQ& `p ? n// NQ& *@X`p`p`/ ?./.?NQ *@P`fBn n-Pf-|sX .-@*@g0.m noS`(Bn nT0` n//.NM:PO`n ./0.Hї =@lBn0.fL0.g0 n0f( n -f/. nRH? n hN\O0.Sn0g /.?.` nd /. nRH? n hN\O`0.g0.Sn0g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @W>`?Bg _Wg nR` .L N^NuNVH0*n>.IB$p0//. NS|PO-@g$p0//. NSPOAW-n ` n Wg` L0N^NuNVpL?Hysp?NRPOp?NRTON^NuNVNQN^NuNV/ *n .*+@+|RbB-0. D@;@ m l;| +|RH`+|R  *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNVNR?.NRTON^NuNVN^NuNV?.pL?NAXON^NuNV/A#t@/9t@NT\XO0gBt@p 3vxp`,/. 0.H/?.p@?NA .Bt@/NS$XO.N^NuNV .l .D3vxp` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o "o2/ gm H` QNu!QNuNVH >. <.*n0SF0g` .L N^Nu O$X"XHB@Nu o0/L.Nu ` h p   ;L<Z=`>?4@>A:BHCFDfT\UhVnWrXvYzZ~[\]a<;)5  DDDFf  :,: h##$$($P$n$$%^'&&d&'8 DOOOdUODXOhcOdNeOlfOlgOloOrOsOuNxO DMd0123456789ABCDEFooooooooooooooooppp p p ppppppp#p$p%p*p2p9p>p?p@pHpIpJpgphpiplpypppppppppppppppp?π|>>|>||>π? !A@  @@  @A! ?π|>>|>||>π? !A@  @@  @A! ?π|>>|>||>π? !A@  @@  @A! ꪪ2GDDGD:`@@L0GDG$K:`GL0|GDE*:`@@Lꪪ??0?GDDD_D:`@@@@@@@L # 0>>B><< # 0|xxxx?>> # 0~| 0` # 0?0?` # 0 0` # 0 0` 0    !"#$%&'(*+, 012#3456789:;A  HA  H-A  H.p` B @   @@ H   @ @ $             @C  `   B            C     $     )       `  B 1 /    6XYrYZrZ[r[a2ppq qq+q:qIqXqgqvqqqqqqqqqqqr rr,r<rLr\rlr|rrrICONFORM.ICNClick To ExitICONFORM.ICNICONFORMNAME____________XXXXXXXXXXXX199DataNewdesk Icon CPX (c)1991 SDSEditingToolsOtherOptionsSaveAbandonCancelForeEditingNewdesk Icon CPX (c)1991 SDSOKICONFORMNAME____________XXXXXXXXXXXXICONFORM.ICNOKNewdesk Icon CPX V1.03 (c)1991 SDSWritten by Scott SandersSerial#000000%! $' Copy Logical And Logical Or Logical Xor Clear Fill Invert V-Flip H-Filp Rotate Shift Left Shift Right Shift Up Shift Down DataMask Data Mask Clear All Add Icon Delete Icon Icon Color Load .ICN Save .ICN Load .RSC Merge .RSC Save As .RSC ForeBack Fore Back C:\DESKICON.RSCC:\*.*%s%dUntitledDESKICON.RSCDESKICON.RSC/* GEM Icon Definition: *//* GEM Icon Definition: */ #define icon_W 0x0020 #define icon_H 0x0020 #define iconSIZE 0x0040 short icon[iconSIZE] = { 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x }; {NULL} You must compile with the -f option to include printf() floating point!  0zTB             4 >     0&  0$ 2    $  $ "  " $ .    $   " " " dZD2   B     "  (   *     $ 08D",L "     " " "     "    ,>   " $ &   .  ("  " P"  ,  j  r   NZJZ<64.4,DX      .                         " "     &     *D", D J            $   *2    t2D0 t4$    &   * &    &"  <     > v H " 6*             rFP( LD" $ | 2 &R */ unsigned numsrt : 1; /* numsort */ unsigned lower : 1; /* use lowercase letters */ unsigned dclick : 1; /* open folder on dclick */ unsigned hidden : 1; /* show hidden files */ unsigned bypass : 1; /* Selectric ON/OFF */ } config; int sort; /* sort-mode (neg. = rev.) */ int num_ext; /* number of extensions */ char *(*ext)[]; /* preset extensions */ int num_paths; /* number of paths */ char *(*paths)[]; /* preset paths */ int comm; /* communication word */ int in_count; /* input counter */ void *in_ptr; /* input pointer */ int out_count; /* output counter */ void *out_ptr; /* output pointer */ int cdecl (*get_first)(DTA *dta, int attrib); int cdecl (*get_next)(DTA *dta); int cdecl (*release_dir)(void); } SLCT_STR; /* ------------------------------------------------------------------------- */ extern SLCT_STR *slct; long *get_cookie(long cookie); int fsel_check(void); int slct_check(unsigned int version); int file_select(char *pfname, char *pname, char *fname, const char *ext, char *title); int slct_extpath(int ext_num, char *(*ext)[], int path_num, char *(*paths)[]); int slct_morenames(int mode, int num, void *str); int slct_first(DTA *mydta, int attr); int slct_next(DTA *mydta); int slct_release(void); #endif h; OBJECT *button; /* --------------------- */ /* Funktionsprototypen */ /* --------------------- */ void do_it( void ); /* Hauptschleife des Programms */ void open_dial ( int a ); /* Zeichnet eine Dialogbox */ void close_dial( void ); /* Schliet eine Dialogbox */ int handle_dial( int a ); /* Bearbeitet Dialog komplett */ void slide_it( int a ); /* Routine fr Schieberegler */ void get_data( void ); /* Holt aktuelle Lautstrke */ main() { int i, appl_id; int msg_buf[8], menu_id; appl_id = appl_init( ); /* Beim AES anmelden */ if ( !_app ) /* Als Accessory gestartet? */ { menu_id = menu_register(appl_id," PlayMan "); for ( i = 0; i #include #include "fsel_inp.h" #define DEMO 1 /* ------------------------------------------------------------------------- */ char p0[128] = "C:\\ACCS\\*.AC?", p1[128] = "C:\\TOOLS\\*.*", p2[128] = "", p3[128] = ""; char e0[17] = "*.AC[CX]", e1[17] = "*.PRG", e2[17] = "*.TXT,*.DOC", e3[17] = "*.INF"; char *my_paths[4] = { p0, p1, p2, p3 }; char *my_ext[4] = { e0, e1, e2, e3 }; char more_fnames[5 * 15]; /* entspricht 5 Namen a 15 Zeichen */ char pfname[128] = "", pname[128] = "", fname[14] = ""; /* ------------------------------------------------------------------------- */ int main(void) { int is_slct_da, d; #if (DEMO==1) DTA mydta; #endif appl_init(); slct_extpath(4, &my_ext, 4, &my_paths); /* eigene Pfade setzen */ #if (DEMO==1) is_slct_da = slct_check(0x0102); if(is_slct_da) slct->comm = CMD_FILES_OUT|CFG_FIRSTNEXT; #else is_slct_da = slct_morenames(1, 5, more_fnames); /* we want more */ #endif wind_update(BEG_MCTRL); /* Wichtig!! */ if(file_select(pfname, pname, fname, "*.*", "Selectric\277 Sample")) { if(is_slct_da) { #if (DEMO==1) d = slct_first(&mydta, FA_ARCHIVE); while(!d) { printf("\n\r%s\t%02x", mydta.d_fname, mydta.d_attrib); d = slct_next(&mydta); } slct_release(); #else /* weggucken ... */ printf("\r\nYou wanted more ... \r\n\n%s", more_fnames); #endif } } wind_update(END_MCTRL); /* Wichtig!! */ appl_exit(); return(0); } iederschn */ } void open_dial( baum ) { /* Dialog zentrieren, Growbox und Dialog zeichnen */ w Programmer's Guide to Selectric V1.02 -------------------------------------- Juli 1992 (c) 1992 by Oliver Scheel ... this guide (however) goes Freaky Deaky! Einleitung ---------- Ja, auch fr Selectric gibt's einen Programmer's Guide, der jedoch zur Zeit noch nicht so umfangreich ist. Es ist mehr geplant als bis jetzt verwirklicht wurde, z.B. wird man Selectric irgendwann auch ein sog. virtuelles Verzeichnis bergeben knnen, aus dem dann Da- teien oder Objekte ausgewhlen kann. Ich will jetzt aber nicht zuviel verraten. Der ganze Kram mit der Programmierschnittstelle ist brigens auf meinem Mist gewachsen. Anfragen sind daher am besten an mich zu richten. Die Mglichkeiten ----------------- Ich versuche hier mal kurz die Mglichkeiten mit Selectric zu umreien, um so einen kleinen berblick zu verschaffen: Selectric installiert einen Cookie-Jar ber den die Applikation Einstellungen vornehmen kann. Das schliet nicht nur die Optionen oder die Sortierung ein, sondern auch die Preset-Paths und -Ex- tensions. Die Struktur wurde in diesem Fall sehr flexibel gestaltet und sieht auf den ersten Blick etwas kompliziert aus. Weiterhin kann man sich auch mehr als nur einen Dateinamen zurckgeben lassen. Auch dies geschieht ber den Cookie-Jar. Der Cookie-Jar -------------- Selectric legt einen sog. `FSEL'-Cookie an. Dieser zeigt an, da man in jedem Fall fsel_exinput() aufrufen kann, auch wenn der neue File- Selector abgeschaltet wurde. Der Inhalt `FSEL'-Cookies ist nicht festgelegt, bei Selectric zeigt er auf die folgende Struktur: typedef struct { unsigned long id; /* Selectric ID (`SLCT') */ unsigned int version; /* version (BCD-Format) */ struct { unsigned : 8; /* reserved */ unsigned pthsav : 1; /* save and restore paths */ unsigned stdest : 1; /* stay in destination path */ unsigned autloc : 1; /* auto-locator */ unsigned numsrt : 1; /* numsort */ unsigned lower : 1; /* use lowercase letters */ unsigned dclick : 1; /* open folder on dclick */ unsigned hidden : 1; /* show hidden files */ unsigned onoff : 1; /* Selectric ON/OFF */ } config; int sort; /* sort-mode (neg. = rev.) */ int num_ext; /* number of extensions */ char *(*ext)[]; /* preset extensions */ int num_paths; /* number of paths */ char *(*paths)[]; /* preset paths */ int comm; /* communication word */ int in_count; /* input counter */ void *in_ptr; /* input pointer */ int out_count; /* output counter */ void *out_ptr; /* output pointer */ int cdecl (*get_first)(DTA *dta, int attrib); int cdecl (*get_next)(DTA *dta); int cdecl (*release_dir)(void); } SLCT_STR; Fangen wir mal an: id Das ist die ID von Selectric, also `SLCT'. Es reicht also nicht nur den `FSEL'-Cookie abzfragen, sondern mu zustzlich nich die ID checken. version Hier steht die Versionsnummer im BCD-Format, also 0x0100 fr 1.00. config. onoff ber dieses Bit wird Selectric ein (logisch 1) bzw. ausgeschaltet. hidden Zeigt an, ob versteckte Dateien angezeigt werden sol- len. dclick Ordner erst auf Doppelklick ffnen. lower Pfadangaben etc. in der Hauptseite in Kleinbuchstaben anzeigen. numsrt Schaltet die numerische Sortierung ein. autloc Aktiviert den Auto-Locator. stdest Nach Kopier/Verschiebe-Aktionen im Zielpfad bleiben. pthsav Ist dieses Flag gesetzt, so speichert Selectric die GEMDOS-Pfade und stellt sie kurz vor Verlassen wieder her. sort Konfiguriert das Sortierkriterium, dabei gelten fol- gende Werte: 1 Sortiert nach dem Namen 2 nach Datum 3 nach Gre 4 nach Typ bzw. Extension 5 unsortiert Ist der Wert negativ, so wird rckwrts sortiert (z.B. -3 fr `nach Gre' und `rckwrts'). num_ext Dieser Wert gibt die Anzahl der mglichen Preset- Extensions an. Wird von der Applikation eine andere Anzahl von Extensions bergeben, so mu dieser Wert angepat werden. Selectric V1.0 verarbeitet z.Zt. nur 10 Extensions, werden mehr bergeben, so wird der Wert von Selectric aus auf 10 reduziert. *(*ext)[] Dieser Zeiger zeigt auf ein Array aus Zeigern auf Strings. In diesen Strings stehen die Preset- Extensions. Wird der Pointer von der Applikation verndert, so mu er auf eine gleichartige Struktur zeigen. Der Zeiger (und auch die Anzahl) wird von Selectric aus wieder zurckgesetzt. num_paths Gibt die Anzahl der Preset-Paths an (ansonsten siehe `num_ext'). *(*paths)[] Das ist fr die Preset-Paths da (s.a. `*(*ext)[]'). Bemerkung: Das bergeben von Pfaden sollte wirklich nur dann angewendet werden, wenn dies auch sinnvoll erscheint. Weiterhin sollte man diese Pfade auch in der Applikation abspeichern knnen (Selectric spei- chert nur seine eigenen Extensions/Paths ab, die von der Applikation bergebenen knnen aber trotzdem editiert werden!). comm Dieses Wort wird zur Kommunikation zwischen Selectric und der Applikation benutzt. Es wird nach Verlassen von Selectric automatisch auf Null zurckgesetzt. Zur Zeit wird nur die Richtung Applikation -> Selectric untersttzt. Die einzelnen Bits haben folgende Bedeutung: Bit 0 Das Programm erwartet mehr als einen Dateinamen (s.a. *out_ptr). Dabei wird die gleiche Struktur wie bei `paths' und `ext' erwartet. Ordner werden mit einem Backslash am Ende gekennzeichnet. Bit 1 Dieses Bit gilt nur in Verbindung mit Bit 0. Ist das Bit gesetzt, dann werden die Dateinamen durch Leerzeichen als einziger String zurckgegeben, fast so wie wenn man einem Programm eine Kommandozeile bergeben wrde. Auch hier sind die Ordner mit einem Backslash am Ende gekennzeichnet. Die anderen Bits sind resrviert und sollten (besser: drfen) nicht verndert bzw. benutzt werden. in_count z.Zt. unbenutzt *in_ptr z.Zt. unbenutzt out_count Die Applikation benutzt es, um anzugeben wieviele Items zurckgegeben werden sollen. Selectric schreibt kurz vor dem Verlassen die tatschliche Anzahl rein. *out_ptr Dieser Pointer mu bei Benutzung auf einen Speicherbereich bzw. Struktur, welche innerhalb der Applikation alloziert wurde, zeigen. Wichtig ist dabei, da gengend Speicher alloziert wurde! Seit Version 1.02 gibt es auch noch drei neue Funktionen, mit denen man noch auf eine andere Art und Weise mehrere Dateinamen zu- rckbekommen kann. Sie arbeiten nach dem First/Next-Prinzip und haben den Vorteil, da die Hauptapplikation keinen Speicher fr die Da- teiliste zur Verfgung stellen mu. Sie arbeiten quivalent zu den TOS-Routinen Fsfirst() und Fsnext(), mit dem kleinen Unterschied, da man jeweils einen Zeiger auf eine DTA-Struktur bergeben mu. Ebenso kann man bei get_first() keine Dateimuster bergeben, da das ja eigentlich der User im Selector macht. Weiterhin mu nach dem Holen der Dateinamen release_dir() aufgerufen werden, damit Selectric den Speicher wieder freigibt. Die ganze Aktion mu mit wind_update() eingeschachtelt werden, da es sonst zu Reentranzproblemen in Selectric kommen kann. Bemerkung: Die Struktur ist in den Grundzgen kompatibel zu der aus FSELECT 1.2.x von Martin Patzel/Khling, d.h. ID, Versionsnummer und das ON/OFF Bit sind an der gleichen Stelle zu finden. Der Rest ist natrlich nur in Selectric vorhanden. Nach dem Motto `ein Programm sagt mehr als tausend Worte' verweise ich an dieser Stelle auf das Beispielprogramm und das Binding. Nachwort -------- Bleibt nur noch zu sagen, da noch einiges geplant ist, welches in spteren Versionen auch verwirklicht wird, jedoch wollten wir das nicht `bers Knie brechen'. Aber schon jetzt hat Selectric die um- fangreichste Programmierschnittstelle in der File-Selektor Welt. Ach ja, das Binding und das Sample wurden nicht so intensiv getestet, jedoch sollten keine schwerwiegenden Fehler enhalten sein. Fr Bug- Reports bin ich aber immer sehr dankbar. Meine Adresse ... Oliver Scheel Rothehausstr. 28 W-5000 Kln 30 (Germany) MausNet: Oliver Scheel @ K InterNet: Oliver_Scheel@k.maus.de It's not a trick, it's Selectric. ---- Rchzschreipfler (c) 1992 by Oliver Scheel blk[]; EXTERN BYTE *rs_frstr[]; EXTERN BITBLK *rs_frimg[]; EXTERN OBJECT rs_object[]; EXTERN OBJECT *rs_trindex[]; #define NUM_BB 0 #define NUM_IB 0 #define NUM_TI 12 #define NUM_FRSTR 1 #define NUM_FRIMG 0 #define NUM_OBS 28 #define NUM_TREE 2 ttP 0@ `@ <0xa`@p0`@@0 `@0@`'>1p`p>$ ck01c|asncc`=1qca a aa 21a c`f8a `618c`fa `>1c`fa `31fc`fAa `11Agc`g!aa`11aCap`c!aa0À1aa`c"^`0<< 333063? 0 33?0  13' 10 &'% 30&'$ 31&'$@ 0qq&'$ 9`&'$&'$ &'$&'$?0 &'$00 0&'$ 03>3?> &'$Y >336 330?&'$9 033< 33'$ 0336 33f'' 0333>> & >3  '  0?33 &`03v3> &130>333 &1303?k33 &030303c33 &003300300sp>c> &0033030@0 &s3s0300? <8&333300 03 `&33330 3> 0 7 ``& 303 > ;  a&qs 303 0 3  `a&) 3303 0 3  X`a&)@30?<8 `a& 8&) &)` &)`&) &) aa&)@aaY&)aa`&)8&)&)? &)0 &)0 03?>>0&?@ > 330 33&  0 ?3 33&  0 03 33   ?33>3f  6 33? 0c0. 33? 90w0' p0340 Y >?c3 331& apð334 03? 3ck063 3`303&` sð334 >3?>???? 3 kc330 330 3> c360 3`30& 3103 0330 338 @>?6 c>3 30q& 330p0330 33& 3630p30330 33 0??<8& 36330030330 3300 0 & 333330?3??3? 3> 0  310& 11333033> 303 >  31333`&   303 0  1&  `3303 03  31`& 30<8 a0&  &?0 p&) &)10&)3300f0&)y300ư0&(3301 &?q0`& & À &@  0&@ 3 30`&@  0>?>v333&) 33 333330`& 30 ?0k33330&   330 00c33330À&   00c>33 330f?33 3300?<863 p0 00 0 .3 pð$>36? 3> 0 '0 sð$?3??? 303 >6 &0 s3333? 303 0? &003333k3 3303 0 10& 030p`333?k? 30<8100&3 30p`3 33333k0 1xxx0&3 30003 33?33c0  0&? 330 ?3?c? ||0& 330 >3c 0& ? |x|& ><&   &  &  &@ > `` &)`& &!xaaa&!x aaa&> x| xw aaa& xc 8&] 000xx xk  &I 0`00`xx xI &k 0`00a x]&c 00001 x ?k 0000xx x]p &I 00xx xI &] 0000 xk & 0 00 0 xc &> 0 0 xw& x0 x 0 x 8x&!x8 paa``&!  `aa``&    `aaa& 30 33? 03? `aa``& ? 3? ? qaa``&#  3 0300 8xa&# >8>&#3y&#a0 a`&#@ 0  a``&#s 3?>> a``&# 36 3333 a``&# ?< ?0?3 a`&# 06 0003 y&# 303&#` &p000 <8a` &0100  a` &s00`301 3> 63  a`a &s30`301 303 c3  a`a &303 303 ? a`a &3pq 3303 3   &`00 33<8 &3p0`000` &33p30000`` &0330300pp` &p330aaa &330`aa&#`aa&#`8&# &#&# &p33 &033 &s300`301 &s300`301 &3003  &30pq &3`00 &330`000&3330000&033300pp&p3&1&# &# &# &# &# &p3 &03 &c3p`0`301 &c330`0`301 &c30`03 &10pq &30`00 &s300`000  &c0330`30000&0c033p`300pp `&p3330 `&3330  &#  ``&#  YX``&#   ``&  8&<& <8 x&  8 a`& a`& <?>>< a`& a񁙛Y`& a`&# x&#&#&333&333 &p030Ã0`01 "$ &pðó00`01 &sðó0 &sp &3000`ð0 "$ &30ps0000`00&30ps0000000&3003000p00p&333 "$&333&#&#&# "$&#&#&333&333 "$ &p03À31 &pðó31 &sðó c &sc "$ &300 &30ps0000&30ps0000&3003000p "$&333&333&#&# "$&#&#&#&3330c "$&3330c &p03033001 &pðñ33001 &sðñc0` "$ &scp` &3`0000 &30pq`000000&30pq000010 "$&300300s001p&3330c&3330a&# "$&#&#&#&# "$? &33`0 &33` 0>?>>>&p0c0331303 >330 33 33&pðc0331303 "$ 0?3 ?0 33&sðc`ac0 003 00 33&s`acp 03>03&30`ð00&30ps0`000 "$ ? 3 0&30p`30000006 0&300`300030 0>< 3&333` > 38 06&333` 0 3< 0<&# 0 36 06&# ?333`&#```&#  `a&# aa`a&#s ??>>>aa`a&#@3 3 33 33aa`a&#a ? 3 0? ?38&#30  00 03 &#`?03 &# > &# >8 &# 3 0&# 3 ??> Y&>  3 񙁙&% 0  3 `&%  0 3 33&?0   0?388x@ & ???0     `p``& 3830   `a``&303>3? ??6`c``& 0??3???? ?? ?>?????````& >33 30 3 03 30 33 39q``@& 6?633 38 3d )\0q] #tXl,!#@  DD(ApPC&7PN520"E¤4 C$${%t !& %0 P, CR( PP$0  lEa,Ka4J(3 K4~ B\ApY?QJ8B0 C:3?A®'fBpά?@Ã> 1WX#LDN maH^ 8K9CC)WG\f VAA2< +@= K"# Pl7E1@. Utqa@%q9ǁ3)!\%D?p)%q* 1怃tH zsPb``| U,Kj?ʲl ш_PV)DIu ss $)Om&20Nӈ#[El52Es\JQ!L6F$UgS2PbJDzԈC6Gř]ѓn_ n4EO45OH#.gO`@90K @@!ҊBTr֕ǃ@G"gE#H:PKӹX%%G-><ʚjJDɃ 83 30 33 3k8x0& 63633 ? 3 ? ?0 ?3 ?k&?33?33 0 3 0 00 03 0k &?33?3? 0 3 0 00 03 0c0&??????3????????c@> 0?>>3?>c30 & ? 3>>?>> > >3 03 333& 30 03 3?3&) 30 03 303'( >033&@(&0( < 0&( 6 0&( 3 >&? 3  333& @  3  333&   6 3 333& @  <>x0x8&    > 00`&  033<<8xp|0x&?? 0 3;63 000`& ? 3> 3?33 000`& ? 303 3?33 |0|00`& 8 303 3733 xx x x`x& 8 3303 3363  & 8 33<<8< &  8`800p& ? 8`0xx000&  3 086"0 000& 3>?186"0|000x& =3?????87"800p 33 33033087 ||x<> 33 3383086'  33 33386&  33 3333386`&  33 3333386`<>3  &  ???3?$3803 &  >3>&180x3???& 08>30  3 3 3& 083?  3 3 ?&'830 3  3 0&??>>&? >&? 0&)0 &)33c> &)330c3 &)?3k3 &)33>33 &)3>63&)&) 0>??3>38&) 030 33;' 3>30 33? ' 303>> 3>?  ) 30360 367  ) 330330 333? 33? 338Pq  #0 qyqp >*@!H("#qπ < y"yȜ@xp"q2P jar[3]=jar[1]; jar[0]=cookie; jar[1]=value; return(TRUE); } new=nr+20; jar=njar=Malloc((new+2L)*8L); if(njar==NULL) return(FALSE); do { jar[0]=ajar[0]; jar[1]=ajar[1]; jar=&(jar[2]); ajar=&(ajar[2]); } while(ajar[0]); jar[0]=cookie; jar[1]=value; jar[2]=0L; jar[3]=new; old_stack=Super(0L); jar=(long *)0x5a0L; *jar=(long) njar; Super((void *) old_stack); return(TRUE); } /* make_cooki Selectric ---------- Der einzig wahre Fileselector (es kann nur einen geben ...) Version 1.02 September 1992 (c) 1992 by Stefan Radermacher and Oliver Scheel (compulsory some parts go Freaky Deaky!) (it's Shareware) Einleitung ========== Was? Schon wieder ein neuer Fileselector? ... Ja, aber kein ge- whnlicher Fileselector. Wie? Versteh ich nich?! ... Selectric ist der Fileselector mit den gewissen Extras (fr das erste Extra des Tages), sehen Sie doch selbst ... Mmmhhh. (don't take it so much ernst ...) Selectric ersetzt die originale Fileselector-Box vom TOS, bietet jedoch wesentlich mehr Mglichkeiten. Auch unterscheidet sie sich etwas von den herkmmlichen Clones. Mit Selectric werden an einigen Stellen neue Konzepte und Verfahren realisiert. Selectric ist bri- gens nur aus der Not entstanden ... Ach ja, die Anleitung ist von mir (h, dem Oliver). Ist vielleicht fr die eine oder andere Passage aufklrend (ne, Stefan?). Die Philosophie --------------- Selectric wurde sowohl fr eingefleischte Programmierer und MauFaUs (mausfaule User), als auch fr Einsteiger und Aufsteiger entwickelt. Dem Einsteiger wird beispielsweise durch die BeamUps (bzw. PopUps) unter die Arme gegriffen, der Programmierer wird dagegen mit der Tastaturbedienung und dem Auto-Locator belohnt. Weiterhin ging es uns darum die wichtigsten Informationen stndig im Blickfeld zu haben, weniger wichtige Informationen wurden in die BeamUps gepackt. Wir (die Programmierer) knnen es jedoch nicht beurteilen, ob dieses Ziel erreicht wurde oder nicht. Trotzdem knnen wir nur viel Spa mit Selectric wnschen (in der Hoffnung, da Sie jetzt noch nicht abgeschaltet haben). Features -------- - Zeigt nicht nur den Dateinamen, sondern auch Lnge und Datum auf einen Blick an. Besonders wenn man Texte oder Programmcodes bearbeitet sind diese Informationen unerllich. - Die Anzahl der verwaltbaren Dateien hngt nur vom freien Spei- cherplatz ab und ist vollkommen dynamisch (und nicht statisch, wie bei vielen anderen Selektoren) organisiert. Es wird auch nur so viel Speicherplatz reserviert, wie fr das jeweilige Ver- zeichnis bentigt wird. Ach ja, Selectric war brigens in einem kleinen Vergleichstest der einzige Selector, der mit 1000 Da- teien auf Anhieb und ohne Probleme zurechtkam. - An vielen Stellen denkt Selectric mit. Zum Beispiel merkt es sich die Slider-Positionen der bergeordneten Verzeichnisse, man mu also nicht immer `ganz von vorne' anfangen. - Durch den Real-Time Slider kann man mit Gefhl die Liste `browsen'. Der Atari ist fr sowas schnell genug, warum sollte man das auch nicht ausnutzen. - Die Hauptseite kann man fast vollstndig ber die Tastatur bedienen. Bei installiertem Let 'em Fly! gilt das natrlich auch fr alle anderen Dialoge. - Mit dem zuschaltbaren Auto-Locator braucht man nur die ersten Buchstaben eines Dateinamens anzugeben, Selectric sucht dann den ersten bereinstimmenden Dateinamen heraus und selektiert ihn. Auch ein von der Applikation bergebener Dateinamen wird versucht zu lokalisiert. - Mehrfachselektion mglich, d.h. ber den Cookie-Jar kann man mehr als einen Dateinamen zurckbekommen. Die Hauptapplikation mu jedoch das Protokoll verstehen (siehe SLCTPROG.TXT). - Bei der Wildcard-Angabe wird *nix-miges Globbing untersttzt. Somit sind Angaben wie `*MAUS*.[A-Z]??' mglich. - Fnf verschiedene Sortierkriterien stehen zur Verfgung. Zudem kann man die Sortierreihenfolge auch umkehren. Ebenso kann man noch einen numerischen Sortieralgorithmus zuschalten. - Jeweils 10 verschiedene Extensions und Pfade kann man vor- einstellen, um so hufig Bentigtes schnell zu erreichen. Dabei werden die vom Programm bergebenen Werte `geklemmt', d.h. man kann sie wieder zurckholen. - Es werden umfangreiche Dateioperationen (inklusive Kopieren) be- reitgestellt. Die meisten Funkionen arbeiten rekursiv, d.h. man kann z.B. Ordner UND die dort enthaltenen Dateien und Ordner in einem Wisch lschen/kopieren. - Let 'em Fly! wird in vielen Punkten untersttzt, u.a. Tastatur- Shortcuts und fliegende Dialoge. Das Programm luft auf allen ST/TT Rechnern in allen(!) Auflsungen. ********************************************************************** Selectric ist Shareware, d.h. es darf zu nicht-kommerziellen Zwecken frei kopiert und getestet werden. Wird Selectric jedoch regelmig benutzt, so ist ein Betrag von DM 30,- an die Autoren zu entrichten (gegen mehr ist natrlich nichts einzuwenden ...). Dies ist kein Freeware Programm! Das Verbreiten von Selectric ber einen PD- Versand ist nur mit ausdrcklicher, schriftlicher Genehmigung mg- lich. Zuwiderhandlungen werden strafrechtlich verfolgt. Zu Selectric gehren folgende Dateien: - SLECTRIG.PRG Das eigentliche Programm (kommt normalerweise in den AUTO-Ordner) - CALLSLCT.ACC Ein Accessory, mit dem man Selectric mal schnell aufrufen und ein-/ausschalten kann - SLCTCONF.CPX Ein CPX-Modul, welches die gleiche Aufgabe erfllt, wie das Accessory - SLECTRIC.TXT Diese Doku - SLECTRIC.IMG Ein Bildchen - CHANGES.TXT Die nderungen zwischen den Versionen (WICHTIG!) - SLCTPROG.TXT **************************************************************** * * * Wrap-Mouse, der ultimative Maustreiber fr Atari-Muse, * * Serielle Muse und den Joystick! * * * * (c) 1992 by Richard Kurz * * Vogelherdbogen 62 * * 7992 Tettnang * * Fido 2:241/7232.5 * * * * Fr's TOS-Magazin * * * **************************************************************** Leistungsumfang Treiber fr serielle MS-DOS Muse sowohl Mousesystems- wie auch Microsoft-Varianten an einem beliebigen RS232 Port von ST, TT, Falcon und Mega STE, Treiber fr den Joystick als Mausemulation, Belegung der rechten bzw. mittleren Maustaste mit diversen Funktionen und Vertauschen der Maustasten (Linkshnder), natrlich fr jedes Programm eigens einstellbar. Garniert wird das Ganze durch einen frei programmierbaren Beschleuniger mit integriertem "Bildschirm-Durchlauf" fr alle Muse. Kommt der Mauszeiger an den Bildschirmrand, gengt ein leichter >>Druck<< und schon kommt die Maus auf der gegenberliegenden Seite des Screens wieder heraus! Vor allem Grobildschirm-Besitzer ersparen sich damit manche Schiebeorgie. Installation Wrap-Mouse besteht aus zwei Teilen, >>WM.PRG<< fr den Auto- Ordner und >>WRAP_CPX.CPX<< fr XCONTROL. Zuerst sollten Sie ALLE Mausbeschleuniger oder Maustreiber aus Ihrem System entfernen bzw. deaktivieren. ACHTUNG! Oft sind in diversen Tools wie z.B. NVDI auch noch welche versteckt. Erst jetzt darf >>WM.PRG<< in den Auto-Ordner. >>WRAP_CPX.CPX<< kopieren Sie zu Ihren anderen CPX-Modulen und starten den Rechner mit einem Kaltstart neu. WICHTIG! Ohne XCONTROL und >>WRAP_CPX.CPX<< geht gar nichts, also immer XCONTROL.ACC laden! Versuchen Sie nun Ihren Mauszeiger aus dem Bildschirm herauszu- schieben. Kommt er auf der anderen Seite wieder zum Vorschein, ist die Installation fr's erste geglckt! Wer eine MS-DOS Maus anschlieen oder Wrap-Mouse mehr an seine persnlichen Bedrfnisse anpassen mchte, greift zu XCONTROL. Das Steuer-Modul findet sich unter >>WRAP Mouse<<. Der Hautpdialog >>Vertauschen [An/Aus]<<: Die Maustasten werden vertauscht, interessant fr Linkshnder. >>Joystick [An/Aus]<<: Der Joystick als Mausersatz, gut fr gerade Linien in Zeichenprogrammen. Leider ist der Feuerknopf auf dem Atari gleich der rechten Maustaste, warum wissen nur die Gtter, aber dank >>Vertauschen<< sollte das kein Problem darstellen. >>Serielle Maus [An/Aus]<<: Wer eine serielle Maus anschlieen will, sollte diesen Punkt auf >>An<< stellen. ACHTUNG! nderungen von >>Aus<< nach >>An<< werden erst nach einem erneuten Booten von Wrap-Mouse erkannt. Aufgrund seiner Beharrlichkeit kann das RS232-Modul (Seriell) von XCONTROL u.U. Probleme verursachen, wird es benutzt, sollte man sich vergewissern, da der Port, an dem die serielle Maus eingesteckt ist auf 1200 Baud, keine Paritt, 8 Bits, ein Stop-Bit und keine Kom. Parameter eingestellt ist, ferner sollte er auf dem TT/Falcon/MSTE nicht der aktive Port sein, da sonst andere Programme die Baud-Rate wieder verstellen knnten. Wer keine Df betreibt, kann das >>Seriell<<-Modul auch komplett entfernen. >>Rechte Maustaste<<: Wen hat es nicht schon gergert, da die rechte Maus praktisch nutzlos ist? Hier knnen Sie Abhilfe schaffen, ab sofort kann sie als Shift-, Alternate- oder Control- Taste fungieren. Um mehrere Dateien auf dem Desktop zu selektieren mssen die Finger nicht mehr zur Tastatur, es gengen die Maustasten. Als extra Bonbon kann auch ein Doppelklick der linken Maustaste simuliert werden. Da ein Doppelklick erst beim Loslassen der Taste ausgelst wird, kann Tasten- und Doppelklick- Emulation (z.B. Shift+Doppelklick) zur gleichen Zeit aktiv sein. >>Programm<<: Einige Programme verwenden die rechte Maustaste fr eigene Zwecke. Damit die Emulationen bei Strungen nicht jedesmal von Hand abgeschaltet werden mu, gibt es hier Platz fr 20 individuelle Konfigurationen von >>Rechte Maustaste<< und >>Vertauschen<<. Ein Klick auf den Button ffnet ein PopUp-Men in das mit >>Neu<< Programme aufgenommen werden knnen. Die Einstellungen von >>Allgemein<< gelten immer dann, wenn ein Programm aktiv ist, das nicht in der Liste steht. Um ein Programm wieder zu entfernen, wird es mit gedrckter Shift-Taste angewhlt. >>Sichern<<, >>OK<< und >>Abbruch<< folgen den blichen CPX- Regeln. Der RS232-Dialog Je nach verwendetem Rechner steht unter >>Port<< die gewnschte Schnittstelle fr den Mausanschlu zur Wahl. Via >>Mouse<< whlt der frischgebackene Musedompteur die Art seines Raubtiers, es drfen Microsoft oder Mousesystems kompatible Tierchen sein. Als kleine Faustregel kann gelten: Zwei Tasten = Microsoft, drei Tasten = Mousesystems. Stolze Besitzer einer Drei-Tasten-Maus drfen sich freuen, die Einstellungen unter >>Rechte Maustaste<< gelten dann fr die mittlere Taste, die ganz Rechte funktioniert wie gewohnt. ACHTUNG! Einstellungen von >>Port<< und >>Mouse<< werden erst nach einem erneuten Booten von Wrap-Mouse erkannt. Systembedingt neigen manche MS-DOS Muse ein wenig zum holpern, der Mauszeiger bewegt sich nicht schn flssig ber den Bildschirm, sondern hpft so vor sich hin. Um das atari-verwhnte Auge zu befriedigen sollte >>Gltten<< bei einem solchen Stolperer auf >>An<< gestellt sein. Das Ruckeln vermindert sich circa um die Hlfte. Die Speeder-Dialoge Wie schon erwhnt, ist in Wrap-Mouse auch ein Beschleuniger fr unser Lieblingstier enthalten. Aufgrund der unterschiedlichen Charakteristiken kann die Art und Weise der dynamischen Beschleunigung separat fr Atari-, Serielle- und Joystick-Maus eingestellt werden. Sie finden die jeweiligen Dialoge im Hauptteil unter >>Speeder<<. Im rechten Teil des Dialogs sind zwei Reihen von Slidern zu sehen, ber die Mann/Frau die Beschleunigung individuell programmieren kann. In der oberen Reihe stehen die Schwellenwerte, ab denen die in der unteren Reihe eingestellten Verstrkungsfaktoren (20 entspricht einer Verdoppelung) zum Zuge kommen, damit lt sich praktisch jede gewnschte Dynamik erzeugen. Bei der Joystick-Maus hat der erste, obere Slider eine besondere Bedeutung, er gibt an, nach welcher Zeit sich der Maus- Zeiger um mehrere Pixel bewegen darf. Bei einem Wert von 0 ist die Bewegung um nur ein Pixel nur noch fr Joystickakrobaten mglich. Der linke Teil ist dem namensgebenden Feature, dem >>Wrapen<<, vorbehalten. Um die Maus nicht dauernd auf ungewollte Bildschirm- Rundreisen zu schicken, wird mit den vier Slidern fr jeden Bildschirmrand die Strke des ntigen >>Drucks<< zum durchtunneln (Quantenphysiker mgen mir die Verwendung dieses Wortes verzeihen) eingestellt. Wer das Wrapen oder den Beschleuniger nicht braucht (was mir vllig unverstndlich wre) kann diese Funktionen mit >>Wrap [An/Aus]<< bzw. >>Speeder [An/Aus]<< deaktivieren. Ein paar Informationen fr Programmierer - FSEL_INP.C Ein universelle fsel_(ex)input()-Routine - FSEL_INP.H Das Header-File dazu - SAMPLE.C Ein Beispielprogramm fr die Benutzung der zustzlichen Features von Selectric - README Eine kurze Info Selectric darf nur komplett mit diesen Dateien weitergegeben werden. ********************************************************************** Jetzt aber erstmal das ... Wir bernehmen keine Haftung oder Verantworung fr direkte oder in- direkte Schden jedweder Art, seien sie finanzieller, materieller oder sonstiger Art, die aus dem Gebrauch, Nichtgebrauch oder Mi- brauch von Selectric entstehen. Fast alle Soft- und Hardwarebezeichnungen, die in dieser Anleitung erwhnt werden, sind eingetragene Warenzeichen und sollten als solche betrachtet werden. Durch die Anleitung begleitet uns Rainer Juhser (created by Michael Hoppe), um bei eventuellen Miverstndnissen eingreifen bzw. fragen zu knnen. Hit It Run ========== Selectric (SLECTRIC.PRG) kann entweder vom Desktop aus gestartet werden oder bei jedem Neustart des Rechners aus dem AUTO-Ordner heraus. Manche Programme klinken sich sehr brutal ins Betriebssystem ein, daher mu man vielleicht die physikalische Reihenfolge der Programme im AUTO-Ordner anpassen. Problemkinder fallen mir jetzt auf Anhieb nicht ein (auer andere File-Selektoren). Will man Selectric als Accessory aufrufen, so kann man das kurze Programm CALLSLCT.ACC in das Wurzelverzeichnis kopieren. ber dieses Accessory kann man mal schnell Selectric auf den Bildschirm zaubern. Dieses Programm kann man auch in CALLSLCT.PRG umbenennen und ganz normal vom Desktop aus starten. Hlt man beim Aufruf eine [SHIFT]- Taste oder die rechte Maustaste fest, dann kann man Selectric ein- und ausschalten. Es erscheint dann ein entsprechender Dialog. Zu guter Letzt gibt's auch noch ein CPX (SLCTCONF.CPX) fr das modulare Kontrollfeld von Atari, um Selectric auch von hier aus ein- und ausschalten zu knnen. Zudem ist es hier mglich, Selectric ber den Button 'Aufruf' auf den Bildschirm zu bringen. SLCTCONF.CPX mu sich in dem Verzeichnis befinden, welches im Kon- trollfeld eingestellt wurde. Die Bedienung (Frulein, ein Bier bitte!) ========================================= Es ist sinnvoll das beigelgte Bild (SLECTRIC.IMG) mal zu studieren, bzw. auszudrucken (z.B. mit GUCK, 1st Guide/View oder einem halbwegs brauchbaren Malprogramm, welches das IMG-Format untersttzt). Auf diesem Bild sind die Bedienelemente des Hauptdialogs beschrieben, somit brauche ich nur noch auf die einzelnen Funktionen bzw. Be- sonderheiten eingehen. Prinzipielles ------------- Innerhalb von Selectric haben die rechte Maustaste und beide Shift- Tasten bei Mausfunktionen(!) die gleiche Bedeutung. Die wichtigsten Elemente ------------------------ Der Closer (das Teil, das bei den Fenstern links oben zu finden ist) -------------------------------------------------------------------- ber den Closer gelangt man eine Verzeichnisebene hher (so wie beim Original auch). Ein Doppelklick auf dieses Objekt bringt einen direkt (und ohne ber Los zu gehen) ins Wurzelverzeichnis des jeweiligen Laufwerks. Der Fuller (das Teil, was dem Closer hnlich sieht und rechts liegt) -------------------------------------------------------------------- Da man bei Selectric mehr als eine Datei anwhlen kann, ist es ber diesen Fuller mglich `alles auf einmal' zu erledigen. Ein Klick auf dieses Objekt selektiert bzw. deselektiert (falls schon alles selek- tiert war) alle Objekte. Ein Doppelklick deselektiert immer alles. Hlt man beim Klick auf den Fuller die [SHIFT]-Taste gedrckt, so wird die Selektierung getoggelt, d.h. die Dateien die vorher nicht selektiert waren sind nun selektiert und umgekehrt. Mit Hilfe der [CONTROL]-Taste kann man nach Wildcards bzw. nach einer Maske selektieren. Dazu erscheint dann ein entsprechender Dialog. Die Form der Wildcards wird in einem spteren Abschnitt erklrt. Auch hier wird die Selektierung getoggelt, wobei aber nur Dateien und keine Ordner bercksichtigt werden. Der Slider ---------- Die Funktionsweise des Sliders drfte schon aus anderen Programmen bekannt sein. Der Pfeil nach oben bewegt die Liste (wenn mglich) nach oben, der Pfeil nach unten bewegt sie nach unten (eigentlich logisch). Doppelklicks auf einen der Pfeile bringen einen ans Ende bzw. an den Anfang der Liste. Die gemusterten Bereiche bewegen die Liste `seitenweise' nach oben oder nach unten. Der eigentliche Slider (das weie Kstchen) ermglicht einem die Liste etwas gezielter zu be- wegen. Dabei folgt der Fensterinhalt der Bewegung in Echtzeit (am besten mal probieren). Rainer Juhser: "Das nennt man dann Real-Time Slider, ne?" Die Anleitung: "Genau." Ein Doppelklick auf den grauen Sliderbereich oder den Slider selbst setzt den Slider direkt an die entsprechende Stelle. Die Dateien bzw. Ordner ----------------------- Ein Einfachklick auf einen Ordner (die mit dem Kstchen davor) oder eine Datei selektiert (invertiert) diese. Bei einer Datei wird auch der Name in das editierbare Feld bertragen. Ein Doppelklick bewirkt das ffnen eines Ordners oder das Auswhlen einer Datei und Verlassen der Box. Man kann Selectric auch so umkonfigurieren, da schon bei einem Einfachklick Ordner geffnet werden. So macht es brigens auch die Fileselector-Box des TOS. Um mehrere Dateien zu selektieren kann man entweder die Maustaste festhalten und durch die Liste fahren oder aber mit gedrckter [SHIFT]-Taste (oder mit zustzlich gedrckter rechten Maustaste, siehe auch `Prinzipielles') einzeln mehrere Objekte selektieren. ber dieses Verfahren kann man auch Ordner nur selektieren, falls man diese schon bei einem Einfachklick normalerweise geffnet haben will. Die Info-Zeile am unteren Rand ------------------------------ Direkt unter der Dateianzeige befindet sich eine kleine Anzeige, die Informationen ber den Status des Dateifensters anzeigt. Bei der Byte- Angabe werden nur die Dateien mitgezhlt, da eine Bercksichtigung der Ordner(-inhalte) die Performance drastisch senken wrde. Will man genaue Informationen haben, so gibt es noch die Funktion `Info', die weiter unten beschrieben wird. Ein Klick auf diesen Balken zeigt den freien Platz auf dem aktuellen Laufwerk an. Dabei mu die Maustaste festgehalten werden. Die Anzeige ist solange aktiv, wie die Taste festgehalten wird. Es kann ein bichen dauern, bis die Anzeige erscheint (es erscheint solange eine Biene), daher sollte man die Maustaste nicht wieder direkt loslassen. Man kann die Darstellungsart brigens mit der rechten Maustaste ndern. Solange diese gedrckt ist, wird ein Bargraph angezeigt (extra fr die User von Stefan's `FuzzyClock'). Die BeamUps ----------- BeamUps erscheinen erst dann auf dem Bildschirm, wenn man die schat- tierten Knpfe anklickt. Rainer Juhser: "HALT! Was um himmelsgotteswillen sind denn schon wie- der `BeamUps'?" Die Anleitung: "BeamUps sind nichts anderes als PopUps. Da Julian F. Reschke seine schon in `JazzUps' umbenannte, sorgte das fr ein reges Stammtischgesprch. Irgendwann machte dann der (fr Stefan sehr passende) Begriff `BeamUps' die Runde. Da dachte ich nur: Das mu in die Anleitung rein (smile)." BeamUps sind vergleichbar mit den Drop-Down Mens am oberen Bild- schirmrand, mit dem Unterschied, da BeamUps innerhalb von Dialog- boxen benutzt werden. Die Auswahl ber ein BeamUp kann mehrere Wege nehmen ... a) Hlt man beim Anklicken des schattierten Objekts die Maustaste fest, so wird das BeamUp genau dann verlassen, wenn man die Taste wieder loslt. Als Auswahl wird dabei der Punkt unter dem Mauszeiger angesehen (wird auch invertiert). Hat man sich vertan, kann man vor dem Loslassen der Maustaste aus dem Men herausfahren (es verschwindet der schwarze Balken). b) Bei einem kurzen Klick mu man, um eine Auswahl zu treffen, den Punkt nochmal extra anklicken (also ein Klick, um das BeamUp auf den Bildschirm zu zaubern und einer, um den Punkt anzuwhlen). Das Men kann hier ebenfalls, ohne eine Auswahl gettigt zu haben, vorzeitig verlassen werden. Hierzu mu man nur auerhalb des BeamUps klicken. c) Fr unsere MauFaUs, kann man die BeamUps auch ber die Tastatur (Cursortasten und [RETURN] bzw. [ESC]) bedienen. Die Tastaturbe- dienbarkeit wird in einem extra Abschnitt ausfhrlich erklrt. Das Eselsohr (the flying donkey) -------------------------------- Ist Let 'em Fly! installiert, dann findet man oben rechts in der Ecke ein `Eselsohr'. Das bedeutet dann, da dieser Dialog `fliegen' kann. Wird eine Let 'em Fly! Version >= 1.16 benutzt, dann wird das Esels- ohr gelscht, wenn nicht genug Speicher vorhanden ist, bzw. die entsprechenden Schalter in Let 'em Fly! nicht gesetzt wurden. Das Eselsohr findet man auch in den anderen Dialogen von Selectric. Die Funktionen (wow, dat funktioniert sogar) ============================================ Laufwerkswechsel ---------------- Da man doch mal auf ein anderes Laufwerk als das gerade eingestellte zugreifen will, haben wir uns dazu entschlossen eine Mglichkeit dafr einzubauen (ach, das kann der TOS-Fileselector auch, dann haben wir ja Selectric vollkommen umsonst entwickelt ...). Um das Laufwerk zu wechseln klickt man einfach auf den Laufwerks-Button. Es erscheint nun ein BeamUp (was das ist haben wir ja eben gerade gelernt). Dort kann man alle angemeldeten Laufwerke erreichen. Laufwerk B wird immer mit aufgefhrt, da das Betriebssystem immer Laufwerk B kennt. Falls kein Laufwerk B physikalisch vorhanden ist, dann wird man auf- gefordert die Diskette zu wechseln, aber das kennen Sie mit Sicher- heit schon. Wurde jetzt ein neues Laufwerk ausgewhlt, so wechselt der Fileselector in das (aktuelle) Verzeichnis dieses Laufwerks und stellt den Inhalt in seinem Fenster da. Da es Leute gibt, die eine Wechselplatte benutzen oder ein Disketten- laufwerk besitzen, welches keinen Diskettenwechsel erkennt (hm, ei- gentlich ist es ja der Atari, der den Wechsel verpennt). Um dann an das aktuelle Verzeichnis zu gelangen, mu ein sog. Medienwechsel erzwungen werden (forced media change). Das geschieht ber einen Doppelklick auf den Laufwerks-Button. Bei nicht installiertem `CHK_OFLS', wird eine Sicherheitsabfrage dazwischen geschaltet. Das ist deshalb notwendig, da geffnete Dateien geschlossen werden, was wiederum zu Datenverlusten fhren kann. Wenn man sich jedoch nicht ganz sicher ist, sollte man auf einen `forced media change' vor- sichtshalber verzichten und diesen ber den Desktop (oder bspw. `Gemini') auslsen. Dort sollten keine Dateien geffnet sein. Aber auch das gilt nur fr eine Single-Tasking Umgebung! Rainer Juhser: "Was ist denn `CHK_OFLS' nun wieder? Ich glaub' meine Oma kriegt ein Baby." Die Anleitung: "`CHK_OFLS' ist eine Abkrzung fr `CHecK Open FiLeS'. Dabei handelt es sich um ein residentes Programm von Hansi Richstein (`Kobold'), welches die von den ver- schiedenen Programmen geffneten Dateien (Files) mit- protokolliert, d.h. ein anderes Programm wei immer, ob im Augenblick irgendwelche Dateien geffnet sind. Das ist besonders in einer Multitasking-Umgebung sehr wichtig. Nun denn, Selectric benutzt dieses Ver- fahren, um festzustellen, ob gerade eine Datei ge- ffnet ist." Die Extensions (oder besser: Masken) ------------------------------------ Oft ist es ja so, da man sich nur fr bestimmte Dateien in- teressiert. Daher kann man eine Maske angeben, um unwichtige Dateien aus der Anzeige herauszufiltern (z.B. `*.ACC' zeigt nur die aktiven Accessories an). Ordner werden prinzipiell immer angezeigt. In Selectric kann man bestimmte Masken auf Abruf voreinstellen. Diese knnen dann ber den Extensionbutton (-> BeamUp) ausgewhlt werden. Dabei wird die vom Programm bergebene Extension `geklemmt' (also gemerkt). Sie wird durch den ersten Eintrag im BeamUp reprsentiert. Durch einen Strich getrennt stehen 11 weitere zur Auswahl. Dabei ist die erste Maske ein `Dummy' (`*.*'), da man sie sowieso sehr oft bentigt und nur einen der 10 Speicherpltze wegnehmen wrde. Die anderen 10 sind vom Benutzer einstellbar (s.u.). Man kann auch Masken `addieren', d.h. wenn man alle `*.TXT' UND alle `*.DOC' auf einen Blick haben will kann man, whlt man erst `*.TXT' aus und hlt bei der darauffolgenden Auswahl von `*.DOC' die [SHIFT]-Taste (oder die rechte Maustaste ... s.o.) fest. In der Pfadanzeige sind die beiden Masken dann durch ein Komma getrennt. Wichtig ist, da diese Masken nur maximal 16 Zeichen lang sein knnen, der Rest wird abgeschnitten. Rainer Juhser: "Wie kann denn jetzt so eine Maske aussehen?" Die Anleitung: "Die ganze Geschichte ist an das von *nix bekannte `Globbing' angelehnt. Leider wird diese Mglichkeit vom TOS (und vielen anderen Programmen) nicht unter- sttzt. Die genaue Syntax jetzt aber fr alle ..." ? steht fr EIN beliebiges Zeichen (sollte vom TOS her bekannt sein). * steht fr beliebig viele (auch 0) Zeichen und ist ebenfalls im TOS integriert. Jedoch geht Selectric einen Schritt weiter: `*' ist quivalent zu `*.*' (siehe auch Beispiele). [...] ber die eckigen Klammern kann man eine Klasse von Zeichen festlegen (z.B. alle Zahlen oder alle Buchstaben oder alles auer Zahlen) und gilt jeweils fr ein einziges Zeichen, ist also die Konkretisierung von `?'. Formate: [AB] (fr A oder B), [A-Z] (fr A-Z ... wer htte das gedacht), [^A-Z] (das Dchlein in- vertiert die Aussage, d.h. in diesem Fall alles auer A-Z). Natrlich kann man auch andere Zeichen einsetzen. Beisphle fr's Globbing ... `*' pat auf alles (h, alles nichts, oder?). `MAUS*' pat auf `MAUSTREF.TXT', `MAUSILEI.N' oder einfach nur `MAUS'. `*MAUS*' pat auf `MAUSHAUS', `HAUSMAUS' oder `ENTMAUSE.R'. `*.AC?' (ein beliebtes Beispiel) pat u.a. auf alle aktivier- ten und deaktivierten Accessories (*.ACC / *.ACX). `*.AC[CX]' das gleiche Beispiel, nur halt konkreter. `TEXT???.*' macht's mit `TEXT001', `TEXTABC', `TEXT123.TXT', nicht aber mit `TEXTER' oder `TEXT.TXT'. `PROG*.[CHS]' (jetzt wird's etwas komplizierter ...) pat auf `PROG1.C', `PROGRAMM.S' oder z.B. `PROGGER.H', nicht aber auf `PROGRAMM.SH' oder `PROGRAMM' oder gar `PROGRAMM.CHS'. bungsaufgabe: Finden Sie mindestens 10 Dateinamen, die auf folgendes Muster passen ... `*[A-Z]B?[^0-9]*.P[0-2]?' Wie oben schon erwhnt, darf in Selectric die Maske 16 Zeichen (bei `Suchen' sind es 22 Zeichen) nicht berschreiten (die bungsaufgabe knnen Sie daher mit Selectric nicht bewltigen, BTSCH!). So, nun aber zum Voreinstellen der 10 Benutzer-Masken: ber ein Doppelklick auf den Extension-Button gelangt man in einen Dialog. Dort kann man a) die aktuelle als auch b) die anderen 10 Extensions ndern. Braucht man nicht alle 10, so kann man ruhig Felder frei- lassen. Selectric filtert diese im BeamUp heraus. Eine Applikation kann theoretisch auch an Selectric bestimmte Masken bergeben, hier knnen es auch weniger als 10 sein. Die Pfadeinstellung ------------------- Damit Ordnung auf der Platte herrscht, haben sich einige Leute gedacht, da man die Dateien hierarchisch ordnen sollte. Z.B. knnte die Datei `BEWERB.TXT' im Ordner `BEWERBUN.GEN' stehen. Dieser Ordner wiederum steht im Ordner `TEXTE', dieser wiederum im Ordner `DATEN'. Man unterteilt sich seine Platte in verschiedene Kategorien. Leider hat diese Form der Organisierung auch einen Nachteil: will man jetzt aus dem Verzeichnis `C:\BIN\TOOLS\DISKTOOLS\DISKMON\' ins Verzeichnis `C:\DATEN\DFUE\UPLOAD\WICHTIG\', so mu man erst die ganzen Ver- zeichnisse `hochgehen' und dann wieder von oben `herunter'. Das kann mitunter ganz schn lstig werden. Selectric bietet da einiges an Komfort (Natrlich kann man die Pfade auch nach herkmmlicher Art und Weise wechseln, aber das ist oft sehr umstndlich.). Zu allererst bietet Selectric die Mglichkeit ber einen Doppelklick auf den Closer direkt ins Wurzelverzeichnis zu gelangen (das ist doch schonmal was). Oft will man aber garnicht so weit, sondern nur bis zur vorletzten Verzeichnisebene. Etwas ber den Gartenzaun gespickt und schon war die Lsung gefunden. Selectric bietet ein sog. `Mac- Path' BeamUp. In diesem BeamUp werden die einzelnen Pfadabschnitte durch getrennte Eintrge reprsentiert. Somit kann man mal schnell zwei Ebenen hher klettern. Da das immer noch nicht reicht, kann man auch 10 Pfade voreinstellen bzw. speichern. Der vom Programm bergebene Pfad wird brigens immer `geklemmt' (kennen wir schon von den Extensions). Um einen Pfad zu speichern, ist dieser zunchst `anzufahren'. Danach klickt man auf das Pfad-BeamUp und sucht sich die Stelle an der der Pfad gespeichert werden soll aus. Mit gedrckter [SHIFT]-Taste klickt man diesen Eintrag an und schwupps ist der Pfad drinne. Jetzt kann man ihn ganz gewhnlich (also ohne [SHIFT]) auswhlen. Und fr die Leute, die meinen, da die Tastatur immer noch das schnellste Eingabemittel ist knnen diese (und alle anderen natrlich auch) ber einen Doppelklick auf den Pfad-Button eine Dialogbox auf den Bildschirm bringen, wo der Pfad von Hand eingegeben werden kann. Bemerkung: Unsinnige Pfadangaben (also nicht vorhandene Pfade) werden so weit verkrzt bis sie passen. Ab Version 1.02 sollte das nun auch immer funktionieren. Die Sortierung -------------- Unterschiedliche Daten verlangen nach unterschiedlichen Sortierkri- terien. Selectric bietet hier gleich fnf verschiedene Kriterien plus zwei Optionen fr die Dateien im Fenster. Die Kriterien kann man in einem BeamUp einstellen. Die Hkchen zeigen die momentanen Ein- stellungen an. `nach Namen' sortiert ganz einfach nach dem Dateinamen (A -> Z), `nach Datum' nach dem Datum (neu -> alt), `nach Gre' nach der Gre (lang -> kurz), `nach Typ' nach der Extension (wenn diese nicht ganz eindeutig ist, dann werden die 8 Zeichen davor mit einbezogen) oder `unsortiert' sogar nach der physikalischen Reihenfolge auf dem Speichermedium (wichtig z.B. fr den AUTO-Ordner). Mit `rckwrts' kann man die Richtung umkehren und ber den Schalter `numerisch' kann man einen sog. numerischen Algorithmus zuschalten. Ein kleines Beispiel sollte hier Klarheit schaffen: vorher (also ohne `numerisch') ... MAUS1.TXT MAUS10.TXT MAUS2.TXT und nachher (Hokus-Pokus) ... MAUS1.TXT MAUS2.TXT MAUS10.TXT Der Auto-Locator (wieder etwas fr unsere MauFaus) -------------------------------------------------- Haben Sie nicht immer schon mal geflucht, wenn sie in Ihrem 200 Dateien umfassenden Verzeichnis eine Datei auswhlen wollen und Sie wissen ungefhr wie sie heit (zumindest die ersten Buchstaben), wollen aber jetzt nicht mit der Maus das ganze Directory durchgehen. Jetzt knnen sie getrost aufatmen ... Der Auto-Locator erfllt zwei Funktionen, zum einen versucht er die vom Programm bergebene Datei im bergebenen Directory zu lokalisieren, zum anderen sucht er bei Eingaben in das editierbare `Dateiname' Feld die erste passende Datei heraus. Diese wird dann selektiert. Drckt man jetzt [RETURN] (oder whlt OK an), dann wird die selektierte Datei als Ergebnis an das eigentliche Programm zu- rckgegeben. Bei Ordnern wird dieser brigens geffnet (s.a. Tastatur- bedienung). Kann brigens keine passende Datei gefunden werden, so wird die Selektion gelscht. Der Auto-Locator greift auch nach Ver- zeichniswechseln ein. Beispiel zum Auto-Locator: Folgendes Mini-Verzeichnis wird betrachtet (Reihenfolge beachten!): AUTO .TXT MEDIZIN.TXT MAUS .TXT MANN .TXT USER .TXT Eingabe Selektiert ------- ---------- M MEDIZIN.TXT MA MAUS.TXT MAN MANN.TXT U USER.TXT WICHTIG: Manchmal mchte man ber das Edit-Feld eine Datei angeben, die nicht im Verzeichnis zu finden ist. Dennoch wird unter Umstnden beim Eingeben vom Auto-Locator eine Datei selektiert, die man garnicht haben will. In einem solchen Fall mu man beim Beenden des Dialogs mit `Return' bzw. `OK' die [SHIFT]-Taste gedrckt halten! In diesem Fall wird der Dateiname im Edit-Feld zurckgegeben und nicht der selektierte. Diejenigen, die das jetzt noch nicht verstanden haben, empfehle ich etwas damit zu experimentieren. Spezielle Funktionen (especially for you) ========================================= Oft wre es doch nett, wenn ein Fileselector mehr knnte, als nur Dateien zur Auswahl zu stellen. In vielen Fllen mu man mal eine Datei umbenennen, lschen oder gar kopieren. Mit Selectric ist das jetzt in sehr komfortabler Weise mglich. Die folgenden Funktionen sind ber das BeamUp `Funktionen' er- reichbar. Dabei denkt das BeamUp natrlich mit und `disabled' die zu dem jeweiligen Zeitpunkt unsinnigen Funktionen. Beispielsweise ist es unsinnig eine nicht selektierte Datei zu lschen oder gar zu kopieren. Neues Objekt ------------ Will man einen Ordner oder eine leere Datei anlegen dann ist man hier richtig. In das Eingabefeld gibt man dann den entsprechenden Namen ein, mit `Datei' wird eine 0 Bytes lange Datei angelegt und mit `Ordner' ein leerer Ordner. Wofr eine leere Datei anlegen knnen? Abgesehen davon, da man als Programmierer leere Dateien manchmal zu Testzwecken benutzen mchte, gibt es immer wieder Programme, die ihren eigenen (natrlich nicht abschaltbaren) Fileselector haben mssen. Dieser ist aber so grausam, da man ihn am liebsten erst gar nicht benutzen will. Zum Glck wertet das Programm die Kommandozeile aus, und so kann man sich erst eine leere Datei anlegen und diese dann beim Start bergeben. Vertreter dieser Gattung sind z.B. Tempus oder (immer noch ... Pure C. Info ---- ber diesen Punkt bekommt man Informationen ber die angewhlten Dateien/Ordner. Ist mehr als eine Datei/Ordner angewhlt worden, so bekommt man zunchst eine Gesamtinfo. Dabei werden auch die Ordnerinhalte bercksichtigt, daher kann es ein bichen dauern bis die Anzeige erscheint. Mit `Mehr' kann man ber jedes einzelne Objekt weitere Informationen ausgeben lassen. Ist nur eine Datei/Ordner selektiert oder wurde bei der Gesamtinfo `Mehr' angeklickt, so erscheint zu dem Objekt eine Info-Box in der man den Dateinamen, bzw. Ordnernamen (erst ab TOS-Versionen >= 1.04!) ndern kann. Bei Dateien kann man auch noch die verschiedenen Datei- Attribute ndern. Zudem werden natrlich auch noch weitere Infos (Lnge, Datum etc.) angezeigt. Mit `Abbruch' wird der Dialog (bei mehreren selektierten Objekten: die Schleife) ohne nderung ver- lassen, bei `OK' werden die nderungen bernommen. Sind mehrere Objekte selektiert, so kann man mit `Weiter' zum nchsten Objekt gelangen ohne die nderungen zu bernehmen. Disk-Info --------- ber diesen Punkt bekommt man eine komplette Laufwerksinformation. Hier kann man auch das Label ndern. Die Belegung des Laufwerks wird im unteren Drittel als Bargraph mit Prozentangabe angezeigt. Bei den nun folgenden fnf Funktionen kann man diese bei der Arbeit mit [ESC] ab- bzw. unterbrechen. Vorher erscheint dann aber noch eine Sicherheitsabfrage. Lschen ------- Mit dieser Funktion kann man selektierte Dateien und Ordner lschen. Dabei werden bei einem angewhlten Ordner auch die darin enthaltenen Dateien und Ordner gelscht. Touch ----- Diese Option ist fr Programmierer und TeXniker interessant. Hiermit kann man eine Datei auf das aktuelle Datum und die aktuelle Zeit setzen. Ein `make' merkt dann z.B., da diese Datei neu bersetzt werden soll. Kopieren -------- Hier lassen sich Dateien und Ordner (inkl. Inhalt) kopieren. Nach der Anwahl des Punktes kann man den Zielpfad auswhlen. Dabei verschwindet die Selektion und es wird ein entsprechender Boxtitel angezeigt. Dabei kann man dann aber immer noch auf den fast vollen Funktionsum- fang (auer `Kopieren' und `Verschieben') zurckgreifen (z.B. Ordner anlegen, Dateien lschen oder eine Info abrufen). Das gilt brigens auch fr Move, was ja eher eine Spezialform von Copy darstellt. Mit `OK' wird dann kopiert, es erscheint dann noch eine weitere Box, mit `Abbruch' wird die Aktion abgebrochen. In der `weiteren Box' befinden sich noch zwei zu erklrende Schalter: `Warnung vor berschreiben' fragt bei Namenskonflikten nach (ansonsten wird die Datei ohne War- nung berschrieben), `Objekte umbenennen' fragt bei jeder Datei nach, z.B. kann man so direkt die Dateien umbenennen. Verschieben ----------- Verschieben arbeitet hnlich wie Kopieren, jedoch werden die Dateien verschoben, d.h. das Original wird dabei `gelscht'. Das Verschieben von Dateien wird auch bei TOS-Versionen kleiner 1.04 untersttzt. Suchen ------ Oft wei man nicht mehr wo man eine Datei versteckt hat. Mit dieser Funktion knnen Sie eine Datei (oder sogar nach einer Maske) suchen lassen. Dabei steht ihnen zur Auswahl, ob sie ab dem aktuellen Verzeichnis, auf dem aktuellen Laufwerk oder auf allen angeschlossenen Laufwerken (auer A und B) suchen lassen wollen. Vorher erscheint eine kleine Box, wo man a) diese Optionen einstellen kann und b) wo man den Dateina` )&``>>> TURBO-C <<<< for ATARI-ST Version 2.0 (C)88-90 Borland International &H f&op`B@#3 k # Ј<.@#Jyg<"@(I$k,"Jf"JfB// ?<?<JNAO A6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$ON}&0 J"LNh? 9g @N 9g @NN~?<LNA##ANr09Nu/ xC g" f"g$A$3|p` PH fBip$_NuH8O3xAN@&HpANJJ@f8N$H g,CN|gC JN JNNxJ@g KN>IB ,gN &l`0+H|f2+I|ftkglpkgRl0+H|g rkfRl KN(p"K KN )H f 2+I|gpgrkg B@ KN N pkf +Ы Ы$мo)@&k g2+fB09f",f)|p ,N)H`BN0N N jNJ6290,HlNx48l@nTBD`N$H g&RDTm`0T8BD`Nf$HNRDTmNJl8 lN6VO,LNu/ / &H$y`>0*g4"*f*4*"k"e KB@N ` 0*"k"d JB@N $j gf&_$_NuB@ y` 2(fR@ h"fNu y fNu h (fNu/ <6N$H g*A"f ` P` h (f!Jp JN J$_Nu/ $HA"Pf `"if#j *g @N6 g JN6$_Nu/ E grgg @N6B$_NuH>O8</y*4BCN70:fpN70N7V|fJEgpN7N`z`A,BBrpNxp|DFr2 ЀЁAl&p$ gIHyx?Nwl\O y m pNKM$0+H|fvAN@$HC KN6J@g2 KN*HyBgNwl\O fAdpN&Bn` HyBgNwl\ONp?NfTO JN>`HyBgNwl\O=k grf +g KN(0+H|g k"P` U"P-IHy$ INXO+@EJg&pNHy m PNXOJ@g pN`B@N CB@ o4Ne`pN7O8L|xNupy"Nupy"Nupy"Nu3"Nu/ $HCN$HNgP @$_Nu/ / (HG KN~ KN~J`"B3SJg 3\f"L KN}8 K(_&_NuH0&H$IC JN$HB@N6o6A"<N,(0Nf kdgp`pk` JClp`0L NuH>O8$y.*y*BCJ@f&Jtrk KpN{N`zp?NfTOJ@gIHyp?Nwl\O y m pN&MAN@*H,y0.g2.I|f NB@N ,n fN AN :N j yN6V MN>NO~HyBgNwl\OvJDf&Jkrp KN{0O,L|NuB@ y`R@ h"g4(f3 NuBBBhhhBhJ@gBNuH gB2+g(K&k`,ff(l KN &L$`)k KN &l gfL<Nu"y`"i )f#HBNuH<$HBCI9|pANJJ@f$KBCAN &H grgCNf8J@gS@f m ` (f2(gv h f"J KN JCfR -gL +Ы Ы$мo4C LN~C LN}8C LN}8 LpN&vJCfH0+H|frkf 4+J|g( KN(B@"KAN * grfxNJDfJCgB@ KN g NxJ@gN0BlL<Nu/ / &H$ICN~7|&_$_Nu/ / &H$y` 0*g"K JN}J@f$|`$j g2*f f r?NfTO J&_$_NuH0$H&I6N$H gRrgL#Hy$ yNXO#Jg,JCg2+I|gtkf'J` kk JL Nu/ / $y*p?NfTOJ@g\N8&H gD2+I|f8B@NB@N7NN yN6VNO~rB@ JN{` p?NfTO&_$_Nu//p?"o o 4r09o Nk<\ONu?6NNJ@g 9g @"($g? ANTO6Nu?/ 6$y*BN0B@N.NHxu0p?ɑ4r09Nk<\OJCgN;>CB@ JNe$_6Nu?/ UO$H6BWNJ@f8NJ@g0 9g( @"(g HW?/ ANO 0gB@N7pNVTO$_6NuUOBWNrJ@g* 9g" @"( gHW ANXO0gB@N7pNTONu/ $HN8J@g 9g @"(g/ ANXO$_Nu/ $HNJ@g 9g @"(g/ ANXO$_Nu??UO86BWNJ@g. 9g @"(g HW?? ANPO0gB@N7pNTO86Nu/ UO$HBWNJ@g, 9g$ @"(gHW/ ANPO0gB@N7pN>TO$_Nu/ UO$HBWNXJ@g, 9g$ @"(gHW/ ANPO0gB@N7pNTO$_NuH08&H$IBCNJ@g( 9g @"( g///// / ? ANO60L NuH0O*/dBCN8$HAN@&HC JN6 KN>JCgzC JN&HpN8oNBB2 <N$A,r0N,t2 /.N$ o`"0Nֺfv`BC0N`BCp?NfTO` p?NfTO0OHL 8NuN8 gC NupNu 9NuH0OBC$oB0*gAN@&HC JN6 KN>JCgC JN&HpN8oGHyr?Nwl\O y m pNA,r0N,0/,jf.BB2pN$A"<0Nְfv`BC`p ?NfTOBC0NHyBgNwl\O`BCp?NfTO` p?NfTO0O.L NuH(O$H(IBCA"JNP8R@g"*f 4*"o"fvJCfZpANJJ@fHCAN8R@g*"*f 4*"o"fpofvC JN~NxJ@fJCg0O6LNu#~NuB~Nu y~Nu/ / &HNb$H KN> J&_$_NuH8I$l&J` &j JNL$K fB"g AN6p()@LNu/ $y:#t5y5yNJ@g>By&09&HA"jL"Bj2BjJjHrB@ JN{p`$y.#tB@$_NuH8$y:BCGI`8p2I''pCH$ԂԀ r( t CH"ҁ҂ r RC|mpC(AN)H B@C.AN)H kg kgB@7@7@BA7A7AB@5@5@BgBgr??+t ?v ?/ N,@OBgBgp??+r?t?/ N,@OpC l NPB@"K lNPp`p?NfTONB@LNuH>O8&ytBC:fI29T9lM"K E U@|b@0;N.`LZB@ VNpN$HyBgHy2BgBAplNx4?p?r?t ?p ?/ N.O`B@ VNpN$HyBgHy2BgBAplNx4?p?r ?t ?p ?/ N.O`@B@ VNpN$Hyp?Nwl\O y m pN y0m y|o r p KNaHyHy2BgBAplNx4?p ?r ?/ N2O y0m y|or p KNa`B@ VN MNzHo"Jp KNXO0-olr`r4HyBgHy2BgplBANx4??p?r ?t ?/ N.O`p nNpN$HyBgHy.BgBAplNx4?p?r?t?p?/ N.O`p nNpN$HyBgHy.BgBAplNx4?p?r?t?p?/ N.O`rp nNpN$Hyp?Nwl\O y m pN y0m y|o rB@ KNaHyHy.BgBAplNx4?p?r?/ N2O y0m y|o rB@ KNaHyBgNwl\O`p nNpN$ MNzHo"Jp KNXO0-olr`r4HyBgHy.BgplBANx4??p?r?t?/ N.O`4Hy RHyHy2p ?r ?/4,0H"t n0rN(O`Hy .HyHy.p?r?/.4,0H"t V0r N(O`0.gp KpN`J@gL MNz?-4rp KNTO6R@g&Hyr?Nwl\O y m pN0.NfB@N$NNJ@gʓrp KN{rp KN{ y0m y|ovAC""HoCp KNXOUWUoXoXoCrp KN{AC""HoCp KNXOUWUoXoXoCrp KN{`rp KN{rp KN{BC`vHyBgNwl\O`BCpkJg r KB@NaN`z`8p KN`J@g*vN` BC0N$p nNB@ VNJCgZtr:H ЀЅ爂s yt0N{N`z&y.#tE7j7jCB@ ytNev0OL|8Nu// BC yt:f8N y.#tE1j1jCB@ ytNev0$_&NuH<8$KBCJ@g~S@f&y"`&y gf KN:J@gX$KIK(`@0g6CAN&HN~JS`B3SJg 3 g"K LN~"KAN~|fC `C LN}8|fC`CAN}8"LAB@N:J@g|gW@g0`\|fA `A%/HyDC&ANPO<`>|fA*`A//HyCANPO<`ApN&<0S@g S@gS@g` |f LN`ܺ|f`p` $j f0LO/H<,I8BC&J(JAN@*HC NN,HpNJJ@f RCNxJ@gJCg2H ЁN&H f"o<2 MN>`p NNJJ@fv f$K(J` I%L$L0 JN&C\AN~C.AN~AN~J` " SJg 7.f pCAN~tNxJ@g MN> o<0 KO@L|Nu/ E g @N6 *g @N6p%@$$_NuH $y:|fv`v ` B@1@0 h fBD`&tr:DH ЀЅr 0D JN{RD|mL8NuB@` 2gpNu h"fNuH8(I$yt|fv`v &HBD`P0HB4DH"ҁ҂r r  g"4H)(A"r "0gr &kRD|mLNu/ E2rC0 yN v42*pN 5R$_Nu/ E.BAC0 y"N v42*B@N 5R$_Nutr 09. y"N"Np2NxNutr092 yN"N`p2NxNuH0&I6$HBA`$jRAAn0"K JNL NuH>O:<$y:B|fv`v |fx`x G62H ЀЁA"K""Ho8"K J0NXOK>MF KC.(I(( M(H(("N(I((A ٜEJFgNCCANwI0N~[@lJ /f@"/ f40N~4H"ҁ҂?@40N~r@4H ЀЂ=A;AJFoDHo0C/ pFN~C J"_NXOHoHC/ 0N~C J"_NXO` Ho@C/ 0N~C J"_NXO"NANw"MANw"L NNx C MNx C KNx Ar09N0<NNHoC Lr09NXO0<N`"L KNx Lr09NNC.r0 JN{NDbONL|xNuH<&H68:$y: gKt2-f0N&(H:mf."m0g4H"ҁ҂r `2H ЀЁr 0ml> m2g4f T2H ЀЁr `0g T2H ЀЁr 0mo.80g4H"ҁ҂r `2H ЀЁr mfpC KN&(H"L KN&2:mf. m2g6H$Ԃԃr( `2H ЀЁr 0ml.80g4H"ҁ҂r `2H ЀЁr 0mo> m2g4f T2H ЀЁr `0g T2H ЀЁr L<8NuH0QO8$y:G&6S@f"+f |f4 +g.|f kNj:|f kNZ:JEg0`B@6`BSSg`0HA"jL"CPA HoCp JNXOWWWo\o\o0fjH`jHCrB@ JN{POL 8NuH8QO8(y:vE6G`F:CSE2H ЀЁA4JC ""Hr C L0NXO0H55RC|m KC""Bo0+k?@AC0&I&& J 5j 2**j.5A2AR@5@6BC`0HCANwRC|mPOL8NuB@` g R@ h"fNuH QO$HBC8ANz0RCHA62/0Nx>J@gSC40POLNuBA`RA h$gAfNuH88:6&H(I/&$y:@gҲ@gN&HDobDo^0g.2+fT0tr?4H ЀЂr J04N{`,0+g&6tr?4H ЀЂ爂r J04N{DlZDlV0g*2+fL6tr6H ЀЃr J0N{`(0+g"6tr8H&փք狂r8 J0N{LNuH868:&H(I/&$y:AgAg0N&HDojDof0g22f^7A Ptr?4H ЀЂ爂r J04N{`00g,7@ Str?4H ЀЂr J04N{DlbDl^0g.2fV7A Str6H ЀЃ爂r J0N{`,0g(7@ Str6H ЀЃr J0N{LNuH7G(M`9T(l f0N0N g"+g4f6KA0pBANv?@`Bo0/f KN`<BA?A>SgBCSot`46Slp`068@2|bA2;NJFfBApkNx4>`ropkNx*>kg@pDH oF(p" g,"L MN7@2ESA??"k M4+02+NXO>+SgC`*?|`"?"oH4+2 M0N+TOC>+BoSf`"?"oH4+2 M0N+TOC>+Sf0o"]@l2/f?"oH4+ M02N+TO0g]@f|0fxk`xk0E?U@?"k M4+20N8XO0fx`x//J0HHsBgBgBApoNx4??"oRt2/P0/N JN4O>>+ANz0/ fOL/":/$8/&6<JDg,JEg(2H 눐Ё2HN@"0<Nx*6 o(fV0H8H$ԂԄ22(HN~"<N@4H"ҁ҂520/*Nx44H"ҁ҂5`T0H8H$ԂԄ22(HN~"<N@4H"ҁ҂520/*Nx44H"ҁ҂5LNuH0$o /*6/,&o.Df&2H ЀЁ422H ЀЁ爔r5`h/4H"ҁ҂024H"ҁ҂牐rH2GHN~""뉒Ҁ 4GH"뉒҂N@4H"ҁ҂5 gNL NuH0$o /,&o.Df&2H ЀЁ422H ЀЁ爔r5`h/4H"ҁ҂024H"ҁ҂牐rH2GHN~""뉒Ҁ 4GH"뉒҂N@4H"ҁ҂5 gNL NuH/V:/X(oZ*o`G2H ЀЁA"K""Ho"K J0NXOSSSkTkTkJDo 20 JNa?T<oTEl Fn Fl` Fl<`Fo<og?F8 o^f/ ?????/Z/ NO`/ ?????/Z/ NlO KC""UWUoXoXoCr0/N JN{Ho"K0 JNXOSSSk KC""UWUoXoXoCr0/N JN{ANz0/f"JDo 2 J0Na"Kr0/N JN{ABBrpNxpO"L`P0k4H"ҁ҂22HA@o>/V`(?/V?2H ЀЁ?24+02N3\O>o g?G oX0//\?/Z????/ NO LC""UWUoXoXoCr0 JN{Ho "L0 JNXOSTSl LC""UWUoXoXoCr0 JN{ MNz0-fO$L/V`R0+k4H"ҁ҂22HA@o>`*??/X2H ЀЁ?24+02+N3\O>o g?G oX0//\?/Z????/ NO LC""UWUoXoXoCr0 JN{Ho "L0 JNXOSTSl LC""UWUoXoXoCr0 JN{ MNz0-fO$L/ vBD*/0/&GH2/o6HÇCHN~""뉒Ҁ&4FH*덚ڂJg2Jg. "N/ rN@"ox`BD "N@&0CD\OLNuH/F:/H(I*oPGH ЀЁC K Ho "K J0NXOSSSkTkTkJDo tr<H ЀІ爂r J0N{?T<oDEl Fn Fl` Fl<`Fo<og?F8 oJf/ ?????/&/ NO`/ ?????/&/ NO KC""UWUoXoXoCr0/ JN{Ho "K0 JNXOSSSk KC""UWUoXoXoCr0/ JN{ANz0/g oL2/0/Nx>J@f JDo tr6H ЀЃr J0N{ KC""UWUoXoXoCr0/ JN{OL g2+gAp 24H$Ԃԁ"r( "44H"ҁ҂"r 3k)44H"ҁ҂rC244H"ҁ҂ r !IA$44H"ҁ҂"r #H44H"ҁ҂"r 3k &kRC|mFLNur@Ayxft`BB0Nu09xH| NuH0$y*v@CGlp "3g>pN?3xr 43H ЀЂr rt x03  JN{L NuH86$y*Gx SgF09N?Ilr 44H ЀЂr JCgrt 04  JN{6LNu/ $yBA`$jRAAn JN$_Nu/ / $y*Glt 43 H"ҁ҂ r zr B03H$ԂԀr(43H ЀЂ r B43H ЀЂ r B&_$_Nup xAl pNuH>O86$y*BG8A"K""Ho:"K Jp NXO0+HX@7@K@MH KC0(I(( M(H(("N(I((A ٖD89ySDHWC JpNXO0jP@>JCgNCCANwI0N~Y@ll /fb"/ fVWoP0N~?@60N~r@?0N~r@_=A;AJCo\Ho2C/ pCN~ Al00 J"_NXOHoJC/ 0N~ Al00 J"_NXO`,HoBC/ 0N~ Al00 J"_NXO"NANw"MANw"L NNx C MNx C KNx Ar09N0<NNHoC Lr09NXO0<N`"L KNx Lr09NNC0rp JN{NDbOPL|NuH8$y*BCGl`>p (s" g023H$Ԃԁ r( 1l43H"ҁ҂ r 1l RC|mLNuN;Nu y* yf3hPh8`3h8hPAN<09N=0Nu/ / O$y* ygzNG29H ЀЁA"K""Ho "K J09NXOApC""HoCp JNXO09g C JpNe"K09 JNeO&_$_Nu?/ $HN6H|?32t i|3Nn6Ar@0H|1@4r j||Pp0dH@1@6(Pf2hf 4(@fBR`41P1h1h$_6NuH8$y*GJ@g8r0+ KN?.BA0+AN?.BA0+AN?.B+ jl IBA09AN?.r09 LN?.B,B,29H ЀЁ r LNu?/ EAN?b6|Plr@`rC6p i6AN?b|H@ JN?b|@0NAN?b6|A N?b|?H2t iA6NNnr2 r/Nr2 Nb$_6NuH06$y*H"ҁҀr rrr J0BAN{N`z0 JN2H ЀЁrrrNG KN|f60N02H ЀЁr N`zBA0 JN{L NuJAg4H… JBft ` 4H… <02H HA<0Nu  fB@` H| RHH@|0Nu/ $y*3N NBA09 JN{$_Nu3#t09N?NNu yf J@gN]`N\NNu3AyfC !i!iNuC !i!i!i !iNu/ / &H$IN@J@g*N@J@g yt1R1j"KB@ ytNe&_$_Nu/ $HN@J@gN@J@g yt1R1j$_Nu ygpNuB@NuptgpNuB@Nu?/ 6$y*NJ@gFNJ@g> yg4| g|r f( yf NY:J@gNCB@ JNe$_6NuH0&H$y*BCNlJ@grNtJ@gh?+4rB@ ytNTO829JAg SAgUAg`"0NWd6`0NXh6` 0NYL6JCgNCB@ JNeL NuH0UO6$y*>?9Hot29C JNB\O6|bR@0;N "@NWH`:NW`2NX`*09°yfN``N`P` N`l`N\NZJ@gHNdJ@g@GHyCp JNXO yt1k1kCB@ ytNeTOL NuH6O$H6/I:,o8<GH$ԂԀC( K Ho "K J0NXOAC""HoCB@ JNXOBDK`tCp(AN~0H o"pr(AN}8Cp(AN}80/Hy*HyHyHyHyHyHyHy"p?BgBgrk?NkO,G KBA09NI~9k y0md loZA0p8"Rivi^iFip|2H4H€#@|r©d4H‚0H#Adp4H€2H#@RiWi0)iZ@3@Rri@3AVSiUiUiUi|UiUixN@J@f?+4rB@ JNTO8]@|bl@0;N,bbbbLbbbLbbbLbbbLXXXX0NAN@J@fp`B@N7`(20N0`0NM|`pN7` KNA?yxBo?jANc~`0N@20NzOLNuNNuNNu////NHPONuHS@gS@gS@gB`HyOZBgHyBgBApTNx4?p?r?t?v?/ N.O`VHyOZBgHyBgBApTNx4?p?r?t?v?/ N.O`KHyp?Nwl\O y m pN y0m y|o rp JNaHyOZHyBgBApTNx4?p?r?/ N2O y0m y|o rp JNaHyBgNwl\O`hANzHWCp JNXO0/Wlr`r?AHyOZBgHyBgpTBANx4??/p?r?t?/ N.OO L<Nu/ E0N820*N85R$_Nu/ $y*B@35@jBgBgr??9 t?p?/ N,@O$_Nu ympNuB@NuH $H<BCxz4JBgSBgSBg `Hz`p 4H"ҁ҂rf*6E`*x`&2H ЀЁ224Ag0`p Agv`EJCl0LxNuH0O$H8?A &I?|H$ԂԀ:2(<2( r@EgBopEgrFftEg>62H ЀЁ>20H$ԂԀ状r(f62(`T2H ЀЁ<2 trg,rFfCf"Cf|`|t2C0 JN{2H ЀЁ62Cf`4rA0 JN|0/gr EgABBp2Nxpp4H"ҁ҂r g vEgBo0/grEfBDp@Eg o f|60/O L NuH8O(H6EHWr 0*NXO0*WflG 4H"ҁ҂A"K""Ho "K L0NXOI"L KNx A2,0Nx>J@gA2,0,Nx>J@gp`B@`B@OLNuH>O$oB6/FI)JB@NVlB@NVHGJCfBAB@ JNh6`6BCxKM `0g6@g26BS0 JN:J@g 29rft"M J0BAN3rB@N@HoHoHoBHyp?ɑ4rpNxO?@pN@pog2||bA2;N6xt~6xxxxxxxxxx* LNJ` LNcR0 JN,:J@g~29rftt"M J0BAN3r`X0 JN:0 JN:J@fByrJCg Tfx2H ЀЁrAC""HoC J0NXOWoVo\oCANwANV Tf BU`0@2Hҁ oH1RU UmC LNJ4JCg2H ЀЁr0 JN2:J@fByr TfxBU`0@2Hҁ oH1RU Um`$ T)fpNVl T2f pNVl8) TfpNVHBU`0@2Hҁ oH1RU Um`pog|2tAXWf,2( N  HPr ""BS|`|`BF|gQO8Et&RBCNHJ@f"IM"0[@|b @0;Nx~,d4Pp KN`J@gvN\`p KN`J@gvN]09N?`p ?HytrC R0NB\O8R@g`0N?`T&RN`zK"L MN~ MN~J*`B5XSJg 5\XfHyC MB@Ny^XO|gJ@fg MN~J*`B5XSJg 5\Xf"M LN~C LN}8 LN~J=@Ct NN~2.pNx*H"L NN~tBn no |kJ k A C""HoCp KNXOANf`D no:pnnl,&RRn2.npNx*H2.C NN~t0.n|o| k BAp RN{`0.g&RSn2.npNx*H2.C NN~t0.g`p KN`J@gN]6`B@NX`vHy\p?Hyrc?t?|fz`z??p?r?/N.O`8trkp RN{N`zkNJ@frp RN{0POL|8Nu/ / $y.Gr09 KN?.  fp`B@A"j"BAp JN{ <Nx&_$_Nu/ EHCV JN~5y5j~$_Nu/ EH"JAVN~35j~$_NuH8YO$y.rB@ JNaN`zBgNfTOJ@gNG <N& gBkAN_N_p09B/AN_N_B/r0+ AN?.AN_N_p09B/AN_N_B@A N6oZIHyr?Nwl\O y m pN SN~J"0 SNHyBgNwl\O0N` p?NfTO SN6` p?NfTOrB@ JNaXOLNuH8ONTgv`BCEpAC JN}8IC JN}8Nb&HAN>B@ JNJR@n>pA@CAN}85| 3NOJ@g8`BT` /N%H gr JB@N6 j"/N,0NBjAN`"AN`"3AN`"AN?b5@AN`"H|8 jN6` p?NfTO KN>O.LNu`09"yRyfNuA0"h RP0"h RP0"hB1Nu/ C` 0$iRQ0$i 2 fRQRQB$_Nu?N7H6rN0N?6NuN pN?NuQOABBrpNxpPONuQOp ?NfTOJ@gN^N??yANc~PONuH0O&H8E`P?*4rB@ KNTO6@g"r0H$ԂԀs( g. KB@2Na` p4H"ҁ҂s f 2B@ KNaHoHo C JNPO0*fHWHoCABBrpN PO?*4rB@ KNTO6@g 2 KB@NaCfp`B@O L NuH QO$H86H$Ԃԁr( C(A HoC J0NXOUWUoXoXoCr0 JN{POLNuH QO$H86H$Ԃԁr( C(A HoC J0NXOUWUoXoXoCr0 JN{POLNu/ E5| $5|CwA&N~5y5y5y5y5|5| y0m5|Bj"$_NuH8$y*G0(kfnINrJ@fPN@J@fBC`vN;"L0 JNeAC""HyCp JNXOC LN@J LNV LN*LNu0(yfr 09NNrJ@fN;Nu/ E0(jfnB@N?B@N7B@N B@N <0*N40*NpNf5|p/r?ɑ409Nk<\O09gB@Nj$_NuH8$y*G0(kflPH"HI ((A r0+N|Ar0+N|5k5kHyCp JNXOAN@ANVANRLNuH8$y*N?GI K0,$N|v9@l 9|B@`Hyr0,NXO9|9| y0m9|C A2,$B@N{2+lH0Nx49@ 2+lH0+Nx49@ CA 2,$pN{B@NfA 0,N|Ar0,N|A r0,N|5l5lHyCp JNXOpLNuHQO(H6&IAr 09N|`2C KNwJ@gNCr0 LN{Ar 09N| /fPOLNu/ QOEA C""2/HW2/HoJ@f&09@?@29A?AC ANz`?y?yC ANzPO$_NuO>?yBo?y?P?h ?h ?hAr09NONu0/HA ppN&|fr`BA0Nu/ ШШ "@"(E J`Bb$_Nu/ Jg"$P`<fE` BA"ӒJf$_NuH8(H&JBC0N8HJm,6BB2 <N$JmI Lr0N,rf T`f$y f ,ЬЬ мN$H gA($%lج%D%l ج%D%l ",Ҭ0N,(",Ҭf~t ,2N$*Jmht2pN$(BB2 N$ *JoDмN&H g2"0N,(f"0N"K JN KN6 JNl `&JCg0N g JN6 g KN6pL8NuH8OE5@J|g%HL%IPN4R@fANN"0N^5y jmɑBBrp NHyHyCAN\PO5@5|A rB@N|NDJ@fApN&pNjNIpNIIG HoHoHo/9Ho?9CA492909NxO8pN@HoHoC K0NMjPOJ@fp Tg LNLpTg L2/ 0/NLpTg"LA0/NKzpTg "LANMZpTg "LANMbpTgr2||bfA2;N>>>>>>>>>>\\\\\\\\\\JT\\\\\\\\T"L KNJ4` KNJ` KNKB@N@0fB@NjOLNu?O629f AN8`B@N@ yg 09NLN0N^O6NuH868:$o(&o,(o0*o4,o8BC`L2H ЀЁ(2 02|4|| bB4; N \ 爐"3'"3'"3'A4H"ҁ҂% `"҄ҁ$5 ЀЂЀ oH+$5 ЀЂЀ+ 5+C4H ЀЂ% `J"牒ҁ$6 ЀЂЀ oH-C4H ЀЂ% ` 4H"ҁ҂% 09g J0N8` ?/ Nm\ORCo mBC`0H o<"0!RCo"mBC`H0H o@(0$犔Ԃ 6("ҁҀҁ"oH-(2H$0 爐ЀG!RCo$mBC` 2H oD$0 ЀЂC!RCo&mByL|Nu?/ QO$o6/2H ЀЁAC""0rNnl4H"ҁ҂50/BANnl4H"ҁ҂50/rNnl4H"ҁ҂50/BANnl4H"ҁ҂5PO$_6Nu/4B||JAgv`v0|o2|`2A&NuH>O(ohBC?CNqBpl?4/h2/f o`0/dNr TO?@(6|o("ol LHo*NuXOA*C""B@CA$NtJ@fp` ICrp LN{*LMA("N""Ho"Np MNXOpNxE JNzp2*@?@|?*4 LprNTO>R@fBD`xG |glGg2H ЀЁu A"K""Ho "K L0NXO|g 2H ЀЁu L0BAN{xBA0 LN{`0 N"K""BD|g 2H ЀЁu L02N{< JNzBE K2*0Nx>J@gJDf K2*0Nx>J@fJDf2/0 KNv: JNz?*4rp LNTO>JEg,JCg(U@g|fBE"o^2/bA(0Nvxp}NxJEg?|0/g odg2/dH o^"p p"NA$Nt JNz0*f|f0`JCg 0o(W@`0o(U@O2L|NuH0GT0+4fnBCE`Zp02r rf4t23 I' 23 I' 23 I' A r% ?HyNm\ORC|m7|4L NuH0$H68&I4H ЀЂBr 5"r 3o"r 3o "r "0DL NuH0YO$H<?A>BC8: PN~J(RDLG2/$0Nx47@,|nBG?p?2/(0Nx4?0H"rtpGH"ҁҀspG K2N:\O:of2H rpGtGH"ҁ҂7RGGnrGH ЀЁ7tG7B` ofBG`~oJGlBGpF2/@o~F6p?r?02/(Nx4?"ytkF2p KN\O:r?t?02/(Nx4?"yHtk2p KN`\O:|`V?p?2/(0Nx4?0H"rt0H"ҁҀs K02N\O:of2H rRGRF|o>|6|`pF4H"ҁ҂7RF|o7|7|pE7@.0XOL NuH.O*H$I6BNCpj5@rj5AC JNx IAr0NMJCfAr0N=y0*H^rN@2*HN~2.HN~("ҁ( N* f NDbB@`,=j=jpjH=@Bn =n BA=A=A=A0<NJCfR"JANwC JNx B@?@ ?@rj?A pj?@HyCA0rNXO`X"JANwB@?@>rj?Apj?@C JNx Ho"NAr0NXO g @N60<NNDbpOLtNuH8QOEG(I((05@(>2(5A*?Ao0)i@m4/6oKVB5B*?B0o2iAm42oIVB5B(>Sj(>(Sj*?j*VoVoA"o""POLNuH<(H*IBBE&J|fJPoSPt|f0vAClRTtJBg>BC`40CHtCH"ҁ҂ s Bs pC JBAN{RC|oL<NuH O$H68pN@HoHoHoHoHoBgBgBgBgBgBgBg?*?*?*???C0trpNDO.8pN@pDO LNu y m 0/g0<NNu0<NNuH0$H&I2j0kN|62*j0+kNf820Nf:2*0+NXEor`BAg@or`BAg67@7C7D0L 8Nu220hS@20(hS@2Nu@oNu0Nu@lNu0Nu?/4h6(hPmhm @oAox`BD0(6Nu/ $HA000pN ""J""$_NuH>IEG6666 g *HM,,< g IK**:G77%opN &HPK"o""" o&0"o*2L|NuYO.A00pN XONupи @3PrA8GRNu/ AN6ESN<A:B@ JN$_NuH>Ol8$H/I*oIMg>p\N&H g B"J LNr`CS LNd&L"K NNZp. NN&H f`CS LN>BGC LN^ /g "@ LNP`C LNB"K LN: g yPe/Ho"N LN LPO6`HW"N LN "XO6JCo6fB`rp\ LNR&HB"L JNC JN"N JNp\ JN*&Hp. JN *H gep. oN *H g"M JNJDg "LASN^fBC0OL|Nu/ / $HG&& IE$$pIN &_$_Nu/ $HpON "J""$_Nu/ / $HG&& IE$$pJN &_$_NuH4QO*H6&I8:E f&HoC0NXO0@CH?u?u` KC""4BZA"JPJ""44#p/N $POL,8NuH4QO*H68&IE$ f$HoCN$XO0@CH?u?u` KC""44A"J""#p*N POL,NuH t68:E|AJFg|RF|Ag|RF<|g |yF<| grRAJ@fDBDCDDDE0B22(C3A0(DB3@2(CE3ALxNu/ / C2$H&I&&pdN &_$_Nu/ $HA00phN"J""$_Nu/ / C2$H&I&&peN&_$_Nu/ / C22$H&I&&piN&_$_NuA(p"@ "ByA1B33O"Nu/ Hz?<&NN\O$_Nu JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNug fC`Jg INuSHNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"SefBJgSf ANu/ G g/ &S?<INA\O`G g/ &S?<INA\O`&_NuJ@kNuD@Nu$HBJBf$HBJBfNuHBЂNuHBЂNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu?<NATONu//??<?NAO Nu/?<NA\ONu?/?<NNAPONu?<NATONu?</NATO @Nu?<*NATONu?<ONATONu??<>NAXONu??<+NAXONu??<-NAXONu/?< NA\ONu/?<HNA\O @Nu/?<ANA\ONu?<,NATONu//??<@NAO Nu/ /??<VNAO Nu?/?<GNAPONu?/?<? @AB CDE FGH IJK LMNOPQ RST UVW XYZ [\] ^_` bcd      A                       A   A @ @ A      "A AA   A )A *%+ A ,  - . / 0 1 '2 A     3 4   5 6 789 :  ; <  A   @  @  @  @ @   @  @  @   @   @ @ @ @  @ @ @ @@ Ga  e ;DRVv6VGERMAN.RSC30000__:__99990000__:__9999000000__.__.__999999Optionen0123456789012345612345678.1230123456789012345612345678.1230123456789012345612345678.1230123456789012345612345678.123von Slots:Minimale Anzahl0012 HourTime:ABCDEFGHIJKLMNOPQRSTUVWX________________________ppppppppppppppppppppppppCPX VerzeichnispfadSichernOKAbbruchVariablesKontrollfeldVersion 1.1-----------------Copyright 1990,91,92Atari CorporationOK Version: Resident:00000000.0000000 YES00.00 ID:AusgangCPX Info Dateiname:0123456701234567012345670123456701234567 Aktiv 0123456701234567012345670123456701234567 Inaktiv AusgangABCDEFGHIJKLMNOPQ_________________ppppppppppppppppp________________________CONTROL.INFXXX*.CPX*.CPX:\:\*.CPX[1][ Das Kontrollfeld wurde| abgeschaltet. Bitte neu| booten um das Kontroll-| feld zu reaktivieren.][Ausgang][3][| Namenskonflikt!| Ziel: | Diese Datei existiert beneits!][Kopieren|Weiter|Abbruch][3][| Quelldatei nicht gefunden!| Quelle: ][Weiter|Nochmal|Abbruch][3][ | | Kritischer Dateifehler!][Weiter|Nochmal|Abbruch][1][ bentigt| mehr Speicher um gestartet| zu werden. Zum Starten| bitte neu booten.][ OK ][1][ | There is not enough | memory to load the | CPX. ][ OK ]Q$L4AbbruchOK[1][ | Voreinstellungen | sichern? ][ OK | Abbruch ][1][ | Fehler bei | Speicheran- | forderung! ][ OK ][1][ | Fehler beim | Schreiben/Lesen | von Dateien! ][ OK ][1][ | Datei nicht | gefunden! ][ OK ][1][ | Zur Zeit knnen | nicht mehr CPX | geladen werden! ][ OK ][1][ | CPX neu laden? ][ OK | Abbruch ][1][ | CPX entfernen? ][ OK | Abbruch ][1][ | Residente CPX | knnen nicht | entfernt werden! ][ OK ][1][ | CPX-Konfiguration | sichern? ][ OK | Abbruch ][1][ | Datei ist kein | CPX. Sc ********************************* Warning ******************************** XControl is the newest newest version of the Atari control panel. It is designed to take advantage of features only available in the latest (>2.0) versions of the operating system. It is released into distribution with the following notice. Users who don't have a MegaSTE, TT030, or machine released later must use the shutdown feature of XControl whenever changing resolutions. Shutdown will appear in the options menu of XCONTROL if your version of TOS does not support the necessary features. Failure to use the shutdown option will result in unpredictable behavior of applications executed after a resolution change. Atari Corporation is not responsible for any damage that results from the use or misuse of this program. ********************************* Warning ******************************** DESK ACCESSORIES Desk accessory programs are unique because they can be opened not only from the desktop, but also while you are running another program. For example, if you want to change how fast a key repeats while you are working in a word processor, you can use the Control Panel desk accessory to change keyboard repeat time without exiting the word processor. Most programs that use the menu bar will allow you to access desk accessories. Desk accessories can be accessed from the far left menu item (usually the Desk menu). Installing a desk accessory is easy. Whenever you switch on your computer, the operating system checks the main directory of your startup disk for files that need to be run during startup. One of the criteria used in identifying those types of files is the ACC (desk accessory) file extension. Any file ending in .ACC and residing in the main directory will be read and loaded during startup. To install a desk accessory, simply place a copy of the program file into the main directory of your startup disk. (Make sure the desk accessory's file extension is ACC.) Then you must restart your system, since the file can only be properly read and loaded during the startup procedure. The desk accessory will now appear under the Desk menu. You can load up to six desk accessories at one time. If you store more than six desk accessories on your startup disk, make sure that the six desk accessories you currently wish to use have the ACC extension. The ACC extension means the file is active. Change the extension on all other desk accessories to ACX (or any extension other than ACC). Inactive files will not be recognized or loaded during startup. Note: No harm will be done if you have more than six active desk accessories on the startup disk's main directory. The first six active desk accessories will load in the order that the files appear on the disk, and any additional active desk accessory files will be ignored. XCONTROL.ACC, the control panel desk accessory included with new computers with an internal hard disk, is already installed. The file resides in the main directory of your USA Language disk, and in the drive C main directory of your internal hard disk drive. The Control Panel will be loaded automatically the first time you switch on your computer. To open a desk accessory, first display the Desk menu. Position the pointer over the desk accessory and click. The desk accessory opens into a dialog box or window. CONTROL PANEL The Control Panel coordinates many smaller programs called control panel extensions (CPXs). The initial Control Panel screen displays the names of all currently loaded CPXs. You can open a CPX by positioning the pointer over the desired CPX and double clicking. The Control Panel also contains a pull down Options menu. When no CPX is highlighted, the Options menu displays two or three menu choices depending on the TOS version you have: About, Setup and Shutdown. Two additional Options menu choices display when a CPX name in the main Control Panel window is highlighted. The three additional options are Open CPX, CPX Info, and Unload CPX. To select an option, position the pointer over the Options menu. Then click the mouse button. The Options menu displays. Move the pointer until the desired option highlights. Click the mouse button to select the highlighted option. Whenever you open a Control Panel or CPX window, you are usually given the following options: Save, OK, or Cancel. Clicking on the close window box is the same as selecting OK and then closing the Control Panel. Selecting Save places the currently displayed setting information in a file on the startup disk. The computer will read this file during startup, and load in the saved settings. Select OK if you just wish to change a setting for one session. The Control Panel window will close, and the changes will remain in effect only until you switch off the computer. The most recently saved settings will be in effect then next time you switch on the computer. Selecting Cancel will always return you to the main Control Panel window. About... When you select About, Control Panel information (such as version number and copyright date) displays. Setup... You can use the Setup dialog box to change a CPX's status (active/inactive), reload CPXs without restarting the computer, set the amount of memory reserved for basic CPX information, and designate a CPX directory path. You can also use the calendar and clock to set the computer's time and date. The CPX Mover icon appears as a transition between a selected and disabled X (CPX) icon. The Reload icon appears as a CPX icon directed into a Control Panel icon. Shutdown... Whenever you change resolutions, you must shutdown the Control Panel. If you don't perform the shutdown, unexpected results may occur during other applications. This option will only appear if the version of TOS does not support the proper shutdown procedures. Date and Time The computer uses the date and time to mark individual files with the date and time they were created or revised. This feature is useful when you want to determine which file was most recently changed or created. You can use 12/24 Hour Time to set the Control Panel clock to 12 or 24 hour time. This does not affect the way files are dated, only the way the time is displayed in the Contol Panel window. To set the clock or calendar, follow these steps: 1. Open the Control Panel. Select date or time by positioning the pointer over the desired selection and clicking the mouse button. 2. Press the Left Arrow key to position the cursor in the window, or press [Backspace] or [Esc] to erase the window. [Backspace] erases the characters in the window one character at a time. [Esc] erases the entire window. 3. Type in the desired time or date. 4. Click on the new time or date. To change between 12 and 24 hour time, position the cursor over the selection box to the left of the word Time. Click the mouse button. Both the 12 and 24 hour selection boxes display. Move the cursor until the desired box is highlighted. Click the mouse button again. CPX Mover and Reload CPXs Only active CPXs are loaded during startup. All active CPXs appear in the main Control Panel Window. If you need to use an inactive CPX, you can use the CPX Mover to change the status of the CPX from inactive to active. Then when you select Reload CPXs, the newly active CPX will display in the main Control Panel window. You can also remove a CPX from the main Control Panel Window by changing the status of the CPX from active to inactive. To change the status of a CPX, follow these steps: 1. Open the Control Panel. Select Setup from the Options menu. 2. Select the CPX Mover. The CPX Mover window displays two windows, one with active CPX's and the other with inactive CPX's. 3. Select the desired CPX by positioning your pointer over the name of the CPX and clicking. The CPX highlights, and the appropriate operation appears in the Move box. Note: You can select multiple CPXs for the move CPXs operation. Use shift-clicking or rubber banding to highlight more than one CPX. If you use rubber banding, the rubber band box will not actually appear, but it still works the same way. 4. Select the operation by clicking in the Move box. If you have transferred a CPX from inactive to active status, you must reload before you can use the CPX. To Reload CPXs, follow these steps: 1. Open the Control Panel. Select Setup from the Options menu. 2. Select Reload CPX. When the confirmation dialog box appears, select OK. Advanced Setup Options Setting the Minimum Number of Slots and the CPX Directory Path are advanced features of the Setup dialog box. You will probably use these options infrequently. MINIMUM NUMBER OF SLOTS CPXs are stored in an external memory device (hard disk or floppy disk). During startup or reloading, only basic information about each active CPX (such as the CPX's name and icon) is loaded into RAM. When you actually open an active CPX, the bulk of the file is then loaded into RAM so you can use the CPX. When you close the CPX, the file is erased from RAM until the next time you open it. Note: CPXs with Resident status do not follow the above pattern, but are copied into RAM at startup time. The computer has to know how much RAM to reserve for CPX basic information. When you set the Minimum Number of Slots, you are telling the computer to reserve enough RAM to be able to store basic information for that number of CPXs. If the number of active CPXs at startup time exceeds the Minimum Number of Slots, the computer will reserve enough RAM for that number of CPXs. You can select from 5 to 99 slots. To change the Minimum Number of Slots, follow these steps: 1. Open the Control Panel. Select Setup from the Options menu. 2. Use the scroll arrows to display the desired number of slots. Select OK or Save. CPX DIRECTORY PATH The CPX Directory Path tells the Control Panel where to look for CPX files. You will probably want to store all of your CPX files in one folder, and set the directory path to that folder. But if you store CPX files in more than one place, the CPX Directory Path must be set to the directory that contains the CPX files you wish to use. Note: If the CPX Directory Path is too long to display in the box, use the left and right scroll arrows to display the hidden sections of the path. To change the CPX Directory Path, follow these steps: 1. Open the Control Panel. Select Setup from the Options menu. 2. Click anywhere on the CPX Directory Path box. The File Selector displays. 3. Use the File Selector to select a new path. When you open a directory, the directory name is added to the File Selector's Directory line. When the desired directory path is displayed, select OK. The new path will appear in the CPX Directory Path box. Open CPXs... You can open a CPX by first highlighting the CPX on the Control Panel main window, and then selecting Open CPXs from the Control Panel Options menu. You can also open a CPX by double clicking on its box in the Control Panel main window. CPX Info... When you highlight a CPX and then select CPX Info from the Control Panel Options menu, the CPX Info window displays. The window contains the selected CPX's filename, version number, ID number, and Resident/Non Resident status. Filename is the CPX's actual filename as it appears on the disk. Version and ID are assigned by the CPX's programmer. Two versions of the same CPX can have the same ID number. In this case, only the most recent version will be loaded. If you have several versions of the same CPX, you can look at the version number to determine which is the most recent version. You can use Configure CPXs (see Configure CPXs) to change the resident status of a CPX. You will probably want most of your CPXs to have Resident: No status. This means that the bulk of the program is stored in external memory (hard or floppy disk) and only read into RAM when you open the CPX. But if you have a CPX that you use frequently, you may want to give it Resident: Yes status. CPXs that have a Resident: Yes status on startup will be read directly into RAM and will remain there until you switch off the computer. Resident CPXs run a bit more quickly, but may take up a great deal of RAM. Note: When you change a CPX's status to Resident: Yes, the status change will not be in effect until the next time you start your system. The only time a CPX can be installed into RAM with Resident status is during startup. In addition, changing a CPX's status to Resident: No status will not actually remove it from RAM until you switch off your system. Unload CPX... Unload CPX does not change the status of the CPX to inactive. It simply removes a CPX from the CPX list on the Control Panel main window. You can use Reload CPX to place the CPX back on the list. Note: You cannot unload a resident CPX. CPXs This section describes in detail each CPX included with your computer. Window Colors Window Colors allows you to assign different colors (depending on the selected resolution) to different elements of desktop windows. You can assign colors to each of the 15 elements of the active window and 5 elements of inactive windows. Even though the computer's color palette contains 4,096 colors in most resolutions, the colors available depend on the selected resolution (from 2 to 256 colors on the screen at any one time). You can use the Color Setup CPX if you wish to create a custom set of available colors. See Color Setup. You can also use the factory assigned default color set, or use function keys 1 through 10 to select one of Window Color's preassigned color sets. You can choose four options for each window element. Border allows you to choose the color of the narrow border that surrounds each window element. Use Text to choose the color of any text or icon (as in the case of the Full box) that appears within the selected window element. Fill is the background color of the selected element, and you can also choose one of the eight fill patterns appearing directly under the Fill scroll bar. The fill color will appear in the selected pattern. The Mode box allows you to toggle between having text appear directly on the fill pattern, and having text appear within a solid background over the fill pattern. When you assign active window element colors and then select Save or OK, the new colors will display the next time you open a window. Any window that was opened before will not reflect the new active window element colors. Before you assign window element colors, choose the color set you wish to use. You can: use the factory assigned default color set, press a function key (1 through 10) to use a Window Colors preassigned color set, or use Color Setup to create a custom color set. Follow these steps to assign active and inactive window element colors: 1. Select a window element for color assignment. A box outlines the selected element. 2. Click and drag the appropriate scroll box to assign Border, Text, and Fill colors to the highlighted window element. Click on the desired Fill Pattern. 3. Select the desired Mode. Repeat steps 1 through 4 until all the desired colors have been selected. 4. Choose Save to permanently save the selected window element colors, OK to select and use the current colors until you switch off the computer (the next time you start the computer the most recently Saved colors will appear), Cancel to exit Window Colors and return to the Control Panel menu (no changes are saved). Color Setup Depending on your monitor type and the screen resolution you have selected, up to 256 colors can display at one time on your screen. You can choose the colors you wish to have displayed from a palette of 4,096 available colors (except in ST or TT High resolution, which are monochrome only). Color Setup allows you to choose which colors from the color palette you wish to have available for use when you assign window colors. See Window Colors. Think of the 4,096 available colors as a collection of inks. These colors are divided into smaller groups called banks. The Bank Display Box can display a bank of up to 16 colors. The number of inks in a bank will be the same as the number of colors your resolution is able to display on the screen at one time. Except in the TT High and TT Low resolutions, you can scroll through 16 different banks of inks. The number of inks that can display in your resolution at one time is your color palette of inks. Banks of inks will display in the Bank Display Box as you scroll through the different banks. Each bank will contain 2, 4, or 16 inks, depending on the number of colors your chosen resolution is able to display on the screen. (TT Low Resolution, which is able to display 256 colors at once, does not have banks of inks. You use the Pen Number Scroll Bar to scroll through 256 pens instead of using the Bank Scroll Bar to scroll through banks of 2, 4, or 16 pens.) You can modify a bank to display the colors you wish to have available for screen display. Follow these steps to modify the pens in the displayed bank: 1. Select the desired mode with the Gray/Color box. Select Gray (the word Color displays) to display banks of pens in shades of gray only, or select Color (the word Gray displays) to display banks of colored pens. Gray mode is most commonly used with gray-scale monitors. Note: In ST High resolution, you have the Invert option in place of the Bank Scroll Bar. Invert allows you to invert the screen. 2. Use the Bank Scroll Bar to scroll through the available banks (if applicable to the selected resolution). Display the bank that contains the collection of pens that most nearly matches the pen colors you desire. (In TT Low resolution, use the Pen Number Scroll Bar to display the pens you wish to modify.) 3. Select the pen you wish to modify by: moving the pointer over the desired pen and clicking the mouse button, or using the Pen Number Scroll Box to display the number of the desired pen. A black box outlines the pen selected for modification. 4. Now use the RGB Color Tuning Scroll Bars to change the color of the highlighted pen. Changing the ratio of Red, Green, and Blue will change the color of the highlighted pen. Repeat steps 3 and 4 for every pen to be modified. 5. After you modify the displayed bank as desired, select Save to permanently save the palette, OK to select and use the bank until you switch off the computer (the next time you start the computer the most recently Saved banks will appear), Cancel to exit the Color Setup CPX and return to the Control Panel menu (no changes are saved), or Reload to display the most recently saved defaults. If you wish to return the banks to the factory set defaults, press [Clr Home]. Note: You can restore the currently displayed bank to the condition it was in before you opened it. Simply press [UNDO]. Use Reload to restore all banks. Configure CPXs Configure CPXs allows you to change the name, choose the displayed text and icon color, and change the RAM resident status of CPXs. To configure a CPX, you must first display the name of the desired CPX in the name line. Use the left and right scroll arrows to scroll through the CPX list. When the Configure CPXs window displays, the text insertion cursor is already positioned at the end of the CPX Name line. To change the name of the displayed CPX, press [Esc] to clear the entire Name line, or press [Backspace] to erase one character at a time. Then type in the new CPX name. To select Text and icon colors, use the appropriate scroll arrows to display the 16 different available colors. The name and icon displayed on the Name line will display the selected colors. You can also set the RAM resident status of the selected CPX. Position the pointer over the shaded RAM resident box and click the mouse button. move the pointer to highlight the desired status. Click the mouse button to save the highlighted selection. When the desired text/icon color selection displays, and the desired RAM resident status is selected, click on OK or Save. Note: RAM resident status takes effect only at start up time and when you change resolutions. General Setup The General Setup CPX allows you to set the keyboard response and repeat rate, the mouse double click response rate, and the audio feedback. It also allows you to toggle on and off the CPU Cache option and display system statistics such as TOS version number and amount of available RAM. STATUS Select the Status box to display the TOS version number and date, the number of available bytes of ST RAM and TT RAM, and the number of total bytes available. AUDIO FEEDBACK The computer has two kinds of audio feedback, a click signaling each keystroke and a bell signaling keyboard or mouse errors. To control audio feedback, select the keytop button or the bell button. A gray image means that the sound has been turned off. A clear image means that sound is turned on. CACHE For complete information about the CPU cache, refer to Cache in Chapter Three. To turn the cache option on or off, position the pointer over the Cache box. Click the mouse button. Move the pointer until the desired selection highlights, and click the mouse button again. SOUND If you want all sound turned off, position the pointer over the Sound box. Click the mouse button. Move the pointer until the word Off highlights, and click the mouse button again. KEYBOARD RESPONSE Every key on the computer keyboard responds when pressed, and every key (except [Shift], [Control], [ESC], [CapsLock] and [Alternate]) repeats its character if held down. The keyboard repeat controls how much time it takes for the keys to repeat when they are pressed, and how quickly they repeat after the repeat process begins. The upper slider controls how soon a key starts to repeat. Moving the slider to the left makes the keys repeat sooner. Drag the slider to the desired position, then release the left mouse button. The lower slider controls the speed at which the keys repeat once they start repeating. Move the slider to the left to make the keys repeat faster. Drag the slider to the desired position, then re the left mouse button. Test the new settings by turning the sound on, if required, and pressing [Space Bar]. You will hear a click each time you press the space bar. Listen to the clicks to judge the repetition speed of the keyboard. DOUBLE-CLICK RESPONSE You can adjust the computer*'s response to double clicking. To slow the computer's response to double-clicking, allowing you to double-click more slowly, select a numbered box nearer to the resting mouse icon. To quicken the computer's response to double-clicking (for fast double-clicks), select a numbered box nearer to the running mouse icon. After setting the double-click response, you can test the setting by double-clicking on the Double-Click Response Test box. When you double-click at the set rate or faster, the box will briefly highlight. Modem Setup The ports labeled Modem on the back of the computer are RS232 serial ports. By connecting a modem to the computer, you can communicate with other computers. You can also connect a serial printer or any other RS232 device to the modem ports. The Modem Setup CPX lets you configure the computer's modem ports to work with your modem or other serial device. Refer to the manual supplied with your peripheral for specific information on which parameters to choose. The parameters needed by the computer with which you are communicating (the remote device) is known as the communications protocol. SERIAL PORT SELECTOR The Serial Port Selector allows you to tell the computer which of the available serial ports to recognize as active. Select the port you are using for the connected modem. BAUD RATE Baud rate is the speed at which data is transmitted. Baud, the stan- dard unit measure of transmission speed, is the number of signal elements per second. The fastest rate available to you is 19,200 baud; the slowest is 50 baud. Set the baud rate to accommoda your modem and the remote computer's modem. (The baud rate for bulletin board systems is usually listed along with the phone number for the board.) To set the baud rate, position the pointer over the Baud Rate box. Click once. Use the up and down arrows to scroll through the baud rate selections. When the desired baud rate displays, move the cursor to highlight the desired rate. Click the mouse button to select the highlighted rate. PARITY Whenever computers transmit data through telephone lines, there is a chance that some of the information will become garbled due to imperfections and noise within the lines. Parity is a error checking procedure that computers use to examine information and determine whether data was cleanly transmitted. The parity bit is added to a group of bits to make the total number of bits transmitted odd or even. Transmission errors can be identified when the number of bits in a group does not match the parity chosen (odd or even). Depending on the modem and the remote device, you will choose either None, Odd, or Even parity. (Refer to the manual supplied with your modem for specific information.) To set the parity, position the pointer over the shaded Parity box. Click once. Use the cursor to highlight the desired parity. Click the mouse button to select the highlighted option. BITS/CHAR Each character is stored in memory as one byte. Usually a byte is made up of eight bits. Depending on bits per character used by the remote device, you may need to change the number of bits per character when transmitting through the RS232 port. To set the bits/char, position the pointer over the shaded Bits/Char box. Click once. Use the cursor to highlight the desired number of bits per character. Click the mouse button to select the highlighted option. STOP BITS The stop bit indicates the end of an asynchronous RS-232 character. You will normally use 1 stop bit, but you may need to use 1.5 or 2 stop bits. To set the number of stop bits, position the pointer over the shaded Stop Bits box. Click once. Use the cursor to highlight the desired number of stop bits. Click the mouse button to select the highlighted option. FLOW CONTROL You can choose between two flow-control protocols: Xon/Xoff, and Rts/Cts. Flow control protocols are procedures that allow your computer and the remote device to signal one another when to start or stop sending information. Choose the flow control supported by the remote modem. To select a Flow Control protocol, position the pointer over the shaded Flow Control box. Click once. Use the cursor to highlight the desired flow control protocol. Click the mouse button to select the highlighted option. Printer Setup Any program may access the printer configurations set by the Printer Setup CPX. For example, the Print Screen option under the Options menu uses the printer setup information. Other utilities or applications may not. Check the manuals supplied with your programs to see if a program can use the printer setup information. Note: You cannot configure an Atari SLM laser printer with the Install Printer dialog box. Instead, refer to the Atari SLM Printer Emulator User's Manual (supplied with the SLM laser printer) for instructions on changing printer settings. If you have both an SLM and dot-matrix or daisy wheel printer connected to your computer you may be able to select the printer type within your application. If not, you must turn off one of the printer driver programs. To configure your printer, display the Printer Setup CPX window. Position your pointer over the shaded box representing the setting you wish to change. Click the mouse button. Move the pointer over the desired setting. When the setting highlights, click the mouse button to select the highlighted setting. PRINTER TYPE The choices are Dot (dot matrix printers) and Daisy (daisy wheel printers). Select the appropriate box for your printer. COLOR The choices are B/W (black and white, or monochrome) and Color. Select the appropriate box for your printer. PIXELS/LINE Only dot matrix graphics printers use the Pixels/Line option. Pixel means picture element. On dot matrix printers, a pixel is a dot. Dot matrix printers print a certain number of pixels per line when printing in graphics mode. If you have an Atari dot matrix graphics printer, select 1280. If you have an Epson, or Epson-compatible dot matrix graphics printer, select 960. Both values assume an eight-inch printed line. QUALITY Only dot matrix printers use the Quality option. Select Draft for draft-quality printing. Select Final for letter or near-letter quality printing. In Draft mode, the printer may make only one pass of the print head when printing. For darker printing, select Final. Keep in mind that in Final draft mode the printer will generally make two passes of the print head, thus taking twice as long to print the page. Note: Do not select Final if your printer does not support near- letter quality printing. PAPER If your printer feeds paper automatically by means of a tractor or single-sheet feeder, select Feed. If your printer accepts only a sheet at a time which you must insert manually, select Single. The Single option prevents the printer from printing beyond the end of a page on docu PORT If you have a parallel printer, select Printer. Parallel printers connect to the port marked Printer on the back of the computer. If you use a serial printer, select Modem. Serial printers connect to the port marked Modem (the RS232 port) on the back of the computer. Note: For most serial printers, Xon/Xoff flow control is set to On. This setting enables the printer to signal the computer to temporarily stop sending data so it can print data it has already received. (See RS232 Configuration earlier in this chapter.) Sound Setup The Sound Setup CPX allows you to adjust the balance, volume, bass, and treble stereo sound output. To generate a tone to test the current sound settings, position the pointer over the face icon and click the mouse button. All Sound Setup settings can be adjusted in two ways. You can use the scroll arrows to scroll through every possible setting, or you can click on and drag the scroll box from one setting to another. The Balance setting determines the strength of the audio signal sent through both the right and left speakers. You can adjust for an even balance, or send a stronger signal through the right or left speaker. You can use the Bass and Treble settings to adjust the strength of low and high register tones, respectively. The Volume setting adjusts the volume of sound. When the setting highlights, click the mouse button to select the highlighted setting. Accelerator The Accelerator CPX allows you to adjust the speed at which the onscreen cursor responds to the movement of your mouse. The Accelerator also contains a screen saver. There are three Mouse Accelerator settings: Off, Fast, and Super Fast. Choose the Off setting if you do not wish to increase the response speed of the cursor. Select Fast or Super Fast to increase the cursor response speed. To select a new cursor response speed, position the pointer over the desired setting and click the mouse button. The Screen Saver will automatically darken the screen after a set period of inactivity. To activate the Screen Saver, select the Screen Saver box. When the Screen Saver is active, the Screen Saver Delay slider and the Modem Recognition icon appear as solid objects on the screen. When the Screen Saver is inactive, the Screen Saver Delay slider and the Modem Recognition icon appear as outlines. When the Screen Saver is active, it will automatically darken the screen after a period of mouse and keyboard inactivity. You can set the number of minutes of inactivity in two ways. You can use the clock icons on either side of the Screen Saver Delay slider as scroll arrows, or you can drag the scroll bar. Release the mouse button when the desired number displays in the scroll bar. Modem Recognition allows you to choose whether or not you want the Screen Saver to recognize modem activity. If the Modem Recognition is on, the Screen Saver will recognize any modem activity and will not activate. If the Modem Recognition is off, the Screen Saver will ignore modem activity and will activate after the set delay period of keyboard and mouse activity has passed. men (bzw. die Maske) angeben kann. Wurde etwas passendes gefunden, so hat man die Mglichkeit abzubrechen oder fortzufahren. Die gefundene Datei wird automatisch selektiert. Selectric untersttzt die Environment-Variable DRIVEMAP, welche auch von Gemini benutzt wird, um bestimmte Funktionen auf bestimmte Lauf- werke zu begrenzen. Whlt man das Suchen ber alle Laufwerke an, so werden nur die Laufwerke bercksichtigt, die in dieser Variablen angegeben wurden. Findet Selectric diese Environment-Variable nicht, werden alle ange- schlossenen Lauferke, auer A: und B:, durchsucht. Rainer Juhser: "Na prima, und wie setze ich jetzt dies Environment- Variable?" Die Anleitung: "Es gibt inzwischen verschiedene AUTO-Ordner-Pro- gramme, die das Setzen von Enviornment-Variablen er- mglichen (z. B. der Boot-Selector JCNBOOT von Jens C. Neffe). Optionen ======== Da jeder so seine Gewohnheiten hat, gibt's in Selectric eine Box, wo man bestimmte Dinge einstellen kann ... Anzeige ------- Versteckte Dateien anzeigen --------------------------- Normalerweise sind versteckte Dateien (die mit dem `Hidden'- Attribut) dazu da, da man sie nicht sieht (aus welchen Grnden auch immer). Manchmal mu man aber auch an eine versteckte Datei dran, und daher kann man in Selectric diese automatisch an- zeigen lassen. Die versteckten Dateien werden dann hell dar- gestellt, sind aber trotzdem anwhlbar. Kleinbuchstaben benutzen ------------------------ Diese Option wurde speziell fr die *nix-Freaks implementiert. In der Hauptseite werden die Dateien und Pfadangaben in Klein- buchstaben dargestellt. Die Ausnahme bildet das editierbare Feld fr den Dateinamen. Extras ------ Ordner auf Doppelklick ffnen ----------------------------- In der originalen Fileselector-Box vom TOS wird ein Ordner schon bei einem Einfachklick geffnet (im Gegensatz zu den Fenstern im Desktop). ber diesen Punkt kann man einstellen, da Ordner erst bei einem Doppelklick geffnet und bei einem Einfachklick nur selektiert werden. Auto-Locator ------------ ber diesen Punkt kann man den `Auto Locator' (s.o.) ein- bzw. ausschalten. TOS-Pfade sichern ----------------- Normalerweise verndert Selectric die Pfadeinstellungen vom Betriebssystem. Manche Programme kommen nicht damit zurecht, daher kann man es ber diesen Schalter verhindern bzw. ab- schalten. Nach Kopieren/Verschieben ------------------------- Im Zielpfad bleiben ------------------- Normalerweise wird nach einer Kopieraktion zurck in das Quell- Directory gewechselt. ber diese Option kann man es (erfolgreich) verhindern, d.h. man bleibt im Zielpfad. Sichern ------- Hier werden alle Einstellungen (auch die Pfade und die Extensions, Ausnahme: die Extensions/Pfade wurden von der Applikation bergeben) abgespeichert. Dabei wird man gefragt, ob man die Einstellungen in Selectric selbst speichern will ("Selectric"), oder ob man eine extra INF-Datei benutzen will ("INF-Datei"). Beide Mglichkeiten haben ihre Vor- und Nachteile: Im ersten Fall spart man eine zustzliche Datei ein, kann jedoch nicht Selectric unter einem anderen Namen fahren und kann auch nicht die Datei mit Programmen wie PFX-Pak von Thomas Quester packen. Zudem kann man nicht so einfach mehrere Konfigurationen erstellen. Im zweiten Fall hat man die eben genannten Nachteile nicht mehr, jedoch fliegt wieder eine Datei mehr auf der Platte herum. Die Qual der Wahl ... Eine existierende INF-Datei hat beim Laden von Selectric immer die hhere Prioritt, d.h. sie bestimmt dann die Einstellungen. Es ist darauf zu achten, da sich diese Datei im selben Verzeichnis wie Selectric befindet. Die Funktion `Sichern' speichert die INF-Datei immer im richtigen Verzeichnis, und zwar dorthin, von wo aus Selectric gestartet wurde. Tastaturbedienung ================= Nun kommt das Kapitel fr unsere MauFaUs ... Selectric ist fast komplett ber die gute alte Tastatur bedienbar. Im Anschlu ist auch nochmal eine Gesamttabelle zu finden. Dort sind die Tastenkombi- nationen Maus-Aktionen zugeordnet. Basics ------ [RETURN] Beendet den Dialog und bergibt der Applikation als Ergebnis den aktuellen Pfad und den selektier- ten Dateinamen. Ist kein Dateiname selektiert, so wird die Eingabe im Edit-Feld als Ergebnis an- gesehen. Ist das selektierte Element ein Ordner, so wird dieser geffnet. [UNDO] Beendet den Dialog, jedoch wird der Applikation mitgeteilt, da die Auswahl abgebrochen wurde. [HELP] Zeigt eine Copyright-Info an. [ALT]+[A-Z] Wechselt das Laufwerk. Ist der Laufwerksbuchstabe dem Betriebssystem nicht bekannt, so wird die Eingabe ignoriert. [ALT]+[1-0] Whlt einen der Preset-Paths (1-10) aus. (speichern mit [SHIFT] mglich) [ALT]+[Esc] Whlt den geklemmten Pfad aus. [CTRL]+[Zb1-0] Whlt eine der Preset-Extensions (1-10) aus. (anhngen mit [SHIFT] mglich) [CTRL]+[Zb.] Whlt die geklemmte Extension aus. [CTRL]+[Zb*] Whlt `*.*' als Extension aus. [CTRL]+[1-10] Geht ein bis zehn Directoryebenen hoch (vergleichbar mir dem `Mac-Path'). [CTRL]+[A] Selektiert bzw. deselektiert alle(!) Eintrge. [CTRL]+[S] Selektiert Dateien nach Maske. [CTRL]+[BS] Schliet den aktuellen Ordner. [CTRL]+[Space] Liest das Verzeichnis neu ein. Es wird dabei KEIN Medienwechsel (s.a. media change) erzwungen! [F1] Klappt das Laufwerks BeamUp auf. [F2] --- " --- Mac-Path ---- " ---. [F3] --- " --- Extension ---- " ---. [F4] --- " --- Sortier ---- " ---. [F5] --- " --- Pfad ---- " ---. [F10] --- " --- Funktions ---- " ---. [SHIFT]+[F1] Lst einen Media-Change aus. [SHIFT]+[F3] Ruft den Extension-Dialog auf. [SHIFT]+[F5] ber diese Kombination kann man den Pfad von Hand eingeben. Cursor-Aktionen im Fenster -------------------------- Selectric untersttzt eine Menge an Cursor-Funktionen. Wenn keine Datei selektiert ist, dann ist auch kein Cursor vorhanden. Teilweise verhalten sich daher einige Funktionen unterschiedlich. Sind mehrere Dateien selektiert, so reprsentiert der zuletzt selektierte Eintrag den Cursor. Weiterhin werden bei einer Cursorbewegung alle anderen Eintrge deselektiert. Der Cursor wird gelscht, wenn der Pfad bzw. das Laufwerk gendert wurde oder die Liste umsortiert wurde. [CsrUp] Cursor um einen Eintrag nach oben bewegen. Ist kein Cursor vorhanden, so erscheint dieser am unteren Rand. [CsrDown] Cursor um einen Eintrag nach unten bewegen. bei nicht vorhandenem Cursor erscheint dieser am oberen Rand. [SHIFT]+[CsrUp] Der Cursor wird um 7 Eintrge nach oben bewegt. War kein Cursor vorhanden, so wird einfach nur `seitenweise' geblttert (entspricht einem Klick auf den grauen Bal- ken). [SHIFT]+[CsrDown] Bewegt den Cursor um 7 Eintrge nach unten. Fr einen nicht vorhanden Cursor gilt das im vorherigen Abschnitt gesagten. [CTRL]+[CsrUp] Bewegt die Liste um einen Eintrag nach oben. Der Cursor wird dabei nicht mitbewegt. Ent- spricht brigens einem einfachen Klick auf den Pfeil im Slider. [CTRL]+[CsrDown] Die Liste wird um einen Eintrag nach unten bewegt. Der Cursor wird hier ebenfalls nicht mitbewegt. [Home] Setzt den Cursor auf den ersten Eintrag. Bei ausgeschaltetem Cursor entspricht diese Aktion einem Doppelklick auf den Pfeil im Slider. [SHIFT]+[Home] Setzt den Cursor auf den letzten Eintrag. BeamUps ------- Innerhalb der BeamUps sind folgende Tastaturaktionen mglich: [RETURN] Whlt den gerade selektierten Eintrag aus. [ESC] Verlt das BeamUp, ohne eine Auswahl gettigt zu haben. [UNDO] siehe [ESC]. [CsrUp] Bewegt den Cursor um einen Eintrag nach oben. Dabei ist eine Turn-Around Funktion aktiv, d.h. ist man oben angelangt, so kommt der Cursor unten wieder herein. Die grauen Eintrge werden bri- gens immer bersprungen. [CsrDown] Bewegt den Cursor um eins nach unten (s.a. [CsrUp]). [Home] Setzt den Cursor auf den ersten Eintrag. [A] - [Z] [0] - [9] Fhrt Eintrge direkt an, d.h. beim Dcken einer dieser Tasten wird von der aktuellen Cursor-Posi- tion der nchste passende Eintrag, der mit diesem Zeichen beginnt, ausgewhlt. Fhrende Sonderzei- chen werden dabei ignoriert. Funktionen ---------- [CTRL]+[C] Ruft die Kopierfunktion auf. [CTRL]+[D] Dateien lschen. [CTRL]+[F] Datei(en) suchen. [CTRL]+[I] Datei/Ordner-Info ausgeben. [Tab] siehe [CTRL]+[I] (extra fr unsere Gemini-Freunde) [CTRL]+[M] Dateien verschieben. [CTRL]+[N] Neuer Ordner/neue Datei. [CTRL]+[O] Ruft den `Options'-Dialog auf. [CTRL]+[Y] Gibt eine Laufwerksinformation aus. [CTRL]+[H] Nach dem Dateinamen sortieren. [CTRL]+[J] ----"--- Datum ----"----. [CTRL]+[K] Nach der Dateilnge ----"----. [CTRL]+[L] ----"--- Extension ----"----. [CTRL]+[X] Unsortierte Anzeige. [CTRL]+[R] Sortierrichtung umkehren. bersicht --------- Taste Dialogelement Funktion --------------------------------------------------------------------- [CTRL]+[A] Fuller alles selektieren/deselektieren [CTRL]+[C] Funkt./Kopieren selektiere Objekte kopieren [CTRL]+[D] Funkt./Lschen selektiere Objekte lschen [CTRL]+[F] Funkt./Suchen Datei suchen lassen [CTRL]+[H] Sort./Name Nach dem Dateinamen sortieren [CTRL]+[I] Funkt./Info Info ber selektierte Objekte [CTRL]+[J] Sort./Datum Nach dem Datum sortieren [CTRL]+[K] Sort./Gre Nach der Dateigre sortieren [CTRL]+[L] Sort./Typ Nach der Extension sortieren [CTRL]+[M] Funkt./Verschieben selektiere Objekte verschieben [CTRL]+[N] Funkt./NeuesObjekt neues Objekt anlegen [CTRL]+[O] Optionen `Optionen'-Dialog aufrufen [CTRL]+[R] Sort./rckwrts Sortierrichtung umkehren [CTRL]+[S] Fuller selektiere nach Maske [CTRL]+[T] Funkt./Touch selektiere Objekte `touchen' [CTRL]+[X] Sort./unsortiert Unsortierte Anzeige [CTRL]+[Y] Funkt./Disk-Info Laufwerk-Information [CTRL]+[BackSpace] Closer Verzeichnis schlieen [CTRL]+[Space] --- Verzeichnis neu einlesen [ALT]+[A-Z] --- Laufwerk 'A' bis 'Z' auswhlen [ALT]+[1-0] --- Preset-Path 1 bis 10 ----"---- [ALT]+[Esc] --- geklemmten Pfad auswhlen [CTRL]+[Zb1-0] --- Preset-Extension 1-10 auswhlen [CTRL]+[Zb.] --- geklemmte Extension auswhlen [CTRL]+[Zb*] --- Extension `*.*' auswhlen [CTRL]+[1-10] --- 1-10 Directoryebenen hoch [ESC] --- Eintrag im Editfeld lschen [Tab] Funkt./Info Info ber selektierte Objekte [RETURN] OK selektierten Eintrag zurckgeben [HELP] Info Info-Dialog aufrufen [UNDO] Abbruch Dialog abbrechen [CsrUp] --- Selektionscursor/Liste bewegen [CsrDown] --- Selektionscursor/Liste bewegen [SHIFT]+[CsrUp] Pfeil hoch Cursor/Liste um 1 Seite hoch [SHIFT]+[CsrDn] Pfeil runter Cursor/Liste um 1 Seite runter [CTRL]+[CsrUp] Slider Liste eins nach oben verschieben [CTRL]+[CsrDn] Slider Liste eins nach unten verschieben [Home] 2x Pfeil hoch Cursor/Liste an den Anfang [SHIFT]+[Home] 2x Pfeil runter Cursor/Liste ans Ende [F1] Drive-Button BeamUp aufrufen [F2] `Mac-Path' ------ " ------ [F3] Extension ------ " ------ [F4] Sortbutton ------ " ------ [F5] Pfad-Button ------ " ------ [F10] `Funktionen' ------ " ------ [SHIFT]+[F1] 2x Drive-But. Medienwechsel forcieren [SHIFT]+[F3] 2x Extension Extension-Dialog aufrufen [SHIFT]+[F5] 2x Pfad-But. neuen Pfad eingeben Tips & Tricks ============= An dieser Stelle seien ein paar Tips und Tricks aufgefhrt, um den Umgang mit Selectric zu erleichtern, bzw. Probleme mit anderen Programmen zu beheben. Zu wenig Speicher ----------------- Tja, einige Programme meinen, den ganzen Speicher fr sich in An- spruch nehmen zu mssen. Da aber Selectric zur Laufzeit auch vom Betriebssystem Speicher anfordert, kann es passieren, da die originale Fileselector-Box benutzt werden mu. Es gibt zwei Mglich- keiten das Problem zu lsen: 1. Den Programmierer des jeweiligen Programms solange nerven, bis er den Speicher dynamisch verwaltet oder wenigstens mehr Spei- cher freihlt. 2. Leider gibt es auch sture Programmierer. Daher hat der Stefan ein kleines Programm gebastelt, welches den Speicher fragmen- tiert. In vielen Fllen kann man damit Abhilfe schaffen, leider nicht in allen. Das Programm heit `Fractal' und ist entweder in verschiedenen Mailboxen oder auf der registrierten Selectric- Diskette zu finden. MiNT ---- Bei MiNT handelt es sich um eine Betriebssystemerweiterung fr den ST, welche von Eric R. Smith geschrieben wurde. MiNT realisiert Multi-Tasking auf GEMDOS-Ebene, d.h. TOS/TTP-Programme knnen neben- einander laufen. Das auf der CeBit '92 von Atari vorgestellte Multi- TOS basiert auf dieser Erweiterung, jedoch ist es dort dann auch mglich GEM-Programme nebeneinander laufen zu lassen. Mit den Versionen 0.92 und kleiner gibt es in Verbindung mit Selectric (und auch `Let 'em Fly!' ein kleines Problem. MiNT ver- hindert leider eine korrekte Installation dieser Programme. Entweder kann man in diesem Fall Selectric ber `exec' starten, oder man besorgt sich eine neuere Version von MiNT. Ab der Version 0.93 funktioniert es auf jeden Fall. Was man an dieser Stelle vielleicht noch hinzufgen kann, ist, da Selectric natrlich auch die virtuellen Laufwerke in der Auswahl untersttzt. Damit drfte das der z.Zt. einzige Fileselector sein, der diese Mglichkeit bietet. Weiterhin bleibt zu sagen, da Selectric auf jeden Fall noch einige andere Mglichkeiten unter MiNT in der Zukunft nutzen wird. Internes ======== Selectric verbiegt den AES/VDI-Vektor (Trap #2) und den BIOS-Vektor (TRAP #13) und benutzt dazu die XBRA-Kennung `SLCT'. Weiterhin wird ein sog. `FSEL-Cookie' angelegt. ber diesen Cookie-Eintrag kann man dann noch weitere Funktionen ansprechen. Der `FSEL-Cookie' ist dazu da, um zu erkennen, ob ein Ersatz-Fileselektor die in TOS 1.04 implantierte Funktion fsel_exinput() untersttzt. Fr weitere Informationen empfehle ich die Datei SLCTPROG.TXT sich zu Gemte zu fhren. Afterburner (Nachtrag) ====================== Stefan hatte mal wieder besondere Ansprche. Was ihm fr sein (fast) vollendetes Glck noch fehlte, war ein richtig schner und brauch- barer Fileselector. Der Markt konnte ihn jedoch nicht so richtig befriedigen. Der eine hatte viele Funktionen und war auch sonst recht vernnftig zu bedienen, war aber ein richtiges `Schweineprogramm'. Der andere war relativ sauber programmiert, hatte aber nur wenige Funktionen. Nun denn, Stefan blieb nichts anderes brig, als selbst zur Tat zu schreiten. Was hab' ich (der Oliver) jetzt mit der ganzen Geschichte zu tun? Mmmh, eigentlich wollte ich ja garnicht meine Finger mit drin haben, aber Stefan wute nicht so recht, wie man sich in den AES/VDI-Trap hngt (damit fing alles an) ... und dann bin ich da so irgendwie reingerutscht (hier ein bichen, da ein bichen). Nochmal Shareware ----------------- Nun noch ein paar Worte zum Shareware-Konzept: Im Gegensatz zu den USA, ist die Philosophie von Shareware in Deutschland noch nicht so ganz begriffen worden. Anscheinend knnen sich die Brger und Brger- innen `in diesem unseren Lande' kommerzielle Software vom Wechselgeld kaufen und brauchen diese komischen Shareware-Programme berhaupt nicht oder besser noch, sie meinen bei regelmiger Benutzung nicht bezahlen zu mssen. Da bei Shareware der Support in der Regel besser ist, als bei (meist berteuerter) kommerzieller Software haben die meisten wahrscheinlich noch nicht erkannt. Shareware-Autoren haben gewhnlich ein offeneres Ohr fr Vorschlge und Probleme als irgend- eine vllig berlastete (und teilweise auch noch vllig inkompetente) Hotline von irgendeinem Softwarehaus. Natrlich gibt es auch Aus- nahmen, und zwar auf beiden Seiten (der Physiker nennt es einfach Mefehler). Auch gibt es fr einige Shareware-Programme immer noch keine kommerzielle Alternative (wenn ich mir jetzt Selectric im Nachhinein so anschaue, kann man es wohl in diese Liste einfgen). Warum vermarkten die Autoren ihre Software nicht kommerziell? Auch das ist eine gute Frage, die fr einen Auenstehenden nicht leicht zu begreifen ist. Zuerst mu man mal ein Softwarehaus (oder auch einen Verlag) finden, der an dem Programm interessiert ist und auch Gewinnchancen in ihm sieht (der zweite Punkt ist hier entscheidend). Hat man dann endlich einen Vertrieb gefunden, so heit das nicht, da alles in Butter ist. Nicht selten wird der Programmierer `hinters Licht gefhrt' und das Geld was er dann fr seine Arbeit bekommen hat, htte er auch einfacher und schneller bei McDonalds um die Ecke verdienen knnen. Natrlich gibt es auch risikofreudige Menschen, die den Vertrieb selbst aufbauen, jedoch sind viele davon auf der Strecke geblieben und stehen mehr oder weniger vor dem finanziellen Ruin. Wir wollen uns jetzt aber auch nicht als goldene Engel darstellen und sagen, da wir fr jedes Shareware-Programm das wir benutzen auch den Betrag `abgedrckt' haben. Oft gibt es Flle, wo die Autoren fr das noch so kleine Utility einen Shareware-Betrag verlangen. Hier sehen wir Shareware als unangebracht an. Was wir aber von uns behaupten knnen ist, da fr die Programme die wir z.Zt. regelmig benutzen auch den Betrag an die Autoren abgegeben haben. Wir wollen uns mit Selectric keine goldene Nase verdienen, es geht uns auch eher darum, ernst genommen zu werden und das Konzept Shareware am Leben zu erhalten. Wrden wir Selectric den Freeware Status geben, dann htten wir das Ziel wohl mit ziemlicher Sicherheit verfehlt. Nun denn, wahrscheinlich gibt es bald nur noch Anwender und die Programmierer haben sich selbst wegrationalisiert. Solange das noch nicht der Fall ist, hat dieser Abschnitt auch noch seine Gltigkeit. Rainer Juhser: "Dann werde ich wohl mal den Sharewarebetrag ab- drcken." Die Anleitung: "Da wird sich jemand freuen ..." Credits ------- Zunchst ein Dankeschn an die tapferen Beta-Tester (einer davon meinte erst, er bruchte keinen neuen Fileselector ... dann aber auf einmal ...) Stefan Eissing und Gereon Steffens haben wir die neuen malloc- Routinen in Selectric zu verdanken. Kontaktadresse: Stefan Radermacher Unter Krahnenbumen 52-54 W-5000 Kln 1 (Germany) EMail: sr@k.maus.de Bankverbindung: Stefan Radermacher Konto-Nr. 3140 62-503 Postgiroamt Kln BLZ 370 100 50. (Shareware-Betrag: DM 30,-) Mailbox: MAUS Kln (Tel. 0221/1390008; 8N1, bis zu V.32bis (14400 Baud) / V.42bis) sowie ZyXEL 16K8-Modus. In der MAUS Kln ist auch immer die aktuellste ffentliche Version von Selectric zu finden. Bei berweisungen bzw. Einzahlungen UNBEDINGT den Zweck angeben. Bitte auch nicht vergessen die Adresse bekanntzugeben (entweder auf der berweisung oder ber eine Postkarte/Brief/EMail). Ansonsten kann das Geld nicht korrekt zugeordet werden! Besonders bei berweisungen mit BTX gibt's Probleme. Lt man sich registrieren, dann erhlt man automatisch eine auf seinen Namen registrierte (ohne das Pling beim Laden und in Deutsch) und zugleich auch aktuelle Version von Selectric (dafr die Adresse) zugeschickt. Nur die registrierten Benutzer haben dann die Mglich- keit den Update-Service in Anspruch zu nehmen. Dazu mu man die Originaldiskette mit einem adressierten und ausreichend frankierten Rckumschlag an die oben genannte Adresse schicken. It's not a trick, it's Selectric. ---- Rchzschreipfler (c) 1991-92 by Oliver Scheel (jetzt im Besitz des ersten allgemeindeutschen Rechtschreibe Dudens) dCNFGKONFIGURIERE????8<<<<<PKonfig. CPXXer` N/ / G o C(p"Q7k(0+*gp`0+.fREHyHyHyHyHy HyHy Hy@Hy r?BgBgt? k8NO,Bk&BBB BBBBB B$ &_$_NuH0O&oZBCE$ R1S R1k RA C2""Ho4C6p RN vXO KC*""Ho,C.B@ RN ZXO j2N%@~G& @C2<"Q2Jg @2(I|5A AB@N rB@ RNrHop?/ j^NO 8R@g|0Y@|b@0;N4 X2ttr RhpN S0(H|o|HoA"S0<"Q2`tr RhpNJ`xtr RhjpN4 S (g^"@2)gT5|4(J|o|JoA"S0<"Q2 S& SC0<"Q2pAN`tr RhpN g갪~g5| @2(I|o|IoA"S0<"Q2%j~` j%h *g @"hf *gj&`dtr RhpN:0/N4:|l\RE<p n R"h<2) |3A R"hH ЀЇ Rp 0NJCgB@O:L NuH>O:*H>/I8v$yBWG H$ԂԀC( K Ho "K J0N`XOIA"L""Ho"LB@ JNBXOBF`$0H uNd0H uN&RFFnpm>BFM`0gCrANx`CpANd0H"urANCpAN0/BH/rANnepA2IC#RFFn|HoHo? o??HyV n6NO8R@g, o02H6H$Ԃԃ"r( " J0BAN0OL|Nu2A0|Nu2t a0|NuH0$H8GC S hT S"hT3jA$"S"i<#HC2 S h@MNOZ[\ijkmorstvx{|} @"  @AD@AP! @ HC   H     A    @@          @ @   @@  @ A     %!  F GERMAN.RSCYo dude.....________________________________XXXXXXXXXXXXXXXXCPX-OptionenTextfarbe:Ikonenfarbe:1616RAM-resident: Yes SichernOKAbbruchNeinJa  . @.(XpZ PJ"Bj3 j\W2-!G1 Ѐl'CdIP17ES򀋲B,Ů ":r|?h{nȘt0"ctiBгx:hCh*d@$?!G>aؘ|);b+c#D1 $GFHP+E<@ EB2KddeKrmc0EY~@#UC 1܌3(l34 CAPL$#R=9{$QtgyK>\ lCy:?7e(fQh?-Bv%IA_HFBKP ^CNz )D?I(V'i5 vQ5M_CT&A;JYk3YɯL7 iqP uTL{ѯ={<ѨBQ7!T7aR>8=jF$g0*&/bFnd!~g#D8?(rIdeȦAND!*x\H@aXG^aR2 6px Bf!Ơ)b`p‘8 aki>A$HZq@2Ri+mĨ3d07!dX 2 #Pq328e6&_`P)f7A|5dNVDINVDICONF?05@0502(2(3(222i"2.<0000??NVDI-Konfig.` <NH8I ^E V(HR/?j0*jS@?@2*jSA?AI HA0rN^Kpj :rj ;A4* jUB;B0* jU@;@0BAN~r0N M0NTpjg,;U ;m ;m;m Mr0N Ar0NABA0NpjOL4Nu?/ $H6H"ҁҀ42|JSBg`$2H ЀЁ5% N # N$_6NuH0$H6&IH"ҁҀ82` 0 JN"K0 JN2H ЀЁ82Dg|fL NuHO&H6HoHoHo Ho rB@N(OKHm"M0 KNXO2H ЀЁ;s;sI ^HU T h8NXO*@M`8 M"N"""NAN8J@g?.?.?.4r0 KN0\O T h 8@NP 6   (P00000000  1܏sbYM>ViňaT'>( H1 (<#(!(XyH<5  Ș%3X6 !. D!EȐ )E˜9#% 1 8o5âԶF@Sk#Ȣ DX/MÃp*U" db1P/ITPG74H#]dt8*%Z+D ŦQEM9|>VX1-hd%S|eL. [qSy㙙ă@aI9dStLkHuSHISYS UUP  UUP P UWP UPUP Stop & Lockze`#h N0/H3.<A#B?< NA\O/?< #r#~#v!r!~!vBg/<#?<=NAPOJk ??<>NAXO~ rf~!r!~!vNA\O LNuXBRAMDCH09.of!r!~!v yNXBRAMDCH09.ofpNu yNXBRAMDCH09.ofpNu yNH>UO(H<BCG1HoCAxNXO0fB@`0N omp`B@ONuH0O(E1HC- JNBCG+`0Hf "s JNRC| m⸼8n29m* мD/C-AN0XOC JNx`/C-AN0XOC JNx JO(L Nu y1B hLN @Nu/?BB`6HփBD08Df BD08DgRBPm4HԂ(4HԂ(RP8&NuHtBC` 8H؄BE0HEfBE0HEf4`RCPmܴ|g6`0HЀ2Hҁ1RCPmSPL8NuHYO8:BCG`2BBC K0NxPOJgrfSfWf ?NTORC| mXOL8NuHO8:8& NF/??C-AN0POpgf20NnApN OL8Nu?/O86BBCA 0NxPOHop? y1B hVN\OpN!.Bg42/0/NTO(HoBg y1B hVN\OJg$20/N0B@`pON(6NuH(O68N$HIBBC L0NxPOHop? y1B hVN\OpN!.Bg42/0NTO(HoBg y1B hVN\OJg$20NB@`JCg 20 JN` 20 JNpONLNuBgtNTONuH>Ox&HBC8:<E+`2A42H ЀЂ7 RF|mBF`2A42 H ЀЂ7 RF|mBFI2`$BB0@CA0NxPO2I)RF| mBFK@`JFg*0@24A~pf44tf2I$4g 0H"4gtf| gX0@;RE|g&0@24tf44tf2I$4g0H"4gtf0@?RF| mfBF`BCA0@45B24 04 N.XOJfx /rfh0@22H$ԂԁBs( 42H"ҁ҂,s rA0@5t:BBBAA45wgr.AAtA7BRCRFFo|mTBF`BCA0@45B24 04 N.XOJfx /rfh0@22 H$ԂԁBs( 42 H"ҁ҂,s rA0@5t:BBBAA45wgr.AAtA7BRDRFFo|mT<`82A42H ЀЂ7 C-42H ЀЂ s NRF|m<`82A42 H ЀЂ7 C-42 H ЀЂ s NRF|mOL|xNuH<&H(I*oBCE+`2A42H ЀЂ83 0HЀ240@02H$ԂԀ犲s( gD s( H|p4HԂt(N$J@g$/ 0HЀ244B02 "M y1BNXO0HЀ9RC|mrL<NuH<&H(I*oBCE+`2A42H ЀЂ83 0HЀ240@02H$ԂԀ犲s( gD s( H|p4HԂt(NJ@g$/ 0HЀ244B02 "M y1BNXO0HЀ9RC|mrL<NuH<&H(I*oBCE+` 2A42H ЀЂ2Hҁ9 RC|mBC` 2A42 H ЀЂ2Hҁ; RC|mL<NuHO(HBg"y1B iDNTOJ@fB@`BWBCG+KB`Hp4B43 H"ҁ҂t g, t H|BB"MAL0NxPO20/DAN RC|mpB/Ho y1B hHNPOJ@fp? y1B hDNTOpOFL8NuH0N$HBCG#h`0@BA3BB30NRCSm K"Jp"Q2L NuHJ@f/ r4H ЀЂ82 A"M y1B0NXO`p4H"ҁ҂r fp r H|p(؄؂rH NfJ@fN` JNJ@gHo"L JNXO/ BAp"M y1BNXO`/ "L JN XO/ C" JNXOvJCgB@O@L<8Nu/ #1B y1B0(gNPp`B y1B0(f.E(B@N5|NJ@g5j@j`j8A, $_NuH0(&Hv |NJf N&$xJg CN gf g&p` PJ *fB@L Nu/ E.0*f$ J BA< <b;k`|<*f<`&<0< b ACp ab$Wb<gt<.f6<*f4`$<0< b ACp a$$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a*A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`jH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN`0 JN0 Kax0DL Nu6x0/gf@ JaV0/g@AN0/g@ Ja00/g@A N0/gg@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGbrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"1Fp` 3!1Fp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!1F`0123456789abcdefghijklmnopqrstuvwxyzBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#/ /?< NA\O$_Nu/ /// /?<NNO @$_NuA2BhBhre`v32/ C22dBi3| Cp 2Q"< \ps/ NB$_ _02A4B"op,2QA4p 2QNu23B74B4/ 1@ 0"<.psNBA4B0$_Nu#5A3B000000p*`#5A3B0000000 0 p/`d#533Bp4`R/ C3B22#5p8a:"_2Nu/ /pMa*"_2"_2"o2"o2Nu#533BpN`/ 32@@A"C2B@22220<"<!NBA4B0$_Nu223B4B57 X:X,D,d,d!,e,d,d,j,d,d          UUP  UUP P UWP UPUP $4$,o $%T,d` %&,d  &t&,d@ '4',o @ ,u '((8(Z(|  #  C A,  A,  A,A, A,  A, C A, A,A, #$  ,, , q([3][|Kein XHDI-kompatibler Treiber|installiert!][Abbruch]  -!-4-F4-!-_-w--4-HuSHI-Version: 00.00 BLA BLA BLAStopLockHuSHIStop & Lock12345A12345C12345B12345E12345F12345D12345I12345H12345G[OK[Abbruch[Sichern@(#)SCSI-Tool/Stop&Lock 3.00, Copyright (c) Julian F. Reschke, Jul 7 1992Gert nicht bereitMedium gewechseltGert bereits reserviertFalsche FunktionsnummerUngltige FunktionFalscher ParameterReset ist aufgetreten |(SCSI-Code %ld)|(XHDI-Code %ld)[3][Gert %d.%d:|%s][ OK ]---%s %s??23B74B4     X"2 ,$* 2 "*PJNമ*&x0x0j>$&D  .2 $ d< . ,J ( && $& $ & (& , ~j  & 2 P>000H00$j(D1D=@pV~hI^7 jᙰ IC"BXiֆ%ǡՎb',tYXVahGAAF8 8T%(Bђ&~] @PU b0BG0ȇgHd=`PV1GTK$h Z#A [Dd'aPp& E2{4FaHIc/!2\łܖH)s.H30>KbH"'#a,D]P&l t*!ـQ'M#N?OZB>ג5"G+L>r`'3/` `PnFP@JQf<lByL/:Nu#! Nu!NuXBRAmaccAJxgTfNh f#!| zNJ9g8+g0:g aBy>By0:gz3fDy`,Jy>f2:v`2:rAfX3jDy0:faD yHp8LyNfFPJ9@gA~`Jy>f09LBXQP>Nu yHC@gC<`CJ@gIJ9@gB8~29L2QNuB!*!&N&H f&o k  Ј<.@// ?<?<JNAO Ax00n3Hzj?<&NN\OpyDf#H3L3NNBg/9?<1NAJBWNAJ@|NuFNuaRE*0*lm R5hBla$<n 8g* @"Hp~"gR@A`T@&m!B!RB `$A&H.W@m Q BPG !޼R#NuH0NNhE*G f $AN09+\g$N 6N RgNJCg AJNjN RfANX09+\f y"N y" NL Nu/ x g,E*` _VDOf CD" nf$PH f$_NuH0A)zC)~$P0BAE `$4B&P6 t&PS6Cq0ft`BBRA|lf&P6G+0 kR@N&A# #*B#&J!<*!1AY&& S#!| S# !| N'xVX k f k RL Nu!B*!J& y+0!y y+0!y N y+4BNu x AHDIRf4"hVARf("x )^f )^"<.N83+8Nu3+8Nu09+8m H"ҁҀ鉒牒뉂 x!A^Nu#+:R+: y+: CfNLf y+:ANuH>BCM$6EG#K`0@CH(6 26|| bA2;NV0HDH23I'23I'23 I'A2ACI- `B2IDA450@B@AB+C0@CH- `0H2ACI- 0 NNZRC|2m2BCMr`0H26I-RC|mBCI`@0H(44JDB05 2A@AAB+ 2I440HB@C)RC| m n NlL|NuH>Ol8/|$6*y"(E*&jj(KRL ?f MpN6W@g|fv*KM` Mf*.*BB/HWCANXO6J@l y",pN:`,0g.MKRNf &\f`RNfRNBG|fBB@ KN6J@m Jr`Nr`f R`f n g 0N` j5h4 jh %p ohg|$`B*$ j(@g<|\p ohg*]`*]p ohg*]`*]` B@]@\0*hm`B@5@^25A0BBp2N Jr`0N >0N W`ff?OL|NuA$6hh*hBhJ@lh`J@oh*`hBJAghNuA$6"y*)@fh`hJ@g6hp@1@1@BA1A1AJ1A1A1Az1A1Ah NuhB@1@1@r1A1AJ1A1A1Az1A1Ah NuA$609+8lh8Nu09+8o hB@1@1@1@1@h(Nuhp1@1@1@1@1@h(Nu2H <04H… HB<0BNuH 6<>:/E$6H"ҁҀ82Ff422H ЀЁ爔r5`d/4H"ҁ҂024H"ҁ҂牐rH2GHN ""뉒Ҁ 4GH"뉒҂N D4H"ҁ҂5| lp04H"ҁ҂ r "P`2H ЀЁ r P0NLNuH,O6?A?B/>(HE$62H ЀЁ?r:<0/H$ԂԀC(A HoC J0/N XOSWSoToTo0/o"tr8/H ЀЄ爂r J0/Nj?TK 8oDo8`Dl8ogX?D8?420NRTOCBA0 JNHoC0/ JN FXOSWSoCr0 JNrBA0N |2o| MN0-f~2/o tH(؄؁22H | J0/NCr0 JN OL4NuH:O6>?B&HE$62H ЀЁ82:IC L Ho "L J0N XO2H ЀЁAC""HoC J0N hXOM NN02/HWA?@SWSoToTorG?A` <o2H ЀЁ42H…TBl:`0l4H"ҁ҂22HA@o:/`j/0/ GH2T:H$Ԃԅ42(H…BHN*""뉒Ҁ 4,/0H*څڀ獔rXH"뉒҂ N:*GogD?E?/420NHTOCr0 JNHoC0 JN >XOSWSoCr0 JNj NN0.f6OL\NuQOAN0/fPONuH:OG$6BCI* Tf'y"$D T( H:(20NR T<(0N T0(H>r ?tp2/NTO T(gk`k T(@g,r@7A7Ap T(Agkp T(Agk`B@7@7@r7A7AANMl0m T<B>JGf~N~0mr?tp&2NTOHoHoCANPO ol`'y#d'y#h'y#l'y#p'y#x|'y#tL'y#|'y#l'y#x'y#t'y#'y#pHoHoHoC A$6NO ?/?/?/?/BgBgBBBAB@NzO ?/?/?/?/BgBgBBBApNXO ?/?/?/4/rB@ KN\OB@NE B@A$6N|| |&bl@0;N```:*````````lN````````Z^@`pkgkk`$k`pkgk` kkړrp KN` T h T"T3h T0(Nrp KNT` T| ` T| ` TB( `| T h`pp ?r?A4prNXO`Tp ?r?AtprN~XO`8At rpN`(ANNHo Cp KNXO0/o l4`4p ?r?A4prN$XO`pkg>BV`NAXONu/?< NA\ONu//??<@NAO Nu?/?<=NAPONu??/?<BNAO Nu/ ?< NMTO$_Nu/ /?<&NN\O$_Nu/ ?<"NNTO @$_Nup `4p`.A+00p`#.VA+000000p*`/ #.V3+p,a"_2"o2Nu#.V3+p2`#.VA+0000000 0 0p3`/ #.Vp6a"_2"o2"o2"o 2Nu#.V3+p4``#.V3+pr`N/ /pMaD"_2"_2"o2"o2Nu#.V3+pN`#.V#.ZpZa "o2Nu3+>@@A C+@B@22220<"<NBA,0Nu+>+\+,.V0V ))))))))))))))))))))**G*O*  `\  Witz}>~^|omNHH@?89z^y|>9qa`p99qaWju^9@# 0  ($$  @@8D 889qaWju^99qa`p9`檫XUW/V'GUY쪪3UQv?SUX6 8?"0'G`'`w@ \ z~6 /,/ ?9\aC`99`uV;`<<|>8D o8 h H#@      !   1 (  !       Q QQ"!!  @@ @@@!  -#,! &$% % #@(''@ &@*))(@ ,++*@ ". / 0 1  a:Zz  : \ | !!!!!!!!" MACCEL3.RSC~ Mouse Accelerator ///v4.0 by Ken BadertscherCopyright 1990, Atari Corp.5 Stacy 30OKCancelSave p Mouse Accelerator 3 v4.0 installed q Copyright 1990, Atari Corp. Install[2][ |Save current configuration to |C:\AUTO\MACCEL3.PRG?][Save|Locate| Cancel ][1][ |Error saving configuration!][ OK ]: 4    n  x: $D "  D *fdNH|V|nnL"  ,$ , n-ήO5JvXԂ:=bd_o q a}/U]*W-chreiben | abgebrochen! ][ OK ][1][ | Stereo-Sound | nicht mglich! ][ OK ][1][ | Kontrollfeld | abschalten? ][ OK | Abbruch ] Kontrollfeld KONTROLLFELD '3CPX VerzeichnispfadCHK]oInfo...Voreinstellung...Abschalten...Info...Voreinstellung...ffne CPX...CPX Info...Entferne CPX...NeinJa CPX Aktivieren CPX Deaktivieren 12 Hour24 Hour Error initializing GEM, hit a key...[3][ RSC ERROR ][ OK ]                4800 9600 19200 .*\r  @   T .: &" $*       ""  "     <  0>$ N(  ., (* B  " "   ($ (0"$ " &>     L> (  $ H R  T      $$    &  ,   0 "  8 ( ,  F0:<  &  v     :      J     "    0 &`4. HT ":2*: f4        T       : 2,"  ( $                0.    ((""L@       &      .  " v B    d  . 4b" J(2  ,<:^z (*    H  $ ( ^$F$j X&JN" 0 &J"B *T  *x(6 "  ( j   ,0>  DF`"y?P i(C / BgHyK?9>?9>p?r?t?v?/9?|NO`JFg y?#?|C8A HnHnp?/9?|N# y?#?|0.U@1@@1@(0.U@1@B1@*0.V@1@,0.X@1@.HyL?9Ka "y?| i$ LBBgp?/9?N!p>/9?N$O "y?| i$"PJfS g/N' ydWINXWINXP @  JJ@@@Fenstervielerlei``BH*l f* Bm;| `* SN ;@2+gt`t;B \KRDI| m|fjr`jr| fjjj`jjjL<NuH(Op(H>6IE `xBE`0H rN ,Fl8RE|mBF:`$A`0H//2?C(NB\OR@@RE|mC0 LNHlHop??r?Ho y), hNO:R@g~Rgx2ft`BB4phy)42I8H&փք)8 L0Npl2gr`BA?p y)0h49)4@fv`BC_g l2p LN0OLNuH8G `$kBCI)8`N0CH4B43 pH"ҁ҂ r 0CH2CI43JB4B43 xH"ҁ҂% RC|mLNuH>O$y"GL KrB@N69)8y):8JDlDDJDg>NVID"Lp JN|zjSl0H9@2*ԓl LC<"" LC4""C4 KNNJ@gʸ|l"LA4NPJ@gK$ L"M""M, L"N""0?@BnmJCon2,l@?A>`mB"N KNz"M KNrC LNAr09)6NC NN"H MN0<NdN HoCAr09)6N6XO0<NOM)8$nNNBC8zK ``ZDgJDf|&m k<(P"n gZ0)AXNFHoX n0(|gC(`C / n0(|?2(A|?C( LNO `C( LN(` &m0N o7P7hB@ KN:HolBg/ j4NO <R@f2/l|g|g | g `v`JDf`0/r|g0|Bg|gF`bpk2fZN2p KNjp KN``@pk2f8r KpNNBAp KN`x`0/r|bg`| lRD`|JDf0]@|b@0;N&VN2d>tJ0H85`0H85`0H85.`0H85>`20 KN`xrV0 KN`hrV0 KN`XrV0 KN`HHzXBgHVBgp?r?t?p ?r ?/ j(NO`Hz*BgHVBgp?r?t?p ?r ?/ j(NO`HoRHoVC\A^N POCJp KNHzBgHVBgp?2/boZlt`t?p?r ?t ?/ j(NO`HWp? jVN\OpN HzHVBgp?r ?t ?/ j0NOHWBg jVN\O`Hx`:pk2f2N`,v`(0|g S@gS@g` |oSD` | lRD`BDBA0 KNJCgB@O|L|xNu/YOM, IC HzaXO VBXO,_Nu"VS@eQ,NuH8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp a$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$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 g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGTrtgJ3kSJgtJ@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@  !"#  !"#/ ?<NNTO$_Nu/ ?<%NNTO$_Nup aNu#,TA)000 0p*aNu/ #,T3)p,a"_2"o2Nu#,T3)pNaNu/ /pOa"_2"_2"o2"o2Nu/ ?A)00"o 0phaL2CSA|;$Y4Q$_Nu3)pkaNuC)<2 W2222.0<"<2/ NB$_A*0Nu)<)Z)*,T.T/A)<1|1|!I!o1A"_A000000000A)!l!!!!!""6"S"q"""""## #4#R#o#####$$7$U$m$$$$$%%%7%U%s%%%%&&&1&O&n&&&&&''1'M'`'}'&''! '''(f&V (!P(.(1(C(M(U(e(n(x(%(((((((((   123456789012345678901234567890 1991/92 Martin Osieka T0B0 T1B1 T2B2 T3B3InfoSichernAbbruch456789<<>>%d.%d.%d%d/%d/%dDieses Konfigurationsmoduldient der Einstellung einigerSchalter, welche das Verhaltender Modifikationen steuern,die mit dem Patchprogramm WINXam GEM vorgenommen werdenknnen. Nach der Einstellungder Schalter und dem Sicherndieser Einstellungen, mu derRechner neu gestartet werden,da die Schalterstellung nurbeim Start des GEM bernommenwerden kann.Auf den folgenden Info-Seitenfolgt eine kurze Beschreibungder Schalter.-- Fensteranzahl --GEM erlaubt in den bisherigenGEM-Versionen nur 8 Fenster.Von diesen ist eines fr denHintergrund reserviert. UnterWINX sind 40 Fenster mglich.-- Kontrollelemente --Bisher ist nur das vordersteFenster mit Kontrollelementen,wie Schliebox oder Slider,ausgestattet. Unter WINX sindauch hintere bedienbar.-- Rahmenelemente --Fenster mit einem Grenfeldhaben bisher auch immer einenhorizontalen und vertikalenBalken. Unter WINX werden nurnoch die notwendigen Elementeerzeugt.-- Mausklickwartezeit --Die Zeitspanne zwischen einemKlick und seiner Verarbeitungwar bisher nicht einheitlich.Unter WINX kann man sie festauf die Doppelklickzeit ein-stellen. Dies ist notwendigum zwischen Verschieben undToppen zu unterscheiden.-- Pfeilselektion --Um dem Benutzer eine optischeRckmeldung ber die Bedienungder Pfeile zu geben, kann mitdiesem Schalter deren Selek-tion eingeschaltet werden.-- Verschiebeselektion --Einschalten der Selektionfr die Kontrollelemente zumVerschieben, Vergrern undPositionieren von Fenstern.-- Sliderrahmen --Mit diesem Schalter kann dieBreite des Sliderrahmenszwischen schmal und breit um-Der Autor ist erreichbar unterAnschriftErbacherstr. 2D-6100 DarmstadtInternetMartin_Osieka@mz.maus.de Fensteranzahl40 Kontrollelementenur vorneberall RahmenelementeStandardminimiert Klickwartezeitvariabel Pfeilselektionneinja Verschiebesel. Sliderrahmenschmalbreit %-*s (\/) WINX v%X.%X%s %s BETAWINX ist nicht installiert!)<).l*+T"*, B:.8 4 j6,NF"j ~X":N 6 "  (         \   !"#$%&'()*+,-./0123457891!  1! ! @p@q@r @s  @t @u @v @w @x@y@z@{ @|@}@~@ @@@@@p@q @p@q @r @s "0 #R$G%B &@'@(@ *))@(@,++@*@.--@ ,@ /@ 0@ !@  26  433 2 561% H'6 H': 7:GERMANY.RSC ((((( H ((((( H    "     t*       6       0$         ( "       &  ,    z  &&<& *:    (      j   " N&F   .**<  * $"*L&H& 882       dVDIFARBE VDIx` 8p 6a<cXcq8  8 Farbe`(LHB?< NA#?4 x h3?H2(I3?J/@> NA\ON$N(HNTJNTH9$*o#RQ#RQ#R0Q#RPQ#R^R#RjRpN$#?Pp?NNTO3Ka ah3P> y?PJhg(Jy(LgHy(NaXO` Hy.NaXOp`#RQ#RQ#R0Q#RPQ#R^R#RjRpN$3RQ y?PJhfN hHy=Hy=Hy5Hy5Hy5Hy5Hy4Hy6 Hy84p?r??t=?NO, y=#?"y=#?$y=#?p3@3@29PSA3A49P&SC3C3@F3@D5@5@5A29PSA5A5@F5@D#?|ai09>U@gU@g&`Hp3K3K3K y?|a`Xp3K3K3K y?|`4p3K3Kpy>f 3K`3K y?|ip3K3>pKKap3K3K3KBga09>"SA3>"y?P ir?Bgt??v?x?/9?|NBW?9>?9>?9Kp?r?aOA#?T#?X#?\#?`#?d#?h#?l#?p#?t#?x y?PJhfj y0Qm^ y>oR#??| y?| (@ y?|!@RhRhUhUhF."h0Th Yh$AZ@1@"WB@1B&~%`  y?|"H*I0<mrAf"m 0N"| y?|"n1Q1iBp?Bg/N!aBW?9Ka aO"|"y?P i4HnBg/9?|NO *p@g g| [@m @2l@0;Nf" nV~<fba~  y?| `N"|aab>/9?|a>O`"y?P iDBgNTOS@f"y?P iVHyQxp?N\O y QmBp?N$,\Oa|?9>HyEHy?a3(L"y?P iHHxHy(LN"y?P iVHyQxBgNO?/9?|a\O`&"y?P i(C / BgHyK?9>?9>p?r?t?v?/9?|NO`"y?P i(C / BgHyK?9>?9>p?r?t?v?/9?|NO`JFg y?#?|C8A HnHnp?/9?|N# y?#?|0.U@1@@1@(0.U@1@B1@*0.V@1@,0.X@1@.HyL?9Ka "y?| i$ LBBgp?/9?N!p>/9?N$O "y?| i$"PJfS g/N' y>m09>y>n09>3K y?|#; y?#?|Bp?r?/N!09KHr@3>ahHnHyQpNHnp??9>N"|aaa p>?9>?9>?9Kr?t?aHO&`4 y?|#; y?#?|Bp?r?/N!O HnBgp??N!O `"y?P iVHyQxp?N\O y QmBp?N$,\O y0Qm y>op?/9?|a6\O"y?P i0C 8/ HyK?9>?9>p?r?/9?|NO y0Qm y>op?/9?|an\O"y?P iVHyQxBgN\O`HnN!dHnHnp?/9?|N#O0.ܰnl09K"DA=A` 09K=@p3K"y?P i(C f/ BgHyK?9>?9>?.r??t?/9?|NO`VBgp%?r)?t(?aPO`>Bgp.?r)?t(?aJPO`&?Bgp)?r(?aPO`Bgp)?r(?a\O`p?r&?t+?v*?aPO`p?r/?t+?v*?aPO`?p?r+?t*?a4PO`p?r+?t*?al\O`p?r'?t-?v,?aDPO`p?r0?t-?v,?aPO`f?p?r-?t,?aPO`Np?r-?t,?a \O`809KEg, yKy>3KBga&p??9>?9>?9Kr?t?a2O`p@f0.@gU@g&@g@ g `HnHnaPO`a $~`0.@GgJ@fa p?aaHnHyQpNHnp??9>N"|aaO`PHy.Na ~p>azB9Ka aBHnHyQpNHnp??9>N"|aaOJGgpLN^Nu/Jy> f\~` HЀRGAP0p @m09KT@3P3P y?P3>HyPHy>HyPN#4O Ry> .NuSy> f?9>N#TO3>NuNVH 3R00<N$B0<?N$,\O09>rAl29KA.SG`~yKp??9>N!XO<9K:9>`??9>N"  y?|"HEC""HnHn?/9?|N#0.3QR2.3QTnS@3QVnSA3QXHyQR?9>N#ORFREGovB0<?N$,ByR00<N$LN^NuNVH! >. JGf~`~3R00<N$B0<?N$,>?9>N!0." y?|"HEC""HnHn?./9?|N#0."UA3Qb3QV3QR2.$UB3Qd3Q`3QTnRA3Q\3QXnR@3Q^3QZHyQRp??9>N"0."WA3Qb3QV3QR2.$WB3Qd3Q`3QTnTA3Q\3QXnT@3Q^3QZHyQRp??9>N"B0<?N$,ByR00<N$LN^NuNVH >.<.  y?|"HEC""HnHn?/9?|N#3K"y?P i$C.?.?.?. ??/9?|NOJng^WnWn\n\nHnp??/9?|N!HnHn?/9?|N#WnWnHnp??/9?|N!O&LN^Nu09K@g@g U@g.U@gP`09K y?|"h /?9Kax\O`p09K y?|"h /?9KaR\O`J09K y?|"h /?9Ka,\O`$09K y?|"h /?9Ka\ONuNVH#>.*n |JGf.0`: FRF r H@@0$ .JGfSF``SFJFjBL N^NuNVH1>/09K y>/H a// Bg?9K?9>N"aO 09K3K3KK3KK o 23K3K3KAg?0<?Bg?t)?v(?alO 09K29K@g?2<?Bg?t+?v*?a@O 09K29K@g?2<?Bg?t-?v,?aO LN^NuNV/ *na"y?P i8/ NXO*@`N MC""HnHnNHnp??9>N"|aBW?9Ka*"y?P iN"|a*nN^Nup?a>TONup?a2TONu09>29K@l A?aTO`@A?aTONuNVH!>.aHnHyQpNHnp??9>N"|O09>29K@ly>lBy>a4`0r@49KAm"y>~y>09>Go3>a09Ky>yK.09K@gr??aBW?a\O3K3Ka@p?aPaLN^NuNVH y>09K"t1K09K1yK1yKaaHnHyQpNHnp??9>N"|09K" y>.??9>N"@>K?9>N"09K" y?|"HEC""HnHn?9K/9?|N#0.3QR2.3QTnS@3QVnSA3QXHyQR?9>N#al y>KpKLN^Nu/ *oa09>S@gS@gU@g@ g@g `/ a XO`/ aXO`/ a XOa*_NuH*oa~`: &MpSf/ Bg??9>N"O / ??9>N"@PORGy>maL(NuH#?> #E>#K>9KJffa~*y>`D/ Bg??9>N"O r y> "M 0 y>BRG  y>*Hy>maKL Nu9KSfa\aNuNV/a|~`L y>pf<  y> /??9>/@ N"@PO / y>"y> 0RGy>ma.N^Nu9KJfa?9>HyEHy(NaO NuH*o&o>/|`  K"M"2RFGmL(NuNVH$>. y?#?| "HAC""HnHn?/9?|N# y?#?|0.U@=@1@@1@(0.U@=@1@B1@*Vn1n,Xn1n.0. HЀAK*HHyL?a"y?| i$ LBBgp?/9?N!p>/9?N$O "y?| i$$PJfS g /N' XO @m < @np: y?|#;#??|arp?2<?Bg???. aHnBgp??N!L$N^NuNVH0 0. 3K"y?P i(2.HҁCKE/ r?/ 4<??v??. ??./9?|NL N^NuNVH0 0. 3K"y?P i(2.HҁCKE/ r?/ 4<??v??. ??./9?|NL N^NuNVH >.<. :. Jng???a\O`"y?P iVHyQxp?N\O y QmBp?N$,\O y0Qm y>o?/9?|a\O3KHnHnHnHnN$POHnHnHnHnN$POJng 0.ngJngB0.ng8"y?P i0 HЀCKE/ / 0<?Bg??/9?|NO y0Qm y>o?/9?|a\O"y?P iVHyQxBgN\OLN^NuNVH! >. HnN!dHnHn?/9?|N#O0.nl=|2`p=@3K"y?P i(0. HЀCKE/ p?/ 2<???.t???./9?|NLN^NuNV/ 0. " n"H EC""HnHn?. /.N#UnUnXnXnHnp??. /.N!$nN^NuNV/ 0. " n"H EC""HnHn?. /.N#UnUnXnXnHnp??. /.N!$nN^NuNVH>.*n 3R03 R20<xN.G0. Y@mB @l<@0;N$$$00$$( K"M""` :` K"M"" L(N^NuNV0. n h0. hN^NuNV0. n P0. hN^NuNV n"n""0. @2.A/.??a.?.?. aN^NuNV n"n "" n0S@"n i0(S@iN^NuNV n"HTI/ /?. /.N0.  n"n!qN^NuNVH*n>. &n/ ?/ aO -g-m `A -H0-rAgrAg rAgrAf "n Q>(` n(HJGk|`,DG- gp@o,JFg/ ??/ NO - gJGg @kkL(N^NuNVH*n>. &nAR00C1n-I fGHn?/ aO K"n""#R^0<NL(N^NuNV0<NC n N^NuNVAR001n 1n p,NZC n N^NuNV3 L0.HH@B@@rHAN$09MN^NuNV3 L0.HH@B@@rHAN$09MN^NuNV3 L0.HH@B@@rHAN$09MN^NuNV3 Lp n CLQ0.HH@B@@rHAN$N^NuNV# Q3 L0.HH@B@@"<N$#NQN^NuNV3 L3 L0.HH@B@@rHAN$pAM"nQN^NuNV# Q0.HH@B@2. HN$#NQN^NuNV#Q n#QCZ#Q n 0HH@B@@ rdHAN$ n 0Q#LQ#MQ#OQN^NuNV0.HH@B@reHAN$N^NuNV# Q3Q0.HH@B@"< N$#NQN^NuNV#R^3 R00<N$ n0RR n0RT09RPN^NuNV3R0# R^0<N$N^NuNV0<N$ n0RR n 0RT n0RV n0RX09RPN^NuNV3 R0#R^0<N$N^NuAQ"P"3@H@3@ "psNBNuAQ Q L N M ONuA$ 0AQ"P"0<NBARP0Nu     !"#$%&'()*+,-./0123 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}aFJAg&HAf JAggpJAgRr"3?BNuNVp ?B/.N&N^Nu o0/H0 HxC>%r1fJ@m |$n|f Bt`<-fP`<+fJ@fp <0f8p<Xg<xf(p`"<f<0f xfRH` xfRHJgt<0mT<9n0`<Am>7l4&gHCHCJCfԃek`PPԁek`PP`JgD"/g"ASH"" L NuNu   ccc   XXXMMM   CCCC MX cc XM CC MX cc XM CC MX cc XM CC MXXM CC MXXM CC MXXM CC MM CC MM CC MM C  C      C  C        C C        C   ccc   XXXMMM   CCCC MX cc XM CC MX cc XM CC MX cc XM CC MXXM CC MXXM CC MXXM CC MM CC MM CC MM C  C      C  C        C C        CFarbe000000000000000ResetSichernOKAbbruch000___9990000____99994P4V4X4Z4\4^4`4d4f4h4j4l4n4p4r4t4v4x4z4|4~44444444444444444444444444444444444444   !"#$%&'()*+,-./0123457891!  1! ! @p@q@r @s  @t @u @v @w @x@y@z@{ @|@}@~@ @@@@@p@q @p@q @r @s "0 #R$G%B &@'@(@ *))@(@,++@*@.--@ ,@ /@ 0@ !@  26  433 2 561% H'6 H': 7:GERMANY.RSC ((((( H ((((( H    "     t*       6       0$         ( "       &  ,    z  &&<& *:    (      j   " N&F   .**<  * $"*L&H& 882       <   <@