NeoDskp O` /`! #@%`')+-/1 3@5`79;=?A C@oGIKMQ S@U`WY_a c@egikmos@u`w{} @` @ ` ` @ ` @ ` ǀ ɠ  @ ` ׀ ٠  @` @!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGKMOQ!O` /`! #@%`')+-/1 3@5`79;=?A C@oGIKMQ S@U`WY_a c@egikmos@u`w{} @` @ ` ` @ ` @ ` ǀ ɠ  @ ` ׀ ٠  @` @!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGKMOQ!AUTO $COLOREMU ,DISKAUX /FARB_EMU 9[FSELECT DpH USWEET _PDfBOINK PRG <,A195 t LOMIHI AC I$. %.. FSELECT PRG [7COLOREMUPR a COLOR_EMPR c RABBER PRG <xH`&f4D0*o"m30#30.I+I/ / Bg?<JNA aBgNANVH0|Az :2`*@:8H6p ?NMTO(~ GlL  (@ LBm g, g mFfm `m RF`RF`RG`?:2p9?p-?N\O?:2p??p;?N\OL0N^NuNVH :2@`*@~ Gl:0- @gm ?N!6TO- Hnfm ?N!TORG`L N^NuNVHz7HnN#POHnNXOHz1HnN#FPOp&?Hn z1 h$/N# BgHz8&N\O/ z1 h0gb0f 99g~G3 K .fR K .gfg`Ry9| F,l 0RF0@B`p?Hz3N\O// NPOBgp?/:3NPO/Hm NPOBgp?0:3j@?NZ\O/HmNPOp-@p?p?0:3@H@?N.\O/HmN|POp-@p?p?0:3HH@@?N\O/HmNJPOBgp?0:2HH@?N\O/Hm!N$POp:@#p?p?0:2H@??N\O/Hm$NPOp:@&p?p?0:2@H?N~\O/Hm'NPOB@:2m@@*,pO?NATO `8RD`Hnp;?NA\OL8N^NuNVH0*n(n ,*H-*H4@g-*H,*HA`0:,@; @bH0@&f PNB@`~HlHmNPO>gb0`hHl Hm `JHmHlNPO>fp?HmHlN >fp?HmHlN >fHm!Hl!NPO>f/ / NPOL0N^NuNV0:+XmHzp,??:1r/:1\Nn N^NuNVH :**@ z*>(0:1B@ <ox0:*Fo33<0:*lBy3<0:1H/p /0R@H/NlPO/NPO??-NXO;@0H/0mH/0:*bH/N6PO/NnPO;@`By3<;GBmL N^NuNVH0p?p$?p?Nd\OHnHnp?/:*NN~ G lB.0:)Gz0^lt2,0:),Ёк06(@0:* @b$H0@&v PN`*L`K ` K`K!Hz+HnN:PO,*fp @0:)fB./ HnNPOHz+jHnNPOB.Hn?.?.N6PO0:/R@nRG`BNL0N^NuNVN@p%?N4TONN^NuNV/~- G9l&0 @(/( /.N~PO0f0`RG`p.N^NuNVp&?/.Hz-N p/?NATO-@p?NATO=@BgHz,pG?NAPOHz+NXOHz.p?NA\ONp?NNTO#9NT y 3f?.p?NAXO=@0.@gp`B@H=@p4.h=@ nlJ0.ng60.R@?0.9/pG?NAPO0.9/N>XORn`p ?/. Hz.NN Hz.BNXO0:(g&p?Hz,N\OHz,NXOBg/.N\O`?</.Hz,Nb p?NTO0:'g$0:'m0:' @'V/( Hz'pNPO`Hz'dN2XO33BgNTON0N:Hz'D z' h4/NPON :-|fHz)p?N \ON nBPB@`tNtNNN& n0Hz,NXOHz&Hz+N@POHz+/.N`POHz-./. NRPON?.p?NAXOHz)p;?NA\O/.p?NA\OpN^NuNVB90:& @g0 @f2p/pH?NA\O `oHy}pH?NA\O#9`#&69p/pH?NA\O#9 lB9`/:,npH?NA\O#9 :,XnB9N^NuNV/:,DpI?NA\O :,Zg z,T%g /:,JpI?NA\ON^NuNVH8p?NATOA3B~ Gl0RGA,B` y3fHy}pH?NA\O#3>nB3>p?NNTO> @fp`p39<V@39rGp4h39 Gl>~ G@l60)h*@0H10&@;S;k;k;kRG`~ GSlV0)h*@p??-N"XO;@??-NXO;@p??-NXO;@??-NXO;@RG` z$v(h #9~gH@` G g 9H>0:$ 3d/ z$8/(NPO z$*!|8@L8N^NuNVp?p ?NMXOfNNNN NN^NuNVH8 :#(@0.к#&@*z#Ȼdm m` + .#3kNp7@'|3 ?.NTOBnHn?./:#xN 0.f*z#fd m `p7@'G ?.N`TOL8N^NuNV/ BnN  n$g* n'g"HnHnHnHnN20.@fBnHnp?/:"Nl =@@=@n z" hn40.g"p33?: p??p;?N \O?.`N33`L0.@ @bpH0@& PN`^p\?Hz%LNv\O*@ -:fp`B@0@B` z h$/Hz%NPOp?NVTOHz z h4/NvPO:$H?NpTOp?NTO0: m0:  @h ?:NTOHzNvXO33mf0: @hh ?:`0.gp `py3<`R0.gp `py3<`?NAXO`Hnp9?NA\O lHz@p?N \Op=@BgN TON,N`p?Hzp=?NAPO=@lHz+p?N \O`Bg?. <3/pB?NA Hzp/?.p@?NA Bg?. z, (D/pB?NA z /(DpH/?.p@?NA ?.p>?NAXO0.N^NuB?< NA\ x XBRAf FSmpg@ h`#!?</?< NA\0g 930Bg/?<1NABg`NuXBRAFSmpg> of6 of. x XBRAf FSmpg h`#!/:NuXBRAFSmp @f A P PZg P[f0#7Hz ?Ns/:Nu#7.y30H#7"A Q P[f i/(`/99 i Hh i/(/aO"y7 i 0L.y7/97Nu oC7$ pg .gQJg* .fJg J@k QJog.pJWB Nu oC7$ pg  gQ  fR` .fRJg.f Nu or\Jg JfUgBNu oa JfNu/ am zn@NuB@`pAH J@fB>`.<:K7(MB`2p //a P<0JEfJf J-g p //a xP.Q L0Nua o"o0<? Q0<`0<B?ah\Nup`p`NVH >.<. *n (y88 lz y9g lz362(hL#6, y84"h23|Bi"h#|6,#|61|tBh6`x2Af2|f, L"y90P2IA0S@PQ`< y84 h @0^@1@Bh0S@1@1G0^@1@ 1F 0ES@1@PGB@fL0N^Nu?<\//aj\Jg(Jog @B?< R/Hy3Va B93bNu?<*//a\Jg?< /Hy3Va _ _0JogB` oTJf\BNu2/0@AIANuNVH *n0. H=@Jno=n0.n ln0.n>JGmZ0nHЍ/0.HЍ/ nNPOJ@o2?.0nHЍ/0.HЍ/Nh n`Rn`0.`jL N^Nu"o o2/ g SAQNu y34 0/2`ofP`PR@omNuNVH6. BD=|pat`ZCg JCg8BC?<HnBg?/.aBA70000BBBBBBB8 ?<atTOA8<=X=X=X=X=X=Xgt0.HHA3:00H=@gJPgP0H@ @fB nm: nn2 y34lBA0.@=f A=A`RA A m`>.|gOG0@Gf=|`0H@Gfn=|0H@ nPg.0?<HnBg?/.a6. nfC`0. n20f2.4.a=@6`\0.a@#8 A7000?<7a TOA8=X6=PJPgJDg?<Hn??/.avg8?.?.?<?</.a 6lBC` n24.aZ=@6JngCg JCgJDg?<HnBg?/.aJnfpa 0LN^Nu37?<kaLTONu#8 A700?<8a0TOA802NuNVH *y34(y9HnHnHnHn/ aL099U@m0-W@=@ g/99/ a"PO`paV?.?.?.?.?<?</ aa a> g/ /99aPO`paB G+fpL0N^Nu?.?.?.?.?a NuH>/ *y34HzHz?/ a0?5?5?:?:?<?/ a*L NuC720A6XJg(gVH`rH2Q"<6@0<NB098NuJ?< aTONu?<aTONu#8 ?<6aTOA8C0r$Y4QNuAC7E 2r24Q?<3abTONu37#8 ?<4aFTONu?<Oa:TOA8Cr$Y4QNu3738 ?<Na TONuAC7#8 222?<LaTONuAC7#8 222222?<*aTONuAC7#8 2222?<+aTONuA#8 37?<,aTOA80"o 2"o2NuAC7#8 22$X22?<.aFTOA8"o 02Nu0/2/Al0Nu o0/BAgJfBNu Nu o"H0/Jf gfBNu Nu"o o JfSfNu"o ofJfHHNu"o o fNu"o oB2/ gSAfJgQHHNuE Z "Z2gSAWSAmtQNuʠ fEH80Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉN Vr>rrrrrrrrrrrrTrD```LLLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX______________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXName: ________.___FFFFFFFFFFF 4/1989 by Martin Patzel - MAXON XXXXXXXX.XXXXXXXXOk*.C*.S*.H*.O*.PAS*.MOD*.BAS*.FOR*.DOC*.RSC*.PRG*.*SortierenNameExtGreDatumAbbruchRedraw:festautoredrawKlemmen:PfadExtensionPfad-Sp:FselTOST->FDatei/Ordner lschenOrdner anlegenParameter abspeichernAbbruchOk'&'N'v''''' ''( ?A( )& )0 Q AQ A Q A Q A Q A Q A  Q A  Q A  Q AQ A Q A Q AQ AQ A Q A Q A  ' %+*   @@)L$# QQQQQQ Q!Q"Q#Q Q %@'&&@Q %@(@ )@ *(  @ ,(9-8  .Q( /Q(0Q(1Q(2Q($3Q(*4Q(05Q(66Q(<7Q(B8Q(H,Q(N?:>a  ; (T <Q (^=Q (d>Q (h9Q (n%(t $(|  ( ( ((  (  (  (    (  (  (A ( A ( A ( ) ') (&      &             )h/ha:\auto\fselect.prg*.*NameGreDatumZeit<8 44(#:$=?R !"#;>= R    RR< R R R$6(*8'RR?-.34/05127RRR(* !"#_____XXXXX*.*[0][Info ber Laufwerk :| Bytes Totalkapazitt| Bytes belegt| Bytes frei][ Ok ]*.**.*  [1][Zu wenig Speicher fr|dieses Inhaltsverzeichnis][Abbruch][1][Kann Datei/Ordner|nicht lschen][Abbruch][1][Kann Ordner nicht|erzeugen][Abbruch][1][Kann \auto\fselect.prg|nicht beschreiben][Abbruch]77788 8,78.*+,k3 46LNO  0f&tD`>lZXjt( dH ^8  P" 0Z,~Hjl"2 p &^ fJ&|r0929y&fy&g a&09&29&33a y$HP"y09 9Lg04040404040404040404040404040404040404040404040404040404040404040404040404040404PPQR̳ؑ}fɑ##Nuy%y% 9Lg|l|m|n|m|pl8<`8<|l:<`:<ǚAH"y y$HPJDg"<$<04QNu"<$<0404QNu4<BAI0BAI0BAI4BAI4XQPPQ`԰|?l|m|n|m|0l8<`8<|l:<`:<ǚAH"yH y$HPJDg@$<&<BAI0BAI0BAI4BAI4QNu$<&<BAI0BAI0BAI4BAI4XBAI0BAI0BAI4BAI4QNu Farbemulator by Bernhard Baier Version vom 10.03.89 Nur lauffhig mit ROM-TOS vom 06.02.68! Nur lauffhig mit monochromen Monitor!  03<? 03<?   0 3 < ?  03<?000 000030<0?00000000333 330333<3?33333333<<< <<0<3<<f y^gyX y Xmp3XBhij 9hdg#Z#dhij` yRf`L.yp/9lNu&|LB69^SC&S"yd yZ$IP0<2<NQ y^gxx`PPQ`"yd$IP yZ0<2<2424QPPQ`L? Color Emulator (c)1988 by M.Heubach V2.4 <-- Puplic Domain Dieses Programm ist Pulic Domain. Das heit jeder der es will oder braucht darf es sich kopieren. Sinn der Sache ist aber auch da sich der Autor (Ich) weiterhin ernhren kann.Deshalb bitte ich sie,mir einen 20.- Markschein (DM) zu schicken. Wenn sie noch eine Diskette dazulegen (bitte eine formatierte Disk), bekommen sie grozgiger Weise den Source-Code (Assembler) und die neuste Version zurckgeschickt. ANLEITUNG: Kopieren sie dieses Programm mglichst in den Auto-Ordner,damit das GEM rich- tig initialisiert wird.Wenn nach dem Anschalten das Desktop erscheint whlen sie die mittlere Auflsung und schalten dann den Emulator durch drcken von ALTERNATE+HELP an.Jetzt knnen sie auf dem ST wie mit einem Farbmonitor ar- beiten.In der niedrigen Auflsung stehen 6 Darstellmodi zur Verfgung,welche sich mit ALTERNATE+HELP umschalten lassen.Sollte der Emulator kein vernnf- tiges Bild anzeigen,besteht die Mglichkeit durch drcken von SHIFT+ALTERNATE +HELP den Emulator neu zu starten. Autor: Manfred Heubach * Urbanstr.97 * 7300 Esslingen a.N. * W-Germany Nchstes Projekt : Ein superschnelles FILE-COPY Programm fr Disketten. HDer Emulator luft nur in der hohen Auflsung! ."  :        ,J >. ,.. COLOR_EMPRG * `L&*O*m - ЭЭмBg/?<NNT|f,Hyp?<&NN\Hyd?< NA\?<NAT?<1NAHy ?< NA\?<NATBNA?<NNT#Z?<NNT#N!bn#T!#pl!dp! < NB#dNu Og\`Nh Pg$ Pg$ Pg$ Pg&/9TNuNs 9Z` 9N`B09R`Jk #NJk#Z!|Jh k 3 R/9TNuNu#p.|pHJx>f y^gyX y Xmp3XBhij 9hdg#Z#dhij` yRf`L.yp/9lNu&|LB69^SC&S"yd yZ$IP0<2<NQ y^gxx`PPQ`"yd$IP yZ0<2<2424QPPQ`L? Color Emulator (c)1988 by M.Heubach V2.4 <-- Puplic Domain Dieses Programm ist Pulic Domain. Das heit jeder der es will oder braucht darf es sich kopieren. Sinn der Sache ist aber auch da sich der Autor (Ich) weiterhin ernhren kann.Deshalb bitte ich sie,mir einen 20.- Markschein (DM) zu schicken. Wenn sie noch eine Diskette dazulegen (bitte eine formatierte Disk), bekommen sie grozgiger Weise den Source-Code (Assembler) und die neuste Version zurckgeschickt. ANLEITUNG: Kopieren sie dieses Programm mglichst in den Auto-Ordner,damit das GEM rich- tig initialisiert wird.Wenn nach dem Anschalten das Desktop erscheint whlen sie die mittlere Auflsung und schalten dann den Emulator durch drcken von ALTERNATE+HELP an.Jetzt knnen sie auf dem ST wie mit einem Farbmonitor ar- beiten.In der niedrigen Auflsung stehen 6 Darstellmodi zur Verfgung,welche sich mit ALTERNATE+HELP umschalten lassen.Sollte der Emulator kein vernnf- tiges Bild anzeigen,besteht die Mglichkeit durch drcken von SHIFT+ALTERNATE +HELP den Emulator neu zu starten. Autor: Manfred Heubach * Urbanstr.97 * 7300 Esslingen a.N. * W-Germany Nchstes Projekt : Ein superschnelles FILE-COPY Programm fr Disketten. HDer Emulator luft nur in der hohen Auflsung! ."  :        ,J >. /.. DISKAUX PRG dDISKAUX RSC iEP%DISKAUX TXT lO-`*O*m <"ҍA.A// Bg?<JNA &MN5N60<<3xNhvNOOP ><3xNhORIGIN ^PS0  R0  DP OFFSET BASE OUTPUT INPUT  ERRORHANDLER "VOC-LINK 8UDP J NEXT-LINK VUP ><3xNhh END-TRACE<<rAh*<+p<3hChJFg E""TI<``~SP@,=><3xNhSP!<FMh><3xNhUP@=+p><3xNhUP!0@7Fp><3xNh  FORTHSTART @- ><3xNh,0RP@X, =><3xNhLPRP!t<FKh><3xNhhl>R ;><3xNhR> =><3xNh R@ =><3xNh RDROPTM><3xNh EXIT >(G><3xNh UNNEST >(G><3xNh  ?EXIT6J^g>(G><3xNh( ,EXECUTEZ><3xNh NPERFORMX fC@ <Ahp=><3xNhJ zC! <Ah0><3xNh CTOGGLEr @<Ah(><3xNh !<Ah><3xNh 2@ <Ah(((><3xNh 2! F<Ah><3xNh:>LC@j ^p=><3xNh^bLC! ^0><3xNh|L@  ^H=><3xNhL!  ^0@H><3xNhLCMOVE 0 ^"^J@gS@Q><3xNhL2@ ^-><3xNh L2!: ^ ><3xNh.2LN+! f ^"P ><3xNhX\+! <AhTHTNDTN><3xNhx|DROP TN><3xNhSWAP  H@,><3xNhDUP=><3xNh?DUP JVg=><3xNhOVER =.><3xNhROT8240<==><3xNh,0NIPZ<><3xNhNRUNDERt H@,=><3xNhfj-ROT 402<==><3xNhPICK B0@=6><3xNhROLL   -ROLL   2SWAP, ",-><3xNh"2DUP L-><3xNh>B2OVERf-.><3xNhX\2DROPXN><3xNhtx+0V><3xNhOR 0V><3xNhAND0V><3xNhXOR0V><3xNhNOT FV><3xNh- 0V><3xNh  NEGATE 4DV><3xNh $ (DNEGATE PD><3xNh @ DD+ h і><3xNh \ `D- ><3xNh v zD* "$&HC(HDH@ABH@-><3xNh  1+ RV><3xNh  2+ TV><3xNh  3+ VV><3xNh  4+ XV><3xNh (\V><3xNh $ 1- @SV><3xNh 4 82- XUV><3xNh L P4- pYV><3xNh d hON   OFF  TRUE =<><3xNh | FALSE =<><3xNh  1 =<><3xNh  2 =<><3xNh  3 =<><3xNh  4 *=<><3xNh  $"-1  <3xNh 8 NLITERALZ T<><3xNh bBV><3xNh  f0< JVk` 0= JVg` < 0Vn` U< 0Vb` UWITHIN6r < < > 0Vmt` 0> JVn``l 0<> *JVfL`X "U> >02@b4`@ 6= T0Vg `, ND0=  bD=  N f h rD< 6J ~ XXb  J^g=VTN><3xNh  MINJ  MAXJ  UMAX J  UMIN J <  EXTEND   DABS  ~ N ABS ~ 2 6 6(DO  H b(?DO  ~ H tBOUNDS  ENDLOOP \M><3xNh ! (LOOP RUe<-Ih><3xNh ! ̆(+LOOP 02UQAk<-Ih><3xNh " I$0m=><3xNh"J@0-m=><3xNh6#:BRANCH d><3xNhT#X?BRANCHJ^gTL><3xNhp$t>MARK $>RESOLVE  $<3xNh&IF Z~ &0THEN  < &DELSE  Zb &ZBEGIN &xWHILE  Z~ T* T R~ b&REPEAT  Zb&UNTIL Z~'DO Z h '?DOZ | ' LOOP  Z Z '+LOOP Z Z ':LEAVE  V(VUM*z0-><3xNh,(r*0=><3xNh(M*  ~ 2 ~ 2x~ N(2* ><3xNh(2/ ><3xNhN (division overflow _26HjDD@i0HBJj JBgS@CDB==N*UM/MOD b0"iHA-><3xNh *VM/MOD0$a><3xNhx*|/MOD 04Ha|><3xNh+/04H2AjaX<><3xNhi(=><3xNh+MOD04H2AjaTN><3xNhiHB=><3xNh,*/MOD,4*/ <X,JU/MOD `,ZUD/MOD  ``-nCMOVE0<Ah<ChJ@gS@Q><3xNh0-CMOVE> 0<@Ah<@ChJ@gS@!Q><3xNh.MOVE J ~.PLACE6 .COUNTD<AhB@RV=><3xNh/:FILL j02<AhJAgSAQ><3xNh\/`ERASE h0,<+p<3hAh<+pTsh><3xNh0C, <+p<3hAh0<+pRsh><3xNh1HERE <+p=3h><3xNh1ALLOT$<+p0sh><3xNh1PAD TB1TIB include dskload.scrprggg2z>IN2BLK2SPAN 2TIB2QUERY TP4t  3/STRING 6 ==><3xNh844SKIP n02RA<AhSAg fRH``4dSCAN 02RA<AhSAg gRH``f am zn NuCtfVINuRIQNu6CAPITAL2a<><3xNh`6 CAPITALIZE <AhB@g SaQ><3xNh7 (WORDJBA08<Ah46+ÐCn7D`.R@S@gfR`"HR@S@g gRHRA`JAgRHˑ7H<+p<3hAh<SAkQ ><3xNh<9@EVEN  9LOADFILE L9SOURCE ~ -|;t9WORD H9PARSE>  ( 9&NAME (:XSTATE:nEASCII( v~ p:|,"  T". "$:"LIT rB:(" :"Z;(."B3P;." Z;A( T).;B.(  T).3P;.A\*N *N;BB\\ ;;^\NEEDS `"X~F;pHEX T;DECIMAL T BV><3xNh<DIGIT? <+p03h20k  k k_j<=<><3xNh= ACCUMULATE p02.4.<+p63hHABA҂Ҁ-A><3xNh= CONVERT B~b > B  >B~   T, R T. R T&~ T  T$~ T  TH~ T  T%~  ANDPL~ ~ N6 4  R4 BNUMBER?& B  6nx T-~ nx~ nx 2n x ~  n xbBHNUMBER R (? ~ CLAST CHIDE ~ V CREVEAL ~ V C$RECURSIVE.~ rCB IMMEDIATE T@TClRESTRICT  TTD CLEARSTACK <+p<3h FMh><3xNhJDHALLOT   6 ~ ~ 2   DHEAP  TDHEAP?$  $$ .; (_TG=><3xNhE4DOES>Z~ TNZhF?HEADXF|4 FALIGN "FHALIGN $ FWARNING4 "hX~(exists 2GBLK@ G:MAKEVIEW $KLGLCREATE X ` T ( invalid name " ~ F T Tb. ~TG=><3xNh|H^NFA? 4<Ah<fBf><3xNhAhTCh@R@2AA@@ g<3hBf“= ><3xNh I>NAMED~J n~bXB TIJNAME>z T ~I>BODY I.NAME~<~|B T3Pb???(JCREATE:h  $ J:~; Ix><3xNhFJ; Z$.J4CONSTANT h~=3x><3xNh0JJ 2CONSTANTh~NhKpVARIABLE h "K 2VARIABLEh ("KUALLOT P T <( Userarea fullPPKUSER hP P ~0+pr3xA=><3xNhlKALIASh T ~ T"b T TzL 4VP  !d!RX!Rf>,!RL jCURRENT!RL CONTEXT p  p L ALSO  p T (6Vocabulary stack full  p L TOSS  p~ T pM VOCABULARY h  DD~Nh M!FORTH! T@~ 2Bf><3xNh 0P!(FIND"j<Ah<Ch@( f2R@"D<gAh2shAfEh& TTtTBBoIf``&<gAhEh& "DfSk f`<=<><3xNh"\R"`FIND   V R~ Vr"h~X" p <~  VbX R"'`" (Haeh?R#<[COMPILE]#@R#T[']#@ pR#j NULLSTRING? ~X<3xIhTL><3xNh"S#z >INTERPRET #$T#NOTFOUND $#T# NO.EXTENSIONS(6Haeh?T# INTERPRET#%`"~ ~X#( compile only#4R ~##%`"~ ~X###4R~ ~ p p###U#A[ T$$#v U$] T$D$#v  (crashV$DEFERh T$~>3x<3xNhV$(IS  T# R T# R( not deferredV$BIS #@$v~ Z$' T ( tight stack.~<~b n1 (Dictionary fullW%$?STACK %<+p03h"@ AbN%H03h "Ak ><3xNh#N ( Stack emptyX%.STATUS$X%PUSH %X&(LOAD ~+T& & +f& & & +T%$X&$LOAD  &,Y&f+LOAD&nY&xTHRU   h "&n Y&+THRU  h "& Y&C-->  %Y&RDEPTH V Y&DEPTH v~ compiling okZ&(QUIT%3B$'bZ':'QUIT$'BZ'VQUIT r$'^Z'd STANDARDI/O Td (Z'|'ABORT $Z'ABORT'''l['SCR['R# ['(ERROR '(B3P(2~'''l['ڇ(ABORT"~2p~2p[(ABORT" Z([(LERROR" Z(6\(d -TRAILING(0g<Ah  V @fB@=><3xNh%](|BL ^ ](SPACE(36](SPACES  |( B V^(HOLD  ((^(<# ((^)#> (( ^)&SIGN  ~ T-)^)>#x6 T  ~ T T0)^)X#S )\J h~_)D.Rr ())6)F),6  (3P_).R  6)_)U.R )_)D.  )(_). )_)U.  )`* .S   T |"* `*C/L^@`*HL/S^`*TLIST 'Scr '*Dr ;**Z h$3B" )('-"*N*N(3P 3Ba*`PAUSE*><3xNh(a*LOCK  R~~*ba*UNLOCK * T _U"H7Ip0<<<(Mh<Kh<Ih><3xNh*b+ISFILE  b+JFROMFILE Lb+ZPREV b+lB/BUF^hfhNuc+~(CORE? +0.2<+psh<++vAhaf TNPH<3xNh+FAhaf20+v7H+v`e+R/W$Ef+BACKUP  & ~J  ~.& & ' &   +( write error  Tf,EMPTYBUF    ,r& & ' T +( read error+t~  R~+x*,  J   +x+ +t~ & ~g,fFULL?+t ~ & g-"CORE?+ h-D(BUFFER+,,bh-X(BLOCK +,,,bh-rISFILE@-<+p=3h ><3xNh+h-BUFFER --bh-BLOCK--|i-UPDATE  T+t &i- SAVE-BUFFERS +x*-~, b+x+ i- EMPTY-BUFFERS+x*+t~ ,rb+x+ i.FLUSH...+f-|--L~+t,r-*~.-6.^ T D-. <J ~$ f | T fJ.h b |J.h f .j.NCOPY  .j.CONVEY    (Nein !.k/ LIMIT^k/6FIRSTk/D ALLOTBUFFER/L + 4+ 2/L/L,r+t+tk/R FREEBUFFER /L/>+  ~./L, +t/L ~b/L+/Lk/ ALL-BUFFERS/L/`/L R~ T r <$D~\ n >   ~.<~ 0~ 0~  z bbm/REMOVE ~4<~  <b  ~ bXbD~ n0b  ~(J ~  VbbD0 h J" ~ T!R" T J  ~ T!R b0n0 CUSTOM-REMOVE$K01801z1$  o1CLEAR1o1(FORGET<( is symbol0$1o1FORGET #@ T^ ( protectedR<~b n1o1EMPTY T^1 TlPp24SAVE 1D n V ~ Tp2VBYE.V2<;3 T  R T R~ p2STOP?3~22 p2?CR3*N <~3Bh ~Nhpq2OUTPUT:~Nhq3EMIT 3q3.CR 3q3<TYPE 3q3HDEL3q3VPAGE 3q3bAT 3 q3pAT?3 q3|ROW3q3COL3Xh ~Nhpq3INPUT: ~Nhq3KEY3q3KEY? 3q3DECODE 3q3EXPECT 3rSEAL  T!br4$ONLY !br42%FORTH!Pr4>%WORDS!r4J$ALSO r4V+DEFINITIONS!D V n ~ +t/>/L/s4 'COLD$С T4r443j7`!3B T(XB3P3B4s4'RESTART $ T'B$'`;4 Th2 T$''N ( Bus Error !N (Adress Error !\ON (Illegal Instruction !\ON (Division by 0 !Mt4COLD 5 I4~>< <3pPMh\F7Fp>< <3pPKhB|@ fB?< NA'@5\<<5Ah!<<5,Ah! <<5JAh!<<5lAh!<<+Ah!><3xNh-v5RESTART60I4`jx6$BCONSTAT 6H0??<NMXO=><3xNh6 x6:BCOSTAT6p0??<NMXO=><3xNh6`x6dBCONIN 60??<NMXO2=><3xNh6x6BCONOUT60???<NM\O><3xNh6y6#BS^y6#CR^ y6#LF^ y6#ESC ^y7CON!  6y7CURON77 Te7y7&CUROFF 77 Tf7y7>WRAP 77 Tv7y7XCURLEFT77 TD7 9y7pCURRITE77 TC7 9y7STKEY?  6Fy7GETKEY 7~ 6b y7STKEY7.*7~7H7J7z3J  2r3P(3v >  >J  2 ( 33P3v {7STDECODE  TM~ ~7  TK~~7z > TR~ ~8> T ~6~ ~8 T~J ~7 86~736  3vJ36 R~  |8|STEXPECT 7 7 ~ 34b(|9dKEYBOARD 37789p^P}9STEMIT  T6 9*}9STCR 677799 99}9STDEL67(67 T9}:STPAGE 77 TE79 }:"STAT 77 TY7 T 7 T 799}:@STAT?99 T ~:xSTTYPE :6<JCg$k9SCAh/ ??<?<NM\ORF&_QN*~:DISPLAY3"99:: :,:H::/+5?< NA\OBgNA7H::B/BLK^;(BLK/DRV __;"BLK/DRV;.;;6DRIVE T;R>DRIVE  T ;jDRV?  T;DRVINIT;DRV0  ;Z;DRV1  ;Z;RWABS;/ 0<Ah2TA?+;??</??<NM&_=><3xNh6<?+;?< NMXO=><3xNh<<6?+;?<NMXO0@0=><3xNh<2;STR/W(no file  T; <~*beyond capacityX<~<4;.;;@ ~  b T ;v (not enough Parameters=?<<Ah/?<<3xNh??<>NAXO=><3xNh=:=X0B4<Ah//??<@NA =><3xNh=T< SAVESYSTEM 2^.V(B (missing filename = ( no device T`  T  T   =V ( write error=< ( close error=DOS!2>F ( Dos-Error #00>L ?DISKABORT  ~>Zh~Nh?( FILENAMELEN^?R?^FILENAME ?R?vFILESIZE ?R? FILEHANDLE ?R?FILENO ?R!?B/FCB^#?HANDLE -??LSEEK???/?<BNA -><3xNh=?POSITION  ? 4 @ POSITION? 6 ? ~?6 @* (FILEREAD@^0B4<Ah//??<?NA =><3xNh@ @P*(FILEWRITE =V @ (OPENFILE@?<<Ah/?<=NAPO=><3xNh@ @DTADISKAUX.EVT'@+67 F@DISKAUX.EVT @SETDTA A<Ah/?<NA\O><3xNh@ A*(CLOSEFILE =< A.+(CREATEFILE= A@SEARCH0A^?<Ah/?<NNAPO=><3xNhA* AR SEARCHNEXT A?<ONATO=><3xNhA| A(MAKEDIR A2<9<Ah/?NA\O=><3xNhA A(SETDIRA2<;` ASETDRIVE A??<NAXO><3xNhA AGETDRIVE B ?<NATO=><3xNhB BGETDIR BD?<Ah/?<GNAPO=><3xNhB4B8 (CAPACITY?J ~;`~ Br  T$;x@JB~?rB~ ;B@\ ~ B=V ~ Bf SCAN-NAME T  C.FILE ~ DIRECT !  VRC6.FCB ? )? T) (C> (?C3PC`!FILES +T+f^CPATHES A:\;B:\;N CPATHES?3B (CB3PCSETPATHC C$ T;CBC CC WORKSPACEA:\DISKAUX.EVT*D8J??lD8A\ D8J D8֝^ T;lJJ T;X D, (SEARCHFILEDCBDDDD|~ D8  T; ~XD SEARCHFILE D4 T?6@ TE66?DE(OPEN?~@AE(ED@?6?>$CAPACITY -~ EZBr;@ERFILER/W ~HLIST  (H*hH(PATH `B ~C R~ T; R~ C DF 4J V R~ - VH~ (not in direct modeH>OPEN HEZ HCLOSEHGzHASSIGN H-FDHHMAKE HFDEIUSE`"~H~~XG#@XHIMAKEFILE G#@XIITFROM +T& II|LOADFROM +T& +f& I&nHIINCLUDE IIEOF-?@66? xIFILES T*.*BFIFILES"  T T"BF-??@?6-?; f6D-;J(hJ?=V?6; ~H( Disk vollJ*I(MOREE | "J@ JrMORE HEZJzH`BDJMAKEDIRJA?6JDIR`B ~$BJ BB?63B ( TA36:C3PDA?6h~NhAJA: KKB: KK&C: KK2D: K^ 4~ ?KH K>(VIEW 4KHbF~J? R~E(C!KpREMOVE?<~J <  +TKX~ C+fKX~+f F~K~GzbF0-+f+T+f"KCONVEY  <J LE > LE > ( wrong range!/L" FORTH_83.SCR GFORTH_83.SCR Ln FILEINT.SCRGLFILEINT.SCR( L DSKLOAD.SCRGLDSKLOAD.SCR(h T7GLASSEMBLE.SCRL !<>0 V Mh"MfMbh~NhMbXMMMMMM M ~MMMM0@ TM T0@M T)MV~NhMMMMM0M T) RN~ T@ T h T"V V~Nh T^^^^^^ ^ ^^H^I^J^K^L^ M^ N^ON^N^N^ N^hN^^^^^^ V~NhNNN8N?NN NNN (needs Data-RegisterN R(needs Adress-Register^ N^ M^L^KNMNMN RN RN TNN RN R~2MMN TN~ TNNMN T O~ OOMbO~0OOP ~r  b Pb PP~,P  R~ Mb MP TV~NhPNNMNMPXPPPPP P V~NhNMP

M T`VVVVMR^f^g^j^k^l^m^n^o^e^dM& M OhOlMOdNNSNWNSNWV MbbM&  ~MNNSNWMOhNM M ~ TM  M 2 W| ( out of rangeN WXVMT$MLMh VW ZW$.Whx (M n$ ($B T~Nhv~ pM MMXWGM(BASICS.SCR( > f!<MRALLOT NX ALLOT NXALLOT UT YALLOT UT YpALLOT IALL0VALLOT RL Y^Y^Y^Y^Y^Y^YALLOT AL Y^Yh | YYXYYYYXXYYrALLOT BZ*ALLOT BZD T hZ"XZ*"D T hZ"XZD"D Z0<AhS@1Q><3xNhBbZ<PFAh0<1Q><3xNhZZ<Ah0<=Q><3xNhZ[ 7^Y7^Y7^Y07^YBkY @pf7|Y<<3xNh[[P7^Y7^Y7^Y7kYY<<3xNh[LY T T T [  T [ h~Nh[[[[[[[[ TM T [ YY [ TX T h "  X T Td T [NY T Y  [N Te [N ( [NXX (Z T [NZZ[|[\\T[\X Tz [N T{ [NGXbAES.SCR T [ X Z T  T [ X TZ T T T [ ALLOT AGE]4]4XYD T [ X Z T [ 3]xX T ]4XYD T T T [ X Z T [  ( Menu-Error\YD[ X T ]]X Z T ]]X Z T ]]X Z T! ]]Y DX T" ]]YDX T# [  ] ( Object-Error\YD [ X Z T( ^^X T) ^^X TZ T* T ^^X (Z T+ ( ^X T, ^^Y Y X Z T- ^^X (Z T. ( ^^Y X  TZXX T/ T ^^X\YD T2 [ X T Z T3 T [ XYDX T4 [ X T5 [ \YD T6 T [ Y Z ( Graphic-ErrorX T (ZX ZX  Z TG T  [ `Y Y X T ZX ZX  Z TH T [ `X TZ TI T [ `X TZ TJ T [ `\YDX Z TK ( [ \YDX Z TL  [ XaYD TN [ ` TO T [ A:\*.* B ~  Va@ XYDah XY D TZ [ ( File Errora@azahazY G\STRINGS.SCR0b<Ch0fBV><3xNh[zS@<AhVB@ !H=><3xNhb am zn NubT<Ch0fBV><3xNhb>S@<AhaaVBA a!a=><3xNhbja~bRbb   a ~~.Jb ~   >b     ~J(h6  6chBchB >r  X 2 >  T". "$ v~ZcZ  c (Resource-ErrorXYD Tn [ dcZd  To [ dX Z Tp [ dYYDX Z Tq [ dYDX Tr [ GaVDI.SCR GdALLOCATE.SCR d/?<HNA\O,NJ ( No more RAMe/?<INA\O=N( mfree Error!^GeN<+eFAh P `Gf ><3xNhbN T TdJeH  feDDe<<3xNhehe<+eFAh'HY<WgVWg>-gV-g>SgVSgjgngjgrgngf TCg, gf TRg, TRg,gggg~ T ggք{|}~[\]@^ T ~fh h""h R~"h^ gfgh h`gg hdh` gh` > h`ghd h` hd ~hhd  |ht h` ~gh` h` (hdh`h` | "h 3"hhhthhhhhiggg) volksFORTH-83 FORTH-Gesellschaft eV gg(c) 1985/86 we/bp/re/ks ggHgg Seite *3B )(*NB*N (h-B*N-B*N *NB*N (3P3B3B T(gg () T( ()gg3B*Z h J"i i(J   |(Jr ~ b i  3jEJ ~b i(J  |j^i 3j jj*& i E J   (  |J " jv j+  E >jGfDISKAUX.SCR GkPDISKAUX.VCD Vh." ۶۪۞ےۆznbVJ>2&^^^^^^^^ ^F^^U^^G^^V^^H^^W^^I^ ^X^&^J^(^Y^%^E^)^T^ ^ ^^^ ^ ^^^^^^^^^^/>/n>EIUdp&dYpddp&Yd&Yd<~HQ~]CLT]KT\eowowHoQwYobwYifv"2lGkzDISKAUX.DIV (~`" (in-lexb hn~NhJ6 R ~  (b~X b n20I||0|:m^@||0|:m^A==><3xNhen02|Am_@||Am_A|HA=><3xNhnn02i=><3xNhno 02i=><3xNho T, h  T To  To2 To2 T o2 o2 o2oL\\oBY T [NX (Z otX T [NX T [NX T [NX T [NX Th [N o o (o o oo o T TooX Z Ti [NYZdp" ( 2~ oob p: p:~p` dT\D T \ fp T T f6p T T f8  T T^p T T fJ Tp T T fJ T 2p T T f6BXd  f  J  fh~  bJ X6ALLOT UFFqtpJ T T f >qt TM))), q&pqt TMqDqtB(l > 6X( R ~oLp _q~b d ~p6 qp T h 6 6qp* ~ brbrP T T ~2 T ~  Tb T ~ Tb Tb TrbrPplpx ]lpxl. T T T^k Tl2rk l6rk TlBrk TlVrk TlRrk TlFrk Tlbrk Tlfrk Tlrrk T lvrk Tlr lmmp` lmmp` T kl2rt T klBrt T T kl2rt T T klBrtklvrk Tl:rk l>rk TlJrk Tl^rk TlZrk TlNrk Tljrk Tlnrk Tlzrl T l~rk Tlr l mmp` l mmp` T kl:rt T klJrt T T kl:rt T T klJrtll~rk kkkk&k%kFkGkHkIlJkkkk k(k)kUkVkWkXlY ~rbp buumhm^l plmml >pluum|mrl plmml  >plX vv"vv"DRIVE B VORHANDEN ? DOCHNEIN FEHLER !!! WEITERABBRUCHDISK B IN DRIVE A  RETURNDISK A IN DRIVE A  RETURN WAIT U/min   TASTE lpx T T T TEf|lp6 T~ T>b Ti T/lp T T f  h "pq& l.pwodM_ol q T T T TEflpx T Tf|lpx ]lpx ] T Tflpxwpl&pxl.pod_ol qwol T Tf|l*px pl.pod_ol q  R p6qD T TflpxGmDISKAUX.ED` EALLOT MEMxxxXxDѰѤіEшzl^Rx (nx T T3vy T) T T  T0 T: y y  lry yy lr o o T Th Th Txoy0< ^"^8Q0<BJ||0|:m^A||0|:m^BRH|fRHQ><3xNho (nn Tn To n TnxD (n x fxyyx TH3Px  T <~ T T T h" (3vz&  T T T@ T T Tpf\ T (3vz& T Tp T@ T T Tf\ T (3vz&x To T  Tx~ o   T b T<3vy >y TJ T 2 <~j <~$ Tx T 26bx T  T <~ T x  Tzbx T  ~ T x ~ >zxx x r T T fy T T ~* Txr T 26 ~{&bxx  T T 26 T ~{x x|x xx (nx f T~ T|hnx ~Xbnx~||xx To  T (3vz& Ty8xr 6yF T TA TG 6 (n x fxyyx TH T  h"y8 ~ T." TH3Py  (o  T~ y (o ig h "}d3B : nRP{&H{K|RM{s|t|}yTyf}}*~ T|{ b }~X7 ~xx THMJxD y >y  (o  T~ x x x y xwl"pxpyz T Tlq T Tlqy  lq lql.p*dd  ~~N zFy"z3~~B~wbGxdDISKAUX.FKTH602i=><3xNhyL02 ^JAgSAQ><3xNhHl|><3xNhh~|><3xNhz3>><3xNh3>><3xNh T h  4$$  T T T T   T@ T T` T T T TL T T  TL T T  TL T T TL T TL T T T T T Ȁ T Ȁ T Ȁ T  T  T  T ( T Ȁ T T T Ȁ T Ȁ T T T Ȁ T  T Ȁ T   ( T&    ><3xNhL"BBB9 9 9 m4<=><3xNhH333><3xNh|0<9gB@=><3xNh03><3xNh‚03><3xNh؂09=><3xNh̦x T4 T@x Tʃ~b܀x  h~"^ Rx T$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Д$$$К@$КV$МP$Мd$М<$МF$ЕR$Е^$Е"$Е.$Е:$ЕF$Кp$К$К$К$К$К$К$Л$$Л$К$Л^$Лr$$$Л$ЛN09<><3xNhl T l T Ȁl T l T Ȁ T (~b~b ~bl ~bl ~ b~bxl`TڅV ( ~ jL| Tʃ Tʃڀ ڀ 309f$@|9<<FNuV TV T TT T h$J ~ JD^ T T f X8 T T8  TZ TZ TZ T Z T@Z TZ TZ RxnNDV؃܃ ~6r"GBBP$Ї& & & D2 f D2ڃ f Zx fz~ Ȇz  䃤ƃЃJ z T$ Tl$䃞 TF$ TN$ Tk$䃢 Tk$䃦 Tk$䃪 Tk$䃮 Tk$䃲 Tk$䃶 Tk$䃺 Tk$ Tk$ Tk$ Tk$䃾 Tl$΅V~ T$ Tl$䃞 TJ$ TR$ Tk$䃢 Tk$䃦 Tk$䃪 Tk$䃮 Tk$䃲 Tk$䃶 Tk$䃺 Tl$ Tk$ Tk$ Tk$䃾 Tl $΅V~  ȃ  ȃ  T  䃼 >  . f h~@^JJ~@^ R.$ T~ ΂~ Zx `~ Ȇ T&$0& fD T2$0P T T&$0Z T$ hx `x~^ ڃJ ~ b "& T T fJ T T0 h@Jh R~^ ~*Jb T T f d  T T & T ~ bڃ  ΃ڃ䃠  < ΃ ڇڃ ڃ\V\2jDVD2j\V\2j D TXFF h."b~^| R~4|4" 2DD2 ~ ȆF& ~ڃDb FF h."r R~4r4b~@"  T$B"" x~H&2 ~@b  T^$B" ~H2Db  & fh ~n T h$" ~^" ΃" ~^䃼 J >  T4 Ȍ䃠 ~bƇ&D 4 ،~ b Ƅ,~ Ȇ Ȍ샰 ~ Ȍ R~ 4b Ȇ T'~ TO4 TP T  4 TP T 4 TR T 4 TR T 4 T( T 4 T( T  4 T T R T Td TP T JdJJDD fD~ ȃ T$ކІD:: T$ކ6&eD2N< N N( T Ə   T( Ə T: ( T< Ə   T ( R~ > T T2JJ  f ~ (b  D  T    T& Dڏڃڃ  hB T J ~"  J ~b    TX T&$0䃼 >ڃF h("  R~ 4 4" D TV T6   ~2  T b  x ڏb (4p  l^l T T  T T T T T > T R~  TP ~ Tb T TD Th Tx T  Tb T  TH    Tv T Tp   T   T TP  TX  T<   ~ 䃼 ~b   h""䃼 ~  T^ ڃ  < > ~b" T&$0..lD4 D4ôTè Ò T TdD  TO T 6x6܀x  T T%3v))\)\ T.))),3P 3~ T Th T ~~b b@~:~b ~ 2b  > Ȕ&bDZ& R6mrp:~ mdp:m†np:m̆xp:mֆp:mp:mꆠp:vm^mhp`mhm^p`mrm|p`m|mrp`llp`llp` ؆D FEHLER !!! WEITERABBRUCH DISKKAPAZITT <> RETURN BUFFER ZU KLEIN RETURN BUFFER LEER RETURN >TRACK ZU KURZ< RETURN IS NICHT >1?WEITERABBRUCH ERST LADEN ! RETURN FILE NOT FOUND RETURN DISK ? RETURN READ ERROR RETURN WRITE ERROR RETURN CLOSE ERROR RETURNv T0$"//??<?NA -><3xNht0$"//??<@NA -><3xNh>?</NATOм @-><3xNh:ª~  bA:\*.*ola@  TA R~bꇘ6a@ D8`  ah ȗ` a@ ΄~ TAb TBD T Tf|odaol T Tfod~: ~ bR~JD8=\ ~ T b0&:\ڗ: ~ T b\=<~ T ~nD8 A\ ~ T bXD8@\ ~ T b>&<\ږJ& fD T T ~ T b\=<~ T lj     ( ~bƃJD8BX* T T f T6 ~DD8x ~   Tș6 h^":&Jh ~d^J T T fh T R~d^ T T fJ&  T  ~ 6~6\lpx\Dj&~vbv"2&~l2bl:rb2l p:: p:l p:: p:m p:: p:m p:: p:m p:: p:m" p:: p:m@ p:: p:l p:: p:mJ p:: p:mT p::B p:vw: T T T TEflpx~Bm, p:: p:m6 p::: p:m p:\ p:m p:m p: p:l p:l p:m p:m p:m p:m" p:m@ p:l p:mJ p:mT p:m, p:m6 p:lpx T ^B T ^Bo T 8 T8 T28vwvww R~vbw R~V :~.&J: T T ~:b T T foL~b ~&J T  foL~b T~s(btT~sFbtr~sfbt~sbt~sbt~sbt~s8btd~svbt~sVbt~sbt~sbt~ mmbmm R~  b p`GDISKAUX.EVT@ nRa0be|G4rw.c .$8<.( 0&,/vts!f&l!,& >-x4)#Pbtx"-#hvN dvX J Zw:"*1;<=&>.nRZ0!" #$[,*8+<,(4/.21 |\ s(sFsfs&s%sFs8GsvHsVIsJs s t t t4EtJDsCstTtrt t(t)tUtdVtWtXtYtu"uJu6u`TuvSuRunRvD vN!vX w&.#X$f%<&J() *.,:-$.J/Z0j1z*Y T ڞ ~Xֿ> BlpxY _ ~" >~ T  ( T ~X]4 T R~]4 Tȟ~Xlpx ^B T X TZ]4XYD]֠"`  h""~"p^ \p diskaux.rsc d al&px_l"px T TJl.plpx T Tl.pl*px T Tl.plpx Tl.p T T 2lp Dslpx ]dB\lpxodolo6 ~oL2  x x$ %8U%P DRIVE A DRIVE B EDITORRESETSektorTrack+--+ ___nnn ___nnnSektorTrack+--+ ___nnn ___nnnREADWRITECOPY Sektor bis ___nnn ___nnn Sektor bis ___nnn ___nnnREADWRITECOPY Track bis ___nnn ___nnn Track bis ___nnn ___nnnREADWRITECOPY SEITE 1O SEITE 1ODISK ERRORLOST DATACRC ERRORREC. NOT FOUNDGEL. MARKWRITE PROTECTTRACK 0DISKDATENSeitenTracks/SeiteSektoren/Track1.Sektornr.SektorgreStep21+ _n ___nnn ___nnn ___nnn ____nnnnSeitenTracks/SeiteSektoren/Track1.Sektornr.SektorgreStep21+ _n ___nnn ___nnn ___nnn ____nnnnDISKDATEN EINLESENTRACKDATEN EINLESENVIEW ADDRESSMARKS Datei Formatieren Ausgabe Step Speed Einstellen DISKAUX-------------------- Desk-Zubehr 1 Desk-Zubehr 2 Desk-Zubehr 3 Desk-Zubehr 4 Desk-Zubehr 5 Desk-Zubehr 6 load save Bye Skew 1 Skew 2 Skew 3 Skew 4 Diskname Read-Track hex dec 2 ms 3 ms 6 ms 12 ms Test 2 sec Test 6 sec Test 10 sec Atari DS Atari SS 82T 10S 828k 82T 11S 912k 40T DS 1step 40T DS 2step12345678123456781234567890123456789012345Memory: bis 12345_____nnnnn12345_____nnnnnAusdruck: bis 12345_____nnnnn12345_____nnnnnDIESES PROGRAMM IST PUBLIC DOMAINES DARF IN UNVERAENDERTER FORM WEITERGEGEBEN WERDENVERSION 1.00 - 26.03.89Echt pfiffig !GESCHRIEBEN VON KLAUS UND PATRICK ROGALSKI - HAMBURGaaaaaaaaaaaDISKNAME: ________.___nnnnnnnnnnnAbbruchOKD$$$$$$$d"D %  @??0xxx0|<<>><><<<|?>?<<|wxxx?xx|~?>?@?j>@>>j>@>>j@=^jN@3fj@j@jAkB Bj jBʜBj%*jB%+Bj)*jBʸBjjBBjjBs9BjDjBDBjdjBDBzDjZC$BzjBBjj||||||||||||  $$$ ' $./ 0:; <CDEKLZ\]^`abdefhijnrvz~!%)-1678>?@EFG_`aeimquy      '()34 5CDEMNOYZ  "#$&'(*+,.026:>BFJNRV[`exyzdmn oxy z 9:";op4q5 \N x     4    (  M T  <   X   t       4           8   T p   $  ,    ! 44 P l"  #$  $,  '%&&$ *()04)L 'h+ ,$ -, 0./  / - 312,B  2H 0d 4  5  6  7  8.  9 8  :(E  <;; D :K=J>[?b  @o A~  B CD` E| F GH I J <$ZLY4MN  O P  Q RS@ T\ Ux VW X Y K[   \<  X  P P :       ! ' .  +P  #6I \ov} " !!'#&#$%&"+(*))*' ,10-./(071F+ Ut     I   8)Tp ' 0  ' @$ @$ &0'  0     '/'(""#$ DISKAUX wurde mit volksFORTH 83 der FORTH-Gesellschaft e.V gescrieben. Das Programm ist PUBLIC DOMAIN und darf in unvernderter Form weiter- gegeben werden. Fr Verbesserungsvorschlge und Ideen sind wir dankbar. Fr Schden, die durch die Anwendung des Programms entstehen bernehmen wir keine Haftung. Klaus und Patrick Rogalski Harnackring 50 / 2050 Hamburg 80 FORTH is the answer ! ... What was the question ??? ----------- ANLEITUNG FR DISKAUX ------------- Version 1.00 - 26.03.89 DISKAUX ist ein Gem-Programm zum Experimentieren und Arbeiten mit Floppy-disk Laufwerken und Disketten. DISKAUX greift dierekt auf den Floppy-Disk-Contoller zu und wird nicht durch das Betriebssystem kontrolliert. So knnen auch fremde Formate , soweit sie der FDC verkraftet , bearbeitet werden. Eingelesene Daten werden in einem Puffer zwischengespeichert dessen Gre sich, je nach vorhandenem Speicherplatz, dynamisch einstellt. Dieser Puffer kann als Hexdump eingesehen und editiert, in einer Floppydatei gesichert oder von ihr geladen werden. Funktionen werden durch anklicken der entsprechenden Box oder von der Tastatur aufgerufen. Die dafr erforderlichen Parameter sind in die grafische Benutzeroberflche eingebunden und knnen hier auch gendert werden. Whrend einer Operation wird, wenn erforderlich, die Anzeige aktualisiert. Fehler, die der FDC erkennt, werden in der Boxenleiste angezeigt. Ein Kommando, da auf Diskette schreibt, ( write/copy/format/diskname..) tut das ohne Vorwarnung, nimmt keine Rcksicht auf wertvolle Disketten, Wehklagen oder Aufschreie und ist nur zu bremsen durch Schreibschutz !!! Ebenso wird auch auf Wunsch versucht Track 100 anzufahren auch wenn das Laufwerk noch so meckert. ACHTUNG: F1 - F4 formatiert ! STARTEN: Nach dem Starten von DISKAUX.PRG stellen sich alle Parameter auf Atari DS Diskette, Track 0 Seite 1 und Laufwerk A ein. DRIVE ANWHLEN a b a / b oder anklicken von DRIVE A oder DRIVE B whlt das aktuelle Laufwerk an, auf das der nchste Zugriff erfolgen soll. DISKDATEN Parameter einstellen Die Diskparameter gertennt fr Drive A und B in den Boxen unten links und rechts angezeigt und eingestellt. Zum Abndern die vorgegebenen Ziffern anklicken und neu eingeben. Eingabe von der Tastatur nur fr das aktuelle Laufwerk. SEITEN # 1 oder 2 , ein- oder zweiseitige Disk. TRACKS/SEITE alt t normal 80 je nach Drive und Format mehr oder weniger. SEKTOREN/TRACK alt s normal 9 abhngig von der Sektorgre, bei 512 passen nicht mehr als 11 auf eine Spur. 1.SEKTORNR alt 1 die niederwertigste Sektornummer auf der Spur. SEKTORGRE alt g durch Anklicken von [+] im Raster 128 bis 1024 einstellbar. Atari hat 512. STEP alt x 1 oder 2 , 2 = Doppelstep fr Disketten von 40 track Laufwerken. TRACKDATEN EINLESEN alt l liest die Vorspannfelder von der aktuellen Spur und Seite in den Puffer und stellt SEKTOREN/TRACK, 1.Sektornr. und Sektorgre ein. VIEW ADRESSMARKS v knnen die eingelesenen Vorspannfelder angesehen werden. Track # , Seite # , Sektor # , Sektorgre 0=128 1=256 2=512 3=1024 und Prfsumme ( word ). Ausdrucken siehe EDITOR und aussteigen mit ESC. DISKDATEN EINLESEN alt d ermittelt physikalisch, durch Leseversuche Seitenanzahl, STEP und TRACKS/SEITE. 1.Versuch: Spur 0 Seite 0, Vorspannfelder einlesen 2.Versuch: Spur 0 Seite 1, bei Fehler = einseitige Disk (SEITEN=1) 3.Versuch: Spur 1 Seite 0, bei Fehler = Doppelstep ( STEP=2 ) 4.Versuch: Spur 39-43 bei Fehler = TRACKS/SEITE 5.Versuch: Spur 79-83 bei Fehler = TRACKS/SEITE , RESET Gleichzeitig werden auch die Arbeitswerte in den oberen Feldern gesetzt. ARBEITSWERTE werden in den oberen Feldern fr Drive A und B getrennt eingestellt. Rauf- und runterzhlen mit [+] [-] oder Eingabe durch Anklicken der Ziffern. TRACK t zeigt die aktuelle Spur an. Eine nderung des Wertes positioniert den Kopf beim nchsten Kommando der oberen beiden READ WRITE COPY Funktionsblcke auf die gewhlte Spur. SEKTOR s wird nur von dem in gleicher Hhe liegendem READ WRITE COPY Block Benutzt und bestimmt den einzelnen Sektor der angesprochen werden soll. SEKTOR n bis n f l stellt die Sektordistanz fr die Funktionen mit mehreren Sektoren ein. ( die unteren beiden READ WRITE COPY - Blcke ) TRACK n bis n ctrl f ctrl l fr die Operationen ber mehrere Spuren ( ggf. Seiten bei SEITEN=2 ) im unteren READ WRITE COPY Block. TRACK oben dient jetzt nur als Anzeige. SEITE x whlt Seite 0 oder 1 fr die Funktion oder Startseite fr Operationen ber mehrere Tracks. READ WRITE COPY Funktionsblcke Diese Kommandos sind in drei Funktionsgruppen angeordnet. Bei allen spricht read und write das aktuelle Laufwerk an. Copy liest vom aktuellen Drive, schaltet zum Schreiben um und dann wieder zurck. READ WRITE COPY oben r w c fhrt das FDC-Kommando read-sector und write-sector aus. Eingestellt sein mssen: DRIVE , TRACK (oben) , SEKTOR (oben) , Sektorgre (Diskdaten) ggf. STEP (bei 40 Track Disks). READ liest die in Sektorgre vorgegebene Anzahl Bytes in den Puffer und WRITE schreibt 'Sektorgre' Bytes aus dem Puffer auf die Disk. READ WRITE COPY mitte ctrl r ctrl w ctrl c entspricht dem FDC-Kommando read/write-sektor mit gesetztem Bit fr mehrere Sektoren. Die Voreinstellungen sind wie oben, allerdings der oben eingestellte einzelne Sektor ist bedeutungs- los, dafr wird die Sektordistanz ( von bis ) einbezogen. READ WRITE COPY unten alt r alt w alt c ermglicht Operationen der oben eingestellten Sektordistanz ber beide Seiten und mehrere Spuren. Eingestellt sein mssen: Die gewnschte Trackdistanz ( von bis ) funktioniert auch rckwrts oder zwei gleiche Werte fr eine Spur. Die Sektordistanz, die Sektorgre, Anzahl der Seiten, bei 2 Seiten wird pro Track Seite 0 und 1 gelesen oder geschrieben, die Seite mit der begonnen wird ( normal 0 ) und ggf. Step. In der Grundeinstellung wird die Disk komplett in den Puffer ( wenn der gro genug ist ) gelesen oder aus ihm beschrieben. Kopieren funtioniert bei zuwenig Speicher automatisch aufgeteilt. Ist die Datenmenge ( Tracks * Seiten * Sektoren/Track * Sektorgre ) von Quell- und Zieldiskette ungleich, erscheint eine Fehlermeldung. 40 track Doppelstepdisketten lassen sich hier in 40 track singlestep Disketten verwandeln. Zur Fehlerprfung Diskette komplett einlesen. Tritt whrend der Operation ein Fehler auf, so bleibt die Anzeige fr Track und Seite erhalten. Durch lesen der einzelnen Sektoren ist der fehlerhafte Sektor dann zu finden. RESET home fhrt das aktuelle Drive auf Spur 0, setzt TRACK auf 0 und SEKTOR auf 1. Sektornr. EDITOR E Mit dem Editor knnen die in den Puffer eingelesenen Daten durch- geblttert und verndert werden. Der Arbeitsbereich ist auf die Gre der eingelesenen Datenmenge eingestellt, wird jedoch nicht grer als 32k. Die Ausdruck-Startadresse wird mit ctrl. A und die Endadresse mit ctrl. E eingegeben, ctrl. P druckt den gewhlten Speicherbereich aus. Die Cursorposition wird oben links (in dec/hex AUSGABE vorgewhlt) angezeigt. Bewegt wird er durch die Pfeitasten. ctrl. Pfeil rechts wechselt in den ASCII-Editblock und ctrl. Pfeil links zurck in den Nummern-Editblock. ESC beendet den Editor. MENUELEISTE DATEI LOAD ctrl g Laden einer Gemdosdatei in den Edit-Puffer. SAVE ctrl p Sichern des Pufferinhaltes als Gemdosdatei auf Diskette. BYE ctrl q Diskaux beenden. FORMAT SKEW 1 - SKEW 4 F1 - F4 Formatiert die Diskette im aktuellen Laufwerk ber die eingestellte Spurdistanz ( Track n bis n ). Stimmt die eingestellte Spurdistanz mit Tracks/Seite (DISKDATEN) berein, wird anschlieend ein nicht ausfhrbarer Bootsektor geschrieben. Bei zu 'engem' Format werden die Gaps soweit wie mglich zusammen- geqetscht. Bentigte Werte sind: Trackdistanz, SEITE, Seiten, Tracks/seite, Sektoren/Track, 1.Sektornr, Sektorgre und Step. SKEW 1 formatiert ohne Sektorversatz (die Sektoren der Spur in auf- steigender Reihenfolge). SKEW 2 erstellt den kleinsten, fr die gewhlte Anzahl von Sektoren mglichen Versatz. SKEW 3 und 4 dann den nchstmglichen. Anzusehen ist das Ganze nach dem Formatieren mit Trackdaten einlesen und view Adressmarks. DISKNAME ctrl n schreibt einen neuen oder ndert den alten Disknamen auf die aktu- elle Diskette. Das Programm durchsucht ab logischem 11 Sektor das Inhaltsverzeichnis nach dem vorhandenem Disknamen oder einem freien Platz. WICHTIG ! Die Parameter in DISKDATEN mssen die der eingelegten Diskette sein. Zum Ausprobieren Diskette mit Schreibschutz nehmem. Wenn das Programm dann Abbricht ist nur der Puffer beschrieben und kann ber EDITOR angesehen werden. READ-TRACK ist das read-track Kommando des Controllers mit seinen Lesefehlern. Es endet meist mit LOST DATA. Die Daten die in den Puffer geraten sind, werden mit EDITOR sichtbar. AUSGABE HEX h schaltet die Eingabe und Anzeige aller Werte auf Hex und DEC d auf dezimal um. STEP Hier lt sich die Steprate des aktuellen Laufwerks getrennt einstellen. Die Grundeinstellung ist fr beide Drives 3 ms. SPEED u zeigt die Umdrehungen pro Minute des aktuellen Drives an. Wenn genauer gemessen wird dauert es auch lnger. EINSTELLEN Grundeistellungen fr die Arbeitswerte und Parameter ( DISKDATEN ) einiger Formate. ATARI DS ctrl home Stellt wieder die Anfangswerte fr doppelseitige 80 Spur 9 Sektor Disketten ein. ATARI SS wie oben fr einseitige Disketten. 82T 10S 828K 82 Tracks 10 Sektoren 2 Seiten, so formatiert passen dann 828 kilobytes auf die Disk. 82T 11S 912K auch hierfr wird der passende Bootsektor erstellt. 40T DS 1 step 40 Track Format von/fr 80 Track-Drives. 40T DS 2 step 40 Track Format von/fr 40 Track-Drives. . 9[.. AUTO :\EMULATORTXT u`jLOMIHI ACC xf$. ;\.. 9[COLOREMUPRG r] ` taHyl?<&NN\?</<?<1NAHy?< NA\?<NNT|gHyI?< NA\` gHy?< NA\BgNANu#*n##6@|A r м#B9H9# yV!|3 F#r#v#z#~#,r#dv#z#~Nu3 3 #.R/9Nu3 /9Nu3 3 #./9Nu3 /9Nu3 3 #./9Nu3 /9Nu3 3 #./9Nu3 /9Nu 9Lg 3`3 BBNufNh` O\ Pfp9L<Ns Pf 9Ns Pfl g#N g# h g(ByR LadHNL3R 9Lf / 9a Ns yN@|HFNuB9H9` 9Lgg# 9Lgf 9aJy fTJy>fJ&|r0929y&fy&g a&09&29&33a y$HP"y09 9Lg04040404040404040404040404040404040404040404040404040404040404040404040404040404PPQR̳ؑ}fɑ##Nuy%y% 9Lg|l|m|n|m|pl8<`8<|l:<`:<ǚAH"y y$HPJDg"<$<04QNu"<$<0404QNu4<BAI0BAI0BAI4BAI4XQPPQ`԰|?l|m|n|m|0l8<`8<|l:<`:<ǚAH"yH y$HPJDg@$<&<BAI0BAI0BAI4BAI4QNu$<&<BAI0BAI0BAI4BAI4XBAI0BAI0BAI4BAI4QNu Farbemulator by Bernhard Baier Version vom 10.03.89 Nur lauffhig mit ROM-TOS vom 06.02.68! Nur lauffhig mit monochromen Monitor!  03<? 03<?   0 3 < ?  03<?000 000030<0?00000000333 330333<3?33333333<<< <<0<3<<00f&0.@A$>10.@A$>1 ` Rn nmN^NuNVBn`*0.@A$>00nf0.@A$>BpRn nmN^NuNVH>.=|\A$>"HPgXHf0(LN^NuNVHHy#P/.NPfBG`Hy#V/.NPf><`Hy#\/.NPf><`0. |gR0. |?/.?<=N P>J@m 0. |g&JGm??<>N XBg/.?<`j0. |gD0. |?/.?<=N P>J@m"??<>N XBg/.?<`0. |?/.?<=N P>JGl 3#0<`?. ?N8X0LN^NuNV/.?<HN \-@ .f-|3# .N^NuNV0./NFXN^NuLB@ggSBAgHJ@gHANuNVH*n (MBn ng?.NT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@N O <Hg 3#0<`dA&H0f~ =@`J/ 0./?.?<@N O -@2.¼g .3#0<` .n0.L8N^NuNVA)#)A$#)A% #)A'#)A%#)A$ #*A)#%?< N2T3''09'N^NuNV3% 3 % 3 %3%3%3%3%3%3%3%3%3% 3 %"3"%$#$%3(%&3*%(?<N2T n,0' n00' n40' n80' n<0' n@0'09'N^NuNV3% # %?<4N2TN^NuNV#%?<6N2T n 0' n0' n0' n0'09'N^NuNV3% 3 % 3 %3%3%3%3%3%3% nf 3#3#3#3#?<3N2TN^NuNV n0# n 0# n0# n0#N^NuNV#%3 % ?<2N2TN^NuNV3% # %?<#N2TN^NuNV#%3 % 3% 3%3%3%3%?<*N2TN^NuNV#%3 % ?<rN2TN^NuNV3% ?<kN2TN^NuNV3)0.| AHЈ-@=|` nR2.AA)H1Rn nm/9%NX09'N^NuNV3$(By$*By$.3$4NBN^NuNV .3$6 .3$8N^NuNV .3$: .3$N X=@g3#0<``0<NqN^NuA$'Xy' !J"/0<NBYy'A$'"P$hNu LOMIHI.RSC# (& !#"#$ " 1         % /1   (&'  ( #       %     '% "BDFLPX^h  : V t !!!!D!F!H!l!n!p!!!.VLO-MI-HIMit dem SM 124 (Monochrom-Monitor)OKalle drei Auflsungen im Griff!FARBEs/wABBRUCHINFOLO-MI-HIBooten Sie mit COLOREMU.PRG im AUTO-Ord-ner. Sie knnen dann mit diesem Acces-sory zwischen Farb- und s/w Betrieb um-schalten.Knnen sie mit diesem Programm etwas an-fangen und haben Sie zufllig 10 DMgriffbereit: Nur her damit!Meine Adresse: Bernhard BaierBlumenstr. 1a, 8608 Memmelsdorfoder KTNR: 810 732 123 BLZ 770 50 110Kreissparkasse MemmelsdorfKreissparkasse MemmelsdorfLegen Sie Ihrem Brief noch eine (forma-tierte) Leerdiskette zu, erhalten Sieden kommentierten Sourcecode & dieneueste Version des Emulators!Weiter Neue AuflsungLOMIHI.RSC[1][Leider, Leider!|Nur mit ROM-TOS|vom 06.02.86|][Schluchz!]f # CON:AUX:PRT:* $$.$:*$ > :$ $, *(   &   >"*& *0"8."  (l@ (X&>&. . 4&f.,*   ."(N8 $           & ~P. Dp.. BOXTEST C |qBOXTEST PRG rFSELECT INS ycFSELECT PRG ~7PATCH PRG v_READ ME int exbut; char msg[128], path[300], fname[30]; main() { appl_init(); fname[0]=0; do { printf("\033HHeader=\033K"); gets(msg); printf("Path =\033K"); gets(path); if (msg[0]) fsel_exinput(path, fname, &exbut, msg); else fsel_input(path, fname, &exbut); } while (exbut); appl_exit(); } `,@0*o"m >#>.I+I/ BBBg/ / Bg?<JNA NT ?N?<LNANVNB9HyNbXOHy^NXOHyNbXOHyNXO9^g$Hy^HyHyHyN&`HyHyHyN 09fxNN^NuNV## pZ?N,TO n0R09PN^NuNV3(0.@ H,-@p=@ nl$0.HC( nRB@2Rn`/9NXO09PN^NuNV#(l# p#0t#Px#|##lp ?N,TO3P09N^NuNVp?N,TOpN^Nu"/0<NBNuNV## #p[?N,TO n0R09PN^NuNVHnHyN|PON^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 |2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ Nh `p ? n// Nh *@X`p`p`/ ?./.?N *@P`fBn n-Pf-|&X .-@*@g0.m noS`(Bn nT0` n//.N|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@ @>`?Bg _g nR` .L N^NuNVH0*n>.IB$p0//. NPO-@g$p0//. NPOA-n ` n g` L0N^NuNVpL?Hy.p?N POp?NTON^NuNVNN^NuNVH0*n(MHyz yNXO> @g G g`B GffB` L0N^NuNV/ *n -f,-f?<NTO+@f+| +| `j-f2-H?N VTO0gf+|+| ` -`&+|+| X-H?NTOHЭ*+@Bm *_N^NuNV/p?B?.N vPO. fB@`0H@.N^NuNV/ *n/ NZXO/ mNXO*_N^NuNVH >.*n / NZXO/ ? mN\OL N^NuNV/ KY Me g/NFXO`*_N^NuNVN?.N BTON^NuNVH *nRm o/ NXO0f `fHyNXO -?/--H?N POD@;@ @fZ09 H fBy `-Bm `B0- Rm m+H URB@>-g G gP Gg 0`0- f-pL N^NuNV/ *n `fHyNXOBm p?Hn-H?N PO @g,J@gH .f-f8 . f-fB@.`(09 H fBy `-`-p*_N^NuNVH >.*n G f -g/ p ?N X\O @fp`0Sm l"/ N XO0f -S@;@ UR0L N^NuNVH >.*n G G f-g/ p ?N \O @gZBm -fN/ N XO0f@p?Hn-H?N PO @f0` 09 H fBy `-pL N^NuNVH >.*n G f -g/ p ?N `\O @fp`B@9H*@SnmSGl^pQB9Hyp ?NA\O>mp ?p?p?NM\OpB@9>B@9H*@0Gp H< Ff~` n R RE F ft B:0`0/. 0.H/?.p??NA >B:0H/NFXOL N^NuNV/A#:/9:N(XO0gB:p 3 p`,/. 0.H/?.p@?NA .B:/NFXO.N^NuNVH >.0V@ @bH0@ PN`*pP`&pA`"pC`0m*ySGmfp`gHL N^NuNVH >.0m*ySGmfp` g0. L N^NuNVH >.0V@ @bHH0@ PN*yHGg fp`&R` ?NvTO`~C`~A`~P`pL N^NuNV .l .D3 p` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFNNVH8..P bhd.9h/NXO*@ Mg`Jdf&M #F#B`& ydf QP&m`(ydQ L&h)M Q@* Ѝ#d(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*yB gr .gH g @є .*L(Mc2  d @*`* Ѝ#B yB X`dJg @Ѝ*@`*mBf g#BRyJ09J @e SyJ`X/N&XO/.NXO*@SyJ L0N^NuNVp0./NXON^NuNVH .Y*@Jf4~0GLJg 0RG0@LH?p?p?NM\O`N BL N^Nu O$X"XHB@Nu o0/L.NuNVH *n-fp`-H?N*TO -g-f /-NXOB-0L N^NuNVH *nBm -ff >o?/--H?N POGf$0m mAf -*+@`+UB@` 09 H fBy `-pL N^NuNV nn?.NRTO @Cg(p???.NXO?.p>?NAXO/NFXO`B@N^NuNV/?.pE?NAXO>l0H/NFXO`"?.NRTO=@m?.?NXO0.N^NuNVH.. l <`0 f 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/NXON^Nu DPOUXc defgoHrsu8xLD0123456789ABCDEFx|840HHeader=KPath =K{NULL} You must compile with the -f option to include printf() floating point! @d!@d!@d#zCCAP????????????????????????Bad pointer in free.  0,b(        vFP( LD" R .6*"  "$j:BX<$<@4  & 6&  &(2> 0  @J$  $LF0(,,$jH############################################################################ ## ## ## Installationsdatei fr die Tastenbelegung der Fileselectorbox ## ## ## ## (C) 27/2/89 by Martin Patzel ## ## ## ############################################################################ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # !!!!! Genauere Hinweise bitte im READ.MEE nachlesen !!!!! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! header = 'q', control, control # Kopfzeile der Box header = help # ...oder auch so exit = undo # Abbruch-Knopf # 'Einrasten' einer bestimmten Taste auf ein bestimmtes Laufwerk. # z.B. aktiviert bei der nachfolgenden Option 'fixdrives' die Taste 'c' # immer das Laufwerk C:, egal ob A: und B: angemeldet sind oder nicht. # Ist die nachfolgende Option 'fixdrives' ausgeschaltet (gelscht oder # auskommentiert), so ist die jeweilige Taste nicht an die Laufwerks- # kennung, sondern an den jeweiligen Knopf gebunden: # Die Taste 'c' aktiviert dann immer den 3. Laufwerksknopf, egal, ob # dort Laufwerk C:, D: oder E: eingetragen ist. fixdrives # Laufwerksknpfe drive0 = 'a', control, control+shift drive1 = 'b', control, control+shift drive2 = 'c', control, control+shift drive3 = 'd', control, control+shift drive4 = 'e', control, control+shift drive5 = 'f', control, control+shift drive6 = 'g', control, control+shift drive7 = 'h', control, control+shift drive8 = 'i', control, control+shift drive9 = 'j', control, control+shift drive10 = 'k', control, control+shift drive11 = 'l', control, control+shift drive12 = 'm', control, control+shift drive13 = 'n', control, control+shift drive14 = 'o', control, control+shift drive15 = 'p', control, control+shift # Fensterelemente wi0 = '1', ctrl, ctrl+shift # Textzeilen im Auswahlfenster wi1 = '2', ctrl, ctrl+shift wi2 = '3', ctrl, ctrl+shift wi3 = '4', ctrl, ctrl+shift wi4 = '5', ctrl, ctrl+shift wi5 = '6', ctrl, ctrl+shift wi6 = '7', ctrl, ctrl+shift wi7 = '8', ctrl, ctrl+shift wi8 = '9', ctrl, ctrl+shift wi9 = '0', ctrl, ctrl+shift wi10 = '', ctrl, ctrl+shift wiclose = 'y', c, c # Schliefeld des Fensters wiclose = home wimove = 'v', c, c # Feld neben dem Schliefeld wiuparr = curup, c, c+s # Pfeil nach oben widnarr = curdown, c, c+s # Pfeil nach unten wiltarr = curleft, c, c # Pfeil nach links wirtarr = curright, c, c # Pfeil nach rechts # Extensions, folgendermaen numeriert (Anordnung in der Box): # 1 2 # 3 4 # .... # 10 11 ext0 = z(, c, c+s ext1 = z), c, c+s ext2 = z7, c, c+s ext3 = z8, c, c+s ext4 = z4, c, c+s ext5 = z5, c, c+s ext6 = z/, c, c+s ext7 = z*, c, c+s ext8 = z9, c, c+s ext9 = z-, c, c+s ext10 = z6, c, c+s ext11 = z+, c, c+s # Sortierung sortname = 'w', c, c+s sortext = 'x', c, c+s sortsize = 'z', c, c+s sortdate = 't', c, c+s ##### Optionsbox ##### # Redraw-Modi opfest = z1, c, c # Fest-Modus opauto = z2, c, c # Auto-Modus opredraw = z3, c, c # Redraw-Modus opklpf = '', c, c # Pfad klemmen opklex = '', c, c # Extension klemmen opspfsel = ',', c, c # Fselect bernimmt die Pfadnamenspeicherung opsptos = '.', c, c # TOS bernimmt die Pfadnamenspeicherung opsptosfs = '-', c, c # Fselect bernimmt Pfadnamen vom TOS opremove = delete, c, c # Datei/Ordner lschen opmkdir = insert, c, c # Ordner anlegen opsave = 's', c, c # Parameter abspeichern opexit = esc, c, c # Abbruch (der Optionsbox) `&f4D0*o"m30#30.I+I/ / Bg?<JNA aBgNANVH0|Az :2`*@:8H6p ?NMTO(~ GlL  (@ LBm g, g mFfm `m RF`RF`RG`?:2p9?p-?N\O?:2p??p;?N\OL0N^NuNVH :2@`*@~ Gl:0- @gm ?N!6TO- Hnfm ?N!TORG`L N^NuNVHz7HnN#POHnNXOHz1HnN#FPOp&?Hn z1 h$/N# BgHz8&N\O/ z1 h0gb0f 99g~G3 K .fR K .gfg`Ry9| F,l 0RF0@B`p?Hz3N\O// NPOBgp?/:3NPO/Hm NPOBgp?0:3j@?NZ\O/HmNPOp-@p?p?0:3@H@?N.\O/HmN|POp-@p?p?0:3HH@@?N\O/HmNJPOBgp?0:2HH@?N\O/Hm!N$POp:@#p?p?0:2H@??N\O/Hm$NPOp:@&p?p?0:2@H?N~\O/Hm'NPOB@:2m@@*,pO?NATO `8RD`Hnp;?NA\OL8N^NuNVH0*n(n ,*H-*H4@g-*H,*HA`0:,@; @bH0@&f PNB@`~HlHmNPO>gb0`hHl Hm `JHmHlNPO>fp?HmHlN >fp?HmHlN >fHm!Hl!NPO>f/ / NPOL0N^NuNV0:+XmHzp,??:1r/:1\Nn N^NuNVH :**@ z*>(0:1B@ <ox0:*Fo33<0:*lBy3<0:1H/p /0R@H/NlPO/NPO??-NXO;@0H/0mH/0:*bH/N6PO/NnPO;@`By3<;GBmL N^NuNVH0p?p$?p?Nd\OHnHnp?/:*NN~ G lB.0:)Gz0^lt2,0:),Ёк06(@0:* @b$H0@&v PN`*L`K ` K`K!Hz+HnN:PO,*fp @0:)fB./ HnNPOHz+jHnNPOB.Hn?.?.N6PO0:/R@nRG`BNL0N^NuNVN@p%?N4TONN^NuNV/~- G9l&0 @(/( /.N~PO0f0`RG`p.N^NuNVp&?/.Hz-N p/?NATO-@p?NATO=@BgHz,pG?NAPOHz+NXOHz.p?NA\ONp?NNTO#9NT y 3f?.p?NAXO=@0.@gp`B@H=@p4.h=@ nlJ0.ng60.R@?0.9/pG?NAPO0.9/N>XORn`p ?/. Hz.NN Hz.BNXO0:(g&p?Hz,N\OHz,NXOBg/.N\O`?</.Hz,Nb p?NTO0:'g$0:'m0:' @'V/( Hz'pNPO`Hz'dN2XO33BgNTON0N:Hz'D z' h4/NPON :-|fHz)p?N \ON nBPB@`tNtNNN& n0Hz,NXOHz&Hz+N@POHz+/.N`POHz-./. NRPON?.p?NAXOHz)p;?NA\O/.p?NA\OpN^NuNVB90:& @g0 @f2p/pH?NA\O `oHy}pH?NA\O#9`#&69p/pH?NA\O#9 lB9`/:,npH?NA\O#9 :,XnB9N^NuNV/:,DpI?NA\O :,Zg z,T%g /:,JpI?NA\ON^NuNVH8p?NATOA3B~ Gl0RGA,B` y3fHy}pH?NA\O#3>nB3>p?NNTO> @fp`p39<V@39rGp4h39 Gl>~ G@l60)h*@0H10&@;S;k;k;kRG`~ GSlV0)h*@p??-N"XO;@??-NXO;@p??-NXO;@??-NXO;@RG` z$v(h #9~gH@` G g 9H>0:$ 3d/ z$8/(NPO z$*!|8@L8N^NuNVp?p ?NMXOfNNNN NN^NuNVH8 :#(@0.к#&@*z#Ȼdm m` + .#3kNp7@'|3 ?.NTOBnHn?./:#xN 0.f*z#fd m `p7@'G ?.N`TOL8N^NuNV/ BnN  n$g* n'g"HnHnHnHnN20.@fBnHnp?/:"Nl =@@=@n z" hn40.g"p33?: p??p;?N \O?.`N33`L0.@ @bpH0@& PN`^p\?Hz%LNv\O*@ -:fp`B@0@B` z h$/Hz%NPOp?NVTOHz z h4/NvPO:$H?NpTOp?NTO0: m0:  @h ?:NTOHzNvXO33mf0: @hh ?:`0.gp `py3<`R0.gp `py3<`?NAXO`Hnp9?NA\O lHz@p?N \Op=@BgN TON,N`p?Hzp=?NAPO=@lHz+p?N \O`Bg?. <3/pB?NA Hzp/?.p@?NA Bg?. z, (D/pB?NA z /(DpH/?.p@?NA ?.p>?NAXO0.N^NuB?< NA\ x XBRAf FSmpg@ h`#!?</?< NA\0g 930Bg/?<1NABg`NuXBRAFSmpg> of6 of. x XBRAf FSmpg h`#!/:NuXBRAFSmp @f A P PZg P[f0#7Hz ?Ns/:Nu#7.y30H#7"A Q P[f i/(`/99 i Hh i/(/aO"y7 i 0L.y7/97Nu oC7$ pg .gQJg* .fJg J@k QJog.pJWB Nu oC7$ pg  gQ  fR` .fRJg.f Nu or\Jg JfUgBNu oa JfNu/ am zn@NuB@`pAH J@fB>`.<:K7(MB`2p //a P<0JEfJf J-g p //a xP.Q L0Nua o"o0<? Q0<`0<B?ah\Nup`p`NVH >.<. *n (y88 lz y9g lz362(hL#6, y84"h23|Bi"h#|6,#|61|tBh6`x2Af2|f, L"y90P2IA0S@PQ`< y84 h @0^@1@Bh0S@1@1G0^@1@ 1F 0ES@1@PGB@fL0N^Nu?<\//aj\Jg(Jog @B?< R/Hy3Va B93bNu?<*//a\Jg?< /Hy3Va _ _0JogB` oTJf\BNu2/0@AIANuNVH *n0. H=@Jno=n0.n ln0.n>JGmZ0nHЍ/0.HЍ/ nNPOJ@o2?.0nHЍ/0.HЍ/Nh n`Rn`0.`jL N^Nu"o o2/ g SAQNu y34 0/2`ofP`PR@omNuNVH6. BD=|pat`ZCg JCg8BC?<HnBg?/.aBA70000BBBBBBB8 ?<atTOA8<=X=X=X=X=X=Xgt0.HHA3:00H=@gJPgP0H@ @fB nm: nn2 y34lBA0.@=f A=A`RA A m`>.|gOG0@Gf=|`0H@Gfn=|0H@ nPg.0?<HnBg?/.a6. nfC`0. n20f2.4.a=@6`\0.a@#8 A7000?<7a TOA8=X6=PJPgJDg?<Hn??/.avg8?.?.?<?</.a 6lBC` n24.aZ=@6JngCg JCgJDg?<HnBg?/.aJnfpa 0LN^Nu37?<kaLTONu#8 A700?<8a0TOA802NuNVH *y34(y9HnHnHnHn/ aL099U@m0-W@=@ g/99/ a"PO`paV?.?.?.?.?<?</ aa a> g/ /99aPO`paB G+fpL0N^Nu?.?.?.?.?a NuH>/ *y34HzHz?/ a0?5?5?:?:?<?/ a*L NuC720A6XJg(gVH`rH2Q"<6@0<NB098NuJ?< aTONu?<aTONu#8 ?<6aTOA8C0r$Y4QNuAC7E 2r24Q?<3abTONu37#8 ?<4aFTONu?<Oa:TOA8Cr$Y4QNu3738 ?<Na TONuAC7#8 222?<LaTONuAC7#8 222222?<*aTONuAC7#8 2222?<+aTONuA#8 37?<,aTOA80"o 2"o2NuAC7#8 22$X22?<.aFTOA8"o 02Nu0/2/Al0Nu o0/BAgJfBNu Nu o"H0/Jf gfBNu Nu"o o JfSfNu"o ofJfHHNu"o o fNu"o oB2/ gSAfJgQHHNuE Z "Z2gSAWSAmtQNuʠ fEH80Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉN Vr>rrrrrrrrrrrrTrD```LLLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX______________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXName: ________.___FFFFFFFFFFF 4/1989 by Martin Patzel - MAXON XXXXXXXX.XXXXXXXXOk*.C*.S*.H*.O*.PAS*.MOD*.BAS*.FOR*.DOC*.RSC*.PRG*.*SortierenNameExtGreDatumAbbruchRedraw:festautoredrawKlemmen:PfadExtensionPfad-Sp:FselTOST->FDatei/Ordner lschenOrdner anlegenParameter abspeichernAbbruchOk'&'N'v''''' ''( ?A( )& )0 Q AQ A Q A Q A Q A Q A  Q A  Q A  Q AQ A Q A Q AQ AQ A Q A Q A  ' %+*   @@)L$# QQQQQQ Q!Q"Q#Q Q %@'&&@Q %@(@ )@ *(  @ ,(9-8  .Q( /Q(0Q(1Q(2Q($3Q(*4Q(05Q(66Q(<7Q(B8Q(H,Q(N?:>a  ; (T <Q (^=Q (d>Q (h9Q (n%(t $(|  ( ( ((  (  (  (    (  (  (A ( A ( A ( ) ') (&      &             )h/ha:\auto\fselect.prg*.*NameGreDatumZeit<8 44(#:$=?R !"#;>= R    RR< R R R$6(*8'RR?-.34/05127RRR(* !"#_____XXXXX*.*[0][Info ber Laufwerk :| Bytes Totalkapazitt| Bytes belegt| Bytes frei][ Ok ]*.**.*  [1][Zu wenig Speicher fr|dieses Inhaltsverzeichnis][Abbruch][1][Kann Datei/Ordner|nicht lschen][Abbruch][1][Kann Ordner nicht|erzeugen][Abbruch][1][Kann \auto\fselect.prg|nicht beschreiben][Abbruch]77788 8,78.*+,k3 46LNO  0f&tD`>lZXjt( dH ^8  P" 0Z,~Hjl"2 p &^ N5?|BWN5P>N5XON" ?N1 ?<LNANV/ Np/p ?NM\Ogp3EB?<N4\OHzGN~XOHzYN+`XOp?NATOA[p:[BgHzZZpG?NAPOHzGHzZHNPOHzGHz[:NPOB?<N\O0:CgHnHz[HzZN `HzGbHnHz[HzYN=@B?<N\OHzGNNXOHzXN*XO0.g0.gp\?HzYN&\O*@ fHzGHzYN^PO`B-HzZHzYNPO/:JHzFHzYN) #M fHzYlHzF/:JN RyE`N0:CfN2/:JN)XOHzFN,XOHzXRN*XOp?NATON*_N^NuNVp?NATOA\p:\BgHzZpG?NAPOHzFHzYNjPOHzFHzZNPOB?<Nf\O0:BgHnHzZHzYN `HzFoHnHzZHzYNR=@B?<N"\OHzF]NlXOHzWN)NXO0.g@0.g8p\?HzYdN\O-@fHzF(HzYRNPO` nB(HzZ#E n N^NuNV/ :>g z>*h/:>NXO#E`*_N^NuNV .f0:>fHzSN%XO0:O.o*:^ H @ fr`BA0:OA?HzCsHzSN :]g :]H @ gHz]HzCWHzSN .g:?.?.?.?.?./. /.HzSvNHzSjp ? zStN\O`f . g/. HzC HzSJNV p3E`BHzS4HzBN"PO`2 . g/. HzBHzSN" `HzSp ? zSN\OByEN^NuNV/>.0 |@2<`XHXW PN Go G!l0@HA@6 `0@f0GYH@g?HzC^` Gl?HzCU`?HzCYHzU\NB <^`> <K`6 <K`. <K`& <K` <K` <K` <K` <K.N^NuNV0:?l.N3HlByH0:?xg?:?tNTO/HzBNPON^NuNVH8~p3HByHByHIGU0:?2g ?HzBNf\OT LcHzBNXOp`08PCZA!!!!0HA>< FoZNNz>mP FlJ0HA;0<HA>X0z>f(p3HCTAZD!!!!>0:>odSyH`Z0HA>P0< @fPN-|E n Pf n0(GgX`X n0m n0z>$ @bpH0@A PN`^0HA=0< @o\ FlV0o0`B@: ElD0HC:0HA=X0FPf 0F @g0F?N8TO/BNPORE`BBNPORyHp3H ,e\0HA`0HA<*<0:= g* ,c?,?Hz@N0PO` ?Hz@N"\OUQ``0:HA;0D@Pg0HC;J0HA9>0.Y@ @ bH0@A* PN` m g"/-?-Hz@ /:@DNJRyE` p3d6`f?-HmHmN N`JRyEByH`:0-n2/?-Hz?`Byd4Byd2`CAV!!!!`0-Hm3d43d2`0-H3d43d2`0-m`0-mm3d43d2`L8N^NuNVN<=@m&0.R@ @ bH0@Bt PN`N0gB@`"HzW@NVXO#^3HN^HzW(NXO3^0:Pfm0<`0:PXD@@ @bH0@AZ PN0:P:lp0:P2D@ |Af2<,`XHXW PN`pS3^`p`p`p`p`pr`pb`pa`pR`pG`pH`pP`pK`pM`p;`p<`p=`p>`p?`p@`pA`pB`pC`pD`p9`pc`pd`pe`pf`pJ`pN`~pg`xph`rpi`lpj`fpk``pl`Zpm`Tpn`Npo`Hpp`Bpq`<3 ^`?:GHzGN \O0<`HzUNXO#^3F^B@:U?N TO`HzUNXO#^3F^HzNHzFHzUNX ?:N`HzU~NXO#^3F^HzUfN XO3^`B@:UR`,?.HzF/:=(N . `p`p`p3^0<N^NuNVH *ngH?N TOR`~0A< Pg00Af c6Y nSB@3if y iffSyV^ z@PRV`0:SL` nB@3Vd#iT .e@R@3ix0zS0e@B0:@g.HzCe/:6NPOHzNNNXO zM?HzCO/:6N zMTd0` nB@3if y iffSyV^ z?RV`0:R`:Nvf#^V`B@` ^V`cSV` z?nB@`/:6$ z6 hNXO3if @ fRyV^0:RH @fB@`0:R:e@3Vd0:?(o/:5?:? z5 hN\O-|e@0:?gHzCp ? zCN\O`L8N^NuNV .g n0g nT0n fp`B@N^NuNV ^V`cSV` z>B@`/:5R z5N hNXO3if @ fRyV^0:Qv @fB@`0:QhN^NuNV/:5?. z5 hN\ON^NuNV3if y iffSyV^ z>"RV`0:QN^NuNV#il# ippZ?NTO n0iZ09iXN^NuNV3i4# ilpN?NTON^NuNV3i,0.@ HB-@p=@ nl$0.HCi, nRB@2Rn`/9^0NXO09iXN^NuNV#i,^#d^#i4^ #iX^$#il^(#it^,#^^0p ?NTO3iXij09ijN^NuNVp?NTOpN^Nu"/0<NBNuNV#il# ip#itp[?NTO n0iZ09iXN^NuNVH *nz~H< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^NuNVH8..P b[d.9[/N7XO*@ Mg`JZxf&M #ZZ#ZV`& yZxf QP&m`(yZxQ L&h)M Q@* Ѝ#Zx(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*yZV gr .gH g @є .*L(Mc2  d @*`* Ѝ#ZV yZV X`dJg @Ѝ*@`*mZVf g#ZVRyZ^09Z^ @e SyZ^`X/NNXO/.NXO*@SyZ^ L0N^NuNVp0./NXON^NuNVH .Y*@Jf4~0GZ`Jg 0RG0@Z`H?p?p?NM\O`N4L N^Nu o"H0/Jf gfBNu Nu"o o JfSfNu"o ofJfHHNu"o o fNu o"Jf S@Nu0/0@YAg@NuNVHnHy[NFPON^NuNVHn?</.N. Hn HnNFPOHnBg nN\ON^NuNVHn /.NFPON^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 |D2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ N PO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ N!2 `p ? n// N!2 *@X`p`p`/ ?./.?N! *@P`fBn n-Pf-|Z|X .-@*@g0.m noS`(Bn nT0` n//.NFPO`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@ @Dp>`?Bg _Dpg nR` .L N^NuNVH0*n>.IB$p0//. N?"PO-@g$p0//. N?jPOADp-n ` n Dpg` L0N^NuNVpL?HyZp?N8XPOp?N1 TON^NuNVN!N^NuNVHnHyZN"DPON^NuNVHn /.N"DPON^NuNVHn/.NXO?/.N. Hn HnN"DPON^NuNVH Bn n X -P nRH> |D2<`XHXW PN`Z/./.N(\XO<?N(\O Ff`4/. n hNXO<Gg/.?N(\O` nRH> @*fp`B@=@0.g nRH>Bn G0m( G9n"0. G@0=@ nRH>` Glfp`B@=@ Ghfp`B@=@0.f0.g nRH>0 |D2<`XHXW`Hy[HyZN*PON@`6Rnp `Rnp`RnBn` Rnp=@Hn?.?./.N& -@0.g0.fb0.g n X P `0. n X P0.0Rn`0RnHn?./.N'Z -@-A0.g0.f0.g n X P .". !A` n X P .". `A-H nRH> @^fp`B@=@0.g nRH>0g G]g nR` nBA-H/. n hNXO<`D0.fp=@/. n hNXO<-|Z`/.N(\XO<-|Zp=@0.f n X *PBn FgH?/.N@|\O fp`B@nf*Rn0.fSnf|`/. n hNXO<` Fg/.?N(\O0.g0.f GcgPB`J0.f n(H@gp`0.L N^NuNVH>. <.B0o F o| nBP/.N(\XO: E-fp`B@=@f E+f/. n hNXO: nRP n0FnP0fL E0g~ `B/. n hNXO: nRP0Fn$ Exg~`~/. n hNXO: nRP n0Flf0@W8 @ l0@78 @ l0@08m D nGm Gf0 .f*0@x8f 6HHn0H/N?PO-@`z/.?N(\O0.g .` .DLN^NuNVH |K0. o n op =@ nBP n0n l/. n hNXO> |E2<`XHXW PN`|0fx nSP nRP`0g Ff`RF` Fn(|`0g Fg Ff|` Fm6 Fn0|` F` Fg Fg Ff|` Fg Ff|`/.?N(\OBHnN9XOL N^NuNV//. n hNXO> @ g G g G g0.N^NuNV/ *n 0f&+|) +|)Bm -;n0.`> 1&f +|):` 2f +|)` /f +|)`p*_N^NuNV/ *n+|0+|0Bm -0-*_N^NuNV/ *n+|1&+|2 ;@ o -;@ -0-*_N^NuNV/ *n+|2+|3Bm -0-*_N^NuNV/ *n+|//NXOD@;@ 0-*_N^NuNVH >.*n / mNXO/ ? mN\OL N^NuNVH0*n(n g/ H? lN\OR`L0N^NuNVH0*n(n0. =@,g/ lNXOSn ,f,f 0.gL/ lNXO> @g:Sn`?./ ,H?N6PO>on`0f,`,0. n L0N^NuNVH0*n(n0. >,g / lNXO ,f,f&0g/ B@? lN\O @gSG`0g$B@`$?/ ,H?N8XPOGg,`0.L0N^NuNV/ *n-g / mNXO/ N4&XO @fp`D?./. -H?N6PO-@ g -g0.@H@B@H@Э*+@B@*_N^NuNV/ K[8[d. g U(fp?//. /.N-L*`X`B*_N^NuNV/.N,hXOp?/./. /.N-LN^NuNVH *n-fp`-H?N4TO -g-f /-NXOB-0L N^NuNVH *nBm -ff >o?/--H?N8XPOGf$0m mAf -*+@`+UB@` 09EH fByE`-pL N^NuNVH *n>.|BnBnp=@ n R pr@H @rf|pw@ n g,H @bf"BnR n gH @bf$Bn0l0.f?/.N6>\O>0l@0.f0.g4?</.N4\O>m Fg?N4TO?/.N6>\O>0m0.gp?B?N6PO-M .fp?NTO*@ f ?N4TO`|p@0.g- p+@*+@Bm +|0+|0G `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNV/ *n .*+@+|/B-0. D@;@ m l;| +|/f`+|/> *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNV/ *n -f,-f?<NTO+@f+|2+|3`j-f2-H?N5TO0g[f+|1&+|3 -`&+|1&+|2-H?N0RTOHЭ*+@Bm *_N^NuNV/p?B?.N6PO. fB@`0H@.N^NuNV/ *n/ N/XO/ mNXO*_N^NuNVH >.*n / N/XO/ ? mN\OL N^NuNV/ K[Y M[8e g/N,hXO`*_N^NuNVN0?.N4TON^NuNVH *nRm o/ N,XO0f 3[fHy[N,XO -?/--H?N6POD@;@ @fZ09EH fByE`-Bm `B0- Rm m+H URB@>-g G gP Gg 0`0- f-pL N^NuNV/ *n 3[fHy[N,XOBm p?Hn-H?N6PO @g,J@gH .f-f8 . f-fB@.`(09EH fByE`-`-p*_N^NuNVH >.*n G f -g/ p ?N2\O @fp`0Sm l"/ N4&XO0f -S@;@ UR0L N^NuNVH >.*n G G f-g/ p ?N3\O @gZBm -fN/ N4&XO0f@p?Hn-H?N8XPO @f0` 09EH fByE`-pL N^NuNVH >.*n G f -g/ p ?N3\O @fp`?NAXO/N9XO`B@N^NuNV/Bg/.pl0H/N9XO`"?.N8TO=@m?.?N9XO0.N^NuNV/?.?. rF?NA\O>0f(?.N8TO=@m?.?. N9XO0. `0H/N9XO.N^NuNV?.N8TO @Cfp`B@N^NuNV?.?./. pB?NA /N9XON^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N9XO` m n0?N9JTOH./N9XO.N^NuNVH A#[/9[N@XO0gB[p 3Ep`?.N8TO @CfzB@9^5>B@9^4H^4*@SnmSGl^pQ^4B9^5Hy^4p ?NA\O>mp ?p?p?NM\Op^4B@9^5>B@9^4H^4*@0Gp H< Ff~` n R RE F ft ^4^4^5B[0`0/. 0.H/?.p??NA >B[0H/N9XOL N^NuNVH.. l <`0 f 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/N7XON^NuNV/A#[/9[N@XO0gB[p 3Ep`,/. 0.H/?.p@?NA .B[/N9XO.N^NuNVH >.0V@ @bH0@E PN`*pP`&pA`"pC`0m*y[SGmfp`gHL N^NuNVH >.0m*y[SGmfp` g0. L N^NuNVH >.0V@ @bHH0@E PN*y[HGg fp`&R` [?N5PTO`~C`~A`~P`pL N^NuNV .l .D3Ep` .N^NuNVH *nA-H-nHnN>XOBnBnp@=@ +g -fnRH> @.g G0m G9n G.f0.@fn`B@.@gRn`jHnN>XOHnHnN>POHnN>XOHnN>XOHnHnN>^POHnN>XO0@0@HnHnN>^PO0.@gDSn`< Geg GEfZ +g -fnRBnH> @0m G9n0. G@0=@`0.@g 0.D@=@0.nBn nl N(fRn` nf HnBgBg`0.oHnHnN>POHnN>XO0f:HnN>XO0f*HnHnN>^PO0fHnHnN>PORn`VHnHnN>POBgHnN=\OBgHnN=\OHnHnN>^PO>gRn?HnN=\OVnSnfJ`0.l.fHnN>XOSn`BgHnN=\OHnHnN>POBn n lJ0.@gBgHnN=\OBgHnN=\OBgHnN=\OHnHnN>^PORn`WnRnfhSnHnN>XO0gHnN>XOp@HnHnN>^PO0gRnBgHnN=\OHn0.@?0.@?/.N=d n "(L N^NuNV/~ G lBg/.N=\ORG`0.@@ n0.H@ n(0. g n/./.N>PO.N^NuNVH| Fl4>. nB@@=@ n0g nRF`0. LN^NuNVH|z0m*>| ng| n nŏSE`0LN^NuNVH|~0m. n BA nB@A@ n0@@<SG`0LN^NuNV/~ Gl n"n RG`.N^NuNV/~ Gl nBRG`.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"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNNVH ..|Jg 0F[ "@[SF`|0F[Jg 0RF0@[H?p?p?NM\O`p?N4TOLN^Nu o0/BAgJfBNu Nu O$X"XHB@Nu o0/L.NuG>H>K>M>P>R>b>GV     R   d  , @ P ` | d   ()*+-.>/081&2,32456 789     | D N d r l \ x~ DOpUPXtcdexfxgxorsuxDp0123456789ABCDEF%%"D#E$.F$.N#O#X#[$c%d#e$2f$2n#o#s%0x##% " " "%"" ' ' '+'-'.'0'1'2'3'4'5'6'7'8'9'E'e' (8888999@       = ,, ,++   JKKK KKK'K-K3K;KAKHKQKZKdKhKlKpKtKxK|KKKKKKKKKKKE\*.INSFSELECT.INSKey definition fileE\rcan't open %s! press any key... (and don't forget to reboot)! (#:$=?\*.PRGFSELECT.PRGProgram to be patchedE\rwbcan't open %s! (#:$=?(#:$=?(#:$=?(#:$=?(#:$=?wrong program (can't find identification string)! write error! line %d: (warning) key (%s) redefined line %d: (warning) this key (%s) may have special usage! out of memory! out of memory! line %d: near "%.10s": expected: %ssyntax error %sOBJECTKEYSHIFTSSHIFTSCONTROLSALTERNATESHELPSUNDOSINSERTSHOMESCURUPSCURDOWNSCURLEFTSCURRIGHTSF1SF2SF3SF4SF5SF6SF7SF8SF9SF10SESCSTABSSPACESBACKSPCSDELETESRETURNSENTERFIXDRV[eof][error]'\b''\f''\n''\r''\t'' ''%c'char %04.3osymbol %d[yydebug] reading %s [yydebug] push state %d yacc stack overflow[yydebug] recovery pops %d, uncovers %d [yydebug] recovery pops %d, stack is empty [yydebug] recovery discards %s [yydebug] reduce by (%d), uncover %d line %d: illegal key: %s line %d: unknown OBJECT: %s Z[VVVVV V$V(V,V0V4V8V<W@W DWHWLW"PW)XW1\W8dW<hW@lWDpWHtWLxWP|WTWXW\W`WeWmWuW}WWWWWWWWWWWWWWWWWW WWXX !X-X1X!5X+9X4=X<AXCEXJXPXRXZX_XaXkXoXqXtXwXzX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXYY YYYYYYY"Y%Y(Y,Y69) 354  43` ` 0. !"#$%&21/-,'()5 0. !"#$%&21/-,'+(+S((''                                                                                                                Q.Q*T^Q0PQ6PQPQPRPQQSQQPTQ Q0TQQ(TQQ0TQQ8Q0TQQ0TQ"Q0Q&Q0Q*TLT^  !!!!!!!((((!(((0000000000!!!!!!!AAAAAAGGGGGGGGGGGGGGGGGGGZ!!!!G!AAAAAAGGGGGGGGGGGGGGGGGGGZ!!!!GGGGGGG!^ line %d: internal error: unknown key type! %xbad switch yylook %dDRIVE0DRIVE1DRIVE2DRIVE3DRIVE4DRIVE5DRIVE6DRIVE7DRIVE8DRIVE9DRIVE10DRIVE11DRIVE12DRIVE13DRIVE14DRIVE15HEADERWICLOSEWIMOVEWI0WI1WI2WI3WI4WI5WI6WI7WI8WI9WI10WIUPARRWIDNARRWILTARRWIRTARREXT0EXT1EXT2EXT3EXT4EXT5EXT6EXT7EXT8EXT9EXT10EXT11SORTNAMESORTEXTSORTDATESORTSIZEEXITOPFESTOPAUTOOPREDRAWOPKLPFOPKLEXOPSPFSELOPSPTOSOPSPTOSFSOPREMOVEOPMKDIROPSAVEOPEXITSHIFTSCONTROLCTRLCALTERNATEALTAZ(Z)Z/Z*Z+Z-Z.Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9ZCRENTERHELPUNDOINSERTHOMECLRCURUPCURDOWNCURLEFTCURRIGHTESCTABSPACEBACKSPACERETURNDELETEF1F2F3F4F5F6F7F8F9F10FIXDRIVES\n\t\b\b\%-3ostate %d char compressed state try fall back character fall back to state %d state %d char stopped at %d with match action %d @@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @Bad pointer in free. {NULL} You must compile with the -f option to include printf() floating point! Bad format in scanf 00!00!00#Z[[[CCAP????????????????????????0123456789ABCDEFUser abort at 00000000  0@F L"20 ,4Xv.DD82$b. &$ 2$(("*2&"    TD< T,H. < &   @    \ >         @J$  $&vFP( LD" 2$ .>` .NtjL  &>& >"@$"(F0",p$  .6*"  "$j:BX<$<H8*046  & 6& ,$ &(2> 00v   ,$"$0DTHd   H************************************************************************* ************************************************************************* *** *** *** FILESELECTORBOX (C) by Martin Patzel *** *** *** *** --- alle Rechte vorbehalten --- *** *** *** *** Version 4/89 *** *** *** *** *** *** Diese Fileselectorbox ist frei kopierbar. *** *** Das Programm darf nicht gewerblich vertrieben *** *** bzw. verkauft werden. *** *** *** ************************************************************************* ************************************************************************* Inhalt ====== I. nderungen seit Version 5/88 II. Beschreibung der Fileselectorbox FSELECT.PRG III. Beschreibung des Tastaturbelegungsprogrammes PATCH.PRG IV. Anhang I. nderungen seit Version 5/88 ================================= - Die Box ist jetzt mit JEDER Tos-Version lauffhig! - Die Box kann nun auch ber die Tastatur bedient werden. - Luft jetzt auch mit Programmen, bei denen es bisher Schwierigkeiten gab. - max. 16 Laufwerksknpfe - Directory (=Ordnerinhalt) kann jetzt auch unsortiert ausgegeben werden. - Die Art der Pfadnamenspeicherung kann nun gewhlt werden. - Der Formats-Ordner von 1st-Word wird korrekt bedient. - Die Pfadnamenkorrektur wurde erweitert und verbessert. - Die Box wurde um eine Zeile tiefer gesetzt, da viele Programme ber der Box eine Meldung ber die aktuelle Ttigkeit ausgeben. Diese Meldung wird jetzt nicht mehr durch die Box verdeckt. - Einige kleinere Fehler (soweit sie bekannt waren) wurden beseitigt. - Stellt nun auch die Textzeile der fsel_exinput()-Funktion dar. Diese neue AES-Funktion ist normalerweise erst ab TOS 1.4 verfgbar. Durch die Box ist diese Funktion jetzt aber in allen TOS-Versionen verfgbar! (siehe auch PATCH.PRG ->) - Die Box hngt nun in den Vektoren 2 (GEM) und 13 (BIOS). In beiden Vektoren hlt die Box das XBRA-Protokoll ein. II. Beschreibung der Fileselectorbox FSELECT.PRG ================================================= Grundstzliches: ---------------- Das Programm FSELECT.PRG ist ein Programm fr den AUTO-Ordner und sollte auch nur von dort beim Booten des Rechners gestartet werden. Es verbleibt nach dem Start im RAM und wartet dort auf einen Aufruf der bisherigen Fileselectorbox. Wird nun irgendein Programm gestartet, das die Fileselectorbox benutzt, so erscheint statt der alten Box nun die neue. Wird das Programm dennoch manuell vom Desktop aus gestartet, so mu hinterher ein *.TOS oder *.TTP - Programm gestartet werden, damit sich die Box in die Vektoren einhngt (dies funktioniert jedoch nicht mit dem neuen TOS 1.4, bei diesem TOS mu die Box also beim Booten aus dem AUTO-Ordner gestartet werden!). Es reicht auch, sich eine Textdatei vom Desktop aus anzeigen zu lassen (z.B. xyz.txt anklicken, erste Seite anzeigen und beenden). Dieser Effekt ist leider eine Folge des vllig neuen Mechanismus, mit dem die Box nun im Betriebssystem hngt. Der Mechanismus hat allerdings einen (riesigen) Vorteil: Er ist nicht mehr von der verwendeten TOS-Version abhngig! Ich mchte nochmals darauf hinweisen: Das nachtrgliche Starten eines *.TOS oder *.TTP - Programms ist NICHT notwendig, wenn die Box beim Booten des Rechners aus dem AUTO-Ordner gestartet wird! --> Also: Um Probleme zu vermeiden, Box immer aus dem AUTO-Ordner starten! 1. Funktionen der Hauptbox: --------------------------- Kopfzeile --------- In der ersten Zeile der Box befindet sich die Copyright-Meldung. Sie ist als Button gestaltet und fhrt beim Anklicken zur Optionsbox (->). Wird die Box vom aufrufenden Programm ber die Funktion fsel_exinput(path, filename, button, message) (nur fr Programmierer interessannt) aufgerufen, so wird anstelle der Copyright - die - Meldung ausgegeben. Fr den Anwender heit das, da von den Programmen in dieser Zeile zustzliche Mitteilungen ausgegeben werden knnen, etwa "Datei laden" oder "Bitte Textdatei angeben". Diese Meldung kann max. 38 Zeichen lang sein. Laufwerksknpfe A-P ------------------- Die Laufwerksknpfe dienen zur schnellen Anwahl der verschiedenen Laufwerke. Anwhlbar sind dabei nur diejenigen Laufwerke, die beim Betriebs- system ber den Bitvektor $4C2 angemeldet sind, d.h. aktiv bzw. eingeschaltet sind. Maximal werden 16 Laufwerksknpfe dargestellt. Durch einen Doppelklick auf einen Knopf werden Informationen ber dieses Laufwerk ausgegeben: Gesamtkapazitt, belegter und freier Platz. Wird das Laufwerk durch Anklicken eines dieser Knpfe gewechselt, so wird automatisch auf den auf diesem Laufwerk gltigen Pfad umgeschaltet (Pfadnamenspeicherung ->). Pfadnamenfeld (2.Feld von oben) ------------------------------- In diesem Feld wird der aktuelle Pfad angezeigt. Ist der Pfad lnger als angezeigt werden kann, so wird der Rest abgeschnitten (nur bei der Anzeige, intern wird der Pfad voll mit 256 Zeichen verwaltet). In diesem Feld kann der Pfadname auch manuell eingegeben werden. Anschlieend mu zur bernahme in die Box das Mover-Feld (das graue Feld ber dem Dateinamenfenster) angeklickt werden. Dabei bestehen mehrere Eingabemglichkeiten: - Nur Laufwerk und ':' (z.B. "A:") -> wird mit Auswahlpattern "*.*" versehen (im Bsp.: "A:\*.*") - nur ein angezeigter Ordnername (wenn. z.B. im aktuellen Verzeichnis der Ordner TEST existiert und "TEST" eingegeben wird, so wird in den Ordner TEST gewechselt und der Pfadname entsprechend erweitert). Laufwerk und Auswahlpattern werden nicht verndert! - jegliche Art von Pfadnamen (z.B. "..\..\XYZ\DEF\*.C"). Sobald jedoch ein '\' oder '*' in der Eingabe vorkommt, MUSS der Pfad- name mit einem Auswahlmuster enden (s.u.). Generell gilt fr den eingegeben Pfadnamen: Zuerst wird vom Ende her ein '\' gesucht. Wird dieses Zeichen gefunden, so wird angenommen, da der Rest danach ein Auswahlmuster darstellt und von dem eingegebenen Pfadnamen abgeschnitten. Wird kein '\' gefunden, so wird vom Anfang her nach dem Zeichen '*' gesucht. Wird es gefunden, so wird angenommen, da es das erste Zeichen eines Auswahlmusters (z.B. "*.BAS") darstellt und vom restlichen Pfadnamen abgeschnitten. Anschlieend wird untersucht, ob die Eingabe mit einer Laufwerks- angabe (z.B. "A:") beginnt. Falls nicht, wird das aktuelle Laufwerk vor den Pfadnamen gesetzt. Dann wird untersucht, ob der Pfadname mit einem '\' beginnt. Falls nein, so wird der bis dahin aktuelle Pfad vor den einge- gebenen Pfadnamen gesetzt (z.B. wird aus der Eingabe "XYZ" der Pfad "C:\TEST\ABC\XYZ"). Der so zusammengesetzte Pfad wird nun auf Korrektheit hin untersucht: Dazu werden zuerst alle mehrfachen '\' zu einem einzigen zusammen- gefat (aus "C:\\\XXX\\YYY\\\\\\ZZZ" mach "C:\XXX\YYY\ZZZ"). Dieser Pfad wird nun vom Ende her so weit abgeschnitten, bis er eine gltige Pfadnamenbezeichnung darstellt (dies kommt vor, wenn man falsche Ordner angibt). Im Extremfall wird der Pfad bis auf die Wurzel gekrzt ("A:\"). Dieses Bearbeiten des Pfades gilt auch fr Pfadnamen, die ein externes Programm der Fileselectorbox bergibt (insbesondere werden jetzt also Pfadnamen, die in der alten Box zwei '\' hintereinander enthielten, korrekt angezeigt)! Dateinamenfeld (3.Zeile von oben) --------------------------------- In dieses Feld kann der auszuwhlende Dateiname von Hand eingetragen werden. Wird ein Dateiname im Fenster angeklickt, so wird er automatisch in dieses Feld eingetragen. Fenster ------- a) "Mover"-Feld (oberste Zeile des Dateinamenfensters) Mit einem Klick auf dieses Feld wird der Text im Pfadnamenfeld eingelesen und verarbeitet. Auerdem wird in diesem Feld das zur Zeit gltige Auswahlmuster angezeigt. b) "Closer"-Feld (Feld links neben dem Mover-Feld) Mit einem Klick auf dieses Feld steigt man in der Hierarchie der Directories um eine Ebene nach oben. c) Pfeile oben/unten Mit diesen Feldern kann der Fensterinhalt nach oben/unten verschoben werden, falls mehr als 11 Dateinamen im aktuellen Ordner vorhanden sind. Diese Felder sind mit einer Repeatfunktion ausgestattet. d) Fensterschieber Dient ebenfalls der Auswahl des Fensterbereichs. Funktioniert wie bei allen anderen GEM-Fenstern. e) Pfeile links/rechts Mit ihnen kann ausgewhlt werden, was im Fenster angezeigt werden soll: Datei-/Ordnernamen, Dateigre, Erstellungsdatum oder Erstellungszeit. Was jeweils angezeigt wird, steht im Feld zwischen den beiden Pfeilen. f) Die 11 Dateinamenzeilen des Fensters Hier werden die Dateinamen des aktuellen Ordners angezeigt (evtl. nur ausgewhlte Dateinamen). Ordner werden mit einem vorangestellten ''-Zeichen gekenn- zeichnet. Durch einen Doppelklick auf einen Namen wird dieser ausgewhlt und die Box automatisch mittels 'OK' verlassen. Bei einem Klick auf einen Ordnernamen wird automatisch in dieses neue Verzeichnis gewechselt. Ordnernamen werden nicht in das Dateinamenfeld eingetragen. Extensionfelder (die 2*6 Felder rechts neben dem Fenster) --------------------------------------------------------- Mit diesen Extensionfeldern knnen bestimmte Auswahlmuster durch einen einfachen Klick ausgewhlt werden (z.B. werden mit "*.PRG" nur noch alle Dateien angezeigt, die mit .PRG enden. Ordner werden allerdings immer angezeigt (bis auf eine Aus- nahme, siehe Sortierung ->). Mit einem Doppelklick auf eines der Extensionfelder kann dessen Inhalt editiert werden. Der neue Wert wird dann mittels der Returntaste oder Mausklick auf dieses Feld bernommen. Auf diese Weise kann man sich seine persnliche Sammlung von Auswahlmustern zusammenstellen, die man am hufigsten braucht. Sortierung (rechts unten) ------------------------- Bei der Sortierung hat man 5 Mglichkeiten, den Fensterinhalt sortieren zu lassen: a) Name Es wird nach dem Datei-/Ordnernamen sortiert b) Extension Es wird vorrangig nach der Extension sortiert, sollten diese gleich sein, wird innerhalb einer Extensiongruppe (z.B. *.DOC) nach dem Dateinamen sortiert. c) Gre Es wird nach der Dateigre sortiert (kleinste Dateien zuerst) d) Datum/Zeit Es wird zuerst nach dem Datum und dann nach der Zeit sortiert. Die jngsten Dateien werden zuerst angezeigt. e) Unsortiert Diese "Sortierung" erreicht man durch Doppelklick auf eines der 4 Sortierfelder. Die Dateien werden dann in ihrer Reihenfolge angezeigt, wie sie wirklich im Directory stehen. Diese Art der Anzeige ist z.B. ntzlich, um anzeigen zu lassen, in welcher Reihenfolge im Auto-Ordner die Programme abgearbeitet werden. Achtung: Bei unsortierter Anzeige werden auch die Ordnernamen in das Auswahlmuster mit einbezogen. Es kann also vorkommen, da kein Ordnername mehr angezeigt wird (z.B. beim Auswahlmuster *.C, welcher Ordnername endet schon mit .C ?). Wird dann wieder auf sortierte Anzeige zurckgeschaltet, bleiben die ausgeblendeten Ordner weiterhin verschwunden! Um wieder alle Ordner anzuzeigen, reicht es, einen Laufwerksknopf, das Mover-Feld oder ein Extensionfeld anzuwhlen. 2. Funktionen der Optionsbox ---------------------------- Die Optionsbox wird durch Anklicken der Kopfzeile aktiviert. Folgende zustzliche Auswahlmglichkeiten stehen nun zur Verfgung: Redraw-Modi ----------- "Redraw" heit "neu zeichnen" und ist im GEM des Atari eine sehr wichtige Funktion: Wird nmlich irgendetwas auf dem Bildschirm verndert, z.B. ein Fenster verschoben, verkleinert oder ganz weggelscht, so mu der freiwerdende Bildhintergrund wieder neu gezeichnet werden. a) Redraw-Modus --------------- Der Standardmechanismus, den GEM hier dem Programmierer anbietet, funktioniert in etwa so (hier am Beispiel der Box): Die Fileselectorbox wurde vom Anwender mit OK oder Abbruch beendet und mu nun dafr sorgen, da der von ihr benutzte Bildschirmbereich neu gezeichnet wird. Sie schickt dazu an das AES eine Meldung ber Position und Gre des von ihr benutzten Bildschirmbereichs. Das AES fllt darauf diesen Bildschirmbereich mit dem Standardgrau aus und zeichnet evtl. vorhanden Fensterrnder neu (nicht die Inhalte). Um auch die Fensterinhalte zu restaurieren, wei das AES wiederum, wer sich alles auf dem Bildschirm tummelt (Applikationen, Accessories) und schickt seinerseits die Meldung an alle auf dem Bildschirm aktiven Programme weiter. Diese prfen nun, ob sie gewisse Bildschirmbereiche neu zeichnen mssen und tun dies ggf. Nun gibt es aber Programme, die (gerade bei der Fileselectorbox) die Meldung ber die Position und Gre ignorieren und von einer konstanten Gre der Box ausgehen. Sie restaurieren deshalb nur einen Bereich auf dem Bildschirm, der so gro ist, wie die alte Fileselectorbox. Da die neue Box aber grer ist, wird auch mehr Platz auf dem Bildschirm belegt. Am Ende zeichnet das AES daher auch einen greren grauen Bereich. Die Programme restaurieren jedoch nur den kleineren Bereich der alten Box und somit bleibt ein grauer Streifen auf dem Bildschirm brig. Um hier nun aus der Klemme zu kommen, habe ich den folgenden Modus dazugebaut: b) Auto-Modus ------------- In diesem Modus wird, noch bevor die Box auf den Bildschirm gezeichnet wird, ein 32KB-Puffer angelegt und der gesamte Bild- schirminhalt in diesen Puffer kopiert. Anschlieend wird die Box gezeichnet und der Anwenderdialog gefhrt. Beendet der Anwender den Dialog, wird einfach wieder der Puffer auf den Bildschirm kopiert und anschlieend freigegeben. In diesem Modus wird also berhaupt keine Meldung mehr an das AES geschickt, den Bildschirm zu restaurieren. Die Box bernimmt die Wiederherstellung des Bildschirms also vllig selbstttig! Dadurch, da nun einfach der Bildschirminhalt hin- und herkopiert wird und sich das Anwenderprogramm nicht mehr um den Redraw kmmern mu, geht dieser sehr viel schneller vonstatten. Nun gibt es aber Programme (z.B. 1st Word und STAD), die den gesamten verfgbaren Speicher fr sich beanspruchen. Die Box kann dann nicht mehr die 32KB Pufferspeicher anlegen und schaltet intern in den Redraw-Modus (fr den Auto-Modus mu mind. 32KB + Platz fr 200 Directory-Eintrge vorhanden sein). Dann ist aber wieder das Problem mit dem grauen Balken wieder da (z.B. bei STAD). Dafr gibt es jetzt den 3.Modus, den c) Fest-Modus ------------- In diesem Modus wird beim Starten von FSELECT.PRG (nicht erst beim Aufruf der Box) sofort der 32KB-Puffer angelegt. Diese 32KB sind dann fest fr die Box reserviert und werden im weiteren Verlauf auch nicht wieder freigegeben, d.h., spter gestartete Programme erhalten von Beginn an 32KB weniger Speicher zur Verfgung gestellt. Sie funktionieren dann aber (meistens) dennoch und (!) die Box hat ihren eigenen Bildschirmspeicher, so da sie den Bildschirm nach einem Boxaufruf korrekt restaurieren kann. Dieser Modus ist eigentlich nur sinnvoll, wenn die Box mit einem Programm im redraw-Modus nicht korrekt zusammenarbeitet und dieses Programm zudem den ganzen verfgbaren Speicher an sich reit, so da auch ein evtl. angewhlter Auto-Modus in den redraw-Modus gezwungen wird. Die Bildschirmrestaurierung sollte also in diesem Modus immer funktionieren. Damit dieser Modus jedoch aktiv wird, mu mit "Parameter abspeichern" der Modus gespeichert und der Rechner neu gebootet werden. Es ergibt sich also folgende Vorgehensweise: - Fest-Modus selektieren - "Parameter abspeichern" anwhlen -> der Modus wird jetzt gesichert - Beenden der Box und allen noch laufenden Programmen - Neustart des Rechners (Reset, Aus-/Einschalten) -> der Rechner bootet und die Box wird im Fest-Modus gestartet Noch ein generelles Wort zu den Redraw-Modi: Normalerweise verwende ich immer den Auto-Modus. Er bietet den Vorteil einer enorm hohen Redrawgeschwindigkeit. Und sollte einmal wirklich nicht der Speicher reichen, so schaltet er auto- matisch in den Redraw-Modus. Der Fest-Modus ist eigentlich nur bei den Programmen sinnvoll, die das Problem mit dem grauen Balken haben und zudem den gesamten Speicher fr sich belegen. Dieser Modus belegt die 32KB Pufferspeicher nmlich die ganze Zeit, whrend der Auto-Modus diesen Speicher nur belegt, wenn die Box am Bildschirm sichtbar ist. Der Redraw-Modus ist eigentlich nur sinnvoll bei Grobildschirmen, da bei diesen nicht der gesamte Bildschirminhalt weggespeichert werden kann (zumindest nicht mit den hier benutzten 32KB). Die Box habe ich jedoch noch nicht im Zusammenhang mit einem solchen Bildschirm ausprobieren knnen. Achtung: Beim Programm TIMEWORKS mu der REDRAW-Modus verwendet werden! Klemmen ------- Mit diesen beiden Knpfen (Pfad, Extension) kann man festlegen, wer den Pfad bzw. die Extension (das Auswahlmuster) vorgeben soll: - das externe Programm, das die Box aktiviert hat (Knopf nicht selektiert) - oder die Box (Knopf selektiert) Es gibt immer wieder Programme, die meinen, einen festen Pfad vorgeben zu mssen, obwohl man auf einem anderen Pfad arbeiten mchte. In einem solchen Fall kann man den Pfad-Knopf selektieren und damit den aktuellen Pfad festklemmen. Das Programm kann nun an die Box an Pfaden liefern, was es will, die Box nimmt immer den zuletzt (mit der Box) benutzten Pfad. Genauso kann man es der Extension ergehen lassen (HH...). Pfad-Sp(eicherung) ------------------ Bei den bisherigen Versionen der Box wurde die Speicherung der Pfadnamen dem GEMDOS berlassen. Die Box verhielt sich daher nach auen hin nicht genauso wie die Original-Box. Dieser Effekt machte sich das erste Mal bei 1st-Word mit dem FORMATS-Ordner bemerkbar. Der Ordner wurde von 1st-Word nicht mehr gefunden. Die Pfadspeicherung kann deshalb jetzt ebenfalls gewhlt werden: a) Fsel(ect) ------------ Die Box bernimmt die komplette Speicherung der Pfadnamen auf allen aktiven Laufwerken. Wird ein Laufwerk in der Box das erste Mal angesprochen, so wird dort defaultmig der Wurzelpfad ("X:\") gesetzt. Die Box verhlt sich somit in diesem Modus nach auen hin genauso wie die Originalbox. Insbesondere macht sie keine Vernderungen nach auen hin, nimmt aber auch keine Vernderungen von auen an (siehe nchster Modus)! b) TOS ------ Dieser Modus entspricht dem Modus in den bisherigen Versionen von FSELECT. Die Pfadnamenspeicherung wird also vom GEMDOS bernommen. Dies hat einerseits den Effekt, da 1st-Word den FORMATS-Ordner nicht mehr findet, andererseits bekommt die Box alle nderungen von auen mit: d.h. ffnet man z.B. ein Fenster auf Laufwerk E: mit dem Pfad E:\BEISPIEL\PFAD und startet dann auf Laufwerk C: ein Programm, das wiederum die Fileselectorbox aufruft, so erscheint dort zunchst der vom Programm vorgegebene Pfad (sofern man nicht geklemmt hat). Klickt man nun den Laufwerksknopf E an, so erscheint sofort der Pfad E:\BEISPIEL\PFAD, whrend dies im Fall a) normalerweise nicht der Fall ist. Man ist somit meistens sofort auf dem Pfad, auf dem man sein mchte. Die Box gibt sich in diesem Modus also vllig offen nach auen hin: Sie nimmt die Pfadnamen vom GEMDOS, egal, wer sie gesetzt hat; sie setzt aber auch neue Pfadnamen im GEMDOS mit allen Konsequenzen (->FORMATS-Ordner)! c) T(OS)->F(select) ------------------- Dieser Modus der Pfadnamenspeicherung ist ein Kompromi zwischen den beiden vorhergehenden Modi: Immer, wenn die Box aufgerufen wird, liest sie von smtlichen angemeldeten (aktiven) Laufwerken die kompletten Pfadnamen ein. Dadurch kann sie auf nderungen von auen wie im Modus b) reagieren. Anschlieend bernimmt sie die Verwaltung der Pfadnamen vllig selbstndig wie im Modus a). Das heit insbesondere, da sie keine Pfadnamen im GEMDOS speichert. Daher funktioniert der FORMATS-Ordner auch in diesem Modus. Noch einen kleinen Haken hat die Sache: Durch das stndige Neueinlesen der Pfade bei jedem neuen Aufruf der Box werden die Pfade nur solange gespeichert, solange die Box auf dem Bildschirm sichtbar ist. Dies ist aber m.E. nicht weiter hinderlich. In diesem Modus werden die Laufwerke A: und B: gesondert behandelt: Fr Festplattenbesitzer ist es besonders hinderlich, wenn bei jedem Aufruf der Box die Meldung "Bitte Diskette B: in Laufwerk A: einlegen" erscheint. Dies passiert immer dann, wenn nur ein Laufwerk ange- schlossen ist und die Pfadnamen von A: und dann von B: eingelesen werden. Daher werden einfach, sobald ein Laufwerk >= C: angemeldet ist, die Pfadnamen von A: und B: nicht mehr bei jedem Aufruf der Box eingelesen. Diese Laufwerke werden dann wie im Modus a) behandelt. Sind jedoch nur A: und B: angemeldet, so werden die Pfadnamen dieser beiden Laufwerke dennoch bei jedem Aufruf der Box eingelesen mit der Konsequenz, da ab und zu die Aufforderung zum Diskttenwechsel erscheint (je nach Lust und Laune des GEMDOS). Ist dieser Effekt nicht gewnscht, so mu der Modus a) oder b) verwendet werden. Ordner/Datei lschen: --------------------- Es wird der/die Ordner/Datei im aktuellen Verzeichnis gelscht, dessen/deren Name im Dateinamen-Eingabefeld steht. Bei einem Mierfolg wird eine Fehlermeldung ausgegeben. Also: zu lschende Datei einmal anklicken bzw. Ordnernamen ins Dateinamenfeld eingeben und "Ordner/Datei lschen" in der Optionsbox anklicken. Ordner anlegen: --------------- Damit kann ein Ordner im aktuellen Verzeichnis angelegt werden, und zwar mit dem Namen, der im Dateinamen-Eingabefeld steht. Parameter abspeichern: ---------------------- Damit knnen alle wichtigen Einstellungen der Box gesichert werden, und zwar: Die Sortierung, die Default-Extensions, der Redraw-Modus, das Klemmen von Pfad und Extension (hier wird auch einer der 12 Default-Extenders, sofern ausgewhlt, mit gesichert), die Pfadnamen- speicherung (nicht jedoch die Pfadnamen selbst) und die Art der Anzeige (Namen, Gre,...). Damit die Abspeicherung funktioniert, mu das Fileselectorprogramm selbst im dem Autoordner, von dem gebootet wurde, unter dem Namen FSELECT.PRG liegen. Dies ist notwendig, da bei der Abspeicherung das Programm selbst modifiziert wird (wenn die abgespeicherten Daten aus einer eigenen Datei geladen wrden, so wrde sich die Zeit beim Booten verlngern; auerdem hat man bei der jetzigen Form nur 1 Datei, nmlich das Programm selbst!). Tastaturbedienung ----------------- Eine wesentliche Neuerung ist nun die Bedienbarkeit der Box ber die Tastatur. Da sich mittlerweile viele Programme sowohl mit der Maus als auch mit der Tastatur bedienen lassen, habe ich die Box dahingehend umgebaut, da sich jetzt alle Funktionen auch ber die Tastatur steuern lassen. Dadurch fllt ein weiterer Griff zur Maus weg (ich hoffe, der Vorteil der Tastaturbedienung hat sich so langsam herumgesprochen)! Achtung: Die Funktionen der Optionsbox knnen ber die Tastatur von der Hauptbox aus aufgerufen werden! Die Optionsbox braucht also nicht erst zur Anzeige gebracht werden! Die Belegung der Tasten lt mittels des Programmes PATCH.PRG umndern. Die genaue Belegung der Tasten steht in der Datei FSELECT.INS. Hier die wichtigsten: Undo : Abbruch Help : Optionsbox ^a-^p : Laufwerke A: - P: ^s : Parameter abspeichern (funktioniert auch in der Hauptbox) ^Insert : Ordner anlegen ( -"- ) ^Delete : Ordner/Datei lschen ( -"- ) Durch zustzliche Bettigung der Shift-Taste kann ein Doppelklick auf den entsprechenden Knopf simuliert werden. Genauere Beschreibung siehe Punkt III. -> Sonstiges --------- Wichtig fr Harddisk-Besitzer: Sollte das Programm im Auto-Ordner liegen und sich beim Booten mit irgendeinem anderen Programm nicht vertragen (Bmbchen, Bmbchen....), so kann mit niedergedrckter Alternate-Taste whrend des Bootens ein Programmstart verhindert werden. III. Beschreibung des Tastaturbelegungsprogrammes PATCH.PRG =========================================================== 1. Beschreibung der Installationsdatei FSELECT.INS -------------------------------------------------- Generell gilt: Die Reihenfolge der Zeilen in der Datei ist nicht von Bedeutung! In jeder Zeile kann ein Kommentar stehen, er beginnt mit einem '#' und geht dann bis zum Zeilenende. Leerzeichen drfen berall stehen, nur nicht in zusammengehrenden Symbolen (etwa Zahlen ("$4E"), Namen ("header") und Ascii-Konstanten ("'A'")). Schlsselworte knnen gro und klein geschrieben werden. Jede Zeile beginnt mit einem Schlsselwort. Es bestimmt das Objekt in der Box, das mit einer Tastenkombination erreicht werden soll (z.B. "drive0"). Daraufhin folgt ein "=", gefolgt von einer Konstanten. Diese Konstante stellt den ASCII-Code der dem Schlsselwort zuzuweisenden Taste dar. Die Konstante kann folgende Formate annehmen (z.B.): - $4C (Hex-Format) fr den Buchstaben 'L' oder dazu quivalent - 76 (Dezimalformat) oder - 'L' (ASCII-Format) Bei den Sondertasten und Tasten des numerischen Eingabefeldes sind meistens nur symbolische Konstanten mglich (z.B. "F1", "F2", "ESC", "TAB", "INSERT"). Anschlieend folgen (optional) zwei Shifttasten-Kombinationen, jeweils durch Komma vom vorigen Wert getrennt: Die erste Kombination definiert die Taste fr einen Einfachklick, die zweite fr einen Doppelklick. Eine Kombination besteht aus max. 3 Shifttasten-Schlsselwrtern (siehe unten) mit dem Zeichen '+' dazwischen. ...Etwas kompliziert zu beschreiben, deshalb zwei Beispiele, da sieht's gleich einfacher aus (oder besser mal FSELECT.INS ansehen): "drive0 = '5', shift, alt" d.h. Laufwerk A: (drive0) kann ber Shift-5 angewhlt werden und mittels Alt-5 werden die Laufwerksinformationen ber Laufwerk A: ausgegeben. "ext0 = 'a', , shift" d.h. mit einem einfachen Tastendruck auf A wird der erste Extender ausgewhlt, whrend er sich mit Shift-A editieren lt. Es kann in diesem Fall kein 'A' mehr ins Pfadnamenfeld oder ins Dateinamenfeld eingegeben werden! Aufgrund der Abfragetechnik in der Box lt sich pro Taste nur ein Objekt definieren, fr dieses knnen dann aber fr Einfach- und Doppelklick verschiedene Shifttastenkombinationen definiert werden. Pro Objekt knnen aber mehrere Tasten definiert werden (wie z.B. fr die Kopfzeile geschehen ist: sie ist sowohl ber Ctrl-Q als auch ber Help erreichbar). Ich habe die Tastaturabfrage in der Box so konstruiert, da die Optionsbox nicht mehr dargestellt werden braucht! So kann z.B. jederzeit in der Hauptbox Ctrl-S gedrckt werden, um die Boxparameter abzuspeichern. Mchte jemand eine Funktion der Box fr die Tastatur sperren (z.B. weil Ctrl-Delete auch von der Hauptbox aus Dateien und Ordner lscht), so ist einfach die entsprechende Zeile aus der Installationsdatei zu entfernen und das Patchprogramm neu zu starten. Pro Taste sollten immer beide Shifttastenkombinationen definiert werden. Wird eine Kombination weggelassen, so bekommt die Taste bereits ohne irgendwelche Shifttasten eine Steuerfunktion fr die Box (siehe Beispiel 2 oben)! Sind beide Kombinationen gleich, so wird der Tastendruck als Einfachklick gewertet. Eine Ausnahme in der Steuerdatei bildet das Schlsselwort "fixdrives": Es mu alleine auf einer Zeile stehen und schaltet eigentlich nur eine Option der Box ein oder aus (je nachdem, ob es in der Installationsdatei erscheint oder nicht): So kann man mit dieser Option die Tasten, die die Laufwerke auswhlen, entweder an die Laufwerksbezeichnungen oder an die Laufwerksknpfe festbinden: z.B. aktiviert bei der Option 'fixdrives' die Taste 'c' immer das Laufwerk C:, egal ob A: und B: angemeldet sind oder nicht. Ist die Option 'fixdrives' ausgeschaltet (gelscht oder auskommen- tiert), so ist die jeweilige Taste nicht an die Laufwerkskennung, sondern an den jeweiligen Knopf gebunden: Die Taste 'c' aktiviert dann immer den 3. Laufwerksknopf, egal, ob dort Laufwerk C:, D: oder E: eingetragen ist. Es folgt noch ein Syntaxdiagramm in EBNF-Notation mit einer Auflistung smtlicher Schlsselwrter: lines: { line } line: [ "fixdrives" | ( OBJECT "=" KEY kshifts ) ] "\n" kshifts: [ "," ( kshift [ "," kshift ] ) | ( "," kshift ) ] kshift: SHIFT [ "+" SHIFT [ "+" SHIFT ] ] Shifttasten-Schlsselworte SHIFT: "shift" | "s" Linke/rechte Shifttasten | "alternate" | "alt" | "a" Alternate-Taste | "control" | "ctrl" | "c" Control-Taste Schlsselworte der Hauptbox KEY: "DRIVE0" Laufwerk 0 (normal A:) | "DRIVE1" Laufwerk 1 (normal B:) | "DRIVE2" ... | "DRIVE3" | "DRIVE4" | "DRIVE5" | "DRIVE6" | "DRIVE7" | "DRIVE8" | "DRIVE9" | "DRIVE10" | "DRIVE11" | "DRIVE12" | "DRIVE13" | "DRIVE14" | "DRIVE15" | "HEADER" Kopfzeile | "WICLOSE" Closer-Feld des Dateinamenfensters | "WIMOVE" Mover-Feld des Dateinamenfensters | "WI0" 1. Dateinamenzeile des Fensters | "WI1" 2. -"- | "WI2" ... | "WI3" | "WI4" | "WI5" | "WI6" | "WI7" | "WI8" | "WI9" | "WI10" | "WIUPARR" Fensterpfeile nach oben | "WIDNARR" ... nach unten | "WILTARR" ... nach links | "WIRTARR" ... nach rechts | "EXT0" die Extensionfelder "*.C"-"*.*" | "EXT1" | "EXT2" | "EXT3" | "EXT4" | "EXT5" | "EXT6" | "EXT7" | "EXT8" | "EXT9" | "EXT10" | "EXT11" | "SORTNAME" Sortierung nach Namen | "SORTEXT" ... Extension | "SORTDATE" ... Datum | "SORTSIZE" ... Dateigre | "EXIT" Abbruch der Hauptbox Schlsselworte der Optionsbox | "OPFEST" Fest-Modus | "OPAUTO" Auto-Modus | "OPREDRAW" Redraw-Modus | "OPKLPF" Klemmen des Pfades | "OPKLEX" Klemmen der Extension | "OPSPFSEL" Fselect speichert Pfad | "OPSPTOS" TOS speichert Pfad | "OPSPTOSFS" Fselect bernimmt Pfad von Fselect | "OPREMOVE" Ordner/Datei lschen | "OPMKDIR" Ordner anlegen | "OPSAVE" Parameter abspeichern | "OPEXIT" Abruch der Optionsbox OBJECT: ( "$" ( "0".."9" | "A".."F" ) { "0".."9" | "A".."F" } ) | ( ( "0".."9" ) { "0".."9" } ) | ( "'" " ".."~" "'" ) | "Z(" Die Zeichen auf der numerischen | "Z)" Eingabetastatur | "Z/" | "Z*" | "Z+" | "Z-" | "Z." | "Z0" | "Z1" | "Z2" | "Z3" | "Z4" | "Z5" | "Z6" | "Z7" | "Z8" | "Z9" | "ZCR" Enter auf der num. Tastatur | "ENTER" dto. | "HELP" div. Sondertasten | "UNDO" | "INSERT" | "HOME" | "CLR" | "CURUP" | "CURDOWN" | "CURLEFT" | "CURRIGHT" | "ESC" | "TAB" | "SPACE" | "BACKSPACE" | "RETURN" | "DELETE" | "F1" | "F2" | "F3" | "F4" | "F5" | "F6" | "F7" | "F8" | "F9" | "F10" 2. Beschreibung des Programmes PATCH.PRG ---------------------------------------- Das Programm PATCH.PRG dient zum Patchen der Tastenbelegungstabelle von FSELECT.PRG. Dazu wird die gewnschte Tastenbelegung in der Datei FSELECT.INS eingetragen und das Programm PATCH.PRG gestartet. Zu diesem Zeitpunkt sollte die Fileselectorbox bereits aktiv sein, da das Patchprogramm zu Demonstrationszwecken von der Mglichkeit Gebrauch macht, eine Kopfzeile in der Box mit angeben zu knnen. Ist die Fileselectorbox trotzdem noch nicht aktiv, so kann das Programm mit niedergedrckter Alternate-Taste gestartet werden (Taste halten, bis die Fileselectorbox erscheint). In diesem Fall wird dann der normale Fileselectoraufruf benutzt. Das Programm fragt jetzt nach dem Namen der Installationsdatei (im Normalfall FSELECT.INS). Die Datei wird dann gelesen und interpretiert. Etwaige Fehler in der Datei werden gemeldet. Falls keine Fehler auftraten, fragt das Programm anschlieend nach dem zu patchenden Programm. Dies ist im Normalfall FSELECT.PRG im AUTO-Ordner. Ging alles glatt, so werden keine Fehlermeldungen ausgegeben und der Rechner kann anschlieend neu gebootet werden, um die Version mit der neuen Tastenbelegung in den Speicher zu laden. IV. Anhang ========== Das Programm BOXTEST.PRG ist eigentlich nur zur Demonstration der Box mit der Kopfzeile gedacht. Man kann auch verschiedene Pfadnamen eingeben und sehen, was die Box daraus macht. War eingentlich nur zum Testen der Box gedacht... Den Quelltext zu dieser Version von FSELECT gibt's bei mir fr lasche DM 30.- (170KB Sourcecode, 400KB alle Dateien). Wer ihn mchte, soll mir bitte eine Diskette (DD,DS), einen frankierten Rckumschlag und natrlich 30DM zuschicken. Fehlt was, gibt's nichts! Anforderungen an den Compiler: Mark Williams C >= 3.0 (2.1.7 tuts fast auch!) fr das Programm patch.prg ist zustzlich lex und yacc sehr von Nutzen (aber nicht unbedingt notwendig)! ---- Fr Anregungen und Benachrichtigungen ber Fehler bin ich immer dankbar! Fr Rckantworten bitte frankierten Umschlag beilegen! Danke! Und hier noch meine Adresse: Martin Patzel Promenadeweg 15 D-7905 Dietenheim 1 West-Germany . U.. GULAM G  GULAM HLP ^`H DOC @H PAS  H TTP < HELPINSTG <# ----------------------------------------------------------------------------- # GULAM.G # # Dirk Donath, Vogelpothsweg 20, 4600 Dortmund 1 # ----------------------------------------------------------------------------- # # ----------------------------------------------------------------------------- # Alias-Definitionen: # ----------------------------------------------------------------------------- # alias type 'more ' alias del 'rm ' alias dir 'ls -F ' alias ls 'ls -FL' alias copy 'cp ' alias rd 'rmdir ' alias md 'mkdir ' alias a: 'cd a:\' alias b: 'cd b:\' alias c: 'cd c:\' alias d: 'cd d:\' alias e: 'cd e:\' alias f: 'cd f:\' alias g: 'cd g:\' alias h: 'cd h:\' alias invoff set rgb '111-000-' # Bildschirm schwarz auf weiss alias invon set rgb '000-111-' # Bildschirm weiss auf schwarz # # ----------------------------------------------------------------------------- # Aenderungen einiger Editorkommandos: # ----------------------------------------------------------------------------- # # Funktionstasten: # ---------------- uekb 081 36 # F1 = Blockpuffer loeschen uekb 082 3b # F2 = Blockpuffer einfuegen uekb 083 2c # F3 = vorwaerts suchen uekb 084 2f # F4 = suchen und ersetzen # # Tasten des Zahlenfeldes: # ------------------------ uekb 0b0 30 # 0 = Marke setzen uekb 0b1 1f # 1 = End uekb 0b2 0f # 2 = runter uekb 0b3 61 # 3 = PgDown uekb 0b4 1a # 4 = links uekb 0b5 00 # 5 = Noop uekb 0b6 1b # 6 = rechts uekb 0b7 1e # 7 = Home uekb 0b8 23 # 8 = rauf uekb 0b9 62 # 9 = PgUp uekb 0c4 10 # Enter = Return # # Sonstige Tasten: # ---------------- uekb 14d 25 # Return = Return mit Einrueckung uekb 159 20 # ^Y = Zeile loeschen uekb 07f 1d # Delete = Delete uekb 08d 54 # Insert = zum Textende uekb 08e 55 # ClrHome = zum Textanfang # # ----------------------------------------------------------------------------- # Aktionen beim Start von GULAM: # ----------------------------------------------------------------------------- # msoff # Maus abschalten set home $cwd set prompt '$cwd>' echo ' ' mem echo ' ' # # ----------------------------------------------------------------------------- # Hilfstexte zum GULAM-Hilfesystem Dirk Donath, Vogelpothsweg 20, 4600 Dortmund 1 ------------------------------------------------------------------ #ALIAS >> alias << The 'alias' built-in command works almost like a shell file but one that is stored in the internal data structures of Gulam. It often just specifies a shorter or different name for a command. alias cc c:\megamax\mmcc.ttp #1 unalias cc #2 alias cl 'mmcc e:\gulam\$1.c; cp e:\gulam\$1.o .; linkmm l.lnk' #3 alias r 'echo $1.c $1.o; r' #4 alias #5 alias g 'echo $3 $1' #6 alias cg 'f:\cc.ttp -c -V -Ie:\gulam -DMWC e:\gulam\$1.c' #7 Alias without args (see #5) lists all the aliases that are currently defined. The command unalias (see 2) removes the def of an alias. Line 4 shows a recursive def; try it out! If we invoke g as in 'g a b c d e f' this is equivalent to 'echo c a d e f'; i.e., all arguments above the highest that was used in a $-substitution are appended to the resulting command string before executing it. # #BATCH >> Batch Files << A batch file, also called a shell file, is a text file containing Gulam commands, both internal and external. Such files must have the extension `.g' for them to be recognized as commands. See the section on gulam.g for an example shell file. In processing these files Gulam uses uE buffers. So, if you have `ue' as a command in a batch file, and then exit uE with either UNDO or ^X-^C, all the buffers (including the one holding the batch file) will be released, and Gulam will surely crash. So, do NOT include ue as a command in a shell file. # #COMMANDS Usage: h Built-in commands: alias dirc exit history msoff pwd source unalias cd dirs fg if mv rehash sx unset chmod echo fgrep lpr peekw ren te unsetenv copy egrep foreach ls pokew rm teexit which cp ef format mem popd rmdir time while date endfor gem mkdir print rx touch df endif grep more printenv set ue dm endwhile help mson pushd setenv uekb Additional help: batch commands variables # #CD >> cd << The cd command changes the current working directory; it also sets the shell variable named cwd, the environment variable named CWD. If cd was given noarguments, it is equivalent to cd $home. # #CHMOD >> chmod [+-w] filenames << The chmod changes the read/write attributes of the files: +w makes them read-write, and -w makes them read-only. # #CP >> cp filenames target-dir << >> cp filename1 filename2 << Copies files. In the first form, any number of files may be copied into the destination directory; files in the target dir will have their original names. In the second form, only one file is copied, and the new one will be named filename2. cp fnm fnm # will exit with status -1 cp d1 dir2 # if d1 is a directory, this command will create a dir # named d1 in dir2, and copies all the files in d1 to # dir2\d1 There is a `+t' option that gives the created target files the time and date of the source files. If you care about this, you may want to set up an alias as in: alias cp 'cp +t' # #DATE >> date << The date command, without arguments, prints the current date and time. With arguments, it sets the date and time. date 01-22-87-22:08:34 will set the date to Jan 22, 87 and time to 10:08:34 pm. # #DF >> df drivenames << Df shows the free space on the asked for drive(s); e.g., 'df a c f' # #DM >> dm << -- drive map Gives a string of letters that stand for the installed drives. # #DIRC >> dir_cache dirc << To help do the Tenex file name completion efficiently, there is a cache of contents of directories. Dirc shows the names of these dirs, and how many bytes are used by their contents. Unless you did a 'set dir_cache 1', the dirc has nothing to show since the cache is flushed at the end of each command. Try Gulam with dir_cache set to 1. Note however that this cache is updated only by the 'ls' command; so even after you deleted some files, file name completion may still find those names. # #DIRS >> dirs << Gulam has an internal stack of directories whose content is printed by the dirs command. The built-in commands pushd, and popd are the only others that operate on this stack. # #ECHO >> echo << The echo command prints its arguments. # #EF >> ef << -- see if (stands for elseif) # #EGREP >> egrep << -- see grep # #FGREP >> fgrep << -- see grep # #ENDIF >> endif << -- see if # #ENDFOR >> endfor << -- see foreach # #EXIT >> exit [number] << The exit built-in command is used to force termination of a shell script. # #FG >> fg << Fg is part of the simulation of what we were used to doing on Unix with GNU-Emacs: get out of it by stopping GNU (^Z in ue/Gulam), do a few shell commands and get back in by fg (works the same in ue/Gulam). # #FOREACH >> foreach << The foreach command is used in shell scripts (but not at the terminal) to specify repetition of a sequence of commands while the value of a certain shell variable ranges through a specified list. The foreach command ends with an "enfdor" on a separate line all by itself. foreach i { a b c *.o [a-k]*[ch] } echo $i endfor # #FORMAT >> format << This command formats diskettes, in the standard form (360K, or 720K) in either the A or B floppy drive. It does not touch hard-/ram-disks, no matter what arguments (illegal or not) you give it. Its valid arguments are either `a', `b', or both. The optional flag `-2' implies double-sided formatting; otherwise the diskette is formatted single-sided. format # does nothing format b # format the floppy in drive B, single-sided format -1 b # same as format b format -2 a # format the floppy in drive A, double-sided If you issue the wrong command (e.g., `format -2 a' on a single-sided drive), you will hear a lot of grinding noises; a control-C will kill this, but not right away. # #GEM >> gem << The word "gem" is a prefix, like "time" is, to commands. This enables proper running via Gulam of most programs that use the desktop metaphor. It clears screen, turns cursor off, enables mouse and then executes the command, and after the command is finished it again clears screen, turns cursor on, disables mouse. The "time" and "gem" prefixes mix in either order, and the command name will be searched for in the usual way. We do not know, for sure, if all desktop/window/mouse oriented programs can be run properly with this command prefix. So experiment, and be ready to hit the reset button before using the prefix. Dvi is an example of a command that needs to be run with `gem' prefix. And you may be tempted to do the following. alias dvi 'gem dvi' # recurses infinitely alias dzz dvi # dzz or whatever alias dvi 'gem dzz' # will work alias dvi 'gem c:\bin\dvi.prg' # also will work # #GREP >> grep/egrep/fgrep re-pattern filenames << The grep command searches through a list of argument files for a specified string. Thus grep lex[aw] e:\gulam\*.c will print each line in the files that contains a substring matching lex[aw]. Grep stands for `globally find regular expression matches and print'. Grep and egrep are one and the same. The first argument to egrep is a regular expression, and the rest are expected to be file names. Fgrep's first argument is the as-is string to be searched for in the files. Because of the preprocessing done by Gulam, the as-is string for fgrep or the regular exp for egrep is generally enclosed in single-quotes. # #VARIABLES >> Gulam Variables and Environment << The following shell variables cause/control useful effects. The format of the explanation is `variable_name: default-value; meaning'. batch_max_nesting: 20; if you need to nest batch file execution at levels deeper than this, change this variable. batch_echo: 0; if 1 echoes each cmd of the batch file as it is executed. baud_rate:none; for use in the terminal emulator, rx/sx file transfers. cwd:CWD: full pathname of current directory; gets re-set every time a cd, pushd or popd is executed. dir_cache: 0; (if non-0, turns on the dir list cache) home,HOME: full pathname of home directory; home is the directory you were in before invoking Gulam. ginprompt: $<; the prompt shown when asking you for input in dollar-substituting a $<. histfile: none; reads and saves history in file named $histfile ncmd: number of the current command; gets set after each executing each command. The following pr_XXX vars are relevant with `print', and `lpr' commands. When set, these strings are sent to the printer : pr_bof:unset; send before printing each new file pr_eol:`^Qr^Qn'; send after each line pr_eop:`^Q214'; send after each page (214 == ASCII ^L + 0200). pr_eof:`^Q214'; send after the end of file. Thus, to have a left margin of eight-spaces, just define pr_eol as '^Qr^Qn^Qt'. To turn condensed mode etc., just set pr_bof to the appropriate string after looking it up in the printer's manual. See the section on strings for an explanation of ^Q. prompt >>; see gulam.g for an example rgb,RGB '000-700-007-070-'; sets the palette: 3 octal digits (followed by a dummy '-') per color; 2 in hi-rez, 4 in med-rez, 16 in low-rez rx_remote_command:unset; command to send to remote to receive file with Xmdm. For our Unix, this string is `xm st'. The rx command appends a space followed by the file name and sends the resulting string to the remote as if you typed it. sx_remote_command: unset; command to send to remote to send file with Xmdm. Similar to the above. semicolon_max: 20; (Number of `;' per line; to stop infinite recursions in alias expanded commands.) status: status of the most recent external command; set after each external cmd. sz_rs232_buffer: unset; The built-in terminal emulator, when invoked, will reallocate a buffer of this size (if this value is > 256) for the associated IOREC. If unset, or if set but to a value lower than 4096, you may experience XON/XOFF occuring at 9600. I recommend 4096. time: unset; if set to non-0, times every command. # #HELP >> HELP << The all-upper case name HELP in this manual stands for the key marked HELP on the Atari ST. Pressing this key, outside the ue, will show all the Gulam built-in commands, and a brief version of the hash table. Within ue, it can show the binding of an individual key, or produce a wall-chart of all bindings. The shift-HELP key resets the special key table mapping that Gulam/uE use; after pressing shift-HELP the function keys, and arrow keys become equivalent to ^@, and the keypad will work as a typcial numerical keypad. To get back to the Gulam/uE key table, press ^L, which not only refreshes the display but also sets the key table. Typing the letters 'help' while outside ue, or in buffer >gulam< is equivalent to pressing HELP. # #HISTORY >> history [-h] << The history command lists the last N commands. Each command is preceded by its number; to suppress these numbers, supply the "-h" flag. The value N is obtained by $history. To change this N to, say, 30, do "set history 30". >> History Substitutions << Occurrences of the form !!, !number, !string refer to the text of previously issued commands. The text of these older commands itself does not contain ! unless it is part of a string argument. Each !! is replaced by the text of the immediately preceding command. Gulam consecutively numbers the commands that you have issued. (The current count can be seen in the shell variable named ncmd.) Each !n is replaced by the n-th old command. Each !str is a replaced by the most recent old command that begins with str. The name completion feature works with history substitutions also. Pressing INSERT or ESC-ESC will bring the history-matched command and replace the current line in the buffer, which you can further edit. # #IF >> if << The if stmt is similar to those in many programming languages. The Boolean expression of shell if stmts typically involves tests on file names and types. (See Expressions.) There is no 'then'. Any remaining lexemes after the Boolean exp are ignored. if {-d e:\gulam\lex} + 2 == 3 echo e:\gulam\lex is a dir ef -e e:\gulam\lex # read ef as `else if' echo e:\gulam\lex does exist ef echo e:\gulam\lex does NOT exist endif # #LPR >> lpr filenames << The command lpr prints its files as-is, with no processing at the end of lines. # #LS >> ls [-lRLF] filenames << The ls (list files) command, with no arguments, prints the sorted list of names of the files in the current directory. It has a number of useful flag arguments, and can also be given the names of directories as arguments, in which case it lists the names of the files in these directories. If no flags are given, ls prints only the filenames. The -L causes a full-length line for each file giving its attributes, size, creation date, and name. The -l (small el) is the same as -L except that the output is sorted by name. The -R will cause the subtrees of directories in the argument list of files to be traversed. The -F will append to each listed filename one char that indicates the type of that file: '*' if it is executable (i.e., has an extension of .prg, .tos, .ttp, or .g), a '\' if its is a directory, a ' ' otherwise. # #MEM >> mem << Mem shows the largest free chunk of memory available. It just does a Malloc(-1L) and reports the result. # #MD >> md << -- see mkdir # #MKDIR >> mkdir names << The mkdir command creates new directories with the arguments as their names. # #MORE >> more << This is a built-in alias, if you will, to ue -r. # #MV >> mv filenames target-dir << >> mv filename1 filename2 << Moves files. In the first form, any number of files may be moved into the destination directory; files in the target dir will have their original names. In the second form, only one file is moved, and the new one will be named filename2. On the Atari ST, moving files is accomplished by copying and then deleting the source file unless it is the second form and both are in the same directory. # #MSON >> mson/msoff << These enable/disable the mouse. Gulam/ue does not use mouse; we intend to in a good way. Most GEM-based .prg programs use mouse, but do not set it up themselves. Some of these will hang if invoked from Gulam, which is no big deal; do 'mson' and then try. # #PATH >> PATH << A comma-separated list (with no white chars) of directiries should be the value of this environment variable. This value is use by 'rehash' command. Rehash scans the files in each directory looking for executable files (by def, files with extensions of .prg, .tos. .ttp, or .g). The leaf names and full pathnames are entered into a hash table. Typing the 'help' command (not the HELP key) will list the hash table in brief; 'which' command lists it in full. Gulam does NOT auto rehash whenever PATH is changed (which I will change if a lot of you think it should). setenv PATH c:,c:\bin,d:\mwc\bin # #PEEKW >> peekw and pokew << Peekw and pokew are similar to their namesakes in BASIC. We use privileged mode to alter/access any arbitrary location. These commands expect their arguments to be hex numbers. The pokew command should be used with care. peekw 420 # shows you what is at word at 0x420 pokew 420 123E # sets word at 0x420 to 0x123E # #POPD >> popd << The popd command changes the shell's working directory to the one on top of the directory stack. Also, sets cwd, and CWD. # #PRINT >> print filenames << The print command is used to prepare listings of the contents of files with headers giving the name of the file and the date and time at which the file was last modified. # #PRINTENV >> printenv << The printenv command is equiv to setenv with no args. # #PUSHD >> pushd [dir] << The pushd (push directory) command pushes the name of the current directory on to the internal stack, and cd's to the directory given by the argument. You can later do a popd to return to the present current directory. The command pushd, without arguments, exchanges the working directory with the one on top of the stack. # #PWD >> pwd << This built-in command prints the full pathname of the current working directory. # #REHASH >> rehash << -- see PATH # #REN >> ren fnm1 fnm2 << Rename file fnm1 as fnm2; they both must be in the same directory. # #RD >> rd << -- see rmdir # #RMDIR >> rmdir dnm << Removes the directory dnm. The directory must be empty. # #RM >> rm filenames << Rm removes the named files. Most of us have the following aliases in our gulam.g files: alias rm rm -i alias Rm rm which queries you, for each file, before deleting it. We use Rm when we are really sure we want to delete the file(s). There is no special check to see if you typed 'rm *.*' or 'rm *'; both of these will clear your current directory. # #SET >> set [name value] << The built-in set command is used to assign new values to shell variables and to show the values of the current variables. The command without any arguments lists all the shell vars and their values. When arguments are present, second and subsequent words are processed as an expression yielding a value which is then assigned to the first argument. The unset command deletes a variable. set i { $j > 10 } # sets i to 1 if $j is > 10; to 0 otherwise set x "hi there" set y $i + 4 @ 2 # @ stands for multiplication # #SETENV >> setenv << Variables in the environment can be changed by using the setenv built-in command. The setenv command without args prints the values of all the variables in the environment. # #SOURCE >> source file-name << The contents of file file-name are excuted by Gulam. Unless the file-name has an extension other than .g, use the simpler command 'file.g' instead. # #SX >> sx << -- see variables # #RX >> rx << -- see variables # #TE >> te/teexit << Te (also bound to Keypad-0) gets you into the built-in terminal emulator. If you have baud_rate set up properly (see gulam.g), the rs232 port is set to that speed, and you are switched to a fresh screen. Set sz_rs232_buffer to a large value if you encounter XON/XOFF problems too frequently. We have used the following TERMCAP and used vi, GNU-Emacs etc without any problems. To return to the local mode after having done 'te', press UNDO. Then a Keypad-0 will take you back to remote with your remote screen in tact. After you are finally done with your remote system, press UNDO, and then issue a 'teexit' to reclaim the 32k used for the extra screen. # #TIME >> time [command] << The word time when prefixed to a regular command, it prints the elapsed time after the command finishes. If you set variable named `time' to a non-zero value, each and every command, even if they are not prefixed with the word 'time', will be so timed. time ls -lF c:\ # See how long it takes set time 1 # After this, all command will be timed until set time 0 # you do this, or unset time # this If you set up aliases with `time' prefixes in them, watch out! The discussion under the section on Gem is applicable to `time' also. # #TOUCH >> touch fnms << Touch updates the time stamp on the files to current time and date. # #UE >> ue [-r] [fnms] << This command takes you into the built-in microEmacs editor. If no args are given, you will land in the >gulam< buffer, otherwise in the buffer of the last named file. The output of Gulam commands executed while you are within >gulam< is entered into that buffer; this, of course, consumes malloc-space. Meta-g brings you into >gulam< if you are in another buffer. To examine the key bindings, press HELP-key first, and then a B while inside ue. To rebind them to suit your tastes, see uekb. On the Atari ST, all the keys are bound (thoughtfully, I hope) to useful commands. F1 through F5 delete things; F6-F10 update files and buffers; Keypad keys cause harmless cursor motions; Keypad 0 (zero) switches you to the (remote computer hooked to the) rs232 port; to return to your local Atari, press UNDO. HELP is for (not much) help; UNDO will exit after saving files; the rest of the keys in that group move the cursor around. The -r flag causes the buffers of the files following the -r to be marked as read-Only. You can still edit these buffers; but the read-Only mark causes ue to ask before writing to these files. Do try ^Z, ^X-! and Meta-X-! commands. # #UEKB >> uekb redefine microEmacs keybindings << To bind key with code 144 to function with hex-number 1d, do uekb 144 1d You can find the key codes and hex-numbers of functions in the wall-chart (shown below), which can be produced by pressing the HELP key, and then a B. # #UNALIAS >> unalias [aliassed-name] << The unalias command removes aliases. # #UNSET >> unset [var-name] << >> unsetenv [env-var] << The unset command removes the definitions of shell variables. # #WHICH >> which << The which cmd displays the internal table of names of external cmds, and the full pathnames of the files that contain them. If nothing gets displayed, either you did not do a `rehash', did not setenv the PATH, or none of the directories in PATH had any executables. # #WHILE >> while << The while built-in control construct is used in shell command scripts. Instead of echo and set in the body of the loop shown below, you can use other commands. set i 10 while $i > 0 echo $i set i $i - 1 endwhile # Kurzanleitung zu H Interaktives Hilfesystem fuer die Public-Domain-Shell "GULAM". -------------------------------------------------------------------------------- Gelieferte Programme bzw. Dateien: H.TTP : Das ausfuehrbare Programm des Hilfesystems. Durch Eingabe von H unter GULAM erscheint die von Befehl HELP her bekannte Hilfsseite. Durch Eingabe von H erscheint ein Hilfstext zum eingegebenen Befehl. GULAM.HLP : Diese Datei enthaelt die Hilfstexte, welche beliebig erweitert oder ins Deutsche uebersetzt werden koennen. (Sie wurden direkt aus der GULAM-Dokumentation ueber- nommen.) Systematik: Der Hilfstext zum Befehl BEFEHL beginnt hinter dem Schluesselwort #BEFEHL und endet vor dem Endezeichen #. HELPINST.G : GULAM-Batchdatei zur Installation des Hilfesystems auf einer Ramdisk. Dafuer ist ein eigenes Ramdiskprogramm erforderlich; HELPINST.G ist entsprechend anzupassen. GULAM.G : Beispiel einer GULAM-Startdatei. Enthaelt mehrere Alias- Definitionen zur Angleichung des Systems an MS-DOS sowie Aenderungen der Editorkommandos. H.PAS : Quelltext zum Programm H.TTP in ST-Pascal+. -------------------------------------------------------------------------------- Meine Adresse: Dirk Donath Vogelpothsweg 20 4600 Dortmund 1 {=============================================================================} { H.PAS : Hilfesystem, hier fuer GULAM } { } { (c) Dirk Donath } { Vogelpothsweg 20 } { 4600 Dortmund 1 } {=============================================================================} program h; var s : string; {=============================================================================} procedure in_grossbuchstaben(var text : string); var i : integer; begin for i := 1 to length(text) do if (('a' <= text[i]) and (text[i] <= 'z')) then text[i] := chr(ord(text[i]) - 32); end; { in_grossbuchstaben } {=============================================================================} function IO_result : integer; external; procedure hilf(name_HLPdatei : string; stichwort : string); { Durchsucht die Hilfedatei "name_HLPdatei" nach dem String "#stichwort" und gibt den darauf folgenden Text bis zum Endezeichen "#" aus } var HLPdatei : text; s : string; begin reset(HLPdatei,name_HLPdatei); if (IO_result <> 0) then begin writeln('*** No help available ***'); halt; end; while ((not EOF(HLPdatei)) and (s <> concat('#',stichwort))) do readln(HLPdatei,s); if EOF(HLPdatei) then begin writeln('*** No help available ***'); close(HLPdatei); halt; end; write(chr(27),'E'); loop readln(HLPdatei,s); exit if (s = '#'); writeln(s); end; close(HLPdatei); end; { hilf } {=============================================================================} begin { Hauptprogramm } write('Gulam Interactive Help System'); write(' (c) D.Donath 1988'); if (cmd_args > 0) then begin cmd_getarg(1,s); in_grossbuchstaben(s); if (s = 'MSOFF') then s := 'MSON'; if (s = 'POKEW') then s := 'PEEKW'; if (s = 'TEEXIT') then s := 'TE'; if (s = 'UNSETENV') then s := 'UNSET'; if (s = 'COPY') then s := 'CP'; if (s = 'DIR') then s := 'LS'; if (s = 'TYPE') then s := 'MORE'; if (s = 'DEL') then s := 'RM'; if (s = 'ENDWHILE') then s := 'WHILE'; hilf('GULAM.HLP',s); end else hilf('GULAM.HLP','COMMANDS'); end. { hilfe } {=============================================================================} `6> o"h#.#2#6By:Nr/,HNVAl-Hp=@ n r=A`Hpa n 2.tB_ n txzD_ECd n "n tBRn0.noN^,_ _XN/,HNV(A-HAz0B BHnzHn^??<N0@Bd0.R@=@`0.n^=B0.N^,_ _XN@NUL:AXO:AXI:PRN:LST:CON:H%ar fSfr?/L%NuH%ar fSfr?/L%NuH%ar fSf`U?/L%NuH%ahr fSf`S?/L%NuH%aBr fSf`R?/L%NuH%ar fSf`T?/L%Nu#% _  g "_Jjp` 0C%p" g $_Jjr` 2E%rg\H%G$e$4SBkQ$SpQ C$` $SkQ$SrQE$L%JfpC$I/9%NuH% _024SBgQ@4BAAc/L%NuHy NRange error during set-operationH% _0246@SCBgQAn68DCCc 0AgRB`/L%NuH% _0@CEHS@rIVW.J?/L%NuH% _0@CEHS@rIVV.J?/L%NuH% _0@CEHS@2FA_VW.J?/L%NuH% _0@CEHS@2FAYVW.J?/L%NuH% _0@274BAAc7V`tO>/L%NuH% _0@"_24BAAc1V`t>/L%NuH% _02S@AC2YQ/L%NuH% _02S@AC2YQ/L%NuH% _02S@AC2FAYQ/L%NuB9%`P%By, _0g$_jp"_// H%NL%BtJ@fL)J9%f f8| i f(Bi ` f|Ji f 3| `4<gG BQB) @e *:f&Jrt `e QGtWJBkG23 J9%f fpBi `\ f3| p`J g( f*3| H@?3| NAXNu/")x itg$H@//?) ?<@NA LJof _Nu _4` _t6 Bo r aSB`2aNH?% _r ar a/L?%Nu _r aN _4` _t"x0HgJJjDxvC&,zp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvC&,p0 2H@0RJAfJg<-RBlCSBr aQSCaQN _"_v` _"_60`JfQ$ItRJf` _4v` _46"_JBjtJCkgCe4` BSCr axQSBkalQN _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH %"oA/ NL %Nu(_"_/ A) g  f$)Jtf&H //?) ?<@NA LJovfNu$ix&i|fa`pRgf#Jx`H")x it#Hxg$H`//?) ?<@NA LJofLNu )f NuHy` Hy0< LNzREWRITE required prior to WRITE or PUTDisk or directory full _$_"Wp i e)H/ N4L4NH/ N4Lp)` _"WJ9&.f*J)f i e)H/ N4L i d)J)fJg i dB9&.J)fBiQ&0Nz`z _$_"WptvH/ Hy&,a<29&,XL- -fJf^p`4  fJg*`N0eH  bBԂip(؄ij؄ifԄibԁRCJ)f  g i e) 0e 9c~Jg:JgD i d J)gP&.Jf 6Höf4N$NHy0<`Hzh0<Nz _$_0"Wt&JRJ)f:H/ Hy&,aX29&,XL i d J)P&.f RBBe`Be`N Bad digit in number encounteredOverflow during READ of number(_ _/ C (g ( fJ(fv$($IJtflH / /?( ?<?NA LJo*fJg  f"J` g  Wf NuJg Jh g J(fPNu!|NuH$hx&h|gpR@@gf!JxL`H &ht!KxJh f0abLEJ@g *f` J9&0g R@Bh` / /<?( ?<?NA LJlp!K|JfnL`rH@Hsp/Bg?<?NA LRA3J9&0g^ fSA` fL AgUH@Hz+p 3 dp` SAH@Hz$p/?<?<@NA LJ9&0g`z fSA` fSAH@Hzp` f>H@Hzp `H@Hzp 3 dp/?<?<@NA LQ` d4 gb9@HHzxp/?<?<@NA LJ9&0g& AfH@HzFp/?<?<@NA L NuHzR0<`Hz$0< LNz  p Exit q C^AReset required prior to Read or GetAttempt to read past end-of-fileH&4 _0"_e /L&4NuHy|N/B9&\/|&\NuH&4 _0 @f0"|&2&2p` "_J@jpE&\r4@ BbBS@kQ/L&4NuH&4 _4SBkt82$_rAbd0 @f0"|&2&2p` "_J@jp6ADb6CG0IS@k$eQ/L&4NuH&4 _4k2SAk0"_p6B@bE0)CS@kQ/L&4NuH&4 _2$_r0 @f0"|&2&2p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/L&4NuH&4 _4kF2SAk>0 @f0"|&2&2p` "_J@jpJBg@b6B@oCE&\SBkQ/L&4NuString overflow _pJ.g 0( hNVg4 ( hg( hH`0( hNVg ( hg hHfXgr"ODd2Sk "Sj` _"y.e HyLNN#'d#'` .f -|<`-|< nNн'`f y'dNStack overruns heap _(N _0/Ho |`3,Jy*fXNX/#'h"|a "_a"|aJy:g y'h9BgNA/ ?< NA\Nu09*Nu09,By,Nu _3*By,NBy,Nu *** *** Copyright 1986, CCD and OSS, Inc.      0 $NN6r      "$" ,*< * * , , 0 , " BBb4&2J ^ (  VlX$Fd ( *@ B @ ( 0  # Installation des Hilfesystems auf einer Ramdisk. # echo ' ' echo 'Gulam Interactive Help System' echo '(c) D.Donath 1988' # # **** WICHTIG: **** # Hier den Aufruf eines Ramdisk-Programms eintragen, das eine Ramdisk # mit Laufwerksbuchstabe H: von mind. 35 KB Groesse erstellt. # cp h.ttp h: cp gulam.hlp h: # # Der H-Befehl nimmt dann das Hilfesystem von der Ramdisk, ohne das # momentan gesetzte Laufwerk/Verzeichnis zu veraendern: # alias h 'pushd h:; h.ttp $1; popd' # echo ' ' echo 'Help System installed.' echo 'Usage: h ' echo ' ' . g.. SWEET ACC pySWEET RSC  SWEET TXT SWEET PRG py`tACt*N4,I*H(mJ$f*O ,f < /?<HNAJkT"&@Ё.@`N - ЭЭ$ԍR&B&,gЃ` "ҍRb.A// Bg?<JNA m"-p`HA0QHAQ)M"O )I)K ^ g H NLP`& yt&N9| ^ gJf9| H NLP`Bg?<LNANuHz ?<&NN\Nu@||NuHz ?<&NN\NuF|Nu"yt" c c|g JytgBNu |NuN:"#o6 #o2 @ Pf#|C|!Q "RytNTNTNFNuNTNFNu c"c/ " g$(g e&@Ђ.@/N._&_NuNFNu 9|fNFNu @E g @$ &C&/ N$_`Nu/ I|(l|g&A &N`(_Hz ?<&NN\NuAgJ#|Nu/9| yt"P|g |f 9|g @ h g2.$i|$0 f.B`O,|1h 1| &h.h?/N yt |fJytfND yt |fB|B|Byt _1| ?<LNAJNu` 9NuHz?<&NN\ @2( Af #`,t`#(t yt#|BytB|B|BytA|r!H!HA| !HHz ?<&NN\`#|#NuNuNU$OH ,JA&A&NjI n( n&$BW@6LPN]NuNFNU$OH ,JA!#!#IA&&)c(AIA60<k8AIA60<k8A&&LPN]NuNFNU$OH ,J M!# n6 n0(k |} 0(cl( n(H |} 6 n0(k0<k8 n6 n0(k09} cl& nI6} n0(k0<k8LPN]NuNU$OH ,JA1#I6Nf )c(66NfpNJcgZAIA666NfR0#jD@k8AIA666NfR0#jD@k8A&&LPN]NuNFNU$OH ,J M1#6NPNeR6NbN!"LPN]NuNFNU$OH ,JA!#1#I6NfS6BpNJcgA&6N`A&6NNeR66NB6NbHLPN]NuNU$OH ,J M!#!#&},N# |},I |} 8 |},I8} |},I |} 62<B0#8(|} |},p 8Q&}Bg&}&N`Bf(|}(}`2(|}&} <ѫ&}&N` #(6 BNd&|&},&}A&&A&&6Nh6 BNdLPN]NuNU$OH ,J M!#!#&}BgF6 BNd&|&}&},A&&A&&6Nh6 BNdLPN]NuNU$OH ,JA!#!#!#B[BNdI &Na)c(&}BgA &&N`B[A&&A &&Na&B[6A &&Nb"A &&LPN]NuNFNU$OH ,J Mp 1#Q&}BgA &&N`6A&&A &&NaLPN]NuNU$OH ,J M!#!#!#1#&B[Ne(66&6 pN6A`6p?#Q&66A`6p?#Q&6NgjX0. g&66&NaNb"LPN]NuNU$OH ,JA!#6&|A&N.T6 kJcg B[LPN]Nu(||N2j(I&|N*X( |} I n6>0<k8(|} n6<0<k8 |} I n6B0#& |} 62<B0#6B0#&N6} B0#&N <ѫ( |} 60<cb6} 0<cR@6`6Jcg6A`L[0][ Bitte eine hhere| Auflsung whlen!| |(mind. 640x400 Pixel)][ OK ]AJp$? Q&6I&} NaJB[LPN]Nu6BNd(||N809|g<(|}A` LittleSweetp Q&}&}&NdA` SWEET.RSCO"OpQ&6N_ N*Jcg6A`N[0][LittleSweet verzweifelt.| | Das Resourcefile fehlt!| ][Wo ist es denn?]O"OpJQ&6J&} NaLB[LPN]Nu(||B[B[N_P((||B[6N_P((||6B[N_P((||66N_P((||66N_P((||66N_P((||66N_P((|P66N_P((|T66N_P(&|6Njp'?#Q&6OB[N NPB[BNd(||BT(|}A` LittleSweet p Q6LPN]NuNFNU$OH ,JN_>&|N2 LPN]NuNU$OH ,JA!#!#1#6Nd@I 6}B[Nc)c(A 6B@cglI A &&A&&N!`)c(A 6B@cg&|66A &&Nb"I 6}6Nc)c(`B[Nd@LPN]NuNU$OH ,J M1#.@`n6B[6N:`6B[6N:`6B[6N:`6B[6N:`6 B[6N:`~6B[6N:`j6B[6N:`V6 B[6N:`B6 B[6N:`.6 B[6N:`6B[6N:`6B[6N:`6B[6N:`6B[6N:`6 B[6N:`6B[6N:`6B[6N:`6B[6N:`z`v @9b@ eH0;NBV~jz.LPN]NuNU$OH ,J M1#6Nd@&|B[Ne(BN(|}@BNlIPpO#Q&|6 |}@O"OpOQ&6OB[N NPBN6N6NB[Nd@LPN]NuNU$OH ,J M1#(|~0&|Na)c((|~8B[A` 6 |~0&&NdH)c(A` 6 |~8&&&}Nb6}0N6} |~8&&Nc 0.g 6Nd@LPN]NuNU$OH ,J M1#6}Nc\0.g |~8&&N>NB[Nd@6}NcdLPN]NuNU$OH ,J M!#!#!#!#0.`AA&&B[N`09|g$Nc09}cg6}Nd`A609}cf B[N`(||BT(||86|N(||BT(|}B`V09|g66 y|O"O0<Q&6&} Na`AA&N(|~8AA&&)c(6} |~8&&Nc(|~@6}B[Ncl)c(&|B@ cAI6~@0<k8&|B@ cAAI |~@60<k8`h(||BT(||BT(|}B`L`H @)b@eH0;NBZZZLPN]Nu&|N JcgB09|g6| k`B[Jcg&'N_B@g6| kJcg B[N(||BTA`3BB[A`BA`BB[B[B[B[B[N! B[B[B[B[B[N! &|& &|&|&}&}&} &|N`"6Nd@B[Nd@6|BpNJcg* ||p6QN &|6N`6|BpNJcgB[|BpNJcg 6|`B[JcgNc09}cW@6`B[Jcg&|B[6&|Nbx0#`&0BN`T1BN`D2BN`43BN`$4BN`5BN`6BN`7BN`8BN`9BN`(BN`)BN`/BN`*BN`-BN`t+BN`d BN`T.BN`D`@ @b@eH0;Nbr2BR"`B[|BpNJcg 6|`B[Jcg9}@`09|g66 y|O"O0<Q&6&} Na`&|B[Ne((|~0&|B[B[66N! N^)c(&|B[&} Na6} B[B[N:&|B[B[66N! |~0&&N`6 y|O"O0<Q&6&} Na(||6} 0<cW@6809|g&(||BT6|N(||BT(|}B` |}(@6A`" p6Qp NJcg |}BN` @bb@aeH0;N>09|g6| k`B[Jcg"N ` NJcg&'N_B@gNu0#2H cNu0#2H cNu2DAA4 2J@d0 g&H6Nu&HB[Nu #"#$#ffB[Nu6NuHx #"#g2$#&#g8 f fm0ne*` g$m ne6LNuY&#g f` fB[LNuHx #"#g0$#&#g6 f fm.ne(` g"mneB[LNuY&#g f` f6LNuJkgkNuNuNUHLJ@gJDg@i?8BDHDBE0؀dRE0؀dRE8HDBE؇dRE>+0؀dRE؃dRE68HDBE؂dRE؆dRE<8HD>؁k CFلQGi.JCjRFd RdPG6&6LN]NukBBLN]NuNFBBLN]NuNUH:#(#2#6#$#0#NLN]NuJ@gjJAgpAiXBr1` އ݆CՂe b fCbERQgP@i,dRd RFdVP@i66&NukBBNuNF`NFBBNuNUHLHA2HE:@gjDgRBF@m$fefCc~DEG4+7k7BDHgb|gbHG>HG`JG>BEHE`>| gb |>BEHE`(EHE>B`BBG|`|0gbΐ| HE>BoV4+0+Bf:GӅd$SdRCdRPBi6&6LN]NuJFjRCdRd`FUƗGJkQBFCӁkg,HAJAf2BC|i:JkQBi2ҁj`HAQBi&CӁj`|i2gkQBi AjHABC`|BBLN]Nu&6LN]Nu'c'cLN]NuNF`NuJkgkN2NuNU #"#$HAJAgHBJBgfHAHBHBJBf Ђe&N]NuNFBN]NuNU/ #g,"#BBJk cRBjヲeRCQ&&N]NuNFB&N]NuNU/ #g("#B&k cRBje∶R&&N]NuNFB&N]Nu K$R`HASeWgHAQJg JgNFBNu"_2+RAR$k'O O/`HAQHAQNNuAd _NU$OH ,JNNF`NuAd _/ *O$OH ,JNNF`NuNUNFN]Nu0<"#gkQ@jH@HA0BA&&NuBBNuNu _NDNNuNsNuHz ?<&NN\Nu#~TNu&~X& |~x&&N Hz ?<&NN\` @|#~TA #FNuNu$#"# # c!@!A !BE| "j!I"%HNuNuNup N & M!#!#!#6A6A6A6N! LPN]NuNFpN & M!#!#!#!#A//,O n6 V0(co4 nI n6 V0(k n0k8 n(H V8 n6 VA0(co@ nI n6 VA0(k n0(k8 nI VA8 n6B@cl n6B@c\@6`6Jcg nIBT nIBT n6 n0(k V6 VA0(k0#cl* nI V6 VA0(k n0k8 n6 n0(k VA6 VA0(k0#cl0 nI VA6 VA0(k n0(k8 n6B@cl n6B@c\@6`6Jcg nIBT nIBT,_XA&&LPN]NuNF/?<NNT _J@g.1|1|(|g1|1| `&1|1| `1|@1|1|1| 1| Nu?<NNT c N#rNuNu6MNX$c yA@p"c2Q4Nu2#"c y1cJ1c6|8dNFE8p4Q1c/(Z/(^!IZCZ!I^0#B6B[NZ` y!_^!_Z6Nu0#"#$#6B[&&6N$ Nu #"#$#6d&&&N$ Nu6B[NZ`Nu6eB[NZ`Nu2#"c y|8dNF/(Z/(^!IZCZ!I^1|66fB[NZ` y!_^!_ZNuA eNFNU/$OH ,JA!#!# n&Bf&&NJ(n n&BV@68 n0g\ n PIBT n PIB n P(H8* I BT?<0Te$/ n PANq0. @IBT(_RTdT` n PA&&$a,LPN]NuAeNFNU/$OH ,J M!# n P&Bg n P(HBT&&NJ` n PA&$aLPN]Nu0<N &A!#!#1#/9/,O nA|& VA&$a V6 kJcg V(hBLPN]Nu VI n(| V h &Bg VI V h (` V h AIDBT V h AIFBT V h AI@BT V h AIBBT V h I V8 V6B@cf0 V h I V6 V6 VA&68N$n8`2 V h I V6 V6 V6 VA&68N$8,_X n 6B@cf& yA|&$a((nBLPN]Nu` y"n !IA3XD3XB3X@3X>3X<3X:3X83X63X43X23X03X.3n^,Aj3X*3X&3X(3X$3X"3nv Az3X3X3X3X0< 2< n AN0Q0.,S@ n AN2|A26A4|B1 Q"n 3nVt3nZr3n\pA`0S@#@|0S@#@z0S@#@x0S@#@v3X~& A&68N$A"n 3X3X0@3Xn3X3Xl3X3Xh3X3X3X3XjJXW|3@fJXW|3@d3X 0|e3| `3@ 3X3Xb3X(n( LPN]NuAeNFNU/$OH ,J M!#!# n& .f$(n n(A&&NJ` n PA&&$aLPN]Nup N &A!#&A&NV0.gVI y( n6B@cf&N$` &N$ n(HBT yA|&&$aLPN]NupN &A!#&A&NV0.g y hA&LPN]Nu` BLPN]NuNF6ByNupN &A!#!#!#(nBI (&&NJ&Bf(|( (nBTLPN]Nu/9/,O nINM@8 nI( nA//,O nIBT nIBT nIBT nIB nI B nIBT nIBT nIBT nIBT,_X nIBT nIb n( nAbI nA"( nAbI nA6( nAbI nA6( nAbI nAN( nAbI nAN( nIN nA ( nANI nA6( nANI nA6( nANI nA6( nANI nA6(6 NX nA"I nA6&B@ c@8,_X yA"6B@co,&&NJ(|( (nBTLPN]Nu/9/,O nI|B VA& VA& VA& VA& VA&N#6 V6 V6 V&N&L V h&Bf4&&NJ(| V( V(hBTLPN]Nu n h|AID V8 n h|AIF V8 n h|AI@ V8 n h|AIB V8 nI n(|,_XN2 yI8 (|( yI8 |~RP(n8LPN]Nu6~N*Nu yB@"(g6HN\LR@JfB@"(g6HN\LR@JfNu #@ @f6`0(|g NF6`6NuH 8# yJDg :(1E`:(`4< JDg4< 6BN[Q y(h|`4JDg :,9E`:,`&JDg 6N[`N\8Q(l fL0NupN &A1#/ N2j-c(y`&U&N2rJ_g6N.(l f&U&N2rJ_(_LPN]NuAeNFNU/$OH ,J M!#!# n& .f(n n(` n PA&&$aLPN]NupN &A!#(| n( yA//,O n0(g&N]b` n0(g&N]` n0(g&N^` n0(g&N^l`,_XI y(&&$a yIBT&&NJ(|((nB&Bf(|(LPN]NupN &A!#(|(N26N/^ y&|Bg y&|N)` yA//,O VI8 n?(0Te/ B[N\j(_RTdT VI8 n?(0Te/ B[0<kN\j(_RTdTN.b,_X6NX |~SPLPN]NupN & M!#NV n&N.Jcg. n P6B@cg n&N1&&N0`NWLPN]Nu&Nu/#/+N. _"_2g#NuNV y#~Nu y!y~NupN &A!#!#0.g0.g |~RP`I BTI(&Bf ``x n609~cfA&N2 I 8`P`H n609~D@cf&&N1& nIBTI 8``I n(`t6 kJcgT |~SPLPN]NuN B[6&~N2LPN]Nu(|~([(|~BT(|~8(|~(t |~I(&~&2 |~&&NM&~&3 |~&&NL(|~( JNu c"h$iRR0ib"QNuBNu$_$#HkU kSP&4>&&NNuN4^N7\$#"# &&Nu #"#$#"KP&&&&6ONuN4N:NuNuH<#0# c:#"cJgJJFj|tFgJ0 g8RB@c`06r1@b$00fEg RARC1f6LxNuRBJ0 f6LxNuH(c0# c8#:#"c|tJ1 gRBEc*2JWfS"AnPJDj6DoFBFBD4JBg2:DR@Ag0@@cBF`0$HDdB` QS@!Q8LxNuBTLxNu2# c JWfS"6Nu?0# c:#"crfJgRA@bEcJgB[:NuEbJf6:Nu$c2#"c0# c`S@eWgJ@g JgBRNuB4Nu0# KPr `S@jBNu0#R@ c"HS@eg  g`gBNuNu ":r@ھ ɿZŭ+pxI RGɀ~5*iRvu@?$cC<#j CDFjBF Fe BRBB<NuE6v&6nBg&&NPFf<Nup N &A!#!#!#H`l/& VN _"np@0 SB NuA&&A6v&&Np.0&N VN2A!c JPgRnNu"nBQa . g . g .-Wfan .+fabABBBnBnJ. g "n2 nla``Rna.`.9f(aJ. g"n2 nla*Sna` .Eg .efVa .-Wfa .+faBnJ. g0. .AA=@a`0.J.gD@nJ.g JngLxA&&6&N6NLPN]NuNFʣ =pn/ѷXzŬGGb7lBֿz*wap_A6νگ $Œ oP.BK$5&&A6n&&NJcg &&A6v&&N%c$RQ`&&A8&&N@Jcg &&A6v&&N%c$SQ`Nu<(hb Rh"P`@Nu E cpgRE$&҃тH@@0N9fB@H@@NuBjRMkRBNu<#8#:# kC@b cC@SFeEb.De2De p RDSAU/b _Eb B0@`NFNupN &Ap1#QH-n =nBnA4f6p0N9fh9N9fXp02. gN9fFSAf` g$9N9fL JnlRn$p0N9f2 SDn` N9f SDn& 6A66N:2`NFLxLPN]NuNu(|~A`MOD&ISp#Q(|~A`IMP&ISp#Q |~0<S@IA`PRG&ISp#Q |~0<S@IA`TOS&ISp#Q |~0<S@IA`TTP&ISp#Q |~0<S@IA`APP&ISp#Q& 6N& 6N& 6N(|.(|&&GH)c((|&$&)c((|8(|A` DD.MM.YYYYp6Qp r NNupN &A!#!#!#A //,O n(H V( nI V( nI V(,_X6NA &NTLPN]Nu0# c&Nu # c6NupN & M!#!# nI n( n(H( n h(H( nI(LPN]NupN & M!# n h(H n( n PI n(LPN]NupN &A!#!#1#I&6N>D( nI n8 n(H8I & n6N>D( n (H&&N>R8 nI&&N>R8LPN]Nup N &A!#!#I& n6N>D( n(H n8I& n6N>D( nI n8LPN]NuNuU cNu c(V@6Nu c (&Nu0# c00R@@6Nu0# c6Nu0# c6Nu@ fN |?/9/9 A^## "$c$#"c c gBJhW@4g $H"`$H B ""R )"jW@6`B[.A# #FNu0# chNu0# chNuAeNFNU/$OH ,J |R& V ( f |RI B V h &N> VA &B@H&NTBLPN]NuresizepN &A!#!# n&A &A&A&N@$ kJcg B[LPN]Nu0.g&BoZA & .D&jNFA&N=0.g" n I n & .jDѫNv(6LPN]Nu`&Bg && N? #^@6`B[JcgJ n I n & .Nv(A &&jNFNTB& BfN J`$a`(nB`&BoDI& &N>R8I& 6N@86B@co*I& N? #6H@J@gNFJk8I60< kNv& 6N?0#kNv8 .jD&60.kNv0#HmI .jD6H@J@gNFJkjNF8&6N@ n A& n0(@60.kdNF2<B0#60<6H@J@gNFJkB0# c` B[LPN]Nu`v&Bg& n0(H^@6`B[JcgI .6H@J@gNFJkjNF8&6N@ n A& n0(@6 k0.kdNF2<B0#60<6H@J@gNFJkB0# cѐ`I n60< kNvjNF80.@gARP n A&6B0# cѐ n 6& &N>R0#cf n I& n 6N@8& n&N?n n && N? #f$a(nB6LPN]NuNFH *c6-850BEJCk:E u0E,#r 4` V h I V( V h I V8 V h A&6N? V h IBT` V/( /,O n& |R&N>` nI(N nI n( nI V P& nA &N>R8 nA I n8 nI n8 ,_X |RI V( 6LPN]NuNFinsert 8AeNFNU/$OH ,JI V& V6N>D( nI V (6H@J@gNFJk8 nI V8 V& n& V6N> nI V8 V h A& V (6H@J@gNFJkB0# c V h I V8 |RI V( nA &LPN]NuNFallocpN &A!#1#&A&A&A&A &A&A&NEJcg$aLPN]Nu$aH kJcg BLPN]Nu0.g n A&LPN]NuA&A&&& NEF kJcgN J$aJLPN]NuNF6jNI # c NuB[NI # c NupN & M!#!#&&jNFNA: kJcg&&NTBLPN]NupN &I(R& <Rf`I n(&N?Jcg: n6 09jcf"I nA(A&B@H&NJ`zI n8 6 B@cnbI&6 N>D(I &6 N@8 n609jcf"I nA (A&B@H&NJ`I(` |jSPLPN]NuY #J@gH@J@fNJRyjNuStorageN?/<R/,O nI(R n(H(R nI B,_X(|j8(|NNT&2NjNF(&N <l(|N0<H(&&J |&&NL&l&K |&&NMNuB&&Nj _ g $#$c #"c"(!I#A "#B#JNuNFNu$# #"#"cE|r#J j#H!I%IBi "#@#BNu yt"c"Nu ytfB&NM4 _J$W@6NuNuBHz2?<?<NMPJ/ y2 A d,DA 0Wf*<vBGxNRv~JgNN2Nu yJg"P `2p y P c$P y0@H"@P 2T #D Nu(P"T )Ѭ( Ff!L y" Nu/ (@ FE"P` ,o " $I"R f($ FJf!L g ,Ьf JH(NNL`ɼg *Ъf ANN(_NuH NNbL0 E&$FX`g$I"R fB`Jg")) jSJkb$B `@ `p`ޒ@gR@g?$)ԩ FE R` g$H R f0`0(($ةeg@ #A!Dը`v@ $"Ff#J"y "`X@gR@@ g>H@@xNNLJg,$@ )Ё%@ )%@fJ#AfJ NO"pNu F hg P f NuJgNNPg"(( jSo4@gR@gpJk0@ //Bg?<JNA `/?<INA\ CBJgt`x?$(Ԩ$F$R`g $R f0`V0$*ԨeHg%B!A@ `,/?<INA\ F"H Pf"$Ff%I %HpNu CBpNup N &A!#!#HB@ V&*g4,9(.J9g~*/<O?<&NN\`/<P?<&NN\L=@6LPN]NuNF$FX`"* fB* $R" fNuH*#,9/<R6?<&NN\L`Nu/HNNbL( F$h g"RB f$F"R )gb$`d()&I(K`JGg$#W `^JGg(H`NNL Jg @JGf" )Щ!@fJ!EfJ"H`!i۩fJ!EfJ"@ F"!I F!JC `D$I"Q F (gfB` f$F"R Ff6JGfJg"K$L )gFbNBXNuNPg!D C Nup N &A!#!#H*gB b:RW|,9(.J9g$~/<Rv?<&NN\Jg "@ )`B-@` /?<HNA\-@g*/<S?<&NN\L&LPN]NuNFBNS # c NuNQUNu/#Dj NQ _0NuQ _BPNuNPg$$(Ԩ$F$R`g$R f` *`pNuH*#,9HyTh?<&NN\&L`NuHz ?<&NN\Nu@|BB y PҨd ( P$fFNuNT&Nu c0# @Nf &&&NTL @Nf&/NT _ Nu yt&NRVNuY #J@g H@J@fNU(NuNMf&Bf ?|dg8/U&NV2 JAgl y"h1i| g|gCX`.YCX`$H@CY`H@|[dCZ` |[CZF@B@1@ 1@&NXNuH /#"K/!/!/! k d NF7| kd NF7|NV\ y!BR(BNV\ y!BN*B6ZNX W P"X0Q"X0Q.W.W y"_28NVL0Nu y!cN0#| fRh`| f ShjBh`"|m||1@66NNXNVNu&U&NVJ_f]`4 y0#"hJ@f Sij Bi`Bi @1@66zB[NZ`Nu&U&NVJ_fY` y"hRi6{B[NZ`Nu y0#fr`rf hjBh` hjBh`1@66kNXNVNu y0#|b "(!A1@66fNXNVNu y0#|b "(!A1@66gNXNVNu/# y!c&6vB[NZ` y"_26&Nu y!c0#&6B[NZ` y&Nu"cA$Pg,f" 9f&U&N]TY`A ` yA 9$fBhNu"cA$Pg*f 9f6}&N]N &Ap1#QAp &QN_J#c!#0#T@11#6iNXNVNu yAB!#!#1<1#6iNXNVNu yA:1< 1#6iNXNVNuN\jNu yAB!#!#0#X11#6lNX yA8&&NVNuNuN[NuNu/#/# y!cN1h&66#NXBA y0(6[R"_2"_2NuNu09BA yARA4gSA6NuJg09|g6Nu6NuNe0#X yA g PNu3 #Nd36Ne`By Nu&By Nu0#Jgyc 3 Nu3 y#By NuNd3 f y0(|6`B[NuNd3 f y0(X6NuB[NuNd3 f y0( X6`B[NuNe`Jy fNe`B[NuNe`Jy fNd3 f y&&`BBNuNe`Jy ffNd3 fXNeNe 0#|g.|g(|g"|g&| g |g| g3 `(H6` P(H6`B[Nu?$c6#B2#"c0#|f2`|gR|f&BHP`NJL 0 IJW$@RBCd46&&HP`Jy fNJl`NJL g$@0WgBS@@Cd2` 3 BA66Nu/ 6Ne`Jy fNd3 fNeNe 0#|gb|g\|g"|g| gJ| gD| g 3 `vJcJ0#|g3 JcJ0#|g3 B[&Nf`H(PB[A&Nf0#gA0B[A&Nf0#gA0B[A&NfJc`U(_Nu(| <8(|((|("(|((|((|B(|B(|8(|8(| BT(| BTNu y1c6CFNVHNVH!c!c6mB[NZ`NuNupbN &A!#1#&6A&6ONtA&6ON6JIVBTIXAO"OpOQ&6OAV&A`&N4|P)c(AX&&LPN]NuNFpXN &A!#!#&6A&6ONt0.g"A&B@ @OcNF cI-`A&B@ @OcNF cI+ApOQLPN]NuNFN (|`BT(|X&&)c((|^BT(| |jpOQ(|h+ | pOQLPN]NuNFp\N &A!#!#IA&&66 N4IPpO#QA&B@ @OcNF cI#A&6ON6JA&B@ @OcNF cI A&0< @OcNF cIB[S.Bp?#Q&6AO"OpOQ&6OB[N4RB@cnIZ8 6ZB@cd2A&0.Z @OcNF cB<0S#W@6`B[Jcg,A&0.Z @OcNF cIB[SAZSP`A&AO"OpOQ&6ON5P0<kdNF0# @OcNF cB<.S#fPA&AO"OpOQ&6ON5P0<kdNF0# @OcNF cIB[S6 AO"OpOQ&6ON5P0#kdNFjNFN64p'?#Q&6O6A&6OAX&N5(PApOQLPN]NuNFpN &A1#IBT.@`&hB< S#f(| NjIPpO#Q(|^BT(|\BT&j6O& 6ON5Jcg6` k`B[Jcg$& 0< @OcNF cI`& 0< @OcNF cB< S#fI8?< 0TeP/ & 60<kdNF0# @OcNF cI& 0. @OcNF c(_RTdT& 0< @OcNF cI(| | pOQ`B6\0<cf&(| NjIPpO#Q(|\BT`0(|^BT(|`BT(| |jpOQ(|\8(| | pOQ`hB< S#f2(|X |X&&N)c((| |pOQ& B@ @OcNF cB<+S#f"& B@ @OcNF cI-`& B@ @OcNF cI+(| | pOQ(|^6^ k8`hB< S#f(| NjIPpO#Q& 0< @OcNF cB< S#f6` k`B[JcgI8?< 0TeP/ & 60<kdNF0# @OcNF cI& 0. @OcNF c(_RTdT& 0< @OcNF cI.(|`8(| | pOQ`(|` | O"OpOQ&6ONhP)c(hB<+S#f,(|X |X&& |`&&N2)c(`hB<-S#f,(|X |X&& |`&&N)c(`hB<*S#f,(|X |X&& |`&&N)c(`hB</S#f |`&&&&NJcg,(|X |X&& |`&&N)c(`:6 yTO"O0<Q&6&ZNaI8 |X&&&*C&@NJcg:6 yPO"O0<Q&6&ZNaI8(|`BT(| |jpOQ0.g(| | pOQ`$(| |X&&NjnIPpO#Q(|^ |X&&&&N@8(|h`z`v @9b@ eH0;Nvvvvfv |O"OpOQ&6O6^NiPLPN]NuNFCalculatorx(|jA`+ 0p6Qp rPNNu&bN6NuNuZ! z#6l<@<>4MdUNL ^3_ab bd~ddhTht(s@   <(   L> &4>$,< .        ( 0*B"$    $ , x    @( 0 4           :       ^  >       R       B (  &@  &*~F& 0J(4$ * *  h* <  H* *  r     .6 $  "@    80 "F     P~0  6 ""0000     $ P,J62"|&JRJ2:dƶ"88R`R06&00VNT46d &.&     :* & , 2V",2$ LZ* 4$6.  4    L   $  : & @.:              6, ,&&$  "   (       4P**  4     4& b (8pVL($ ">*$   & (.*$       &&$ M  +.(pd) 1989 BY D. RABICHL i t t l e - S w e e t 1 . 0 0 b (Public Domain)*** ENTWICKELT MIT MEGAMAX MODULA 2. *** (pd) BY D. RABICH ***Der Rechner:+.(pd) 1989 BY D. RABICHZiffernblock:Auerdem:HELP ruft diese Dialogboxauf.Mit UNDO kann LittleSweetverlassen werden.OK[3][SIGNUM! nicht| erreichbar.| ][ OK ][3][Bitte schlieen Sie| ein Fenster und| rufen dann wieder| LittleSweet auf.| ][ OK ][2][Wollen Sie LittleSweet| verlassen?| ][JA|NEIN][3][Unter SIGNUM! ist|die Hilfe-Funktion| nicht aktiv.| ][ OK ][3][Unter SIGNUM! kann|das Fenster nicht| bewegt werden.| ][ OK ][3][Division durch 0!| ][Oh weh!][3][Die Zahl ist zu| gro!| ][Aha!]!n)l$12 3JKL6?      2349:;UVWij0 04   0C00/  0* 07 08 09  0-040506 0+010203 0=00 $0. 5L1PHl H0,, 0 0     0C 0 0/ 0*070809 0-040506 0+010203 0=00  0.  /  0( 0)!0/ "0*#07$08%09 &0-'04(05)06 *0++01,02-03 .0 /00 0. 11 213014L1 5h1 'k1 L i t t l e S w e e t =-=-=-=-=-=-=-=-=-=-= Version 1.00b (c) 8. Februar 1989 by dsoft +---------------------------+ | P b i D m i | | u l c o a n | +---------------------------+ Anleitung --------- LittleSweet ist ein kleiner, ein ganz kleiner Taschenrechner, der als Accessory oder als Programm benutzt werden kann. Als Programm heit er SWEET.PRG, als Accessory SWEET.ACC. Um aus dem Programm ein Accessory zu machen oder umgekehrt, braucht nur der Name umbenannt zu werden. Der Zehnerblock ist analog zu den Tasten in dem LittleSweet- Fenster belegt. Auerdem kann LittleSweet ber UNDO verlassen werden, bei HELP gibt's eine kleine Information. Eingaben werden mit 'C' gelscht. Einmal 'C' bedeutet, da die letzte Eingabe gelscht wird, zweimal 'C' lscht auch das interne Register. Noch Fragen? Sicherlich nicht. Alles weitere drfte sich so erklren. Es soll lediglich noch darauf hinwiesen werden, da keine algebraische Eingabelogik benutzt wird. Anfragen wegen des Megamax Modula 2-Listings sind zwecklos, da das Listing nicht verbreitet werden soll. Public Domain ------------- LittleSweet ist ein Public Domain-Programm. Dies bedeutet, da der/diejenige, der/die das Programm benutzt, ein Anerkennungs- honorar zu entrichten hat. Ich mchte Sie - auch im Interesse der anderen Public Domain-Programm-Autoren - darum bitten, sich daran zu halten. Es wnscht Ihnen viel Freude mit dem Programm Dietmar Rabich. ----------------------------------------------------------------- Eine andere Variante des Taschenrechners LittleSweet befindet sich auf der Disk-Utility-Disk, die bei Application Systems Heidelberg fr 69.- DM bezogen werden kann. Sie hat den selben Funktionsumfang, unterscheidet sich jedoch durch die Mglichkeit, auch unter SIGNUM! aufrufbar zu sein. ----------------------------------------------------------------- Dietmar Rabich Anschrift: Dvelingsweg 2 D-4408 Dlmen Tel. : 02594-86103 ----------------------------------------------------------------- `tACt*N4,I*H(mJ$f*O ,f < /?<HNAJkT"&@Ё.@`N - ЭЭ$ԍR&B&,gЃ` "ҍRb.A// Bg?<JNA m"-p`HA0QHAQ)M"O )I)K ^ g H NLP`& yt&N9| ^ gJf9| H NLP`Bg?<LNANuHz ?<&NN\Nu@||NuHz ?<&NN\NuF|Nu"yt" c c|g JytgBNu |NuN:"#o6 #o2 @ Pf#|C|!Q "RytNTNTNFNuNTNFNu c"c/ " g$(g e&@Ђ.@/N._&_NuNFNu 9|fNFNu @E g @$ &C&/ N$_`Nu/ I|(l|g&A &N`(_Hz ?<&NN\NuAgJ#|Nu/9| yt"P|g |f 9|g @ h g2.$i|$0 f.B`O,|1h 1| &h.h?/N yt |fJytfND yt |fB|B|Byt _1| ?<LNAJNu` 9NuHz?<&NN\ @2( Af #`,t`#(t yt#|BytB|B|BytA|r!H!HA| !HHz ?<&NN\`#|#NuNuNU$OH ,JA&A&NjI n( n&$BW@6LPN]NuNFNU$OH ,JA!#!#IA&&)c(AIA60<k8AIA60<k8A&&LPN]NuNFNU$OH ,J M!# n6 n0(k |} 0(cl( n(H |} 6 n0(k0<k8 n6 n0(k09} cl& nI6} n0(k0<k8LPN]NuNU$OH ,JA1#I6Nf )c(66NfpNJcgZAIA666NfR0#jD@k8AIA666NfR0#jD@k8A&&LPN]NuNFNU$OH ,J M1#6NPNeR6NbN!"LPN]NuNFNU$OH ,JA!#1#I6NfS6BpNJcgA&6N`A&6NNeR66NB6NbHLPN]NuNU$OH ,J M!#!#&},N# |},I |} 8 |},I8} |},I |} 62<B0#8(|} |},p 8Q&}Bg&}&N`Bf(|}(}`2(|}&} <ѫ&}&N` #(6 BNd&|&},&}A&&A&&6Nh6 BNdLPN]NuNU$OH ,J M!#!#&}BgF6 BNd&|&}&},A&&A&&6Nh6 BNdLPN]NuNU$OH ,JA!#!#!#B[BNdI &Na)c(&}BgA &&N`B[A&&A &&Na&B[6A &&Nb"A &&LPN]NuNFNU$OH ,J Mp 1#Q&}BgA &&N`6A&&A &&NaLPN]NuNU$OH ,J M!#!#!#1#&B[Ne(66&6 pN6A`6p?#Q&66A`6p?#Q&6NgjX0. g&66&NaNb"LPN]NuNU$OH ,JA!#6&|A&N.T6 kJcg B[LPN]Nu(||N2j(I&|N*X( |} I n6>0<k8(|} n6<0<k8 |} I n6B0#& |} 62<B0#6B0#&N6} B0#&N <ѫ( |} 60<cb6} 0<cR@6`6Jcg6A`L[0][ Bitte eine hhere| Auflsung whlen!| |(mind. 640x400 Pixel)][ OK ]AJp$? Q&6I&} NaJB[LPN]Nu6BNd(||N809|g<(|}A` LittleSweetp Q&}&}&NdA` SWEET.RSCO"OpQ&6N_ N*Jcg6A`N[0][LittleSweet verzweifelt.| | Das Resourcefile fehlt!| ][Wo ist es denn?]O"OpJQ&6J&} NaLB[LPN]Nu(||B[B[N_P((||B[6N_P((||6B[N_P((||66N_P((||66N_P((||66N_P((||66N_P((|P66N_P((|T66N_P(&|6Njp'?#Q&6OB[N NPB[BNd(||BT(|}A` LittleSweet p Q6LPN]NuNFNU$OH ,JN_>&|N2 LPN]NuNU$OH ,JA!#!#1#6Nd@I 6}B[Nc)c(A 6B@cglI A &&A&&N!`)c(A 6B@cg&|66A &&Nb"I 6}6Nc)c(`B[Nd@LPN]NuNU$OH ,J M1#.@`n6B[6N:`6B[6N:`6B[6N:`6B[6N:`6 B[6N:`~6B[6N:`j6B[6N:`V6 B[6N:`B6 B[6N:`.6 B[6N:`6B[6N:`6B[6N:`6B[6N:`6B[6N:`6 B[6N:`6B[6N:`6B[6N:`6B[6N:`z`v @9b@ eH0;NBV~jz.LPN]NuNU$OH ,J M1#6Nd@&|B[Ne(BN(|}@BNlIPpO#Q&|6 |}@O"OpOQ&6OB[N NPBN6N6NB[Nd@LPN]NuNU$OH ,J M1#(|~0&|Na)c((|~8B[A` 6 |~0&&NdH)c(A` 6 |~8&&&}Nb6}0N6} |~8&&Nc 0.g 6Nd@LPN]NuNU$OH ,J M1#6}Nc\0.g |~8&&N>NB[Nd@6}NcdLPN]NuNU$OH ,J M!#!#!#!#0.`AA&&B[N`09|g$Nc09}cg6}Nd`A609}cf B[N`(||BT(||86|N(||BT(|}B`V09|g66 y|O"O0<Q&6&} Na`AA&N(|~8AA&&)c(6} |~8&&Nc(|~@6}B[Ncl)c(&|B@ cAI6~@0<k8&|B@ cAAI |~@60<k8`h(||BT(||BT(|}B`L`H @)b@eH0;NBZZZLPN]Nu&|N JcgB09|g6| k`B[Jcg&'N_B@g6| kJcg B[N(||BTA`3BB[A`BA`BB[B[B[B[B[N! B[B[B[B[B[N! &|& &|&|&}&}&} &|N`"6Nd@B[Nd@6|BpNJcg* ||p6QN &|6N`6|BpNJcgB[|BpNJcg 6|`B[JcgNc09}cW@6`B[Jcg&|B[6&|Nbx0#`&0BN`T1BN`D2BN`43BN`$4BN`5BN`6BN`7BN`8BN`9BN`(BN`)BN`/BN`*BN`-BN`t+BN`d BN`T.BN`D`@ @b@eH0;Nbr2BR"`B[|BpNJcg 6|`B[Jcg9}@`09|g66 y|O"O0<Q&6&} Na`&|B[Ne((|~0&|B[B[66N! N^)c(&|B[&} Na6} B[B[N:&|B[B[66N! |~0&&N`6 y|O"O0<Q&6&} Na(||6} 0<cW@6809|g&(||BT6|N(||BT(|}B` |}(@6A`" p6Qp NJcg |}BN` @bb@aeH0;N>09|g6| k`B[Jcg"N ` NJcg&'N_B@gNu0#2H cNu0#2H cNu2DAA4 2J@d0 g&H6Nu&HB[Nu #"#$#ffB[Nu6NuHx #"#g2$#&#g8 f fm0ne*` g$m ne6LNuY&#g f` fB[LNuHx #"#g0$#&#g6 f fm.ne(` g"mneB[LNuY&#g f` f6LNuJkgkNuNuNUHLJ@gJDg@i?8BDHDBE0؀dRE0؀dRE8HDBE؇dRE>+0؀dRE؃dRE68HDBE؂dRE؆dRE<8HD>؁k CFلQGi.JCjRFd RdPG6&6LN]NukBBLN]NuNFBBLN]NuNUH:#(#2#6#$#0#NLN]NuJ@gjJAgpAiXBr1` އ݆CՂe b fCbERQgP@i,dRd RFdVP@i66&NukBBNuNF`NFBBNuNUHLHA2HE:@gjDgRBF@m$fefCc~DEG4+7k7BDHgb|gbHG>HG`JG>BEHE`>| gb |>BEHE`(EHE>B`BBG|`|0gbΐ| HE>BoV4+0+Bf:GӅd$SdRCdRPBi6&6LN]NuJFjRCdRd`FUƗGJkQBFCӁkg,HAJAf2BC|i:JkQBi2ҁj`HAQBi&CӁj`|i2gkQBi AjHABC`|BBLN]Nu&6LN]Nu'c'cLN]NuNF`NuJkgkN2NuNU #"#$HAJAgHBJBgfHAHBHBJBf Ђe&N]NuNFBN]NuNU/ #g,"#BBJk cRBjヲeRCQ&&N]NuNFB&N]NuNU/ #g("#B&k cRBje∶R&&N]NuNFB&N]Nu K$R`HASeWgHAQJg JgNFBNu"_2+RAR$k'O O/`HAQHAQNNuAd _NU$OH ,JNNF`NuAd _/ *O$OH ,JNNF`NuNUNFN]Nu0<"#gkQ@jH@HA0BA&&NuBBNuNu _NDNNuNsNuHz ?<&NN\Nu#~TNu&~X& |~x&&N Hz ?<&NN\` @|#~TA #FNuNu$#"# # c!@!A !BE| "j!I"%HNuNuNup N & M!#!#!#6A6A6A6N! LPN]NuNFpN & M!#!#!#!#A//,O n6 V0(co4 nI n6 V0(k n0k8 n(H V8 n6 VA0(co@ nI n6 VA0(k n0(k8 nI VA8 n6B@cl n6B@c\@6`6Jcg nIBT nIBT n6 n0(k V6 VA0(k0#cl* nI V6 VA0(k n0k8 n6 n0(k VA6 VA0(k0#cl0 nI VA6 VA0(k n0(k8 n6B@cl n6B@c\@6`6Jcg nIBT nIBT,_XA&&LPN]NuNF/?<NNT _J@g.1|1|(|g1|1| `&1|1| `1|@1|1|1| 1| Nu?<NNT c N#rNuNu6MNX$c yA@p"c2Q4Nu2#"c y1cJ1c6|8dNFE8p4Q1c/(Z/(^!IZCZ!I^0#B6B[NZ` y!_^!_Z6Nu0#"#$#6B[&&6N$ Nu #"#$#6d&&&N$ Nu6B[NZ`Nu6eB[NZ`Nu2#"c y|8dNF/(Z/(^!IZCZ!I^1|66fB[NZ` y!_^!_ZNuA eNFNU/$OH ,JA!#!# n&Bf&&NJ(n n&BV@68 n0g\ n PIBT n PIB n P(H8* I BT?<0Te$/ n PANq0. @IBT(_RTdT` n PA&&$a,LPN]NuAeNFNU/$OH ,J M!# n P&Bg n P(HBT&&NJ` n PA&$aLPN]Nu0<N &A!#!#1#/9/,O nA|& VA&$a V6 kJcg V(hBLPN]Nu VI n(| V h &Bg VI V h (` V h AIDBT V h AIFBT V h AI@BT V h AIBBT V h I V8 V6B@cf0 V h I V6 V6 VA&68N$n8`2 V h I V6 V6 V6 VA&68N$8,_X n 6B@cf& yA|&$a((nBLPN]Nu` y"n !IA3XD3XB3X@3X>3X<3X:3X83X63X43X23X03X.3n^,Aj3X*3X&3X(3X$3X"3nv Az3X3X3X3X0< 2< n AN0Q0.,S@ n AN2|A26A4|B1 Q"n 3nVt3nZr3n\pA`0S@#@|0S@#@z0S@#@x0S@#@v3X~& A&68N$A"n 3X3X0@3Xn3X3Xl3X3Xh3X3X3X3XjJXW|3@fJXW|3@d3X 0|e3| `3@ 3X3Xb3X(n( LPN]NuAeNFNU/$OH ,J M!#!# n& .f$(n n(A&&NJ` n PA&&$aLPN]Nup N &A!#&A&NV0.gVI y( n6B@cf&N$` &N$ n(HBT yA|&&$aLPN]NupN &A!#&A&NV0.g y hA&LPN]Nu` BLPN]NuNF6ByNupN &A!#!#!#(nBI (&&NJ&Bf(|( (nBTLPN]Nu/9/,O nINM@8 nI( nA//,O nIBT nIBT nIBT nIB nI B nIBT nIBT nIBT nIBT,_X nIBT nIb n( nAbI nA"( nAbI nA6( nAbI nA6( nAbI nAN( nAbI nAN( nIN nA ( nANI nA6( nANI nA6( nANI nA6( nANI nA6(6 NX nA"I nA6&B@ c@8,_X yA"6B@co,&&NJ(|( (nBTLPN]Nu/9/,O nI|B VA& VA& VA& VA& VA&N#6 V6 V6 V&N&L V h&Bf4&&NJ(| V( V(hBTLPN]Nu n h|AID V8 n h|AIF V8 n h|AI@ V8 n h|AIB V8 nI n(|,_XN2 yI8 (|( yI8 |~RP(n8LPN]Nu6~N*Nu yB@"(g6HN\LR@JfB@"(g6HN\LR@JfNu #@ @f6`0(|g NF6`6NuH 8# yJDg :(1E`:(`4< JDg4< 6BN[Q y(h|`4JDg :,9E`:,`&JDg 6N[`N\8Q(l fL0NupN &A1#/ N2j-c(y`&U&N2rJ_g6N.(l f&U&N2rJ_(_LPN]NuAeNFNU/$OH ,J M!#!# n& .f(n n(` n PA&&$aLPN]NupN &A!#(| n( yA//,O n0(g&N]b` n0(g&N]` n0(g&N^` n0(g&N^l`,_XI y(&&$a yIBT&&NJ(|((nB&Bf(|(LPN]NupN &A!#(|(N26N/^ y&|Bg y&|N)` yA//,O VI8 n?(0Te/ B[N\j(_RTdT VI8 n?(0Te/ B[0<kN\j(_RTdTN.b,_X6NX |~SPLPN]NupN & M!#NV n&N.Jcg. n P6B@cg n&N1&&N0`NWLPN]Nu&Nu/#/+N. _"_2g#NuNV y#~Nu y!y~NupN &A!#!#0.g0.g |~RP`I BTI(&Bf ``x n609~cfA&N2 I 8`P`H n609~D@cf&&N1& nIBTI 8``I n(`t6 kJcgT |~SPLPN]NuN B[6&~N2LPN]Nu(|~([(|~BT(|~8(|~(t |~I(&~&2 |~&&NM&~&3 |~&&NL(|~( JNu c"h$iRR0ib"QNuBNu$_$#HkU kSP&4>&&NNuN4^N7\$#"# &&Nu #"#$#"KP&&&&6ONuN4N:NuNuH<#0# c:#"cJgJJFj|tFgJ0 g8RB@c`06r1@b$00fEg RARC1f6LxNuRBJ0 f6LxNuH(c0# c8#:#"c|tJ1 gRBEc*2JWfS"AnPJDj6DoFBFBD4JBg2:DR@Ag0@@cBF`0$HDdB` QS@!Q8LxNuBTLxNu2# c JWfS"6Nu?0# c:#"crfJgRA@bEcJgB[:NuEbJf6:Nu$c2#"c0# c`S@eWgJ@g JgBRNuB4Nu0# KPr `S@jBNu0#R@ c"HS@eg  g`gBNuNu ":r@ھ ɿZŭ+pxI RGɀ~5*iRvu@?$cC<#j CDFjBF Fe BRBB<NuE6v&6nBg&&NPFf<Nup N &A!#!#!#H`l/& VN _"np@0 SB NuA&&A6v&&Np.0&N VN2A!c JPgRnNu"nBQa . g . g .-Wfan .+fabABBBnBnJ. g "n2 nla``Rna.`.9f(aJ. g"n2 nla*Sna` .Eg .efVa .-Wfa .+faBnJ. g0. .AA=@a`0.J.gD@nJ.g JngLxA&&6&N6NLPN]NuNFʣ =pn/ѷXzŬGGb7lBֿz*wap_A6νگ $Œ oP.BK$5&&A6n&&NJcg &&A6v&&N%c$RQ`&&A8&&N@Jcg &&A6v&&N%c$SQ`Nu<(hb Rh"P`@Nu E cpgRE$&҃тH@@0N9fB@H@@NuBjRMkRBNu<#8#:# kC@b cC@SFeEb.De2De p RDSAU/b _Eb B0@`NFNupN &Ap1#QH-n =nBnA4f6p0N9fh9N9fXp02. gN9fFSAf` g$9N9fL JnlRn$p0N9f2 SDn` N9f SDn& 6A66N:2`NFLxLPN]NuNu(|~A`MOD&ISp#Q(|~A`IMP&ISp#Q |~0<S@IA`PRG&ISp#Q |~0<S@IA`TOS&ISp#Q |~0<S@IA`TTP&ISp#Q |~0<S@IA`APP&ISp#Q& 6N& 6N& 6N(|.(|&&GH)c((|&$&)c((|8(|A` DD.MM.YYYYp6Qp r NNupN &A!#!#!#A //,O n(H V( nI V( nI V(,_X6NA &NTLPN]Nu0# c&Nu # c6NupN & M!#!# nI n( n(H( n h(H( nI(LPN]NupN & M!# n h(H n( n PI n(LPN]NupN &A!#!#1#I&6N>D( nI n8 n(H8I & n6N>D( n (H&&N>R8 nI&&N>R8LPN]Nup N &A!#!#I& n6N>D( n(H n8I& n6N>D( nI n8LPN]NuNuU cNu c(V@6Nu c (&Nu0# c00R@@6Nu0# c6Nu0# c6Nu@ fN |?/9/9 A^## "$c$#"c c gBJhW@4g $H"`$H B ""R )"jW@6`B[.A# #FNu0# chNu0# chNuAeNFNU/$OH ,J |R& V ( f |RI B V h &N> VA &B@H&NTBLPN]NuresizepN &A!#!# n&A &A&A&N@$ kJcg B[LPN]Nu0.g&BoZA & .D&jNFA&N=0.g" n I n & .jDѫNv(6LPN]Nu`&Bg && N? #^@6`B[JcgJ n I n & .Nv(A &&jNFNTB& BfN J`$a`(nB`&BoDI& &N>R8I& 6N@86B@co*I& N? #6H@J@gNFJk8I60< kNv& 6N?0#kNv8 .jD&60.kNv0#HmI .jD6H@J@gNFJkjNF8&6N@ n A& n0(@60.kdNF2<B0#60<6H@J@gNFJkB0# c` B[LPN]Nu`v&Bg& n0(H^@6`B[JcgI .6H@J@gNFJkjNF8&6N@ n A& n0(@6 k0.kdNF2<B0#60<6H@J@gNFJkB0# cѐ`I n60< kNvjNF80.@gARP n A&6B0# cѐ n 6& &N>R0#cf n I& n 6N@8& n&N?n n && N? #f$a(nB6LPN]NuNFH *c6-850BEJCk:E u0E,#r 4` V h I V( V h I V8 V h A&6N? V h IBT` V/( /,O n& |R&N>` nI(N nI n( nI V P& nA &N>R8 nA I n8 nI n8 ,_X |RI V( 6LPN]NuNFinsert 8AeNFNU/$OH ,JI V& V6N>D( nI V (6H@J@gNFJk8 nI V8 V& n& V6N> nI V8 V h A& V (6H@J@gNFJkB0# c V h I V8 |RI V( nA &LPN]NuNFallocpN &A!#1#&A&A&A&A &A&A&NEJcg$aLPN]Nu$aH kJcg BLPN]Nu0.g n A&LPN]NuA&A&&& NEF kJcgN J$aJLPN]NuNF6jNI # c NuB[NI # c NupN & M!#!#&&jNFNA: kJcg&&NTBLPN]NupN &I(R& <Rf`I n(&N?Jcg: n6 09jcf"I nA(A&B@H&NJ`zI n8 6 B@cnbI&6 N>D(I &6 N@8 n609jcf"I nA (A&B@H&NJ`I(` |jSPLPN]NuY #J@gH@J@fNJRyjNuStorageN?/<R/,O nI(R n(H(R nI B,_X(|j8(|NNT&2NjNF(&N <l(|N0<H(&&J |&&NL&l&K |&&NMNuB&&Nj _ g $#$c #"c"(!I#A "#B#JNuNFNu$# #"#"cE|r#J j#H!I%IBi "#@#BNu yt"c"Nu ytfB&NM4 _J$W@6NuNuBHz2?<?<NMPJ/ y2 A d,DA 0Wf*<vBGxNRv~JgNN2Nu yJg"P `2p y P c$P y0@H"@P 2T #D Nu(P"T )Ѭ( Ff!L y" Nu/ (@ FE"P` ,o " $I"R f($ FJf!L g ,Ьf JH(NNL`ɼg *Ъf ANN(_NuH NNbL0 E&$FX`g$I"R fB`Jg")) jSJkb$B `@ `p`ޒ@gR@g?$)ԩ FE R` g$H R f0`0(($ةeg@ #A!Dը`v@ $"Ff#J"y "`X@gR@@ g>H@@xNNLJg,$@ )Ё%@ )%@fJ#AfJ NO"pNu F hg P f NuJgNNPg"(( jSo4@gR@gpJk0@ //Bg?<JNA `/?<INA\ CBJgt`x?$(Ԩ$F$R`g $R f0`V0$*ԨeHg%B!A@ `,/?<INA\ F"H Pf"$Ff%I %HpNu CBpNup N &A!#!#HB@ V&*g4,9(.J9g~*/<O?<&NN\`/<P?<&NN\L=@6LPN]NuNF$FX`"* fB* $R" fNuH*#,9/<R6?<&NN\L`Nu/HNNbL( F$h g"RB f$F"R )gb$`d()&I(K`JGg$#W `^JGg(H`NNL Jg @JGf" )Щ!@fJ!EfJ"H`!i۩fJ!EfJ"@ F"!I F!JC `D$I"Q F (gfB` f$F"R Ff6JGfJg"K$L )gFbNBXNuNPg!D C Nup N &A!#!#H*gB b:RW|,9(.J9g$~/<Rv?<&NN\Jg "@ )`B-@` /?<HNA\-@g*/<S?<&NN\L&LPN]NuNFBNS # c NuNQUNu/#Dj NQ _0NuQ _BPNuNPg$$(Ԩ$F$R`g$R f` *`pNuH*#,9HyTh?<&NN\&L`NuHz ?<&NN\Nu@|BB y PҨd ( P$fFNuNT&Nu c0# @Nf &&&NTL @Nf&/NT _ Nu yt&NRVNuY #J@g H@J@fNU(NuNMf&Bf ?|dg8/U&NV2 JAgl y"h1i| g|gCX`.YCX`$H@CY`H@|[dCZ` |[CZF@B@1@ 1@&NXNuH /#"K/!/!/! k d NF7| kd NF7|NV\ y!BR(BNV\ y!BN*B6ZNX W P"X0Q"X0Q.W.W y"_28NVL0Nu y!cN0#| fRh`| f ShjBh`"|m||1@66NNXNVNu&U&NVJ_f]`4 y0#"hJ@f Sij Bi`Bi @1@66zB[NZ`Nu&U&NVJ_fY` y"hRi6{B[NZ`Nu y0#fr`rf hjBh` hjBh`1@66kNXNVNu y0#|b "(!A1@66fNXNVNu y0#|b "(!A1@66gNXNVNu/# y!c&6vB[NZ` y"_26&Nu y!c0#&6B[NZ` y&Nu"cA$Pg,f" 9f&U&N]TY`A ` yA 9$fBhNu"cA$Pg*f 9f6}&N]N &Ap1#QAp &QN_J#c!#0#T@11#6iNXNVNu yAB!#!#1<1#6iNXNVNu yA:1< 1#6iNXNVNuN\jNu yAB!#!#0#X11#6lNX yA8&&NVNuNuN[NuNu/#/# y!cN1h&66#NXBA y0(6[R"_2"_2NuNu09BA yARA4gSA6NuJg09|g6Nu6NuNe0#X yA g PNu3 #Nd36Ne`By Nu&By Nu0#Jgyc 3 Nu3 y#By NuNd3 f y0(|6`B[NuNd3 f y0(X6NuB[NuNd3 f y0( X6`B[NuNe`Jy fNe`B[NuNe`Jy fNd3 f y&&`BBNuNe`Jy ffNd3 fXNeNe 0#|g.|g(|g"|g&| g |g| g3 `(H6` P(H6`B[Nu?$c6#B2#"c0#|f2`|gR|f&BHP`NJL 0 IJW$@RBCd46&&HP`Jy fNJl`NJL g$@0WgBS@@Cd2` 3 BA66Nu/ 6Ne`Jy fNd3 fNeNe 0#|gb|g\|g"|g| gJ| gD| g 3 `vJcJ0#|g3 JcJ0#|g3 B[&Nf`H(PB[A&Nf0#gA0B[A&Nf0#gA0B[A&NfJc`U(_Nu(| <8(|((|("(|((|((|B(|B(|8(|8(| BT(| BTNu y1c6CFNVHNVH!c!c6mB[NZ`NuNupbN &A!#1#&6A&6ONtA&6ON6JIVBTIXAO"OpOQ&6OAV&A`&N4|P)c(AX&&LPN]NuNFpXN &A!#!#&6A&6ONt0.g"A&B@ @OcNF cI-`A&B@ @OcNF cI+ApOQLPN]NuNFN (|`BT(|X&&)c((|^BT(| |jpOQ(|h+ | pOQLPN]NuNFp\N &A!#!#IA&&66 N4IPpO#QA&B@ @OcNF cI#A&6ON6JA&B@ @OcNF cI A&0< @OcNF cIB[S.Bp?#Q&6AO"OpOQ&6OB[N4RB@cnIZ8 6ZB@cd2A&0.Z @OcNF cB<0S#W@6`B[Jcg,A&0.Z @OcNF cIB[SAZSP`A&AO"OpOQ&6ON5P0<kdNF0# @OcNF cB<.S#fPA&AO"OpOQ&6ON5P0<kdNF0# @OcNF cIB[S6 AO"OpOQ&6ON5P0#kdNFjNFN64p'?#Q&6O6A&6OAX&N5(PApOQLPN]NuNFpN &A1#IBT.@`&hB< S#f(| NjIPpO#Q(|^BT(|\BT&j6O& 6ON5Jcg6` k`B[Jcg$& 0< @OcNF cI`& 0< @OcNF cB< S#fI8?< 0TeP/ & 60<kdNF0# @OcNF cI& 0. @OcNF c(_RTdT& 0< @OcNF cI(| | pOQ`B6\0<cf&(| NjIPpO#Q(|\BT`0(|^BT(|`BT(| |jpOQ(|\8(| | pOQ`hB< S#f2(|X |X&&N)c((| |pOQ& B@ @OcNF cB<+S#f"& B@ @OcNF cI-`& B@ @OcNF cI+(| | pOQ(|^6^ k8`hB< S#f(| NjIPpO#Q& 0< @OcNF cB< S#f6` k`B[JcgI8?< 0TeP/ & 60<kdNF0# @OcNF cI& 0. @OcNF c(_RTdT& 0< @OcNF cI.(|`8(| | pOQ`(|` | O"OpOQ&6ONhP)c(hB<+S#f,(|X |X&& |`&&N2)c(`hB<-S#f,(|X |X&& |`&&N)c(`hB<*S#f,(|X |X&& |`&&N)c(`hB</S#f |`&&&&NJcg,(|X |X&& |`&&N)c(`:6 yTO"O0<Q&6&ZNaI8 |X&&&*C&@NJcg:6 yPO"O0<Q&6&ZNaI8(|`BT(| |jpOQ0.g(| | pOQ`$(| |X&&NjnIPpO#Q(|^ |X&&&&N@8(|h`z`v @9b@ eH0;Nvvvvfv |O"OpOQ&6O6^NiPLPN]NuNFCalculatorx(|jA`+ 0p6Qp rPNNu&bN6NuNuZ! z#6l<@<>4MdUNL ^3_ab bd~ddhTht(s@   <(   L> &4>$,< .        ( 0*B"$    $ , x    @( 0 4           :       ^  >       R       B (  &@  &*~F& 0J(4$ * *  h* <  H* *  r     .6 $  "@    80 "F     P~0  6 ""0000     $ P,J62"|&JRJ2:dƶ"88R`R06&00VNT46d &.&     :* & , 2V",2$ LZ* 4$6.  4    L   $  : & @.:              6, ,&&$  "   (       4P**  4     4& b (8pVL($ ">*$   & (.*$       &&`` B?< NA#!\?<?<?<NM\?<NNT3!|g <"B#!?<NNX#!#!BAC!H@@? y!09!29!CH""""""Al0<`|oB@3!P!L/9!Nu fwwwwwfwwwwwG6kZ"Ñ$Ñ$4N """""""""""""""""""""""""Ñ$Ñ$NNu~G6k"FAQP4N 2P2P2P2P2P2P2P2P2P2P2P2P"FAQCNNqN8H&H>[[[gQ& 4FG44(H>$dddg( PL4@gFG44Q4Nu>0,($  H?<aF:< aF:<aFQaF0<(2<4<6<8<<><aF:<a<&(3F#H aJa:RFQ0<H3@&><&(3F#H a aRFQNuHa>LNuH0<KM!QM!LNuv`@"@((@(/<!*`/<!`?< NN\ONuyr%0@cb9M<3| ُ|x=}2=1xZ9vN?~c>sxd`x?y|3%4Hp#83?"w ?qs"@=3?<c"?pf?8ǎ?<2J?X8<<qx3mX<px?<q3el*fcǏ?x!1vL??m@ 2f.>8?????m@ 6.>>0??Ç?m` 6.<>q ?e` 6.<>a?fc<& ><`)xx?<<<<<<8q3>P+x?||x8P8+1x<xxxx|xxg~P4 18~xxpxxpf|4 18~pf|4 W308 f|hVs1x?>hVc0p?<h6cmcq??<h&fn!a??Î?<h*ffa<???<<<<<x6>q` 9?<<|<f@  ̜;a<x|< V?c`~~q<&>ղSg? xx`Z xGf9㏟v<,s i &sxǜ|?^9%&f9y|vO,s?282&>,<gm`  |8s>ߙ??p9?y\?"Saϟw;z>| s7?c`0px z ` 8 0     6    B_WDB_HTPLANE_CTFG_COLBG_COLOP_TAB S_XMINS_YMINS_FORMS_NXWDS_NXLNS_NXPLD_XMIND_YMIND_FORM D_NXWD$D_NXLN&D_NXPL(P_ADDR*P_NXLN.P_NXPL0P_MASK2P_BLOCK_LKG_BLTVBLANKpREZ`VID_HIVID_LOBIOS BCONSTATBCONOUTCONKBDEXBIOSPHYSBASEGETREZSETSCREESETPALETSETCOLORCURSCONFIKBDWSFORM_HT`DX_SHADODY_SHADOX0Y0VX0VY0AY0 X_MINX_MAXY_MINY_MAX_COLOR_INv_buf_ad!v_swap!v_bas_ad!_mainsp_save!save_sta s_rez!go_homes_vid!s_lut!save_lut`ball_coldcol_list!col_indx!col_incr!tim_incr!col_time!vb_save!nm8rx_vbuf!y_vbuf!x_vbas!y_vbas!vx!vy!ay!draw_it8rest_stax_not2smx_not2biy_not2sm4y_not2bi\kbd_bloc\nm8r_endJnot2lo( (r   "` HKJ$f(ByO#/9"?<HNA\OJk.@"`6 - ЭЭй""ҍ¼.A// Bg?<JNA #' y'/(,HhN"P/9%/9$?9#N N &NT?<N NVHn?.BgNPHnHnHnHn/.N`O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?<Bg/.NOBg/.N^\=@n?.?.?.?.BgBgBgBg?<NO?./.N\0.N^NuNV0. H/ </N  n00 |g0<`0<NqN^NuNV0. H/ </N  np N^NuNV0. H/ </N  np N^NuNV?<N fT=@HnBgBgNP?</.N\?< /.N\ nf0<`0<g?</.N\`?< /.N\BgNT=@ @ f?<NT` n g?</.N\gBn`=| nf0<`0< nf2<`2<Ag8N$f0?./00f&0.@A$>10.@A$>1 ` Rn nmN^NuNVBn`*0.@A$>00nf0.@A$>BpRn nmN^NuNVH>.=|\A$>"HPgXHf0(LN^NuNVHHy#P/.NPfBG`Hy#V/.NPf><`Hy#\/.NPf><`0. |gR0. |?/.?<=N P>J@m 0. |g&JGm??<>N XBg/.?<`j0. |gD0. |?/.?<=N P>J@m"??<>N XBg/.?<`0. |?/.?<=N P>JGl 3#0<`?. ?N8X0LN^NuNV/.?<HN \-@ .f-|3# .N^NuNV0./NFXN^NuLB@ggSBAgHJ@gHANuNVH*n (MBn ng?.NT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@N O <Hg 3#0<`dA&H0f~ =@`J/ 0./?.?<@N O -@2.¼g .3#0<` .n0.L8N^NuNVA)#)A$#)A% #)A'#)A%#)A$ #*A)#%?< N2T3''09'N^NuNV3% 3 % 3 %3%3%3%3%3%3%3%3%3% 3 %"3"%$#$%3(%&3*%(?<N2T n,0' n00' n40' n80' n<0' n@0'09'N^NuNV3% # %?<4N2TN^NuNV#%?<6N2T n 0' n0' n0' n0'09'N^NuNV3% 3 % 3 %3%3%3%3%3%3% nf 3#3#3#3#?<3N2TN^NuNV n0# n 0# n0# n0#N^NuNV#%3 % ?<2N2TN^NuNV3% # %?<#N2TN^NuNV#%3 % 3% 3%3%3%3%?<*N2TN^NuNV#%3 % ?<rN2TN^NuNV3% ?<kN2TN^NuNV3)0.| AHЈ-@=|` nR2.AA)H1Rn nm/9%NX09'N^NuNV3$(By$*By$.3$4NBN^NuNV .3$6 .3$8N^NuNV .3$: .3$N X=@g3#0<``0<NqN^NuA$'Xy' !J"/0<NBYy'A$'"P$hNu LOMIHI.RSC# (& !#"#$ " 1         % /1   (&'  ( #       %     '% "BDFLPX^h  : V t !!!!D!F!H!l!n!p!!!.VLO-MI-HIMit dem SM 124 (Monochrom-Monitor)OKalle drei Auflsungen im Griff!FARBEs/wABBRUCHINFOLO-MI-HIBooten Sie mit COLOREMU.PRG im AUTO-Ord-ner. Sie knnen dann mit diesem Acces-sory zwischen Farb- und s/w Betrieb um-schalten.Knnen sie mit diesem Programm etwas an-fangen und haben Sie zufllig 10 DMgriffbereit: Nur her damit!Meine Adresse: Bernhard BaierBlumenstr. 1a, 8608 Memmelsdorfoder KTNR: 810 732 123 BLZ 770 50 110Kreissparkasse MemmelsdorfKreissparkasse MemmelsdorfLegen Sie Ihrem Brief noch eine (forma-tierte) Leerdiskette zu, erhalten Sieden kommentierten Sourcecode & dieneueste Version des Emulators!Weiter Neue AuflsungLOMIHI.RSC[1][Leider, Leider!|Nur mit ROM-TOS|vom 06.02.86|][Schluchz!]f # CON:AUX:PRT:* $$.$:*$ > :$ $, *(   &   >"*& *0"8."  (l@ (X&>&. . 4&f.,*   ."(N8 $           & ~P